Imported Upstream version 3.29.1 upstream/3.29.1
authorDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 30 Oct 2018 01:30:28 +0000 (10:30 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 30 Oct 2018 01:30:28 +0000 (10:30 +0900)
199 files changed:
.gitlab-ci.yml [new file with mode: 0644]
.gitlab-ci/Dockerfile [new file with mode: 0644]
.gitlab-ci/Dockerfile.old [new file with mode: 0644]
.gitlab-ci/README.rst [new file with mode: 0644]
.gitlab-ci/coverage-docker.sh [new file with mode: 0755]
.gitlab-ci/fixup-cov-paths.py [new file with mode: 0644]
.gitlab-ci/run-docker-old.sh [new file with mode: 0755]
.gitlab-ci/run-docker.sh [new file with mode: 0755]
.gitlab-ci/test-docker-old.sh [new file with mode: 0755]
.gitlab-ci/test-docker.sh [new file with mode: 0755]
.gitlab-ci/test-msys2.sh [new file with mode: 0755]
ChangeLog [deleted file]
MANIFEST.in
Makefile.am [deleted file]
Makefile.in [deleted file]
NEWS
PKG-INFO
PyGObject.egg-info/PKG-INFO [new file with mode: 0644]
PyGObject.egg-info/SOURCES.txt [new file with mode: 0644]
PyGObject.egg-info/dependency_links.txt [new file with mode: 0644]
PyGObject.egg-info/not-zip-safe [new file with mode: 0644]
PyGObject.egg-info/requires.txt [new file with mode: 0644]
PyGObject.egg-info/top_level.txt [new file with mode: 0644]
README.rst
aclocal.m4 [deleted file]
autogen.sh [deleted file]
compile [deleted file]
config.guess [deleted file]
config.h.in [deleted file]
config.sub [deleted file]
configure [deleted file]
configure.ac [deleted file]
depcomp [deleted file]
docs/bugs_repo.rst
docs/conf.py
docs/contact.rst
docs/devguide/building_testing.rst
docs/devguide/dev_environ.rst
docs/getting_started.rst
docs/icons.rst
docs/maintguide.rst
docs/packagingguide.rst
examples/Makefile.am [deleted file]
examples/Makefile.in [deleted file]
examples/demo/demos/rotatedtext.py
gi/Makefile.am [deleted file]
gi/Makefile.in [deleted file]
gi/__init__.py
gi/_compat.py [new file with mode: 0644]
gi/_constants.py
gi/_error.py
gi/_gtktemplate.py [new file with mode: 0644]
gi/_option.py
gi/_ossighelper.py
gi/_propertyhelper.py
gi/_signalhelper.py
gi/gimodule.c
gi/gimodule.h [new file with mode: 0644]
gi/gobjectmodule.c [deleted file]
gi/gobjectmodule.h [deleted file]
gi/module.py
gi/overrides/GLib.py
gi/overrides/GObject.py
gi/overrides/Gdk.py
gi/overrides/Gtk.py
gi/overrides/Makefile.am [deleted file]
gi/overrides/Makefile.in [deleted file]
gi/pygboxed.c
gi/pygboxed.h
gi/pygenum.c
gi/pygenum.h
gi/pygflags.c
gi/pygflags.h
gi/pygi-argument.c
gi/pygi-array.c
gi/pygi-basictype.c
gi/pygi-basictype.h
gi/pygi-boxed.c
gi/pygi-boxed.h
gi/pygi-cache.c
gi/pygi-cache.h
gi/pygi-ccallback.c
gi/pygi-ccallback.h
gi/pygi-closure.c
gi/pygi-closure.h
gi/pygi-enum-marshal.c
gi/pygi-error.c
gi/pygi-error.h
gi/pygi-foreign-cairo.c
gi/pygi-foreign.c
gi/pygi-foreign.h
gi/pygi-info.c
gi/pygi-info.h
gi/pygi-invoke.c
gi/pygi-list.c
gi/pygi-marshal-cleanup.c
gi/pygi-object.c
gi/pygi-property.c
gi/pygi-python-compat.h [moved from gi/pyglib-python-compat.h with 90% similarity]
gi/pygi-repository.c
gi/pygi-repository.h
gi/pygi-resulttuple.c
gi/pygi-signal-closure.c
gi/pygi-source.c
gi/pygi-struct-marshal.c
gi/pygi-struct.c
gi/pygi-struct.h
gi/pygi-type.c
gi/pygi-type.h
gi/pygi-util.c
gi/pygi-util.h
gi/pygi-value.c
gi/pygi-value.h
gi/pyginterface.c
gi/pyginterface.h
gi/pyglib.c [deleted file]
gi/pyglib.h [deleted file]
gi/pygobject-object.c
gi/pygobject-object.h
gi/pygoptioncontext.c
gi/pygoptioncontext.h
gi/pygoptiongroup.c
gi/pygoptiongroup.h
gi/pygparamspec.c
gi/pygparamspec.h
gi/pygpointer.c
gi/pygpointer.h
gi/pygspawn.c
gi/pygspawn.h
gi/pygtype.c [deleted file]
gi/pygtype.h [deleted file]
gi/repository/Makefile.am [deleted file]
gi/repository/Makefile.in [deleted file]
gi/types.py
install-sh [deleted file]
ltmain.sh [deleted file]
m4/ax_append_compile_flags.m4 [deleted file]
m4/ax_append_flag.m4 [deleted file]
m4/ax_append_link_flags.m4 [deleted file]
m4/ax_check_compile_flag.m4 [deleted file]
m4/ax_check_link_flag.m4 [deleted file]
m4/ax_code_coverage.m4 [deleted file]
m4/ax_compiler_flags.m4 [deleted file]
m4/ax_compiler_flags_cflags.m4 [deleted file]
m4/ax_compiler_flags_gir.m4 [deleted file]
m4/ax_compiler_flags_ldflags.m4 [deleted file]
m4/ax_is_release.m4 [deleted file]
m4/ax_require_defined.m4 [deleted file]
m4/glib-2.0.m4 [deleted file]
m4/introspection.m4 [deleted file]
m4/libtool.m4 [deleted file]
m4/ltoptions.m4 [deleted file]
m4/ltsugar.m4 [deleted file]
m4/ltversion.m4 [deleted file]
m4/lt~obsolete.m4 [deleted file]
m4/pkg.m4 [deleted file]
m4/python.m4 [deleted file]
missing [deleted file]
py-compile [deleted file]
pygtkcompat/Makefile.am [deleted file]
pygtkcompat/Makefile.in [deleted file]
pygtkcompat/generictreemodel.py
pygtkcompat/pygtkcompat.py
pyproject.toml [new file with mode: 0644]
setup.cfg
setup.py
tests/Makefile.am [deleted file]
tests/Makefile.in [deleted file]
tests/compathelper.py [deleted file]
tests/conftest.py
tests/gi/__init__.py [deleted file]
tests/gimarshallingtestsextra.c
tests/gimarshallingtestsextra.h
tests/helper.py
tests/regressextra.c
tests/regressextra.h
tests/runtests.py
tests/test_cairo.py
tests/test_error.py
tests/test_everything.py
tests/test_generictreemodel.py
tests/test_gi.py
tests/test_glib.py
tests/test_gobject.py
tests/test_gtk_template.py [new file with mode: 0644]
tests/test_gtype.py
tests/test_import_machinery.py
tests/test_internal_api.py
tests/test_mainloop.py
tests/test_object_marshaling.py
tests/test_overrides_glib.py
tests/test_overrides_gtk.py
tests/test_properties.py
tests/test_pycapi.py [new file with mode: 0644]
tests/test_repository.py
tests/test_signal.py
tests/test_source.py
tests/testhelpermodule.c
tests/testmodule.py [deleted file]

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644 (file)
index 0000000..584d308
--- /dev/null
@@ -0,0 +1,122 @@
+stages:
+  - build_and_test
+  - coverage
+  - deploy
+
+cache:
+  paths:
+    - _ccache/
+
+.defaults: &defaults
+  stage: build_and_test
+  image: lazka/pygobject:v3
+  artifacts:
+    paths:
+      - coverage/
+  script:
+   - bash -x ./.gitlab-ci/test-docker.sh
+
+.mingw-defaults: &mingw-defaults
+  stage: build_and_test
+  tags:
+    - win32
+  artifacts:
+    paths:
+      - coverage/
+  script:
+    - C:\msys64\usr\bin\pacman --noconfirm -Syyuu
+    - C:\msys64\usr\bin\bash -lc "bash -x ./.gitlab-ci/test-msys2.sh"
+
+coverage:
+  stage: coverage
+  image: lazka/pygobject:v3
+  artifacts:
+    paths:
+      - coverage/
+  variables:
+    PYENV_VERSION: "3.6.5"
+  script:
+    - bash -x ./.gitlab-ci/coverage-docker.sh
+
+pages:
+  stage: deploy
+  image: lazka/pygobject:v3
+  dependencies:
+    - coverage
+  script:
+    - mv coverage/ public/
+  artifacts:
+    paths:
+      - public
+    expire_in: 30 days
+  only:
+    - master
+
+python2-mingw32:
+  variables:
+    PYTHON: "python2"
+    MSYSTEM: "MINGW32"
+    CHERE_INVOKING: "yes"
+  <<: *mingw-defaults
+
+python2-mingw64:
+  variables:
+    PYTHON: "python2"
+    MSYSTEM: "MINGW64"
+    CHERE_INVOKING: "yes"
+  <<: *mingw-defaults
+
+python3-mingw32:
+  variables:
+    PYTHON: "python3"
+    MSYSTEM: "MINGW32"
+    CHERE_INVOKING: "yes"
+  <<: *mingw-defaults
+
+python3-mingw64:
+  variables:
+    PYTHON: "python3"
+    MSYSTEM: "MINGW64"
+    CHERE_INVOKING: "yes"
+  <<: *mingw-defaults
+
+python2.7:
+  variables:
+    PYENV_VERSION: "2.7.14"
+  <<: *defaults
+
+python3.4:
+  variables:
+    PYENV_VERSION: "3.4.8"
+  <<: *defaults
+
+python3.5:
+  variables:
+    PYENV_VERSION: "3.5.5"
+  <<: *defaults
+
+python3.6:
+  variables:
+    PYENV_VERSION: "3.6.5"
+  <<: *defaults
+
+python3.7:
+  variables:
+    PYENV_VERSION: "3.7.0b3"
+  <<: *defaults
+
+pypy2:
+  variables:
+    PYENV_VERSION: "pypy2.7-5.10.0"
+  <<: *defaults
+
+pypy3:
+  variables:
+    PYENV_VERSION: "pypy3.5-5.10.1"
+  <<: *defaults
+
+xenial-i386-py2:
+  stage: build_and_test
+  image: lazka/pygobject:pyenv-old
+  script:
+   - bash -x ./.gitlab-ci/test-docker-old.sh
diff --git a/.gitlab-ci/Dockerfile b/.gitlab-ci/Dockerfile
new file mode 100644 (file)
index 0000000..c1af1ce
--- /dev/null
@@ -0,0 +1,50 @@
+FROM ubuntu:artful
+
+RUN apt-get update && apt-get install -y \
+    autoconf-archive \
+    build-essential \
+    ccache \
+    curl \
+    dbus \
+    gir1.2-gtk-3.0 \
+    git \
+    gobject-introspection \
+    lcov \
+    libbz2-dev \
+    libcairo2-dev \
+    libffi-dev \
+    libgirepository1.0-dev \
+    libglib2.0-dev \
+    libgtk-3-0 \
+    libreadline-dev \
+    libsqlite3-dev \
+    libssl-dev \
+    libtool \
+    locales \
+    xauth \
+    xvfb \
+    && rm -rf /var/lib/apt/lists/*
+
+ARG HOST_USER_ID=5555
+ENV HOST_USER_ID ${HOST_USER_ID}
+RUN useradd -u $HOST_USER_ID -ms /bin/bash user
+
+USER user
+WORKDIR /home/user
+
+ENV LANG C.UTF-8
+ENV CI true
+ENV PYENV_ROOT /home/user/.pyenv
+ENV PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}"
+
+RUN curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
+
+RUN pyenv install 2.7.14
+RUN pyenv install 3.4.8
+RUN pyenv install 3.5.5
+RUN pyenv install 3.6.5
+RUN pyenv install 3.7.0b3
+RUN pyenv install pypy2.7-5.10.0
+RUN pyenv install pypy3.5-5.10.1
+
+ENV PATH="/usr/lib/ccache:${PATH}"
diff --git a/.gitlab-ci/Dockerfile.old b/.gitlab-ci/Dockerfile.old
new file mode 100644 (file)
index 0000000..fa135de
--- /dev/null
@@ -0,0 +1,36 @@
+FROM i386/ubuntu:xenial
+
+RUN apt-get update && apt-get install -y \
+    autoconf-archive \
+    build-essential \
+    ccache \
+    curl \
+    dbus \
+    gir1.2-gtk-3.0 \
+    git \
+    gobject-introspection \
+    lcov \
+    libcairo2-dev \
+    libffi-dev \
+    libgirepository1.0-dev \
+    libglib2.0-dev \
+    libgtk-3-0 \
+    libtool \
+    locales \
+    python-dev \
+    python-virtualenv \
+    xauth \
+    xvfb \
+    && rm -rf /var/lib/apt/lists/*
+
+ARG HOST_USER_ID=5555
+ENV HOST_USER_ID ${HOST_USER_ID}
+RUN useradd -u $HOST_USER_ID -ms /bin/bash user
+
+USER user
+WORKDIR /home/user
+
+ENV LANG C.UTF-8
+ENV CI true
+
+ENV PATH="/usr/lib/ccache:${PATH}"
diff --git a/.gitlab-ci/README.rst b/.gitlab-ci/README.rst
new file mode 100644 (file)
index 0000000..107abf0
--- /dev/null
@@ -0,0 +1 @@
+The Dockerfile is available at https://hub.docker.com/r/lazka/pygobject/
diff --git a/.gitlab-ci/coverage-docker.sh b/.gitlab-ci/coverage-docker.sh
new file mode 100755 (executable)
index 0000000..2a51d03
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+set -e
+
+python -m pip install coverage
+
+# Make the Windows paths match our current layout
+python ./.gitlab-ci/fixup-cov-paths.py coverage/.coverage* coverage/*.lcov
+
+# Remove external headers (except gi tests)
+for path in coverage/*.lcov; do
+    lcov --rc lcov_branch_coverage=1 -r "${path}" '/usr/include/*' -o "${path}"
+    lcov --rc lcov_branch_coverage=1 -r "${path}" '/home/*' -o "${path}"
+done
+
+python -m coverage combine coverage
+python -m coverage html --ignore-errors -d coverage/report-python
+genhtml --ignore-errors=source --rc lcov_branch_coverage=1 \
+    coverage/*.lcov -o coverage/report-c
+
+cd coverage
+rm -f .coverage*
+rm -f *.lcov
+
+ln -s report-python/index.html index-python.html
+ln -s report-c/index.html index-c.html
+
+cat >index.html <<EOL
+<html>
+<body>
+<ul>
+<li><a href="report-c/index.html">C Coverage</a></li>
+<li><a href="report-python/index.html">Python Coverage</a></li>
+</ul>
+</body>
+</html>
+EOL
diff --git a/.gitlab-ci/fixup-cov-paths.py b/.gitlab-ci/fixup-cov-paths.py
new file mode 100644 (file)
index 0000000..a6f43e4
--- /dev/null
@@ -0,0 +1,35 @@
+from __future__ import print_function
+
+import sys
+import os
+import io
+
+
+def main(argv):
+    # Fix paths in coverage files to match our current source layout
+    # so that coverage report generators can find the source.
+    # Mostly needed for Windows.
+    paths = argv[1:]
+
+    for path in paths:
+        print("cov-fixup:", path)
+        text = io.open(path, "r", encoding="utf-8").read()
+        text = text.replace("\\\\", "/")
+        end = text.index("/gi/")
+        try:
+            # coverage.py
+            start = text[:end].rindex("\"") + 1
+        except ValueError:
+            # lcov
+            start = text[:end].rindex(":") + 1
+        old_root = text[start:end]
+        new_root = os.getcwd()
+        if old_root != new_root:
+            print("replacing %r with %r" % (old_root, new_root))
+        text = text.replace(old_root, new_root)
+        with io.open(path, "w", encoding="utf-8") as h:
+            h.write(text)
+
+
+if __name__ == "__main__":
+    sys.exit(main(sys.argv))
diff --git a/.gitlab-ci/run-docker-old.sh b/.gitlab-ci/run-docker-old.sh
new file mode 100755 (executable)
index 0000000..bdd6e54
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+set -e
+
+TAG="lazka/pygobject:pyenv-old"
+
+sudo docker build --build-arg HOST_USER_ID="$UID" --tag "${TAG}" \
+    --file "Dockerfile.old" .
+sudo docker run --rm \
+    --volume "$(pwd)/..:/home/user/app" --workdir "/home/user/app" \
+    --tty --interactive "${TAG}" bash
diff --git a/.gitlab-ci/run-docker.sh b/.gitlab-ci/run-docker.sh
new file mode 100755 (executable)
index 0000000..5f8b7ea
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+set -e
+
+TAG="lazka/pygobject:v3"
+
+sudo docker build --build-arg HOST_USER_ID="$UID" --tag "${TAG}" \
+    --file "Dockerfile" .
+sudo docker run -e PYENV_VERSION='3.6.5' --rm \
+    --volume "$(pwd)/..:/home/user/app" --workdir "/home/user/app" \
+    --tty --interactive "${TAG}" bash
diff --git a/.gitlab-ci/test-docker-old.sh b/.gitlab-ci/test-docker-old.sh
new file mode 100755 (executable)
index 0000000..74c81c7
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+set -e
+
+python --version
+virtualenv --python=python _venv
+source _venv/bin/activate
+
+# ccache setup
+mkdir -p _ccache
+export CCACHE_BASEDIR="$(pwd)"
+export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
+
+# test
+python -m pip install git+https://github.com/pygobject/pycairo.git
+python -m pip install pytest pytest-faulthandler
+xvfb-run -a python setup.py test
diff --git a/.gitlab-ci/test-docker.sh b/.gitlab-ci/test-docker.sh
new file mode 100755 (executable)
index 0000000..1b0af3b
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+set -e
+
+python --version
+
+PYVER=$(python -c "import sys; sys.stdout.write(''.join(map(str, sys.version_info[:3])))")
+PYIMPL=$(python -c "import sys, platform; sys.stdout.write(platform.python_implementation())")
+SOURCE_DIR="$(pwd)"
+COV_DIR="${SOURCE_DIR}/coverage"
+export MALLOC_CHECK_=3
+export MALLOC_PERTURB_=$((${RANDOM} % 255 + 1))
+export G_SLICE="debug-blocks"
+export COVERAGE_FILE="${COV_DIR}/.coverage.${PYVER}"
+export CCACHE_BASEDIR="$(pwd)"
+export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
+
+mkdir -p "${CCACHE_DIR}"
+mkdir -p "${COV_DIR}"
+
+if [[ "${PYIMPL}" == "PyPy" ]]; then
+    # https://bitbucket.org/pypy/pypy/issues/2776
+    export MALLOC_CHECK_=
+fi;
+
+python -m pip install git+https://github.com/pygobject/pycairo.git
+python -m pip install flake8 pytest pytest-faulthandler coverage
+
+export CFLAGS="-coverage -ftest-coverage -fprofile-arcs -Werror"
+
+if [[ "${PYIMPL}" == "PyPy" ]]; then
+    python setup.py build_tests
+    exit 0;
+fi;
+
+# CODE QUALITY
+python -m flake8
+
+# DOCUMENTATION CHECKS
+if [[ "${PYENV_VERSION}" == "2.7.14" ]]; then
+    python -m pip install sphinx sphinx_rtd_theme
+    python -m sphinx -W -a -E -b html -n docs docs/_build
+fi;
+
+# BUILD & TEST AGAIN USING SETUP.PY
+python setup.py build_tests
+xvfb-run -a python -m coverage run tests/runtests.py
+
+# COLLECT GCOV COVERAGE
+lcov --rc lcov_branch_coverage=1 --directory . --capture --output-file \
+    "${COV_DIR}/${PYVER}.lcov"
diff --git a/.gitlab-ci/test-msys2.sh b/.gitlab-ci/test-msys2.sh
new file mode 100755 (executable)
index 0000000..f81064e
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+set -e
+
+# skip the fontconfig cache, it's slooowww
+export MSYS2_FC_CACHE_SKIP=1
+export PANGOCAIRO_BACKEND=win32
+
+export PATH="/c/msys64/$MSYSTEM/bin:$PATH"
+if [[ "$MSYSTEM" == "MINGW32" ]]; then
+    export MSYS2_ARCH="i686"
+else
+    export MSYS2_ARCH="x86_64"
+fi
+
+pacman --noconfirm -Suy
+
+pacman --noconfirm -S --needed \
+    base-devel \
+    mingw-w64-$MSYS2_ARCH-toolchain \
+    mingw-w64-$MSYS2_ARCH-ccache \
+    mingw-w64-$MSYS2_ARCH-$PYTHON-cairo \
+    mingw-w64-$MSYS2_ARCH-$PYTHON \
+    mingw-w64-$MSYS2_ARCH-$PYTHON-pip \
+    mingw-w64-$MSYS2_ARCH-$PYTHON-pytest \
+    mingw-w64-$MSYS2_ARCH-$PYTHON-coverage \
+    mingw-w64-$MSYS2_ARCH-gobject-introspection \
+    mingw-w64-$MSYS2_ARCH-libffi \
+    mingw-w64-$MSYS2_ARCH-glib2 \
+    mingw-w64-$MSYS2_ARCH-gtk3 \
+    git \
+    perl
+
+# ccache setup
+export PATH="$MSYSTEM/lib/ccache/bin:$PATH"
+mkdir -p _ccache
+export CCACHE_BASEDIR="$(pwd)"
+export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
+
+# coverage setup
+export CFLAGS="-coverage -ftest-coverage -fprofile-arcs -Werror"
+PYVER=$($PYTHON -c "import sys; sys.stdout.write(''.join(map(str, sys.version_info[:3])))")
+COV_DIR="$(pwd)/coverage"
+COV_KEY="${MSYSTEM}.${PYVER}"
+mkdir -p "${COV_DIR}"
+export COVERAGE_FILE="${COV_DIR}/.coverage.${COV_KEY}"
+
+$PYTHON setup.py build_tests
+MSYSTEM= $PYTHON -m coverage run tests/runtests.py
+
+curl -O -J -L "https://github.com/linux-test-project/lcov/releases/download/v1.13/lcov-1.13.tar.gz"
+tar -xvzf lcov-1.13.tar.gz
+
+./lcov-1.13/bin/lcov \
+    --rc lcov_branch_coverage=1 --no-external \
+    --directory . --capture --output-file \
+    "${COV_DIR}/${COV_KEY}.lcov"
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644 (file)
index 7f7014d..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,38920 +0,0 @@
-commit 8c84ef95c9a76de9189feedfebc8963db29d6bf0
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu May 31 16:55:56 2018 +0200
-
-    release
-
- NEWS | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 2783b342dea7413e674811700c935ee98635ee38
-Author: Philip Withnall <withnall@endlessm.com>
-Date:   Fri May 18 15:16:45 2018 +0100
-
-    gi/pygi-argument: Squash critical warning when using array as
-    hash value
-
-    Using a GPtrArray as the value type of a GHashTable currently
-    produces a
-    warning:
-       Unsupported type array
-    for example when calling a function whose return type is annotated as:
-       (transfer container) (element-type filename GPtrArray<SomeObject>)
-
-    Since we don’t treat objects (GI_TYPE_TAG_INTERFACE) specially when
-    marshalling to/from GHashTable, we shouldn’t need to treat arrays
-    specially either. Handle the case explicitly.
-
-    Signed-off-by: Philip Withnall <withnall@endlessm.com>
-
- gi/pygi-argument.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 211dd45cc885969d6525cd0ef609bd3c4e997812
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri May 11 15:04:50 2018 +0200
-
-    ossig: Don't leak the callbacks in case the event loops are not
-    stopped through SIGINT. Fixes #219
-
-    We didn't remove them if the event loops returned normally.
-    This also fixes a small race where a SIGINT gets ignored right after
-    the yield check and before
-    the old handler is reinstated. Check after the signal handler is
-    switched back instead.
-
-    This resulted in GLib.MainLoop and Gio.Aplication instances leaking.
-
- gi/_ossighelper.py | 15 +++++++++------
- 1 file changed, 9 insertions(+), 6 deletions(-)
-
-commit 23f9f43f93befd177fb48c67e2d7da5f08a2b490
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Apr 1 11:15:18 2018 +0200
-
-    ossig: pass the signal number and frame to default_int_handler()
-
-    PyPy doesn't have default parameter values there.
-
- gi/_ossighelper.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b7bb1a83280012035b7036a7d938d8949b673aa8
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Mar 27 22:56:32 2018 +0200
-
-    version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3ba1f36ebd63ce4477fab1c0d1c9d7fc817f19a8
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Mar 27 22:48:17 2018 +0200
-
-    release
-
- NEWS | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-commit 8eb973ec4cafa6bbedb47e8d12bd02e6ed318273
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Mar 25 19:12:54 2018 +0200
-
-    resulttuple: fix a wrong decref
-
-    We don't get ownership here so don't unref.
-    Thist function is only used in the test suite.
-
- gi/pygi-resulttuple.c     | 2 --
- tests/test_resulttuple.py | 6 ++++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-commit 1c962cb74cd99e0169abed45cf813550574a2a80
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Mar 23 07:23:21 2018 +0100
-
-    autotools: define PY_SSIZE_T_CLEAN for the test extension
-
- tests/Makefile.am | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-commit 1b072bb45b07bbb461bf9c8318a81a26e0d65a18
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Mar 23 07:07:26 2018 +0100
-
-    setup.py: always define PY_SSIZE_T_CLEAN. Fixes #185
-
- gi/pyglib-python-compat.h | 6 ++++++
- setup.py                  | 5 +++--
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-commit 997f6d95f3a1d8ce8376eb10e3f2d76d3b5e29d3
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Mar 19 13:52:21 2018 +0100
-
-    properties: fix a crash when setting a str value containing
-    surrogates. Fixes #169
-
-    In Python 3 decoding unicode fails if it contains surrogates. Handle
-    that case.
-    This ususally happens with filenames where undecodable bytes get
-    converted to surrogates.
-
- gi/pygi-value.c          |  4 ++++
- gi/pygobject-object.c    |  4 ++--
- tests/test_properties.py | 12 +++++++++++-
- 3 files changed, 17 insertions(+), 3 deletions(-)
-
-commit c9cfde92d7a1eb558c66dc9e8e1959816fcbf0cc
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Mar 18 07:33:19 2018 +0100
-
-    gtk overrides: Fix return type Gtk.TreePath with depth == 0. Fixes
-    #143
-
-    compare() also errors out with depth == 0, but str() shouldn't fail
-    as it's important for debugging.
-
- gi/overrides/Gtk.py         | 2 +-
- tests/test_overrides_gtk.py | 4 ++++
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-commit c6d57734cf97b7eb7b11b21a9096d70dd1465865
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Mar 18 21:57:07 2018 +0100
-
-    setup.py: build the test extension in a separate build dir. Fixes #181
-
-    The install command just copies the whole build tree as is when
-    installing
-    which installs the test extension when tests are build before install.
-
-    To avoid that set the build base of the extension to a a subdirectory
-    of the build base of the main build base.
-
- setup.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 923bef11d037e82ae0d91cb495a09d09ab93e3ca
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Mar 18 22:28:34 2018 +0100
-
-    setup.py: forward force flag to the test extension build
-
-    backport from master
-
- setup.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 43758746432d5cd59409cd54eb242c8799e249c3
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Mar 17 19:09:19 2018 +0100
-
-    version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit ca6918747214484a429c039caed02dd858c307fe
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Mar 17 18:46:05 2018 +0100
-
-    release
-
- NEWS | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-commit ab470a4f02b294ec8f1f11ea30c9ed4625490a52
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Mar 16 23:48:20 2018 +0100
-
-    tests: fix glib tests with newest glib
-
-    g_filename_from_utf8() was recently fixed to return filenames
-    instead of bytes.
-    See https://bugzilla.gnome.org/show_bug.cgi?id=756128
-
- tests/test_glib.py | 21 ++++++++++++++++++++-
- 1 file changed, 20 insertions(+), 1 deletion(-)
-
-commit 76d4503ff856d7cc6e15d45bb82d79c17bda69f7
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Mar 16 15:17:37 2018 +0100
-
-    setup.py: don't install tests
-
-    Now that the tests directory has a __init__.py and is a Python package
-    find_packages() returns it and setup() will install it.
-
-    Instead of using find_packages() hardcode the list of included
-    packages.
-
- setup.py | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-commit f6c17c998e12a38bbc1c14e43fa969f01fbac46b
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Mar 14 12:31:28 2018 +0100
-
-    pyg_flags_get_value_names: fix a leak
-
-    PyList_Append() is transfer-none for the value
-
- gi/pygflags.c | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-commit 9b4a056bbd7003bdb12f3eaf30524caa8747adb1
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Tue Mar 13 19:41:20 2018 +0100
-
-    all around: Fix some assumptions about the size of long
-
-    This was creating various issues on 64-bit Windows, where sizeof(long)
-    is usually 4.
-
- gi/pygi-basictype.c |  6 +++---
- gi/pygi-closure.c   | 10 +++++-----
- gi/pygi-value.c     |  2 +-
- 3 files changed, 9 insertions(+), 9 deletions(-)
-
-commit b8bffa925566e561bb6270db5aecbe2b7b70d178
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Tue Mar 13 19:12:23 2018 +0100
-
-    GValue override: chain up __del__
-
-    This was added in d08e244d , which was recently reverted, that
-    specific bit was however unrelated and still relevant.
-
-    Fix #176
-
- gi/overrides/GObject.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 48171470feccca4c5595a5f28adf6630fca66515
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Mar 1 16:07:10 2018 +0100
-
-    gitlab-ci: add Python 3.7.0b2 job
-
- .gitlab-ci.yml           | 5 +++++
- .gitlab-ci/Dockerfile    | 1 +
- .gitlab-ci/run-docker.sh | 2 ++
- 3 files changed, 8 insertions(+)
-
-commit a0b633185d1dbb2cfef46f85b6b593c0c296e6f7
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Mar 10 20:03:33 2018 +0100
-
-    marshal-cleanup: save and restore exception around cleanup
-
-    With Python 3.7 some Python API in the cleanup path clears exceptions
-    which makes us return NULL in the end without an error set.
-
-    Make if safe to call the cleanup functions with an error set by
-    saving and restoring exceptions.
-
- gi/pygi-marshal-cleanup.c | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
-commit 8eee391694e657a79281707e476b1950a87f4d29
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Mar 11 13:13:30 2018 +0100
-
-    _struct_dealloc: handle being called with an error set
-
-    With Python 3.7 it gets called with an error set and tp_dealloc
-    implementations need to handle that.
-    Fix by saving and restoring the error.
-
- gi/pygi-struct.c | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-commit 7a1b725805b97a037f38c844d107644c780d87b6
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Mar 10 18:54:28 2018 +0100
-
-    IntrospectionModule: __path__ should be List[str] and not str
-
-    This fixes a crash when calling help() on the module which got
-    stricter with
-    Python 3.7.
-
-    It's a bit questionable why the type has __path__ in the first
-    place as
-    that's only meant for packages. But let's leave that for now.
-
- gi/module.py     | 5 +++--
- tests/test_gi.py | 6 ++++--
- 2 files changed, 7 insertions(+), 4 deletions(-)
-
-commit 2386fb7070dcde591313abb10f3e65d7cef7364f
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Mar 10 18:04:14 2018 +0100
-
-    tests_gi: Use capture_output() context manager instead of manually
-    mocking stdout
-
- tests/helper.py  |  2 +-
- tests/test_gi.py | 14 +++-----------
- 2 files changed, 4 insertions(+), 12 deletions(-)
-
-commit e0b92c65f4af126f1ba9c924e8e71b958a280a6e
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Mar 12 13:18:34 2018 +0100
-
-    version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit dde2f66f9d95f4da81230b11317207a1ac08d84e
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Mar 12 08:36:14 2018 +0100
-
-    release
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 9562b75a825c2a0c223bd89a2859dae5b419647f
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Mar 12 12:39:52 2018 +0100
-
-    tests: fix with stable builds by force enabling PyGIDeprecationWarning
-
- tests/__init__.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 22b41598d69fce167a0d44f6a9f91034d099f696
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Mar 12 08:35:27 2018 +0100
-
-    Update NEWS
-
- NEWS | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 02664122c260a31fa9d242d09ddede639fea80bb
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Mar 10 10:41:27 2018 +0100
-
-    GLib.Variant: Fix creation of guchar array from bytes. Fixes #174
-
-    This is some fallout from !4
-
-    Instead of only allowing certain types just make sure that the passed
-    value is iterable.
-
- gi/overrides/GLib.py         |  4 +++-
- tests/test_overrides_glib.py | 16 ++++++++++++++++
- 2 files changed, 19 insertions(+), 1 deletion(-)
-
-commit 92f94761dfed4105e0b3f6d1c490f60ec31816a8
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Mar 1 18:03:26 2018 +0100
-
-    version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7e571ea62074243eef36110c240e192e5682a687
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Mar 1 17:57:08 2018 +0100
-
-    release
-
- NEWS | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 1138bc7e0aeb8d4e7354c6cfd5a63edaa724d3fb
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 27 12:46:11 2018 +0100
-
-    setup.py: fix distcheck
-
- MANIFEST.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 79ee93ea667c7a2cdacf9c770c0e60dc624ced0b
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Feb 23 18:15:55 2018 +0100
-
-    coverage: exclude external headers. See #168
-
-    While we could just pass --no-external we want the coverage of
-    the gobject-introspection files.
-
- .gitlab-ci/coverage-docker.sh | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit 9ae49b49850dca86566b745966104bdd33914df7
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Feb 23 17:33:55 2018 +0100
-
-    coverage.py: ignore errors
-
-    not sure where that path is comming from, it worked in the MR..
-
- .gitlab-ci/coverage-docker.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2d812a6bc4d0952997a3ed3c63c4b09d8c95c103
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Feb 23 11:02:03 2018 +0100
-
-    gitlab-ci: Add Windows coverage support. See #168
-
-    Use coverage.py and cygwin lcov to generate coverage files.
-    In the report generation step fixup the Windows paths in the coverage
-    files to match the Linux/Docker ones.
-
- .gitlab-ci.yml                | 42
- +++++++++++++++++++++++++++---------------
- .gitlab-ci/coverage-docker.sh |  3 +++
- .gitlab-ci/fixup-cov-paths.py | 35 +++++++++++++++++++++++++++++++++++
- .gitlab-ci/test-docker.sh     |  5 +++++
- .gitlab-ci/test-msys2.sh      | 33 +++++++++++++++++++++++++++++++--
- 5 files changed, 101 insertions(+), 17 deletions(-)
-
-commit 1534289ce5934b73b5c980f8e246192009337776
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 20 16:38:25 2018 +0100
-
-    gitlab-ci: Add MSYS2 test jobs
-
-    This assumes a gitlab runner with a "win32" tag which has
-    MSYS2 installed in the default path and uses the "cmd" shell.
-
- .gitlab-ci.yml           | 32 +++++++++++++++++++++++++++-----
- .gitlab-ci/test-msys2.sh | 28 ++++++++++++++++++++++++++++
- 2 files changed, 55 insertions(+), 5 deletions(-)
-
-commit 20fa66387020877a3ae20a6b48bba52153c7bd6c
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 20 18:17:15 2018 +0100
-
-    tests: skip one more GdkAtom test on Windows
-
-    This has started to crash with newer gtk
-
- tests/test_atoms.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit d3cd49ce8777312cbb91b82bd076c0e4b761c848
-Merge: 5ec1aea8 aab23dbd
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Feb 18 08:32:22 2018 +0000
-
-    Merge branch 'gilabissue123' into 'master'
-
-    Performance improvements to avoid GIL congestion
-
-    See merge request GNOME/pygobject!13
-
-commit 5ec1aea8ab4599a7a0945bd5754ce79c7c5cbef3
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Feb 17 18:13:47 2018 +0100
-
-    coverage: don't just use the major python version number for coverage
-    files names
-
-    all py3 jobs wrote to the same file, oops..
-
- .gitlab-ci/test-docker.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit af7aa11acebd9a34e6aee41dc77c0d7c3000fd47
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Feb 17 15:23:49 2018 +0100
-
-    gitlab-ci: Add coverage reports
-
-    Use gcov/lcov and coverage.py; merge all results and provide
-    the final html reports as job artifacts.
-
- .gitignore                    |  1 +
- .gitlab-ci.yml                | 18 ++++++++++++++++++
- .gitlab-ci/Dockerfile         |  1 +
- .gitlab-ci/coverage-docker.sh | 17 +++++++++++++++++
- .gitlab-ci/test-docker.sh     | 20 ++++++++++++++++----
- setup.cfg                     |  7 +++++++
- 6 files changed, 60 insertions(+), 4 deletions(-)
-
-commit 8df9570b7f25ceaaa590c8da33952a7bdeade203
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Fri Feb 16 16:54:06 2018 +0100
-
-    array, list: always run items cleanup funcs
-
- gi/pygi-array.c | 70
- ++++++++++++++++++++++++++++++++-------------------------
- gi/pygi-list.c  | 37 +++++++++++++++---------------
- 2 files changed, 58 insertions(+), 49 deletions(-)
-
-commit 9978b521450d9b2a038d48492550dcab49c7b113
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Fri Feb 16 00:49:25 2018 +0100
-
-    pygi-struct-marshal: perform boxed copy ...
-
-    when the cleanup marshaller will not be called, that is when
-    marshalling something that is not actually an argument.
-
-    Fixes #164
-
- gi/pygi-struct-marshal.c | 48
- ++++++++++++++++++++++++++++++++----------------
- 1 file changed, 32 insertions(+), 16 deletions(-)
-
-commit e41dd91e9e62eeaeaa0fee97b50500591a87b249
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Thu Feb 15 23:32:37 2018 +0100
-
-    Revert "Revert "to python struct marshalling: copy boxed during
-    cleanup""
-
-    This reverts commit 10c062001ddd948b0a70545cbf613b38ed6fa46c.
-
- gi/pygi-struct-marshal.c | 34 +++++++++++++++++++++++++++-------
- tests/test_gi.py         |  1 -
- 2 files changed, 27 insertions(+), 8 deletions(-)
-
-commit b1d1c8d9d8820fe405bddd8e9dea88b5ec2fcce2
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Thu Feb 15 23:32:20 2018 +0100
-
-    Revert "Revert "to python marshalling: collect cleanup data""
-
-    This reverts commit fa555767464fbe551b14cfbc121febc5290b1371.
-
- gi/pygi-array.c               | 24 ++++++++++++++++++------
- gi/pygi-basictype.c           |  8 +++++---
- gi/pygi-basictype.h           |  3 ++-
- gi/pygi-cache.h               | 13 ++++++++++---
- gi/pygi-closure.c             |  9 +++++++--
- gi/pygi-enum-marshal.c        |  6 ++++--
- gi/pygi-error.c               |  3 ++-
- gi/pygi-hashtable.c           | 13 +++++++++----
- gi/pygi-invoke-state-struct.h |  3 +++
- gi/pygi-invoke.c              | 17 +++++++++++++----
- gi/pygi-list.c                | 38 +++++++++++++++++++++++++++++++-------
- gi/pygi-marshal-cleanup.c     | 13 ++++++++-----
- gi/pygi-object.c              |  8 +++++---
- gi/pygi-struct-marshal.c      |  5 +++--
- 14 files changed, 120 insertions(+), 43 deletions(-)
-
-commit 26b7fc3fee55870cc944b0f718da8a75c75f4eae
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Fri Feb 16 00:45:40 2018 +0100
-
-    Revert "Revert "pygi-boxed: make in-place copy safer""
-
-    This reverts commit 700c785367975995d24a8ffd00b2aa028ccf77e8.
-
- gi/pygi-boxed.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-commit d08e244d011121f8ffd5c21437e0f11fe9545bbf
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Thu Feb 15 23:32:08 2018 +0100
-
-    Revert "Revert "Revert "Refactor boxed wrapper memory management
-    strategy"""
-
-    This reverts commit a506d5e3c64321c43a4ce7c2a72ca8d36e985999.
-
- gi/gimodule.c            |  6 +---
- gi/overrides/GLib.py     |  4 +++
- gi/overrides/GObject.py  |  3 --
- gi/pygi-boxed.c          | 32 +++++---------------
- gi/pygi-boxed.h          |  4 +--
- gi/pygi-property.c       |  6 +++-
- gi/pygi-source.c         |  6 ++--
- gi/pygi-struct-marshal.c | 78
- ++++--------------------------------------------
- tests/test_gi.py         |  1 +
- tests/test_source.py     |  8 ++---
- 10 files changed, 29 insertions(+), 119 deletions(-)
-
-commit c56b4510649dae58519681c1a53aed85d598139e
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Feb 16 17:43:00 2018 +0100
-
-    tests: add tests for boxed in GLists. See !24
-
- tests/regressextra.c     | 33 +++++++++++++++++++++++++++++++++
- tests/regressextra.h     |  4 ++++
- tests/test_everything.py | 16 ++++++++++++++++
- 3 files changed, 53 insertions(+)
-
-commit 9c3cb6b49c33f53d637e80aad68a67e89d0eb944
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Feb 16 10:12:42 2018 +0100
-
-    gitlab-ci: use ccache
-
- .gitlab-ci.yml           | 9 +++++++++
- .gitlab-ci/Dockerfile    | 3 +++
- .gitlab-ci/run-docker.sh | 6 ++++--
- 3 files changed, 16 insertions(+), 2 deletions(-)
-
-commit 91a25c2aa1776e5e5757dc317a798615c31b3854
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Feb 16 09:59:31 2018 +0100
-
-    tests: Add a test for a out transfer-none boxed array
-
-    Makes sure we copy the array items as well.
-
- tests/regressextra.c     | 18 ++++++++++++++++++
- tests/regressextra.h     |  3 +++
- tests/test_everything.py |  6 ++++++
- 3 files changed, 27 insertions(+)
-
-commit e00e38f9c44568f7fab643a069f86c576011ddcc
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Feb 16 08:49:38 2018 +0100
-
-    tests: add a pytest hook for handling unhandled exception in closures
-
-    In PyGObject when an exception is raised in a closure called from
-    C then
-    the error gets passed to sys.excepthook (on the main thread at least)
-    and the error is by default printed to stdout. Since pytest by default
-    hides stdout, errors can be easily missed now.
-
-    To make these errors more visible add a test wrapper which checks
-    sys.excepthook for unhandled exceptions and reraises them.
-    This makes the tests fail and as a bonus also shows the right
-    stack trace instead of just the error message.
-
- tests/Makefile.am      |  1 +
- tests/compathelper.py  |  5 +++++
- tests/conftest.py      | 31 +++++++++++++++++++++++++++++++
- tests/test_glib.py     | 13 +++++++++++++
- tests/test_mainloop.py | 28 ++++++++--------------------
- tests/test_option.py   | 18 +++++++-----------
- 6 files changed, 65 insertions(+), 31 deletions(-)
-
-commit aae383cf44ee3eabcc4b4122049ea277524d5001
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 14 02:15:54 2018 +0100
-
-    version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 9c1d66be67008604206e336a0433c5cdf824b837
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 14 01:47:12 2018 +0100
-
-    release
-
- NEWS | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 86fb783d0f00a49ea7e66ad73be7e150eb0162db
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 14 02:07:13 2018 +0100
-
-    Fix make distcheck
-
- tests/Makefile.am | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-commit 618ccf06ad75bc481dec59b7da86a550571968c5
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 14 01:34:02 2018 +0100
-
-    setup.py: cache pkg-config calls
-
-    This saves 300ms for a noop build_tests command
-
- setup.py | 29 +++++++++++++++++------------
- 1 file changed, 17 insertions(+), 12 deletions(-)
-
-commit ad9fc2d9cd8d9a0f3fd07a46e7056a182f18d399
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 14 01:29:09 2018 +0100
-
-    gitlab-ci: Install pytest-faulthandler
-
-    This makes pytest print a Python stack trace in case of a crash.
-
- .gitlab-ci/test-docker.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 0d3fbc2a8d10c9eea4e3eef905d52c946f8ab7e9
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 14 01:16:51 2018 +0100
-
-    setup.py: set the same env vars for testing as autotools
-
-    Also don't print a Python stack trace of the calling process on
-    error, just return the error status.
-
- setup.py | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-commit 0fcd57846b0053319dc5a28503d3eab173927fc6
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 14 00:56:47 2018 +0100
-
-    tests: add a test for Gio.DBusNodeInfo.new_for_xml, see #164
-
-    This was fixed by the recent reverts
-
- tests/test_gdbus.py | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-commit a506d5e3c64321c43a4ce7c2a72ca8d36e985999
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 13 23:26:21 2018 +0100
-
-    Revert "Revert "Refactor boxed wrapper memory management strategy""
-
-    This reverts commit daefdfa3e4dc97b4ae38250358d722f09764cc9b.
-
- gi/gimodule.c            |  6 +++-
- gi/overrides/GLib.py     |  4 ---
- gi/overrides/GObject.py  |  3 ++
- gi/pygi-boxed.c          | 32 +++++++++++++++-----
- gi/pygi-boxed.h          |  4 +--
- gi/pygi-property.c       |  6 +---
- gi/pygi-source.c         |  6 ++--
- gi/pygi-struct-marshal.c | 78
- ++++++++++++++++++++++++++++++++++++++++++++----
- tests/test_gi.py         |  1 -
- tests/test_source.py     |  8 +++--
- 10 files changed, 119 insertions(+), 29 deletions(-)
-
-commit 700c785367975995d24a8ffd00b2aa028ccf77e8
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 13 23:26:15 2018 +0100
-
-    Revert "pygi-boxed: make in-place copy safer"
-
-    This reverts commit 9d96df1ea3ad533885fbcae4de693a3cd81e765a.
-
- gi/pygi-boxed.c | 8 +-------
- 1 file changed, 1 insertion(+), 7 deletions(-)
-
-commit fa555767464fbe551b14cfbc121febc5290b1371
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 13 23:26:03 2018 +0100
-
-    Revert "to python marshalling: collect cleanup data"
-
-    This reverts commit 80eab029ce4e181624d7b845a4b517051797080d.
-
- gi/pygi-array.c               | 24 ++++++------------------
- gi/pygi-basictype.c           |  8 +++-----
- gi/pygi-basictype.h           |  3 +--
- gi/pygi-cache.h               | 13 +++----------
- gi/pygi-closure.c             |  9 ++-------
- gi/pygi-enum-marshal.c        |  6 ++----
- gi/pygi-error.c               |  3 +--
- gi/pygi-hashtable.c           | 13 ++++---------
- gi/pygi-invoke-state-struct.h |  3 ---
- gi/pygi-invoke.c              | 17 ++++-------------
- gi/pygi-list.c                | 38 +++++++-------------------------------
- gi/pygi-marshal-cleanup.c     | 13 +++++--------
- gi/pygi-object.c              |  8 +++-----
- gi/pygi-struct-marshal.c      |  5 ++---
- 14 files changed, 43 insertions(+), 120 deletions(-)
-
-commit 10c062001ddd948b0a70545cbf613b38ed6fa46c
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 13 23:09:49 2018 +0100
-
-    Revert "to python struct marshalling: copy boxed during cleanup"
-
-    This reverts commit 7ed8191818733b9130bce84f782dc6f8f734abf7.
-
- gi/pygi-struct-marshal.c | 34 +++++++---------------------------
- tests/test_gi.py         |  1 +
- 2 files changed, 8 insertions(+), 27 deletions(-)
-
-commit e427d1a3a44e882c998543bb2c189700409df873
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Feb 12 20:35:09 2018 +0100
-
-    tests: Fix tests under Wayland. Fixes #163
-
-    These tests try to test Gdk.Atom with the exsting API in libgdk
-    but under Wayland they either don't return Gdk.Atom or block.
-
-    Since they are disabled on other platforms just change them to only
-    run under X11.
-
- tests/test_atoms.py | 17 ++++++++++++-----
- 1 file changed, 12 insertions(+), 5 deletions(-)
-
-commit 3e91df3dca3691635b978d1dc661506213e0efe3
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Feb 12 15:39:41 2018 +0100
-
-    docs: fix build with sphinx 1.7.0
-
-    1.7.0 no longer allows non-class references as param types
-
- docs/guide/api/signals.rst | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 5a25c98cb6d387791e41c7dc240c55814988519a
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Feb 11 18:08:07 2018 +0100
-
-    tests: Make it possible to use pytest directly
-
-    pytest will just import the files passed to it and try to run tests.
-    Since we need to run some setup code convert the tests directory to
-    a Python package and do the initialization in __init__.py. This makes
-    the init code (env vars, typelib search path, dbus) always run when
-    something from the package gets imported.
-
-        python3 setup.py build_tests  # build pygobject and tests
-        py.test-3 tests/test_gi.py  # run tests in test_gi.py only
-
- docs/devguide/building_testing.rst |   6 ++
- setup.py                           |  10 +--
- tests/Makefile.am                  |   8 ++-
- tests/__init__.py                  | 102 ++++++++++++++++++++++++++
- tests/helper.py                    |   4 +-
- tests/runtests.py                  | 143
- +++++++------------------------------
- tests/test_atoms.py                |   4 +-
- tests/test_cairo.py                |   6 +-
- tests/test_docstring.py            |   2 +
- tests/test_error.py                |   6 +-
- tests/test_everything.py           |   6 +-
- tests/test_fields.py               |   2 +
- tests/test_gdbus.py                |   2 +
- tests/test_generictreemodel.py     |   5 +-
- tests/test_gi.py                   |   6 +-
- tests/test_gio.py                  |   4 +-
- tests/test_glib.py                 |   2 +
- tests/test_gobject.py              |   8 +--
- tests/test_gtype.py                |   2 +
- tests/test_import_machinery.py     |   2 +
- tests/test_interface.py            |   4 +-
- tests/test_internal_api.py         |  10 ++-
- tests/test_iochannel.py            |   6 +-
- tests/test_mainloop.py             |   2 +
- tests/test_object_marshaling.py    |   2 +
- tests/test_option.py               |   2 +
- tests/test_ossig.py                |   2 +
- tests/test_overrides_gdk.py        |   4 +-
- tests/test_overrides_glib.py       |   4 +-
- tests/test_overrides_gtk.py        |   4 +-
- tests/test_overrides_pango.py      |   2 +
- tests/test_properties.py           |  10 ++-
- tests/test_pygtkcompat.py          |   4 +-
- tests/test_repository.py           |   8 +--
- tests/test_resulttuple.py          |   2 +
- tests/test_signal.py               |  13 ++--
- tests/test_source.py               |   8 +--
- tests/test_subprocess.py           |   2 +
- tests/test_thread.py               |   5 +-
- tests/test_typeclass.py            |   6 +-
- tests/test_unknown.py              |   5 +-
- tests/testmodule.py                |   2 +
- 42 files changed, 244 insertions(+), 193 deletions(-)
-
-commit 21cee6cc4fbc7fb1a28a15840924b0da52b49fca
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Feb 11 16:08:18 2018 +0100
-
-    tests: Make patching in pygtkcompat reversible
-
-    Record all the attribute and sys.modules changes and add an API
-    for reverting them after tests are completed.
-
-    This allows us to run the pygtkcompat tests in the same test process
-    as other tests.
-
- pygtkcompat/pygtkcompat.py                         | 273
- ++++++++++++---------
- setup.py                                           |   7 -
- tests/Makefile.am                                  |   4 +-
- tests/runtests.py                                  |   2 +-
- .../{compat_test_pygtk.py => test_pygtkcompat.py}  |  96 ++++++--
- 5 files changed, 237 insertions(+), 145 deletions(-)
-
-commit 7f5aedb6e1f317b33a96d0c77641b95f182b2a47
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Feb 10 13:31:23 2018 +0100
-
-    version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit c65efcb0bb4a73c9fb1ffa10225795adc489a081
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Feb 10 13:22:17 2018 +0100
-
-    release
-
- NEWS         | 11 +++++++++++
- docs/conf.py |  1 +
- 2 files changed, 12 insertions(+)
-
-commit 11de6f55f48447325325ec2f334af5576d12e2ed
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Feb 10 11:37:55 2018 +0100
-
-    tests: switch to pytest as the default test runner. See #153
-
-    The TEST_NAMES env var gets translated to work with the pytest syntax
-    (foo.py::class::method).
-
-    Rename one class which triggers a pytest warning because it starts
-    with
-    "Test" but isn't one.
-
-    Remove erroring out on Python warnings as pytest triggers some
-    deprecation warnings by default.
-
- .gitignore                         |  2 ++
- .gitlab-ci/test-docker.sh          |  2 +-
- docs/devguide/building_testing.rst |  9 +++++++++
- docs/devguide/dev_environ.rst      |  6 ++++--
- tests/Makefile.am                  |  2 +-
- tests/runtests.py                  | 16 +++++++++-------
- tests/test_generictreemodel.py     | 16 ++++++++--------
- 7 files changed, 34 insertions(+), 19 deletions(-)
-
-commit 9a9bb732752e7bec42a1c13f080b37536876e3e0
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Feb 10 11:16:49 2018 +0100
-
-    tests: set DBUS_SESSION_BUS_ADDRESS to some invalid value to
-    disable dbus
-
-    While keepig it empty works on Linux, on Windows setting an invalid
-    value is needed to disable dbus.
-
- tests/runtests.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 64b02e3017b50a17a087ee821522a1cb8e066f27
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Feb 9 17:06:52 2018 +0100
-
-    tests: remove locale test for uppercasing C names
-
-    Someone on IRC had problems running the test suite, and that's not
-    the first
-    time, so remove it for now (added in 63c7f17c2248)
-
-    The locale generation adds extra dependencies and only works on Linux,
-    and while the test does something useful it complicates things
-    too much.
-
-    We need to find a better way (in Python if possible) to test for
-    locale
-    dependend upper()/lower().
-
- MANIFEST.in          |  2 +-
- tests/Makefile.am    |  1 -
- tests/te_ST@nouppera | 50
- --------------------------------------------------
- tests/test_gi.py     | 31 -------------------------------
- 4 files changed, 1 insertion(+), 83 deletions(-)
-
-commit d9516e8dc32db9494139a733ae3a535d2f89c6e1
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Feb 9 14:12:20 2018 +0100
-
-    tests: disable dbus tests on Windows/macOS
-
-    dbus-daemon is available in MSYS2 unlike dbus-run-session but the
-    tests fail. Disable dbus tests on Windows/macOS to restore the
-    old behaviour for now.
-
- tests/runtests.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 1e28b03b1562c030a956ed82337eaacfa38c304e
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Feb 8 17:10:21 2018 +0100
-
-    tests: move dbus session bus handling into runtests.py
-
-    This allows us to remove code duplication in autotools/distutils.
-
-    This also fixes the noisy dbus output during tests because
-    dbus-run-session
-    forwarded dbus logging output to stderr.
-
- .gitlab-ci/Dockerfile    |  1 -
- .gitlab-ci/run-docker.sh |  0
- setup.py                 | 14 ++------------
- tests/Makefile.am        | 10 +++-------
- tests/runtests.py        | 27 +++++++++++++++++++++++++--
- 5 files changed, 30 insertions(+), 22 deletions(-)
-
-commit 095388a7c83dbffbe042f842789285f63996fc11
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Feb 8 15:38:24 2018 +0100
-
-    gitlab-ci: use pyenv in docker instead of the deadsnakes PPA
-
-    deadsnakes only provides packages for Ubuntu LTS versions and doesn't
-    include versions present in that Ubuntu version.
-    With Ubuntu zesty this happened to work, but now that that's EOL
-    we have to switch to artful and no longer have a Python 3.5 available.
-
-    Instead switch to using pyenv in docker and compiler our own Python
-    versions. This should make it easier to swtich distros in the future.
-
-    Also adds a run-docker.sh script which builds the image and
-    runs it with the git repo mounted. This should make local testing
-    easier in the future.
-
- .gitlab-ci.yml            | 12 +++++++---
- .gitlab-ci/Dockerfile     | 60
- ++++++++++++++++++++++++++++-------------------
- .gitlab-ci/run-docker.sh  |  7 ++++++
- .gitlab-ci/test-docker.sh | 11 +++++----
- 4 files changed, 58 insertions(+), 32 deletions(-)
-
-commit 7bc20fe2d1225bebb2f4ec1faabf6a70e4e5a4e7
-Author: Mikhail Fludkov <misha@pexip.com>
-Date:   Thu Feb 8 12:49:01 2018 +0100
-
-    tests: Make tests run without Gtk/Gdk installed
-
-    Python evaluates the code inside @unittest.skipIf decorator during
-    import time. Because Gtk is not installed it crashes while evaluating
-    'Gtk._version' where Gtk=None.
-
- tests/test_ossig.py         | 10 ++++++---
- tests/test_overrides_gdk.py | 17 +++++++--------
- tests/test_overrides_gtk.py | 50
- +++++++++++++++++++++++----------------------
- 3 files changed, 42 insertions(+), 35 deletions(-)
-
-commit d371fd77d33c2987cc450bd68ce4ee4835e09bd8
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Feb 8 09:02:37 2018 +0100
-
-    Revert "to-py-struct: don't copy the boxed if we are the sole owner
-    of the wrapper"
-
-    This reverts commit a4a68b3c7a4bb64c71e1bdbe52ede109b6bcd0bb.
-
-    This was wrong. In the context of a boxed return value we also have
-    only one
-    ref but it doesn't get freed after.
-
-    We could decide this based on PYGI_CALLING_CONTEXT_IS_FROM_C from
-    the callable cache,
-    but let's leave that for now.
-
- gi/pygi-struct-marshal.c | 11 ++---------
- tests/test_everything.py |  2 --
- 2 files changed, 2 insertions(+), 11 deletions(-)
-
-commit 024ac583538976330b429b9b203d412fec0426e3
-Author: Mikhail Fludkov <fludkov.me@gmail.com>
-Date:   Tue Feb 6 15:24:17 2018 +0100
-
-    tests: test_boxed_c_wrapper failing tests
-
-    Introduced here 1ec8d58
-
- setup.py                 |  2 ++
- tests/Makefile.am        |  8 +++++---
- tests/regressextra.c     | 51
- ++++++++++++++++++++++++++++++++++++++++++++++++
- tests/regressextra.h     | 17 ++++++++++++++++
- tests/test_everything.py | 31 +++++++++++++++++++++++++++++
- 5 files changed, 106 insertions(+), 3 deletions(-)
-
-commit aab23dbdb38c5c316c1939410e0301aa8b262143
-Author: Mikhail Fludkov <fludkov.me@gmail.com>
-Date:   Wed Feb 7 16:03:42 2018 +0100
-
-    gi/pygtype.c: avoid GIL congestion in pyg_type_lookup
-
-    https://gitlab.gnome.org/GNOME/pygobject/issues/123
-
-    GIL congestion can be caused when many threads emit signals with
-    objects of
-    boxed type up to Python. The code in pyg_type_lookup imports a
-    python module
-    corresponding to gtype, which is expensive and can cause GIL
-    congestion. What
-    the proposed patch of pyg_type_lookup does:
-
-    - pygi_type_import_by_g_type is called only once per a gtype
-    - early NULL return. For example GStreamer types benefit greatly
-    from it.
-      Because pyg_register_gtype_custom is not used and pyg_type_lookup
-      always
-      returns NULL for such types.
-
- gi/pygtype.c | 41 ++++++++++++++++++++++++++++++++++++-----
- 1 file changed, 36 insertions(+), 5 deletions(-)
-
-commit 080e1a8e8c130a94b5662770621dea2ad1646b3a
-Author: Mikhail Fludkov <fludkov.me@gmail.com>
-Date:   Wed Feb 7 16:36:26 2018 +0100
-
-    Use optimized version of PyImport_ImportModule
-
-    https://gitlab.gnome.org/GNOME/pygobject/issues/123
-
-    You would expect PyImport_ImportModule to import a module once, store
-    it's reference to sys.modules and the next time we call it with
-    the same
-    argument reuse the reference from sys.module. But it is not what is
-    happening unfortunately.
-
-    Everytime we call it it releases GIL, grabs global python import lock,
-    grabs GIL back. The proposed optimization looks at sys.modules
-    first and
-    uses the reference from there to avoid GIL congestion. pyg_type_lookup
-    is
-    a good example of a function which imports python modules at run
-    time and
-    can cause GIL congestion.
-
- gi/pygi-error.c           |  2 +-
- gi/pygi-info.c            |  2 +-
- gi/pygi-type.c            |  2 +-
- gi/pyglib-python-compat.h | 17 +++++++++++++++++
- 4 files changed, 20 insertions(+), 3 deletions(-)
-
-commit ee79fef18748ad660d3a0471ed9a18ea11410849
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 7 11:55:54 2018 +0100
-
-    version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7f678500a9edad6218911dc7d81e0bc057c58326
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 7 11:35:13 2018 +0100
-
-    release
-
- NEWS | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 07993bb18195f19a07cdda3ba47b231b02863e2b
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 7 09:41:58 2018 +0100
-
-    docs: add pypi step to maintainer release list
-
- docs/maintguide.rst | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit f7a8711d16de226aec1496c366fba1c6434b4218
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 7 09:36:50 2018 +0100
-
-    docs: getting started: default to Python 3 everywhere
-
- docs/getting_started.rst | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-commit 1330712bcf8109090bacf0cdfbba0c2a47930ac9
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 7 09:35:08 2018 +0100
-
-    docs: update building/testing with new setup.py features
-
- docs/devguide/building_testing.rst | 45
- +++++++++++++++++++++-----------------
- 1 file changed, 25 insertions(+), 20 deletions(-)
-
-commit e6ffd8f37c83d2627086207192030975dee44bd7
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 7 00:55:54 2018 +0100
-
-    Update NEWS
-
- NEWS | 26 ++++++++++++++++++++++----
- 1 file changed, 22 insertions(+), 4 deletions(-)
-
-commit e56975aaf9bb976397b5961b7b34adcdd91b5a94
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 6 23:04:18 2018 +0100
-
-    gitlab-ci: adjust PKG_CONFIG_PATH for pycairo
-
-    pycairo git now installs things into $prefix/lib/pkgconfig
-
- .gitlab-ci/test-docker.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 4b315835f7006655fe9fa23c02ec6096478114e5
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 6 18:32:13 2018 +0100
-
-    setup.py: use dbus-run-session for tests if available
-
-    Like we do with "make check"
-
- setup.py | 16 ++++++++++++----
- 1 file changed, 12 insertions(+), 4 deletions(-)
-
-commit e36797f6ea971bffe5cd55065e43e233644c3e0a
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 6 18:16:58 2018 +0100
-
-    setup.py: remove wrong comment about share lib extenions in distutils
-
-    It just happened to work with MinGW Python3 as that is patched to use
-    .dll for Python extenions by default. Forcing a different extension
-    here is needed as distutils is targeted at building extensions and
-    not shared libs.
-
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 05159327eb70a75bc876a2355f5f31c6d424c1d5
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 6 18:15:05 2018 +0100
-
-    build: remove libdir from the .pc file
-
-    It's unused afaics and in the distutils case we can't replicated
-    what autotools does, so better remove it.
-
- pygobject-3.0.pc.in | 1 -
- setup.py            | 1 -
- 2 files changed, 2 deletions(-)
-
-commit 1de81a939711b9c2edb915b8bd9855ef9db12f02
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 6 18:14:08 2018 +0100
-
-    setup.py: install .pc file into libdir
-
-    To match what the autotools build does.
-
- setup.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-commit 32771e7509a266d5cafbfb0965b018ad8c87c530
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Feb 6 00:16:57 2018 +0100
-
-    tests: skip some more tests on macOS
-
-    I haven't looked into why, but my hope is that this makes tests
-    pass on travis-ci, so we have a starting point and can at least
-    catch regression in an automated fashion.
-
- tests/test_glib.py          | 1 +
- tests/test_overrides_gtk.py | 1 +
- 2 files changed, 2 insertions(+)
-
-commit 3d4bc64461c7c59f5e4aaabe7f2752d6ece83ed0
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Feb 5 22:55:04 2018 +0100
-
-    setup.py: convince distutils to build dylibs on macOS
-
-    This makes the "build_tests" command work
-
- setup.py | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit a153be8a6d79f52f1a45e2241e1fca5bd0aba6ea
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Feb 5 10:49:55 2018 +0100
-
-    setup.py: rework pycairo header lookup and use new pycairo API when
-    available. See #150
-
-    pycairo git/next version now has a get_include() function which
-    gives us the
-    include path matching the Python module in all cases.
-
-    Rework the lookup code to try that API if possible and fall back to
-    the old
-    way. Also add logging everywhere so it's easier to debug if there
-    is still
-    something wrong.
-
- setup.py | 132
- ++++++++++++++++++++++++++++++++++++++++++---------------------
- 1 file changed, 88 insertions(+), 44 deletions(-)
-
-commit 9a3958d30f8eeaf3cf5ad03c30a1915683ce4e6c
-Merge: 8811bfc6 a4a68b3c
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Feb 1 08:24:50 2018 +0000
-
-    Merge branch 'dont-copy-unowned-boxed' into 'master'
-
-    to-py-struct: don't copy the boxed if we are the sole owner of
-    the wrapper
-
-    See merge request GNOME/pygobject!14
-
-commit a4a68b3c7a4bb64c71e1bdbe52ede109b6bcd0bb
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Jan 30 16:39:18 2018 +0100
-
-    to-py-struct: don't copy the boxed if we are the sole owner of
-    the wrapper
-
-    In commit 7ed8191818733b9130bce84f78 things were changed to copy the
-    wrapped boxed after the Python function returned. In case the wrapper
-    is only used during the call there is no need to copy the boxed
-    as the wrapper will be freed anyway.
-
-    Add a special case and don't copy the boxed in case the refcount at
-    cleanup is only 1. This should speed up the common case.
-
-    thanks to @mathieudu for suggesting this
-
- gi/pygi-struct-marshal.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-commit 8811bfc695a8513e49cfc8ba1e304a3ed0814fa9
-Merge: 0dca3f4f 1fbf74eb
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Jan 30 14:46:40 2018 +0000
-
-    Merge branch 'property_fix' into 'master'
-
-    gobjectmodule: do not clear floating flag in set_/get_property
-
-    See merge request GNOME/pygobject!8
-
-commit 0dca3f4f577c540d8e09097b6e414708c8d54108
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Jan 30 14:05:24 2018 +0100
-
-    setup.py: test: also run compat_test_pygtk tests
-
- setup.py | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 94904a17fb65b5174aca58c9e8ed6ebd50bc6cb3
-Merge: 1ec8d58e fd9e24a7
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Jan 29 16:26:11 2018 +0000
-
-    Merge branch 'gitlabissue158' into 'master'
-
-    pygobject-object: fix memory corruption around list of closures
-
-    See merge request GNOME/pygobject!12
-
-commit fd9e24a73acde7313fbf96c946f4ce8dad130b33
-Author: Mikhail Fludkov <fludkov.me@gmail.com>
-Date:   Mon Jan 29 14:23:37 2018 +0100
-
-    pygobject-object: fix memory corruption around list of closures
-
-    https://gitlab.gnome.org/GNOME/pygobject/issues/158
-
-    The memory corruption occurs because of the race while accessing
-    PyGObjectData->closures list.
-
-    Protect PyGObjectData->closures by GIL in pygobject_unwatch_closure.
-    Despite the fact that we don't call any Python API in the function. We
-    use
-    GIL to be sure that PyGObjectData->closures list stays intact while
-    GC iterating the list inside pygobject_traverse. Otherwise we can
-    segfault while trying to call 'visit' function on an object that
-    was just freed in pygobject_unwatch_closure.
-
- gi/pygobject-object.c |  5 +++++
- tests/test_signal.py  | 50
- ++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 55 insertions(+)
-
-commit 1ec8d58e879a3802f54190be3cdc23bd976ca01f
-Merge: 8c8dd210 7ed81918
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Jan 29 11:40:40 2018 +0000
-
-    Merge branch 'fix_boxed_copies' into 'master'
-
-    Fix boxed copies
-
-    See merge request GNOME/pygobject!10
-
-commit 8c8dd210f7cb2001144dc00ab6adde9e840e5dcf
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Jan 25 17:13:15 2018 +0100
-
-    setup.py: set zip_safe=False
-
-    We install .h/.pc files now and zipping them could be problematic,
-    so better don't allow it.
-
- setup.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 06f981d83bb6f4b7d6043e9ee04277fcc2631d91
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Jan 25 16:33:29 2018 +0100
-
-    setup.py: Install the pkg-config file
-
-    Skip installation when a wheel is built as it doesn't allow including
-    absolute paths and the .pc does.
-
-    Remove LIBFFI_PC as it's always the same.
-
- configure.ac        |  2 --
- pygobject-3.0.pc.in |  2 +-
- setup.py            | 85
- +++++++++++++++++++++++++++++++++++++++++++++++++----
- 3 files changed, 80 insertions(+), 9 deletions(-)
-
-commit db78f98b0133102d77111c595df59f930e9b1c63
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Jan 25 15:57:38 2018 +0100
-
-    setup.py: Install the header file
-
- setup.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 200a9c940d9bf5b0104cedc96c94c55867aac440
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Jan 25 15:42:04 2018 +0100
-
-    setup.py: Add logging for pycairo lookup and fail early if the header
-    isn't found. See #150
-
-    Log the pycairo module we find and the include path we deduce
-    from that.
-    Also check that the directory actually includes the right header file
-    instead of letting the compiler fail later on.
-
-    This will hopefully make it more clear why installing through pip
-    isn't working
-    in some cases (see #150 for some reports)
-
- setup.py | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
-commit 1fbf74eb06bbe2868fd40ea9f3fc1addc27e4bc3
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Sat Jan 20 04:44:46 2018 +0100
-
-    gobjectmodule: do not clear floating flag in set_/get_property
-
- gi/gobjectmodule.c | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-commit f2100902c6fdfd6a3daaab39d3325ffc9ada9a7d
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Sun Jan 21 19:17:10 2018 +0100
-
-    gi/types: make it possible to resolve ambiguous vmethod names
-
-    Related to https://gitlab.gnome.org/GNOME/pygobject/issues/105,
-    but the method exposed to resolve the ambiguities does not
-    use a decorator, as a decorator cannot rename the function it
-    wraps, which means that users will have to provide different names
-    if they want to implement ambiguous methods from multiple base
-    classes.
-
-    Instead, ambiguities can be resolved by implementing methods named
-    do_$namespaced_base_class_name_$vfunc_name, eg:
-
-    do_gst_base_src_query
-
- gi/types.py | 50 ++++++++++++++++++++++++++++++++++++--------------
- 1 file changed, 36 insertions(+), 14 deletions(-)
-
-commit 7ed8191818733b9130bce84f782dc6f8f734abf7
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Tue Jan 23 15:58:38 2018 +0100
-
-    to python struct marshalling: copy boxed during cleanup
-
-    If the boxed was passed with transfer nothing, we need to
-    make a copy of it in the boxed wrapper, this in order
-    to have a valid reference, but still let closures modify
-    the original reference while it is valid (during the closure)
-
-    This fixes an expected failure in the tests, that was added
-    by https://bugzilla.gnome.org/show_bug.cgi?id=722899, first fixed
-    by https://bugzilla.gnome.org/show_bug.cgi?id=726999 and broken
-    in the preceding commits.
-
- gi/pygi-struct-marshal.c | 34 +++++++++++++++++++++++++++-------
- tests/test_gi.py         |  1 -
- 2 files changed, 27 insertions(+), 8 deletions(-)
-
-commit 80eab029ce4e181624d7b845a4b517051797080d
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Tue Jan 23 15:57:04 2018 +0100
-
-    to python marshalling: collect cleanup data
-
-    Similar to what is done for marshalling from python, we
-    collect cleanup data that will then be passed on to the
-    cleanup function.
-
- gi/pygi-array.c               | 24 ++++++++++++++++++------
- gi/pygi-basictype.c           |  8 +++++---
- gi/pygi-basictype.h           |  3 ++-
- gi/pygi-cache.h               | 13 ++++++++++---
- gi/pygi-closure.c             |  9 +++++++--
- gi/pygi-enum-marshal.c        |  6 ++++--
- gi/pygi-error.c               |  3 ++-
- gi/pygi-hashtable.c           | 13 +++++++++----
- gi/pygi-invoke-state-struct.h |  3 +++
- gi/pygi-invoke.c              | 17 +++++++++++++----
- gi/pygi-list.c                | 38 +++++++++++++++++++++++++++++++-------
- gi/pygi-marshal-cleanup.c     | 13 ++++++++-----
- gi/pygi-object.c              |  8 +++++---
- gi/pygi-struct-marshal.c      |  5 +++--
- 14 files changed, 120 insertions(+), 43 deletions(-)
-
-commit 9d96df1ea3ad533885fbcae4de693a3cd81e765a
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Tue Jan 23 14:15:19 2018 +0100
-
-    pygi-boxed: make in-place copy safer
-
-    Making sure we don't attempt to g_boxed_copy a NULL pointer,
-    as this is explicitly disallowed, and setting slice-allocated
-    to FALSE once g_slice_free has been called.
-
- gi/pygi-boxed.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-commit daefdfa3e4dc97b4ae38250358d722f09764cc9b
-Author: Mathieu Duponchelle <mathieu@centricular.com>
-Date:   Sun Jan 21 19:23:19 2018 +0100
-
-    Revert "Refactor boxed wrapper memory management strategy"
-
-    This reverts commit 85175047e66dfc0c0263eac91d8056a95d0a60a0.
-
- gi/gimodule.c            |  6 +---
- gi/overrides/GLib.py     |  4 +++
- gi/overrides/GObject.py  |  3 --
- gi/pygi-boxed.c          | 32 +++++---------------
- gi/pygi-boxed.h          |  4 +--
- gi/pygi-property.c       |  6 +++-
- gi/pygi-source.c         |  6 ++--
- gi/pygi-struct-marshal.c | 78
- ++++--------------------------------------------
- tests/test_gi.py         |  1 +
- tests/test_source.py     |  8 ++---
- 10 files changed, 29 insertions(+), 119 deletions(-)
-
-commit b0fbb13783a2ece048a812b233e1fad15c5b8a31
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Jan 23 00:27:32 2018 +0100
-
-    setup.py: default to Python 3
-
-    autotools defaults to Python 3 as well, so do the same for
-    distutils.
-
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f59ba1ae65876df786458f785558f96d8b400c9a
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Jan 22 23:09:10 2018 +0100
-
-    setup.py: Make the test command work under MSYS2
-
-    gobject-introspection requires an import lib (.dll.a) on Windows,
-    so build that as well.
-
-    Disable the dbus tests until we have a temp bus like with autotools.
-    Unset MSYSTEM to disable the os.sep hackery.
-
-    This hit a bug in GI for the mingw+no-libtool case, see
-    https://bugzilla.gnome.org/show_bug.cgi?id=791902
-    The fix has been applied to MSYS2 in the meantime, see
-    https://github.com/Alexpux/MINGW-packages/pull/3308
-
- .gitignore |  2 ++
- setup.py   | 57 +++++++++++++++++++++++++++++++++++++++++++--------------
- 2 files changed, 45 insertions(+), 14 deletions(-)
-
-commit 89d66dd0aa48aaef0a70aba8a17234bc188ef609
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Jan 21 15:32:26 2018 +0100
-
-    setup.py: add a "quality" command
-
-    This just calls flake8 internally
-
- setup.py | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-commit efb19909ebf15c8bdbd0b4acfe0046a512ba3b82
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Jan 20 12:22:41 2018 +0100
-
-    gitlab-ci: switch to a non-srcdir build
-
- .gitlab-ci/test-docker.sh | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-commit 722ef028739b1e3e585f49418a98efa98834bc02
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Jan 19 20:34:04 2018 +0100
-
-    autotools: use flake8 instead of pep8/pyflakes
-
-    flake8 uses pep8/pycodestyle/pyflakes internally, so there should not
-    by any difference.
-
-    The nice thing about it is that we can store the configuration in
-    setup.cfg and linting comes down to just executing "flake8".
-    It also allows to ignore warnings with inline comments, so that
-    when avoiding a warning isn't possible it doesn't need to be disabled
-    for the whole codebase.
-
- .gitlab-ci/test-docker.sh          |  2 +-
- MANIFEST.in                        |  1 +
- Makefile.am                        | 19 +++----------------
- docs/devguide/building_testing.rst |  2 +-
- setup.cfg                          |  3 +++
- 5 files changed, 9 insertions(+), 18 deletions(-)
-
-commit 162b6ab75d3c3d1717245f5957433b8cf400b17a
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Jan 19 20:08:31 2018 +0100
-
-    gitlab-ci: Install pep8 package, "make check.quality" requires it
-
-    While pep8 is replaced by pycodestyle, the "make check.quality"
-    command still uses pep8. Install it for now and fix some warnings
-    which slipped through due to pep8 not running.
-
- .gitlab-ci/test-docker.sh    | 2 +-
- gi/overrides/GLib.py         | 5 +++--
- tests/test_overrides_glib.py | 1 -
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-commit c365cc9c14a001dcbe294375d322a02401a1814d
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Jan 19 15:12:22 2018 +0100
-
-    Update NEWS
-
-    List the authors like before and link them to the gitlab user profile.
-
- NEWS         | 7 +++++--
- docs/conf.py | 1 +
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-commit 2ccef77f240149891fe9e8f557c7afc951a91839
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Jan 18 17:08:26 2018 +0100
-
-    setup.py: add a "test" command which is equal to "make check"
-    with autotools
-
-    Adds a "build_tests" command which builds all resources required
-    for testing.
-    It has some simple dependency awareness and only rebuilds if any of
-    the direct
-    sources have changed. Passing -f/--force will force a rebuild.
-
-    Adds a new "test" command which builds the main extension module in
-    the source
-    directory, runs "build_tests" and finally runs all tests.
-
-    Extends the "distcheck" command to run the tests after extracting
-    the source
-    distribution and run the distcheck command in the gitlab CI script.
-
-    Only tested on Linux.
-
- .gitlab-ci/test-docker.sh          |   3 +
- docs/devguide/building_testing.rst |  28 ++--
- setup.py                           | 336
- +++++++++++++++++++++++++++++++------
- tests/runtests.py                  |   1 +
- 4 files changed, 305 insertions(+), 63 deletions(-)
-
-commit 812cdbfec0c8c9866c339a5eb01268672514d447
-Author: Alberto Ruiz <aruiz@gnome.org>
-Date:   Thu Jan 18 18:29:33 2018 +0100
-
-    GVariant add support to maybe types
-
-    While adding support to maybe types I realized that the GVariant
-    override was replicating a lot of logic from GVariant to parse
-    format strings by itself. This patch simplifies the creation of
-    GVariants from Python types and relies on GVariantType to interpret
-    the format string and walk through its items.
-
-    This patch also expands test coverage for maybe types.
-
- gi/overrides/GLib.py         | 164
- ++++++++++++-------------------------------
- tests/test_overrides_glib.py |  49 ++++++++++---
- 2 files changed, 86 insertions(+), 127 deletions(-)
-
-commit 54059b93a5559a4ccf28fa8014cacabbcf140902
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Jan 18 08:39:53 2018 +0100
-
-    Update NEWS
-
- NEWS | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit e5a21f56cd375373741dcb2f2e8eefae349cffbc
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Jan 15 20:44:27 2018 +0100
-
-    overrides: Fix Gtk.Adjustment.__init__ overrides not setting "value"
-    sometimes. Fixes #151
-
-    Gtk.Adjustment allows passing positional arguments to __init__
-    which get
-    translated to a dict for passing to GObject.Object.__init__. In case
-    of the
-    first argument "value", if "value" is passed before the upper and
-    lower bound to Object.__init__ it will be set to 0 instead.
-
-    In Python 2 this happened to work (at least on my machine) because
-    "value" got placed after the bounds (in terms of iteration order)
-    in the final dict value passed to Object.__init__.
-
-    To work around this, set "value" again after __init__().
-    A similar work around already exists when "value" is passed as
-    a kwarg.
-
- gi/overrides/Gtk.py         | 2 ++
- tests/test_overrides_gtk.py | 6 ++++++
- 2 files changed, 8 insertions(+)
-
-commit 5cb3d7af47310d0b6174811d0d298e7d1869624c
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Jan 15 18:02:39 2018 +0100
-
-    Update MANIFEST.in to include the CI scripts and config files
-
-    This fixes "setup.py distcheck", which makes sure all files in git end
-    up in the sdist.
-
- MANIFEST.in | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 74ad29c908447a4054dbd3427a09a1d44ff00f6d
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Jan 12 09:49:36 2018 +0100
-
-    docs: Add Anaconda to the list of software that is using PyGObject
-
-    https://fedoraproject.org/wiki/Anaconda
-
- docs/index.rst | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 9fe7eb528c711e56ee58ce3b8a4d7b4270708d40
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Jan 12 09:42:49 2018 +0100
-
-    docs: Add custom roles for linking to gitlab issues and merge requests
-
-    This allows one to use :issue:`42` or :mr:`42` in the documentation
-    and the NEWS file and will result in links pointing to the
-    specified issue/merge request.
-
- docs/conf.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 91a1ec0ef6e3cbfb6c83ae8e17564733c8e840f6
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Jan 10 18:17:56 2018 +0100
-
-    docs: Update for the git repo move from git.gnome.org to
-    gitlab.gnome.org
-
-    Changes all the links to point to the gitlab instance.
-
-    Adds the gitlab setup to the sphinx theme configuration, so the theme
-    can show "Edit on GitLab" links on each page.
-
-    Create a new page pointing to the git report and bug tracker.
-    Someone on IRC mentioned that this info is hard to find, so try
-    to make
-    it more proiminent.
-
- docs/bugs_repo.rst            | 31 +++++++++++++++++++++++++++++++
- docs/changelog.rst            |  3 ++-
- docs/conf.py                  |  6 ++++++
- docs/devguide/dev_environ.rst |  4 ++--
- docs/devguide/overview.rst    | 24 ++++--------------------
- docs/guide/porting.rst        |  2 +-
- docs/index.rst                |  1 +
- 7 files changed, 47 insertions(+), 24 deletions(-)
-
-commit adf5e51ccf9d9dbf938c0da496e0d4d81d3284f6
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Dec 22 16:34:53 2017 +0100
-
-    Add gitlab CI tests
-
-    Adds a Dockerfile which is available on the docker hub
-    and gets used by the gitlab test runner.
-
-    The tests get executed in an Ubuntu 17.04 image for various Python
-    versions and consist of building, testing, code quality testing and
-    documentation build testing.
-
- .gitlab-ci.yml            | 22 ++++++++++++++++++++++
- .gitlab-ci/Dockerfile     | 32 ++++++++++++++++++++++++++++++++
- .gitlab-ci/README.rst     |  1 +
- .gitlab-ci/test-docker.sh | 30 ++++++++++++++++++++++++++++++
- 4 files changed, 85 insertions(+)
-
-commit 661e64ce6091724b86a934268daa2c80bda46eb5
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Dec 21 12:33:07 2017 +0100
-
-    docs: Include NEWS entries for releases not made on the master branch
-
-    So that every release is visible in the online documentation.
-    The list is sorted by release date.
-
- NEWS               | 335
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/changelog.rst |   3 +-
- 2 files changed, 337 insertions(+), 1 deletion(-)
-
-commit a109b4c96537e8ba3062a56699f3aefc63c82d6d
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Dec 20 15:59:05 2017 +0100
-
-    docs: convert NEWS file to reST and link bugs
-
-    Looks nicer in the online docs and makes it easier to look
-    up bugs and link to specific releases.
-
-    Rename the custom reST role for bugs from gnomebug to bzbug.
-    With the upcoming move to gitlab that makes it more clear that those
-    are referencing bugzilla.
-
-    Adjust the "make release-news" target to output something similar
-    to the new format to make converting to reST easier.
-
-    Update the maintainer release todo list to state that the changelog
-    should be copied from stable branches to master. It would be
-    nice if the NEWS file in master, which gets exposed on readthedocs,
-    would contain all the information available.
-
- Makefile.am                           |    4 +-
- NEWS                                  | 5171
- +++++++++++++++++----------------
- docs/Makefile                         |    2 +-
- docs/changelog.rst                    |    1 -
- docs/conf.py                          |    2 +-
- docs/devguide/override_guidelines.rst |   14 +-
- docs/maintguide.rst                   |    2 +
- 7 files changed, 2712 insertions(+), 2484 deletions(-)
-
-commit df77beb730c336e5fdc87f4225af0842edfbe56a
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Dec 11 18:50:22 2017 +0100
-
-    version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 22ef18884d1c7cb5b9ba68ef78489bb779a347b3
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Dec 11 18:40:47 2017 +0100
-
-    release 3.27.1
-
- NEWS | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-commit 2e30c7fbfcb579efb2ff7134979f169f673ac285
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Dec 11 18:32:16 2017 +0100
-
-    Revert "setup.py: Also set setup_requires to require pycairo"
-
-    This reverts commit bab1cb0d98e4a6219332394161dbf07aafa0c615.
-
-    pycairo gets installed under /tmp as an .egg this way, and that
-    doesn't help us
-    with finding the C headers.
-
- setup.py | 4 ----
- 1 file changed, 4 deletions(-)
-
-commit bab1cb0d98e4a6219332394161dbf07aafa0c615
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Dec 11 16:26:54 2017 +0100
-
-    setup.py: Also set setup_requires to require pycairo
-
-    We need pycairo at build time. There are some problems with
-    setup_requires
-    in that it isn't directly handled by pip, but let's give it a try
-    and see
-    which problems come up.
-
-    Thanks to mgedmin for pointing that out
-
- setup.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 47aeaab6142a716234e91e8bbc3adefeff9ff5c3
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Dec 11 16:14:34 2017 +0100
-
-    setup.py: Provide a os.path.samefile fallback for Python 2 under
-    Windows
-
-    os.path.samefile is missing from Python 2 under Windows. Implement a
-    simple fallback which normalizes and compares paths instead.
-
- setup.py | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
-commit dfab41d0b66a15c8cf8229f7522160ec6b08a2b8
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Dec 10 20:38:47 2017 +0100
-
-    Add sphinx based documentation
-
-    Takes the documentation developed at
-    https://github.com/pygobject/pygobject-docs
-    and puts into /docs
-
-    See https://pygobject.readthedocs.io for how it looks
-
-    Now that we move to gitlab we can use webhooks to trigger builds
-    on readthedocs from gitlab directly and we should also have a nicer
-    contribution UX.
-
-    This also gets rid of most of README/HACKING/INSTALL and moves most
-    of the information into the documentation. The README is kept short
-    and only makes clear what pygobject is and points to the online docs
-    as that should answer all questions.
-
-    setup.py now sets the content of README.rst as long_descriptions,
-    as that is the content shown on PyPI. This makes the page on PyPI
-    look the same as on gitlab.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=791448
-
- .gitignore                              |   2 +
- HACKING                                 |  37 ----
- INSTALL                                 | 370
- --------------------------------
- MANIFEST.in                             |   3 +-
- Makefile.am                             |   5 +-
- README.rst                              | 137 ++----------
- docs/Makefile                           |  16 ++
- docs/changelog.rst                      |  10 +
- docs/conf.py                            |  50 +++++
- docs/contact.rst                        |  11 +
- docs/devguide/building_testing.rst      |  56 +++++
- docs/devguide/dev_environ.rst           |  46 ++++
- docs/devguide/index.rst                 |  13 ++
- docs/devguide/override_guidelines.rst   |  90 ++++++++
- docs/devguide/overview.rst              |  32 +++
- docs/devguide/style_guide.rst           | 101 +++++++++
- docs/extra.css                          |  57 +++++
- docs/further.rst                        |  10 +
- docs/getting_started.rst                | 128 +++++++++++
- docs/guide/api/api.rst                  |  75 +++++++
- docs/guide/api/basic_types.rst          |  53 +++++
- docs/guide/api/flags_enums.rst          |  39 ++++
- docs/guide/api/gobject.rst              |  91 ++++++++
- docs/guide/api/index.rst                |  12 ++
- docs/guide/api/properties.rst           | 119 ++++++++++
- docs/guide/api/signals.rst              |  93 ++++++++
- docs/guide/cairo_integration.rst        |  39 ++++
- docs/guide/code/cairo-demo.py           | 133 ++++++++++++
- docs/guide/debug_profile.rst            | 112 ++++++++++
- docs/guide/deploy.rst                   |  52 +++++
- docs/guide/faq.rst                      |  11 +
- docs/guide/images/cairo_integration.png | Bin 0 -> 24418 bytes
- docs/guide/index.rst                    |  17 ++
- docs/guide/porting.rst                  | 109 ++++++++++
- docs/guide/testing.rst                  |  39 ++++
- docs/guide/threading.rst                | 290 +++++++++++++++++++++++++
- docs/icons.rst                          |  48 +++++
- docs/images/LICENSE                     |   3 +
- docs/images/favicon.ico                 | Bin 0 -> 34494 bytes
- docs/images/logo.svg                    | 266 +++++++++++++++++++++++
- docs/images/overview.dia                | Bin 0 -> 1885 bytes
- docs/images/overview.svg                |  72 +++++++
- docs/images/pygobject-small.svg         | 193 +++++++++++++++++
- docs/images/pygobject.svg               | 244 +++++++++++++++++++++
- docs/images/start_linux.png             | Bin 0 -> 9893 bytes
- docs/images/start_macos.png             | Bin 0 -> 13949 bytes
- docs/images/start_windows.png           | Bin 0 -> 11454 bytes
- docs/index.rst                          |  89 ++++++++
- docs/maintguide.rst                     |  32 +++
- docs/packagingguide.rst                 |  55 +++++
- setup.py                                |   6 +-
- 51 files changed, 2933 insertions(+), 533 deletions(-)
-
-commit 307e64982fdfcc9b505d867c0628e1e0a189cd67
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Dec 10 16:23:45 2017 +0100
-
-    PKG-INFO: Revert name back to PyGObject
-
-    My thinking there was that it gives us the same naming of tarballs
-    as with the autotools build system. But on a second thought, we
-    can't use the same tarball anyway due to gz vs xz and while the
-    naming should be case insensitive it's not worth the risk.
-
-    The commit changing it was 3e455944f5835c7509
-
- PKG-INFO.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit eb20f3c9f062fe25a44068ccab46475c4cb5e523
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Dec 10 16:17:28 2017 +0100
-
-    setup.py: Rework pycairo discovery to not use pkg-config
-
-    Two problems with the previous approach:
-
-    * We looked into sys.prefix for the .pc file while the package
-      could be installed in another location like the user dir location
-      or on Debian it goes into /usr/local.
-    * The .pc file intalled by pycairo can contain wrong paths if
-      installed through pip, since that sometimes builds a wheel
-      and caches that for future installations to different locations.
-
-    Instead of using the .pc file use pkg_resources to discover the
-    pycairo location and then try to find the correspinding "data"
-    installation
-    path for the first  matching location scheme.
-
-    See https://github.com/pygobject/pycairo/issues/85
-
- setup.py | 44 +++++++++++++++++++++++++++-----------------
- 1 file changed, 27 insertions(+), 17 deletions(-)
-
-commit de2ff6e883015741527638ab5cece47a97ef2856
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Dec 9 15:59:26 2017 +0100
-
-    setup.py: Fix the distcheck command on Windows
-
-    The distutils install command complains if the passed root/record
-    paths
-    aren't absolute on Windows.
-    Also make use of os.path.join() while at it.
-
- setup.py | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-commit 46225bf34fc5737ca5b8e9fd9a0029e6f4a8b302
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Dec 9 15:55:39 2017 +0100
-
-    setup.py: Remove various classifiers and the download-url which
-    aren't accepted by pypi
-
-    pypi does not allow uploading packages with these set, so remove
-    them altogether.
-
- PKG-INFO.in | 5 -----
- setup.py    | 1 -
- 2 files changed, 6 deletions(-)
-
-commit bf884345be38f1ebd53fbe891841348b8485dac0
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Dec 8 20:34:18 2017 +0100
-
-    version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f8801c24993e9b7b9abc65e32d1a851c7ed09649
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Dec 8 20:31:17 2017 +0100
-
-    release 3.27.0
-
- NEWS | 34 ++++++++++++++++++++++++++++++++++
- 1 file changed, 34 insertions(+)
-
-commit eb2ff4362878d0e348c67c606a32e8d332e2454d
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Dec 8 16:56:10 2017 +0100
-
-    demo: pep8 fixes
-
-    The demo app now gets analyzed by pep8 since it was moved to the
-    examples.
-
- examples/demo/demos/Css/css_accordion.py           |    1 +
- examples/demo/demos/Entry/entry_buffer.py          |    1 +
- examples/demo/demos/Entry/entry_completion.py      |    1 +
- examples/demo/demos/Entry/search_entry.py          |    1 +
- examples/demo/demos/IconView/iconviewbasics.py     |    1 +
- examples/demo/demos/IconView/iconviewedit.py       |    1 +
- examples/demo/demos/TreeView/liststore.py          |    2 +
- examples/demo/demos/TreeView/treemodel_filelist.py |    1 +
- examples/demo/demos/TreeView/treemodel_filetree.py |    1 +
- examples/demo/demos/appwindow.py                   |    1 +
- examples/demo/demos/assistant.py                   |    1 +
- examples/demo/demos/builder.py                     |    1 +
- examples/demo/demos/button_box.py                  |    1 +
- examples/demo/demos/clipboard.py                   |    1 +
- examples/demo/demos/colorselector.py               |    1 +
- examples/demo/demos/combobox.py                    |    1 +
- examples/demo/demos/dialogs.py                     |    1 +
- examples/demo/demos/drawingarea.py                 |   11 +-
- examples/demo/demos/expander.py                    |    1 +
- examples/demo/demos/flowbox.py                     | 1332
- ++++++++++----------
- examples/demo/demos/images.py                      |    1 +
- examples/demo/demos/infobars.py                    |    1 +
- examples/demo/demos/links.py                       |    1 +
- examples/demo/demos/menus.py                       |    1 +
- examples/demo/demos/pickers.py                     |    1 +
- examples/demo/demos/pixbuf.py                      |    1 +
- examples/demo/demos/printing.py                    |    1 +
- examples/demo/demos/rotatedtext.py                 |    1 +
- 28 files changed, 700 insertions(+), 670 deletions(-)
-
-commit af9ddf322f7cf377996b8fa29906bd4b254dc001
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Dec 8 16:40:33 2017 +0100
-
-    Fix ctypes.PyDLL construction under Windows
-
-    We require the ctypes.pythonapi interface but can't use the global one
-    since we have to change it which could potentially break other users
-    of that interface.
-
-    Turns out simply passing None to PyDLL() only works on Unix to
-    load the
-    CPython library. Instead copy the logic from the ctypes module in the
-    stdlib.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=622084
-
- gi/_ossighelper.py | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
-commit d19aca693950c0edb02b226db8bcf81a5304870e
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Dec 8 14:40:58 2017 +0100
-
-    configure.ac: Error out in case autoconf-archive isn't installed
-
-    Check whether the AX_IS_RELEASE macro is defined and if not print
-    a proper error message.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=784428
-
- configure.ac | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 26001a6ae42f8e10ed4c44bc9414e219b946cee0
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Dec 6 18:37:45 2017 +0100
-
-    Move pygi-convert.sh into tools
-
- MANIFEST.in                              | 2 +-
- Makefile.am                              | 2 +-
- pygi-convert.sh => tools/pygi-convert.sh | 0
- 3 files changed, 2 insertions(+), 2 deletions(-)
-
-commit dd1507be6c198319304342b73c8ec1ec2a102145
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Dec 6 18:26:13 2017 +0100
-
-    README: Convert to reST
-
- MANIFEST.in          |  2 +-
- Makefile.am          |  3 ++-
- README => README.rst | 56
- ++++++++++++++++++++++++++++++++++------------------
- 3 files changed, 40 insertions(+), 21 deletions(-)
-
-commit e4a52b9f99667df98806d0c4ee78c2909ead27e1
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Dec 6 17:53:51 2017 +0100
-
-    demo: Move demo into examples and dist it
-
-    We might want to install it in the future, but until then at least put
-    it into the tarball.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735918
-
- MANIFEST.in                                                 |   3 +--
- examples/Makefile.am                                        |   7 ++++++-
- {demo => examples/demo}/demo.py                             |   0
- {demo => examples/demo}/demos/Css/__init__.py               |   0
- {demo => examples/demo}/demos/Css/css_accordion.py          |   0
- {demo => examples/demo}/demos/Css/css_basics.py             |   0
- {demo => examples/demo}/demos/Css/css_multiplebgs.py        |   0
- {demo => examples/demo}/demos/Entry/__init__.py             |   0
- {demo => examples/demo}/demos/Entry/entry_buffer.py         |   0
- {demo => examples/demo}/demos/Entry/entry_completion.py     |   0
- {demo => examples/demo}/demos/Entry/search_entry.py         |   0
- {demo => examples/demo}/demos/IconView/__init__.py          |   0
- {demo => examples/demo}/demos/IconView/iconviewbasics.py    |   0
- {demo => examples/demo}/demos/IconView/iconviewedit.py      |   0
- {demo => examples/demo}/demos/TreeView/__init__.py          |   0
- {demo => examples/demo}/demos/TreeView/liststore.py         |   0
- .../demo}/demos/TreeView/treemodel_filelist.py              |   0
- .../demo}/demos/TreeView/treemodel_filetree.py              |   0
- {demo => examples/demo}/demos/TreeView/treemodel_large.py   |   0
- {demo => examples/demo}/demos/__init__.py                   |   0
- {demo => examples/demo}/demos/appwindow.py                  |   0
- {demo => examples/demo}/demos/assistant.py                  |   0
- {demo => examples/demo}/demos/builder.py                    |   0
- {demo => examples/demo}/demos/button_box.py                 |   0
- {demo => examples/demo}/demos/clipboard.py                  |   0
- {demo => examples/demo}/demos/colorselector.py              |   0
- {demo => examples/demo}/demos/combobox.py                   |   0
- {demo => examples/demo}/demos/data/alphatest.png            | Bin
- {demo => examples/demo}/demos/data/apple-red.png            | Bin
- {demo => examples/demo}/demos/data/background.jpg           | Bin
- {demo => examples/demo}/demos/data/brick.png                | Bin
- {demo => examples/demo}/demos/data/brick2.png               | Bin
- {demo => examples/demo}/demos/data/css_accordion.css        |   0
- {demo => examples/demo}/demos/data/css_basics.css           |   0
- {demo => examples/demo}/demos/data/css_multiplebgs.css      |   0
- {demo => examples/demo}/demos/data/cssview.css              |   0
- {demo => examples/demo}/demos/data/demo.gresource           | Bin
- {demo => examples/demo}/demos/data/demo.gresource.xml       |   0
- {demo => examples/demo}/demos/data/demo.ui                  |   0
- {demo => examples/demo}/demos/data/floppybuddy.gif          | Bin
- {demo => examples/demo}/demos/data/gnome-applets.png        | Bin
- {demo => examples/demo}/demos/data/gnome-calendar.png       | Bin
- {demo => examples/demo}/demos/data/gnome-foot.png           | Bin
- {demo => examples/demo}/demos/data/gnome-fs-directory.png   | Bin
- {demo => examples/demo}/demos/data/gnome-fs-regular.png     | Bin
- {demo => examples/demo}/demos/data/gnome-gimp.png           | Bin
- {demo => examples/demo}/demos/data/gnome-gmush.png          | Bin
- {demo => examples/demo}/demos/data/gnome-gsame.png          | Bin
- {demo => examples/demo}/demos/data/gnu-keys.png             | Bin
- {demo => examples/demo}/demos/data/gtk-logo-rgb.gif         | Bin
- {demo => examples/demo}/demos/data/reset.css                |   0
- {demo => examples/demo}/demos/dialogs.py                    |   0
- {demo => examples/demo}/demos/drawingarea.py                |   0
- {demo => examples/demo}/demos/expander.py                   |   0
- {demo => examples/demo}/demos/flowbox.py                    |   0
- {demo => examples/demo}/demos/images.py                     |   0
- {demo => examples/demo}/demos/infobars.py                   |   0
- {demo => examples/demo}/demos/links.py                      |   0
- {demo => examples/demo}/demos/menus.py                      |   0
- {demo => examples/demo}/demos/pickers.py                    |   0
- {demo => examples/demo}/demos/pixbuf.py                     |   0
- {demo => examples/demo}/demos/printing.py                   |   0
- {demo => examples/demo}/demos/rotatedtext.py                |   0
- {demo => examples/demo}/demos/test.py                       |   0
- 64 files changed, 7 insertions(+), 3 deletions(-)
-
-commit f8ff3b5e0e769e6db1509426af28728129780529
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Sep 4 08:51:10 2014 +0100
-
-    demo: Add new Gtk.FlowBox example
-
-    Added a new example for the Gtk.FlowBox class added in GTK+ 3.12.
-    This example additionally makes use of Gtk.HeaderBar.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735918
-
- demo/demos/flowbox.py | 750
- ++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 750 insertions(+)
-
-commit 3f4a176c77a8026949c04d85d0a822554c4c661c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Sep 2 10:53:29 2014 -0700
-
-    demo: Use HeaderBar for main app window
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735918
-
- demo/demo.py | 23 +++++++++++------------
- 1 file changed, 11 insertions(+), 12 deletions(-)
-
-commit 995f1e72eed0970d56d871ed8452c61f92a40696
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Sep 2 11:10:31 2014 -0700
-
-    demo: PyFlakes and PEP8 fixes
-
-    Since PyFlakes and PEP8 are not currently run on the demo due to it
-    not being packaged, manually check and fix this for now.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735918
-
- demo/demo.py                         | 2 +-
- demo/demos/Entry/entry_buffer.py     | 2 +-
- demo/demos/Entry/entry_completion.py | 2 +-
- demo/demos/clipboard.py              | 6 +-----
- demo/demos/combobox.py               | 2 +-
- 5 files changed, 5 insertions(+), 9 deletions(-)
-
-commit 5d2ce69ed51aec62872ebb2a129c2b8a6b4256af
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Sep 2 11:01:55 2014 -0700
-
-    demo: Rename gtk-demo.py to demo.py
-
-    Remove GTK+ specificity which also allows the demo app to be used as
-    one of the demos itself.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735918
-
- demo/{gtk-demo.py => demo.py} | 0
- 1 file changed, 0 insertions(+), 0 deletions(-)
-
-commit 7e48d91a5e1f180cbe4adea41bd41939c26c77b0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 1 22:04:29 2014 -0700
-
-    demo: Rename demos/gtk-demo to simply demo
-
-    Move the entire "pygobject/demos/gtk-demo" folder to "pygobject/demo".
-    Since we only have a single demo app which should be used for all
-    platform demos we can remove the diectory obfuscation.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735918
-
- {demos/gtk-demo => demo}/demos/Css/__init__.py              |   0
- {demos/gtk-demo => demo}/demos/Css/css_accordion.py         |   0
- {demos/gtk-demo => demo}/demos/Css/css_basics.py            |   0
- {demos/gtk-demo => demo}/demos/Css/css_multiplebgs.py       |   0
- {demos/gtk-demo => demo}/demos/Entry/__init__.py            |   0
- {demos/gtk-demo => demo}/demos/Entry/entry_buffer.py        |   0
- {demos/gtk-demo => demo}/demos/Entry/entry_completion.py    |   0
- {demos/gtk-demo => demo}/demos/Entry/search_entry.py        |   0
- {demos/gtk-demo => demo}/demos/IconView/__init__.py         |   0
- {demos/gtk-demo => demo}/demos/IconView/iconviewbasics.py   |   0
- {demos/gtk-demo => demo}/demos/IconView/iconviewedit.py     |   0
- {demos/gtk-demo => demo}/demos/TreeView/__init__.py         |   0
- {demos/gtk-demo => demo}/demos/TreeView/liststore.py        |   0
- .../gtk-demo => demo}/demos/TreeView/treemodel_filelist.py  |   0
- .../gtk-demo => demo}/demos/TreeView/treemodel_filetree.py  |   0
- {demos/gtk-demo => demo}/demos/TreeView/treemodel_large.py  |   0
- {demos/gtk-demo => demo}/demos/__init__.py                  |   0
- {demos/gtk-demo => demo}/demos/appwindow.py                 |   0
- {demos/gtk-demo => demo}/demos/assistant.py                 |   0
- {demos/gtk-demo => demo}/demos/builder.py                   |   0
- {demos/gtk-demo => demo}/demos/button_box.py                |   0
- {demos/gtk-demo => demo}/demos/clipboard.py                 |   0
- {demos/gtk-demo => demo}/demos/colorselector.py             |   0
- {demos/gtk-demo => demo}/demos/combobox.py                  |   0
- {demos/gtk-demo => demo}/demos/data/alphatest.png           | Bin
- {demos/gtk-demo => demo}/demos/data/apple-red.png           | Bin
- {demos/gtk-demo => demo}/demos/data/background.jpg          | Bin
- {demos/gtk-demo => demo}/demos/data/brick.png               | Bin
- {demos/gtk-demo => demo}/demos/data/brick2.png              | Bin
- {demos/gtk-demo => demo}/demos/data/css_accordion.css       |   0
- {demos/gtk-demo => demo}/demos/data/css_basics.css          |   0
- {demos/gtk-demo => demo}/demos/data/css_multiplebgs.css     |   0
- {demos/gtk-demo => demo}/demos/data/cssview.css             |   0
- {demos/gtk-demo => demo}/demos/data/demo.gresource          | Bin
- {demos/gtk-demo => demo}/demos/data/demo.gresource.xml      |   0
- {demos/gtk-demo => demo}/demos/data/demo.ui                 |   0
- {demos/gtk-demo => demo}/demos/data/floppybuddy.gif         | Bin
- {demos/gtk-demo => demo}/demos/data/gnome-applets.png       | Bin
- {demos/gtk-demo => demo}/demos/data/gnome-calendar.png      | Bin
- {demos/gtk-demo => demo}/demos/data/gnome-foot.png          | Bin
- {demos/gtk-demo => demo}/demos/data/gnome-fs-directory.png  | Bin
- {demos/gtk-demo => demo}/demos/data/gnome-fs-regular.png    | Bin
- {demos/gtk-demo => demo}/demos/data/gnome-gimp.png          | Bin
- {demos/gtk-demo => demo}/demos/data/gnome-gmush.png         | Bin
- {demos/gtk-demo => demo}/demos/data/gnome-gsame.png         | Bin
- {demos/gtk-demo => demo}/demos/data/gnu-keys.png            | Bin
- {demos/gtk-demo => demo}/demos/data/gtk-logo-rgb.gif        | Bin
- {demos/gtk-demo => demo}/demos/data/reset.css               |   0
- {demos/gtk-demo => demo}/demos/dialogs.py                   |   0
- {demos/gtk-demo => demo}/demos/drawingarea.py               |   0
- {demos/gtk-demo => demo}/demos/expander.py                  |   0
- {demos/gtk-demo => demo}/demos/images.py                    |   0
- {demos/gtk-demo => demo}/demos/infobars.py                  |   0
- {demos/gtk-demo => demo}/demos/links.py                     |   0
- {demos/gtk-demo => demo}/demos/menus.py                     |   0
- {demos/gtk-demo => demo}/demos/pickers.py                   |   0
- {demos/gtk-demo => demo}/demos/pixbuf.py                    |   0
- {demos/gtk-demo => demo}/demos/printing.py                  |   0
- {demos/gtk-demo => demo}/demos/rotatedtext.py               |   0
- {demos/gtk-demo => demo}/demos/test.py                      |   0
- {demos/gtk-demo => demo}/gtk-demo.py                        |   0
- 61 files changed, 0 insertions(+), 0 deletions(-)
-
-commit 1ea36ccfc755693b9ce4cf28be549704bf5370d3
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Dec 6 16:54:54 2017 +0100
-
-    Remove AUTHORS file
-
-    No need to duplicate that information over and over.
-    It's in the README and .doap file still
-
- AUTHORS     | 11 -----------
- MANIFEST.in |  1 -
- README      |  4 ++--
- 3 files changed, 2 insertions(+), 14 deletions(-)
-
-commit 9462873823a5459276400c0d6cf11e084b681751
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Dec 6 15:55:54 2017 +0100
-
-    Remove pre-commit.hook
-
-    It was obviously not used in some time as the git command doesn't
-    exist anymore.
-    If we ever get per pull/merge request CI we can look into bringing
-    something
-    like this back.
-
- MANIFEST.in     |  1 -
- pre-commit.hook | 39 ---------------------------------------
- 2 files changed, 40 deletions(-)
-
-commit 3e455944f5835c750911d3178a0607201f23f1a8
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Dec 4 15:33:00 2017 +0100
-
-    setup.py: Port to distutils/setuptools
-
-    Instead of wrapping autotools add a proper setuptools based build
-    system.
-    Compared to the autotools one this does not install .pc files
-    or headers
-    and does not allow running tests.
-
-    It uses pkg-config for discovering dependencies and explictely
-    searches
-    for .pc files in the Python prefix so that pycairo installations in a
-    virtualenv are discovered. When using MSVC, pkg-config is skipped and
-    it is assumend that INCLUDE and LIB is properly set up.
-
-    Version information and requirements are parsed from configure.ac,
-    package
-    metadata is parsed from PKG-INFO.in.
-
-    Also adds a "setup.py distcheck" command which makes sure all
-    tracked files
-    end up in the tarball and that the tarball builds (no tests are
-    run atm).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=789211
-
- .gitignore   |   1 +
- MANIFEST.in  |  20 +++
- Makefile.am  |   3 +-
- PKG-INFO.in  |   8 +-
- configure.ac |   3 +-
- setup.py     | 409
- +++++++++++++++++++++++++++++++++++++++++++++++------------
- 6 files changed, 359 insertions(+), 85 deletions(-)
-
-commit 58f677bfaa0f117465a9e2146c5d83768b5a76ac
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Nov 24 13:11:26 2017 +0100
-
-    Install a default SIGINT handler for functions which start an
-    event loop
-
-    Currently ctrl+c on a program blocked on Gtk.main() will raise
-    an exception
-    but not return control. While it's easy to set up the proper signal
-    handling and
-    stop the event loop or execute some other application shutdown code
-    it's nice to have a good default behaviour for small
-    prototypes/examples
-    or when testing some code in an interactive console.
-
-    This adds a context manager which registers a SIGINT handler only
-    in case
-    the default Python signal handler is active and restores the
-    original handle
-    afterwards. Since signal handlers registered through
-    g_unix_signal_add()
-    are not detected by Python's signal module we use PyOS_getsig()
-    through ctypes
-    to detect if the signal handler is changed from outside.
-
-    In case of nested event loops, all of them will be aborted.
-    In case an event loop is started in a thread, nothing will happen.
-
-    The context manager is used in the overrides for Gtk.main(),
-    Gtk.Dialog.run(),
-    Gio.Application.run() and GLib.MainLoop.run()
-
-    This also fixes GLib.MainLoop.run() replacing a non-default signal
-    handler
-    and not restoring the default one:
-        https://bugzilla.gnome.org/show_bug.cgi?id=698623
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=622084
-
- gi/_ossighelper.py   | 115
- +++++++++++++++++++++++++++++++++++++++++++++++++++
- gi/overrides/GLib.py |  31 +++-----------
- gi/overrides/Gio.py  |   7 ++--
- gi/overrides/Gtk.py  |  12 +++---
- tests/test_ossig.py  |  73 +++++++++++++++++++++++++++++++-
- 5 files changed, 203 insertions(+), 35 deletions(-)
-
-commit a321f6e9d8f5b8e779892eab4ce759b60ff98e39
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Nov 17 20:05:24 2017 +0100
-
-    Make Python OS signal handlers run when an event loop is idling
-
-    When Python receives a signal such as SIGINT it sets a flag and
-    will execute
-    the registered signal handler on the next call to
-    PyErr_CheckSignals().
-    In case the main thread is blocked by an idling event loop (say
-    Gtk.main()
-    or Gtk.Dialog.run()) the check never happens and the signal handler
-    will not get executed.
-
-    To work around the issue use signal.set_wakeup_fd() to wake up
-    the active
-    event loop when a signal is received, which will invoke a Python
-    callback
-    which will lead to the signal handler being executed.
-
-    This patch enables it in overrides for Gtk.main(), Gtk.Dialog.run(),
-    Gio.Application.run() and GLib.MainLoop.run().
-
-    Works on Unix, and on Windows with Python 3.5+.
-
-    With this fix in place it is possible to have a cross platform way to
-    react to SIGINT (GLib.unix_signal_add() worked, but not on Windows),
-    for example:
-
-        signal.signal(signal.SIGINT, lambda *args: Gtk.main_quit())
-        Gtk.main()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=622084
-
- Makefile.am          |   3 +-
- gi/_ossighelper.py   | 137
- +++++++++++++++++++++++++++++++++++++++++++++++++++
- gi/overrides/GLib.py |   4 +-
- gi/overrides/Gio.py  |  12 +++++
- gi/overrides/Gtk.py  |  14 ++++++
- tests/Makefile.am    |   1 +
- tests/test_ossig.py  | 102 ++++++++++++++++++++++++++++++++++++++
- 7 files changed, 271 insertions(+), 2 deletions(-)
-
-commit 46a9dade170127006df98d44b1a9fb2035ada86b
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Nov 24 17:40:11 2017 +0100
-
-    Drop Python 3.3 support
-
-    It's EOL and not used much (https://hynek.me/articles/python3-2016/)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=790787
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit bd165405754ba44dea12fd3f31b841b5c8ba0f1a
-Author: Sander Sweers <infirit@gmail.com>
-Date:   Sun Aug 20 22:44:15 2017 +0200
-
-    Drop set_value usage in Gtk.List/TreeStore.set override
-
-    this causes multiple updates to the store each emitting a signal.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=790346
-
- gi/overrides/Gtk.py         | 48
- ++++++++++++++++++++++++---------------------
- tests/test_overrides_gtk.py | 12 ++++++++++++
- 2 files changed, 38 insertions(+), 22 deletions(-)
-
-commit 5f63b8c626eb7f27de346dac2b66f07794e61b07
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Oct 26 17:24:02 2017 +0200
-
-    pygobject-object: Fix Python GC collecting a ref cycle too early
-
-    PyGObject traverses its closures in tp_traverse, but the lifetime
-    of the closures
-    is tied to the lifetime of the GObject and not the wrapper. This
-    confuses
-    the Python GC when it sees a ref cycle and tries to break it up
-    with tp_clear.
-    Since tp_clear will not invalidate the closure and only invalidate
-    the Python
-    wrapper the closure callback gets called with the now cleared/invalid
-    object.
-
-    Instead let the GC only check the Python objects referenced by the
-    closure when tp_clear
-    would actually free them and as a result break the cycle. This is
-    only the case when
-    the wrapped object would be freed by tp_clear which is when its
-    reference count is at 1.
-
-    Original patch by Gustavo Carneiro:
-        https://bugzilla.gnome.org/show_bug.cgi?id=546802#c5
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=731501
-
- gi/pygobject-object.c |  6 ++++--
- tests/test_signal.py  | 29 ++++++++++++++++++++++++++++-
- 2 files changed, 32 insertions(+), 3 deletions(-)
-
-commit f13b0d6e0d97e21aa2a4553a036362dec9d0c4cb
-Author: Daniel Colascione <dancol@dancol.org>
-Date:   Tue Oct 24 14:42:43 2017 +0200
-
-    Fix potential uninitialized memory access during GC
-
-    We use _PyGIDefaultArgPlaceholder as a sentinel value to represent
-    default
-    values during function argument list construction. Right now, it's
-    a Python
-    type object. We make it using PyObject_New, so most of its fields
-    end up
-    uninitialized. The object body being uninitialized wouldn't be a
-    problem if
-    the placeholder object were unreachable, but the object *can*
-    be reached
-    during GC by traversal through frame objects.
-
-    Depending on the exact contents of the uninitialized memory, the GC
-    can go on
-    to cause other kinds of memory corruption through the process.
-
-    IMHO, the easiest fix for this problem is to just make the
-    placeholder a
-    simpler data structure, like a list.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=786872
-
- gi/gimodule.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 280e80c54e6f2c91638195b92736f5c2b34bbbbd
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Oct 26 09:35:09 2017 +0200
-
-    test: revert parts of the previous test as it's broken on 32 bit
-    builds
-
-    The int based flag type can't represent the flag value on 32 bit,
-    some more work is needed there. Remove that check again for now.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=786948
-
- tests/test_gi.py | 1 -
- 1 file changed, 1 deletion(-)
-
-commit 5f41add624990255dfebf2d726af946599f7bcf6
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Oct 23 12:41:45 2017 +0200
-
-    flags: Add testcase for bug 786948
-
-    Add a flags type which has a value with the highes bit set
-    and fits in an int. While the C type is a signed int, the type
-    is registered as flags, which GI interprets as unsigned.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=786948
-
- tests/gimarshallingtestsextra.c | 29 +++++++++++++++++++++++++++++
- tests/gimarshallingtestsextra.h | 11 +++++++++++
- tests/test_gi.py                |  5 +++++
- 3 files changed, 45 insertions(+)
-
-commit 0695d234b0e3e9b0f15a7548816c5c4c96a41ab5
-Author: Philippe Renon <philippe_renon@yahoo.fr>
-Date:   Thu Aug 31 16:39:08 2017 +0200
-
-    fix potential overflow when marshalling flags from py interface
-
-    the overflow happens on windows platforms when an unsigned
-    flags value overflows the capacity of a signed long
-    on windows long is a 32-bit signed integer.
-
-    fixes https://bugzilla.gnome.org/show_bug.cgi?id=786948
-
- gi/pygi-enum-marshal.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 1bf7d2cddcd24f619a268d0af85d7919d72bacba
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Oct 22 17:59:17 2017 +0200
-
-    to_py_array: Properly handle enum array items
-
-    It used the fallback path and copied pointers.
-    Do the same thing we do for integer items instead.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=788890
-
- gi/pygi-array.c                 |  3 +++
- tests/gimarshallingtestsextra.c | 21 +++++++++++++++++++++
- tests/gimarshallingtestsextra.h |  2 ++
- tests/test_gi.py                |  6 ++++++
- 4 files changed, 32 insertions(+)
-
-commit e502d0097f28e6c65d3d5120230fb428aabbc083
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Oct 20 09:48:07 2017 +0200
-
-    pygobject.doap: Add myself as maintainer
-
- pygobject.doap | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 37db51220668238e4870b7220b496803d942691b
-Author: James Clarke <jrtc27@jrtc27.com>
-Date:   Fri Oct 13 18:04:45 2017 +0100
-
-    closure: Fix unaligned and out-of-bounds access
-
-    When the direction is FROM_PYTHON, a whole GIArgument was being loaded
-    from the address given by the argument, but like any other case, this
-    could point to different types, and so could run off the end of the
-    pointed-to value, and, more importantly, be performing an unaligned
-    access, causing it to crash with SIGBUS on sparc64 when running
-    test_callback_scope_call_array_inout. Instead, reuse the existing code
-    for the TO_PYTHON case to do the copying into arg_value based on the
-    type.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=788894
-
- gi/pygi-closure.c | 40 +++++++++++++++++++++-------------------
- 1 file changed, 21 insertions(+), 19 deletions(-)
-
-commit 3c791a5d4b17d647a531de04469d04f77fce0548
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Oct 13 19:24:01 2017 +0200
-
-    build: Fix not installing .egg-info file
-
-    While removing the egg target in 49cc3643819dad0d065d I wrongfully
-    removed that part as well. While the file extension has "egg" in
-    it it has nothing to do with eggs..
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=777719
-
- Makefile.am | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit c4995493c233225b1fa5a3e5406e78d02e3b86e6
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Oct 13 17:22:02 2017 +0200
-
-    Drop pygobject-3.0-uninstalled.pc file
-
-    Like glib/gtk+ did in 2011:
-    https://git.gnome.org/browse/glib/commit/?id=306aa62ea5fa4d3a57bca419afcc159f9509b476
-
- configure.ac                    |  1 -
- pygobject-3.0-uninstalled.pc.in | 12 ------------
- 2 files changed, 13 deletions(-)
-
-commit 3363049be9d8cd277b33127427694588598aa6dd
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Oct 13 16:08:01 2017 +0200
-
-    tests: Windows fix
-
-    some fallout from fd5f2a09ce48329d2df191eca9a0cea926ddfb5b
-
- tests/test_everything.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit fd5f2a09ce48329d2df191eca9a0cea926ddfb5b
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Oct 13 15:29:40 2017 +0200
-
-    tests: some more C locale fixes
-
-    see f40df0a09803ec9c729d842f1f83c6d56aebac22
-
- tests/test_everything.py | 8 +++++++-
- tests/test_gi.py         | 6 ++++--
- 2 files changed, 11 insertions(+), 3 deletions(-)
-
-commit f40df0a09803ec9c729d842f1f83c6d56aebac22
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Oct 13 14:32:44 2017 +0200
-
-    tests: Make the test suite pass with the C locale
-
-    Some filename tests assumed a Unicode locale, skip those.
-
- tests/test_gi.py | 29 +++++++++++++++++++++++++----
- 1 file changed, 25 insertions(+), 4 deletions(-)
-
-commit 857fb023886476988d99d35c92894cdbc1bbeab2
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Sep 12 08:35:12 2017 +0200
-
-    configure.ac: post-release version bump to 3.27.0
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 47af078546b1e9e4396bdea877c1cf0f21708818
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Sep 12 08:31:22 2017 +0200
-
-    release 3.26.0
-
- NEWS | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 9580b2f1e447cea2d50f8ab83a715b29e4e862e6
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Sep 12 08:25:25 2017 +0200
-
-    configure.ac: pre-release version bump to 3.26.0
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit a541a916ce798cd779ed17f015f6902e66c4454c
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Aug 25 18:21:47 2017 +0200
-
-    closure: silence a new compiler warning
-
-    gcc7 has started to warn for fallthrough in switch. Prevent this
-    by duplicating the default case + break.
-
- gi/pygi-closure.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit c0e42240cd72c012a740f26dc3fb0eef98328110
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Aug 25 18:17:33 2017 +0200
-
-    tests: skip some failing test under Windows with Python 3.6
-
-    Python 3.6 has changed the default filesystem encoding on Windows
-    from mbcs to utf-8. Some tests assume mbcs, so skip them for now.
-
- tests/test_gi.py | 24 +++++++++++++++++-------
- 1 file changed, 17 insertions(+), 7 deletions(-)
-
-commit 0fe781efdd46386f7c373b6073d30411025e2854
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Aug 22 13:02:43 2017 +0200
-
-    tests: pyflakes/pep8 fixes
-
-    Make Python 3 pyflakes work by adding Python 2 builtins
-    through PYFLAKES_BUILTINS.
-
- Makefile.am                    | 4 ++--
- tests/test_import_machinery.py | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-commit 20430e87c66b03ac05fbab8283a3771ce8364ad8
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Jun 9 13:13:57 2017 +0200
-
-    tests: Fix cairo test with pycairo >= 1.13
-
-    All pycairo functions now return an enum value which type is an int
-    subclass. Remove the overly strict check for the return value type.
-
- tests/test_cairo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 9cbf370d0034bffa60be67f6d47eee94e4045c18
-Author: Benjamin Berg <bberg@redhat.com>
-Date:   Fri Apr 21 13:35:05 2017 +0200
-
-    Make sure version information passed to require_version is a string.
-
-    This simply makes it easier for someone to find an error in cases
-    where
-    a floating point is passed by accident.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=781582
-
- gi/__init__.py                 |  7 +++++++
- tests/test_import_machinery.py | 12 ++++++++++++
- 2 files changed, 19 insertions(+)
-
-commit 5e2bb06086c6bfa2bcb1a47f4c963d336630d12e
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Apr 22 15:56:37 2017 +0200
-
-    configure.ac: post-release version bump to 3.25.2
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 31d7e92a24400a5d03f05912fdd8fd625082a837
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Apr 21 18:30:12 2017 +0200
-
-    release 3.25.1
-
- NEWS         | 59
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- configure.ac |  2 +-
- 2 files changed, 60 insertions(+), 1 deletion(-)
-
-commit fc451f235754a98c647972f0a03e11eaefca4cef
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Apr 19 15:04:30 2017 +0200
-
-    Bump pycairo requirement to 1.11.1
-
-    This requires pycairo from https://pycairo.readthedocs.io/en/latest/
-    (already updated/included in JHBuild)
-
-    For more info on the upstream change see:
-        https://lists.cairographics.org/archives/cairo/2017-April/027919.html
-        https://mail.gnome.org/archives/desktop-devel-list/2017-April/msg00065.html
-
-    This will enable cairo.Region support for all setups and Python
-    versions as well
-    as make moving to Python 3 easier for applications since all APIs
-    provided
-    under Python 2 are available there as well now.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=707196
-
- configure.ac | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-commit 36e786e1a2305c001c8c067adfee9d731c2ec0fb
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Apr 20 09:43:50 2017 +0200
-
-    configure.ac: Always disable -Werror
-
-    Instead of disabling it for release builds do it always.
-    While JHBuild uses --disable-Werror by default, gnome-continuous
-    does not.
-
-    See
-    https://mail.gnome.org/archives/desktop-devel-list/2017-April/msg00009.html
-
- configure.ac | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-commit a2cb674334267e3eaeac5b2ce849c4a38cc1b428
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Apr 9 18:48:33 2017 +0200
-
-    foreign-cairo: Enable cairo.Region support also on Python 2 if
-    available
-
-    The next pycairo version might add support for cairo_region_t.
-    This enables the converter functions also on Python 2 and makes
-    sure that the test suite does not crash in case it does.
-
- gi/pygi-foreign-cairo.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 3460081ed20b33b3a08c4fce5de135f1171f2ff0
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Apr 2 15:51:25 2017 +0200
-
-    configure.ac: remove unused PLATFORM variable
-
-    This was added in 93e7d047e
-
- configure.ac | 3 ---
- 1 file changed, 3 deletions(-)
-
-commit 810392173ce20f8a7935966b46df483742e73f23
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Apr 2 15:25:56 2017 +0200
-
-    configure.ac: Remove unused PySignal_SetWakeupFd check
-
-    HAVE_PYSIGNAL_SETWAKEUPFD isn't used anywhere
-
- configure.ac | 12 ------------
- 1 file changed, 12 deletions(-)
-
-commit 52693463749f045355a7ddeace033d369fe2e786
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Apr 2 14:13:08 2017 +0200
-
-    tests: remove python 2.5/3.2 compat code
-
-    2.7/3.3 support the u/b prefixes and both have callable()
-
- gi/overrides/Gtk.py         |  4 +---
- tests/compathelper.py       | 40 ----------------------------------------
- tests/helper.py             |  2 +-
- tests/test_fields.py        |  6 ++----
- tests/test_gi.py            | 26 +++++++++-----------------
- tests/test_glib.py          | 12 +++++-------
- tests/test_iochannel.py     | 21 +++++++++------------
- tests/test_mainloop.py      |  4 +---
- tests/test_overrides_gtk.py | 13 ++++++-------
- tests/test_properties.py    | 29 ++++++++++++-----------------
- 10 files changed, 46 insertions(+), 111 deletions(-)
-
-commit 1039e9a512d1df35e9c4656b0b41c1e4a25aafad
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Apr 2 14:04:39 2017 +0200
-
-    configure.ac: Require Python 3.3
-
-    At the time of the next release nothing will support 3.2 anymore.
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e98558a6843b68115d68d3bc92dad271b74ef6d0
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Apr 2 13:22:32 2017 +0200
-
-    tests: Make test suite run with GTK+ 4
-
-    Skip various tests which test things that are no longer available
-    with gtk4.
-    Does not remove any deprecated overrides.
-
-    Disable gtk4 support in pygtkcompat. The porting path over gtk3
-    should be enough.
-
- gi/overrides/Gdk.py         |   3 ++
- pygtkcompat/pygtkcompat.py  |   3 ++
- tests/compat_test_pygtk.py  |   4 +-
- tests/test_atoms.py         |   1 +
- tests/test_overrides_gdk.py |   7 +++
- tests/test_overrides_gtk.py | 107
- +++++++++++++++++++++++++++++++++-----------
- 6 files changed, 98 insertions(+), 27 deletions(-)
-
-commit c3159accf3faa2bd804ac22ec7ac93e62b158a3e
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Apr 2 13:17:36 2017 +0200
-
-    tests: always call require_version; add TEST_GTK_VERSION env var
-
-    Set the versions in runtests.py instead of repeating it in every
-    test module.
-
-    Add a new TEST_GTK_VERSION env var which defaults to "3.0".
-    Allows to run tests with gtk4 using "make check TEST_GTK_VERSION=4.0"
-
- tests/compat_test_pygtk.py    |  6 ------
- tests/runtests.py             | 26 ++++++++++++++++++++++++++
- tests/test_atoms.py           |  7 +++----
- tests/test_overrides_gtk.py   |  8 +++-----
- tests/test_overrides_pango.py |  7 +------
- tests/test_properties.py      |  6 +-----
- tests/test_repository.py      |  4 ----
- 7 files changed, 34 insertions(+), 30 deletions(-)
-
-commit c89fa35814103a4ceefece8e305af4f9e0dd6a37
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Apr 2 10:57:34 2017 +0200
-
-    tests: Fix make check.valgrind
-
-    Got broken when we changed to use dbus-run-session. Move
-    valgrind related env vars before the dbus launcher helper.
-
-    This also tries to improve the lookup of the suppression file.
-    Instead of relying on the basename of the python binary use the python
-    major version to select one of two suppression files in the repo.
-
-    Add PYTHONMALLOC=malloc when running under valgrind, which makes
-    Python
-    use malloc instead of its own allocator. Only works with Python 3.6+.
-
- configure.ac                           |   5 +-
- tests/Makefile.am                      |  22 +-
- tests/{python2.7.supp => python2.supp} |   0
- tests/python3.3dm.supp                 | 471
- ---------------------------------
- tests/{python3.3.supp => python3.supp} |   0
- 5 files changed, 14 insertions(+), 484 deletions(-)
-
-commit 7c774ce5ce9ec5cda61e10a704b28f0b82df1b03
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Apr 2 10:54:48 2017 +0200
-
-    tests: Don't skip Regress tests when cairo is missing
-
-    Since
-    https://git.gnome.org/browse/pygobject/commit/?id=a731db5908b79b97277be4f5138b46010c2dd616
-    we build libregress even if cairo is missing.
-
-    Instead of skipping regress tests when cairo is missing only skip
-    cairo relate
-    tests now.
-
- tests/test_cairo.py            |  3 +--
- tests/test_docstring.py        | 10 +++-------
- tests/test_everything.py       | 17 +----------------
- tests/test_import_machinery.py |  7 +------
- tests/test_properties.py       | 32 +++++++++++---------------------
- tests/test_repository.py       | 10 ----------
- tests/test_signal.py           | 15 +--------------
- 7 files changed, 18 insertions(+), 76 deletions(-)
-
-commit c2be3cbefbbacb52758b49338be61d093a896d09
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Apr 2 10:52:41 2017 +0200
-
-    tests: fix invalid regex escaping
-
-    Python 3.6 got stricter here and raises warnings/errors for invalid
-    escape
-    sequences.
-
- tests/helper.py  |  4 ++--
- tests/test_gi.py | 24 ++++++++++++------------
- 2 files changed, 14 insertions(+), 14 deletions(-)
-
-commit b7d504c3ef689a79448c9f6597ae59153a77104f
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Apr 1 18:11:46 2017 +0200
-
-    tests: avoid mapping a GtkWindow
-
-    This let to a window being shown when running the test suite.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780812
-
- tests/test_overrides_gdk.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit a2b3d846fab3a4b660eefbe3555933afe6d9c90a
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Apr 1 18:06:47 2017 +0200
-
-    tests: silence some glib deprecation warnings
-
-    These functions were deprecated in the last few cycles.
-    This hides the warnings when running the test suite.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780812
-
- tests/test_atoms.py         | 7 +++++--
- tests/test_overrides_gtk.py | 6 ++++--
- 2 files changed, 9 insertions(+), 4 deletions(-)
-
-commit ed488be1f0bcd2d2ec1acf98f27585d8577ddc5f
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Apr 1 18:05:13 2017 +0200
-
-    tests: avoid deprecation warnings for
-    assertRegexpMatches/assertRaisesRegexp
-
-    Replace them with the renamed variants. We can't switch because
-    there is
-    no non-deprecated variant available under both Python 2 and 3.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780812
-
- tests/runtests.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit c39bf20cca3d1c6bcf89f93759772117d087b042
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Apr 1 17:49:01 2017 +0200
-
-    pygi-source: clear exceptions in finalize handler
-
-    This was executed in the context of Source.__del__ and while Python
-    ignores errors there it started to warn with Python 3.
-
-    This fixes the warnings visible when running test_source under
-    Python 3.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780812
-
- gi/pygi-source.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit d806a120998e9b38e96d02ab05d28051a441db61
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Apr 1 17:48:38 2017 +0200
-
-    Fix pep8 errors
-
- gi/_option.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b2529624b3925adbef2671025e08cbf747f162e8
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 27 10:14:22 2017 +0200
-
-    Remove gi._gi._gobject and gi._gobject modules
-
-    Expose everything from _gi._gobject in _gi instead.
-    This does not move any code around, just removes the module.
-
-    Also removes the gi._gobject package and replaces it
-    with a small dummy module in gi.__init__.py
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735206
-
- configure.ac            |  1 -
- gi/Makefile.am          |  3 +-
- gi/__init__.py          |  9 ++++--
- gi/_constants.py        | 52 +++++++++++++++----------------
- gi/_gobject/Makefile.am | 16 ----------
- gi/_gobject/__init__.py | 23 --------------
- gi/_propertyhelper.py   | 47 ++++++++++++++--------------
- gi/_signalhelper.py     |  6 ++--
- gi/gimodule.c           | 48 ++++++++++++++++++++++-------
- gi/gobjectmodule.c      | 82
- +++++++++++--------------------------------------
- gi/gobjectmodule.h      | 21 +++++++++++++
- gi/module.py            |  6 ++--
- gi/overrides/GLib.py    |  3 +-
- gi/overrides/GObject.py | 82
- ++++++++++++++++++++++++-------------------------
- gi/pygi-value.c         |  2 +-
- gi/pygobject-object.c   | 12 ++++----
- gi/types.py             | 13 ++++----
- tests/helper.py         |  4 +--
- tests/test_gi.py        |  2 +-
- tests/test_gobject.py   |  8 ++---
- 20 files changed, 199 insertions(+), 241 deletions(-)
-
-commit bdfafd2bdc84d961bd2df43d8dee690177c77a56
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 27 07:39:22 2017 +0200
-
-    Remove gi._gi._glib module
-
-    Move the code into gi._gi (gimodule)
-    The module was a leftover from
-    https://bugzilla.gnome.org/show_bug.cgi?id=712197
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735206
-
- gi/Makefile.am        |  1 -
- gi/_option.py         | 12 +++++------
- gi/gimodule.c         | 31 +++++++++++++++-------------
- gi/glibmodule.c       | 56
- ---------------------------------------------------
- gi/overrides/GLib.py  | 10 ++++-----
- gi/pygoptioncontext.c |  4 ++--
- gi/pygoptiongroup.c   |  4 ++--
- gi/pygspawn.c         | 14 ++++++-------
- 8 files changed, 39 insertions(+), 93 deletions(-)
-
-commit 4ad6899bdca6fbd0fb7e88cd16b49367f7f41267
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 27 06:41:19 2017 +0200
-
-    GValue: add overflow checking for py -> gint; forward marshaling
-    exceptions
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=769789
-
- gi/pygi-struct-marshal.c |  3 +--
- gi/pygi-value.c          | 11 ++++++++++-
- tests/test_gi.py         |  7 ++++++-
- 3 files changed, 17 insertions(+), 4 deletions(-)
-
-commit 052cea9e2b6e599e52435df3155d8de22500e0f4
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Mar 26 19:34:00 2017 +0200
-
-    pygobject_lookup_class: clear exceptions between calls and don't
-    return with one set
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=773394
-
- gi/pygobject-object.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-commit 271e94b4e4cc9a9619015ef76880346ad7962ac4
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Apr 1 10:15:00 2017 +0200
-
-    Avoid some new deprecation warnings
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780768
-
- gi/gobjectmodule.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-commit 81625ce4c0164dcb3409471fc38168147af4026a
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Mar 26 16:23:25 2017 +0200
-
-    Raise RuntimeError in case an uninitilialized GObject.Object is
-    marshaled
-
-    One common case where this can happen is when subclassing a
-    GObject.Object
-    without chaining up __init__ and then calling a method.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=730908
-
- gi/pygi-object.c      | 6 ++++++
- tests/test_gobject.py | 6 ++++++
- 2 files changed, 12 insertions(+)
-
-commit b23dea0981ab5718cb26d3a9f4f7bf8f593ac343
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Mar 26 19:11:33 2017 +0200
-
-    closure: support unichar args
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=759276
-
- gi/pygi-closure.c           |  3 +++
- tests/test_overrides_gtk.py | 14 ++++++++++++++
- 2 files changed, 17 insertions(+)
-
-commit d6e46f778ea2bfede89f4fe2422b80998ed7fec8
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Jun 3 15:51:37 2016 +0200
-
-    Add support for bytes and non-utf-8 file names.
-
-    Py2+Unix: Convert unicode to bytes using the fsencoding. Pass bytes
-    as is.
-    Returns path as bytes as is.
-
-    Py2+Windows: Convert unicode to wtf-8. Pass bytes as is.
-    Returns path as bytes as is.
-
-    Py3+Unix: Convert str using os.fsencode so that the surrogateescape
-    handler
-    can restore the real path if the source was a Python API such as
-    os.listdir
-    sys.argv etc. Pass bytes as is. Return str decoded using os.fsdecode
-    so that
-    it can be passed to Python API such as open, os.listdir etc.
-
-    Py3+Windows: Convert str to wtf-8. Decode bytes using the fsencoding
-    first.
-    Returns str + surrogates.
-
-    This change makes anyting taking filenames on Python 3 behave the same
-    as Python functions like listdir() or open(). Compared to Python
-    3 builtin
-    functions which return the same type that was passed in we always
-    return str.
-
-    One remaining problem is that glib assumes that Windows paths
-    are utf-16,
-    while they are just 16bit arrays and as a result utf-8 is not
-    enough to
-    represent all possible paths. We use wtf-8 here instead (utf-8 with
-    lone surrogates),
-    which allows us to convert all paths, but glib functions accessing
-    the fs
-    will fail with them.
-
-    PyUnicode_EncodeFSDefault was added in CPython 3.2 so bump the
-    requirement.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=746564
-
- configure.ac                    |   2 +-
- gi/pygi-basictype.c             | 186
- ++++++++++++++++++++++++++++++++--------
- gi/pyglib-python-compat.h       |   2 +
- tests/compathelper.py           |   4 +
- tests/gimarshallingtestsextra.c |  14 +++
- tests/gimarshallingtestsextra.h |   1 +
- tests/test_gi.py                | 152 +++++++++++++++++++++++++++++++-
- 7 files changed, 320 insertions(+), 41 deletions(-)
-
-commit 33a44c7653030da0a1de76ff8241e40e66d04701
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 27 15:53:13 2017 +0200
-
-    test_gi: use correct min/max constants for gsize/gssize
-
-    This made these tests on 64bit Windows fail because sizeof(gsize)
-    != sizeof(glong)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780591
-
- tests/test_gi.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit b993e4dc73af976e8140661d2b6e9f745206808e
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 27 14:55:22 2017 +0200
-
-    Don't use long format string for formatting pointers
-
-    long is too small on 64bit Windows
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780591
-
- gi/pygpointer.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-commit d031e1700816836366989ece0eda486c77543c3b
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 27 14:48:08 2017 +0200
-
-    Fix conversion from pointers to hashfunc return values.
-
-    Fixes comiler warnings on 64bit Windows.
-
-    Python 3 now uses Py_hash_t as return value for hashfunc. Use
-    a compat define so we can use the right type depending on the
-    Python version.
-
-    On Python 2 + 64bit Windows the pointer doesn't fit the long
-    return type. Add a macro which handles the casting for that case
-    to prevent compiler warnings.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780591
-
- gi/pygboxed.c             | 4 ++--
- gi/pyglib-python-compat.h | 6 ++++++
- gi/pygobject-object.c     | 4 ++--
- gi/pygparamspec.c         | 4 ++--
- gi/pygpointer.c           | 4 ++--
- 5 files changed, 14 insertions(+), 8 deletions(-)
-
-commit d2a7e9a7b29e74fd97592fcc8462d718d0b7af17
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 27 14:47:22 2017 +0200
-
-    Fix PyLong <-> GPid conversion on 64bit Windows
-
-    GPid on Windows is a pointer and not int, and pointers don't fit long
-    on 64bit so use PyLong_AsVoidPtr/PyLong_FromVoidPtr there instead.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780591
-
- gi/pygspawn.c | 26 +++++++++++++++++++++-----
- 1 file changed, 21 insertions(+), 5 deletions(-)
-
-commit cfeeaaf69f6d6f777e5f3a17493ff9dcc2bda900
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Mar 28 17:58:54 2017 +0200
-
-    property: support setting flags
-
-    This also adds some tests for setting flags and enum properties
-    which depend on some properties being added in g-i's
-    gimarshallingtests:
-        https://bugzilla.gnome.org/show_bug.cgi?id=780652
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726484
-
- gi/pygi-property.c       |  3 +++
- tests/test_properties.py | 34 ++++++++++++++++++++++++++++++++++
- 2 files changed, 37 insertions(+)
-
-commit 44a51ddd6418f8fa85df5803b8288974bcf20bc2
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Mar 23 15:49:18 2017 +0100
-
-    overrides: warn on instantiation of Gio.VolumeMonitor
-
-    Gio.VolumeMonitor.get() should be used instead
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=744690
-
- gi/overrides/Gio.py | 19 +++++++++++++++++++
- tests/test_gio.py   | 11 +++++++++++
- 2 files changed, 30 insertions(+)
-
-commit 275a92cb7fe530efe83349b3c7da557f22096fc0
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Mar 21 19:19:33 2017 +0100
-
-    Remove gi.overrides.overridefunc
-
-    Move the code into override()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686835
-
- gi/overrides/__init__.py | 32 ++++++++++++++++----------------
- 1 file changed, 16 insertions(+), 16 deletions(-)
-
-commit f47027d6abde392fff03ce9b49e42a0c6f7d83cd
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Mar 21 12:48:27 2017 +0100
-
-    tests: Reduce usage of timeout_add() and sleep()
-
-    * Instead of waiting for a fixed time, use a timeout and stop the main
-      loop right after the test has succeeded.
-    * Replace time.sleep to sync processes with os.pipe communication
-    * Chain idle sources instead of using multiple timeout sources
-    * Replace sleeps with unbufferd communication
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698548
-
- tests/test_glib.py          | 37 ++++++++++++-------
- tests/test_iochannel.py     | 86
- +++++++++++++++++++++++++++++++++------------
- tests/test_mainloop.py      | 13 +++++--
- tests/test_overrides_gtk.py |  4 +--
- tests/test_source.py        | 10 +++---
- tests/test_thread.py        |  6 +++-
- 6 files changed, 111 insertions(+), 45 deletions(-)
-
-commit ab574b6c40b6e58f396c9522be864a78478617c1
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Mar 21 12:43:33 2017 +0100
-
-    tests: Remove TestMainLoop.test_concurrency
-
-    The code containing the bug no longer exists and the test doesn't do
-    what it says. The thread never gets terminated and it doesn't
-    assert anything. And I'm not sure what it should assert.
-
-    For the corresponding bug see
-        https://bugzilla.gnome.org/show_bug.cgi?id=663068
-
-    While the test doesn't hurt, it adds half a second wait time
-    to the test suite.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698548
-
- tests/test_mainloop.py | 27 ---------------------------
- 1 file changed, 27 deletions(-)
-
-commit 4da4a1d5c55a5db060bf3f67b708da0a00e3e957
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 27 16:22:12 2017 +0200
-
-    Update .gitignore: add *.dll, *.dylib, .DS_STORE
-
- .gitignore | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 30228a98299eeb540fd014b9519a9efd4a434d4b
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Mar 23 17:59:55 2017 +0100
-
-    tests: Make test suite run on Windows
-
-    (in a msys2 environment)
-
-    * Replace LD_LIBRARY_PATH with gir code in runtests.py
-    * Remove unneeded runtests-windows.py
-    * Unset MSYSTEM to disable path separator hacks by msys2
-    * Set sys.path in runtests.py
-    * Skip various tests failing/hanging/crashing on Windows
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780396
-
- tests/Makefile.am           |  9 +++-----
- tests/compat_test_pygtk.py  |  4 +++-
- tests/runtests-windows.py   | 52
- ---------------------------------------------
- tests/runtests.py           | 13 ++++++++++--
- tests/test_atoms.py         |  4 +++-
- tests/test_everything.py    |  2 +-
- tests/test_gi.py            |  7 +++---
- tests/test_gio.py           |  3 +++
- tests/test_glib.py          | 15 +++++++++----
- tests/test_iochannel.py     | 17 ++++++++++++++-
- tests/test_mainloop.py      |  4 ++++
- tests/test_overrides_gdk.py |  3 ++-
- tests/test_properties.py    |  9 +++++---
- tests/test_subprocess.py    |  1 +
- 14 files changed, 68 insertions(+), 75 deletions(-)
-
-commit 23deef70102657e75e07e54b4378c20214c867f3
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Mar 22 14:07:49 2017 +0100
-
-    tests: Make test suite run on macOS
-
-    * Skip all tests which fail, crash or hang.
-    * Disable D-Bus in case dbus-run-session is not available.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780396
-
- tests/Makefile.am           | 10 +++++++---
- tests/runtests.py           |  3 +++
- tests/test_atoms.py         |  3 +++
- tests/test_gdbus.py         |  9 +++++++++
- tests/test_gi.py            |  4 ++++
- tests/test_glib.py          |  2 ++
- tests/test_overrides_gdk.py |  3 +++
- tests/test_overrides_gtk.py |  2 ++
- tests/test_source.py        |  3 +++
- 9 files changed, 36 insertions(+), 3 deletions(-)
-
-commit 5399bb785e625c36025d6bc1e5cf2b5519759d0d
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Mar 22 19:24:22 2017 +0100
-
-    Fix various compiler warnings for 32bit builds
-
-    Due to the switch to AX_COMPILER_FLAGS which adds some more
-    warning flags. I didn't notice these as they only get triggered
-    on 32bit builds. Tested with gcc 6.3 and clang 3.9.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=780409
-
- gi/gimodule.c             | 1 +
- gi/pygboxed.c             | 1 +
- gi/pygenum.c              | 2 +-
- gi/pygi-argument.c        | 2 ++
- gi/pygi-array.c           | 4 ++--
- gi/pygi-cache.c           | 6 +++---
- gi/pygi-closure.c         | 4 ++--
- gi/pygi-foreign-cairo.c   | 2 +-
- gi/pygi-invoke.c          | 8 ++++----
- gi/pygi-marshal-cleanup.c | 4 ++--
- gi/pygi-signal-closure.h  | 1 +
- gi/pygi-util.h            | 1 +
- gi/pygi-value.h           | 2 +-
- gi/pygobject-object.c     | 4 ++--
- gi/pygtype.h              | 2 +-
- 15 files changed, 25 insertions(+), 19 deletions(-)
-
-commit 29d07d6e659a518f4e0a7f53eba3dc1d9ba33c3a
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Mar 24 08:25:48 2017 +0100
-
-    pep8 fix
-
- gi/overrides/Gdk.py | 1 -
- 1 file changed, 1 deletion(-)
-
-commit b0476e2db4577e12b52caa3163ccb69575221d6c
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Mar 23 22:32:23 2017 +0100
-
-    testhelper: only link against libpython on Windows
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=773803
-
- configure.ac      |  6 +++---
- tests/Makefile.am | 11 ++++++++++-
- 2 files changed, 13 insertions(+), 4 deletions(-)
-
-commit e8c071f518a0e1c3e1877705291d24f056bed77e
-Author: Garrett Regier <garrettregier@gmail.com>
-Date:   Thu Oct 13 15:00:52 2016 -0700
-
-    overrides: Fix Gtk.TextBuffer.insert_with_tags_by_name() with no tags
-
-    The text was not inserted when no tags were provided.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=772896
-
- gi/overrides/Gtk.py         |  3 ---
- tests/test_overrides_gtk.py | 12 ++++++++++++
- 2 files changed, 12 insertions(+), 3 deletions(-)
-
-commit fb0404c0bf08dedf657ce1384b283223b7192df1
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Mar 21 14:03:47 2017 +0100
-
-    Make use of instance-argument annotations
-
-    Use g_callable_info_get_instance_ownership_transfer() instead
-    of hardcoding the transfer for instances.
-
-    get_instance_ownership_transfer() is available since 1.42.0, so no
-    version dependency bump is required.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735076
-
- gi/pygi-cache.c          | 4 +++-
- tests/test_everything.py | 9 +++++++++
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-commit c1ad1129b42c7938662422bb33990026572866d0
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Mar 21 20:23:13 2017 +0100
-
-    Remove pyglib_gil_state_ensure/pyglib_gil_state_release
-
-    Use PyGILState_Ensure/PyGILState_Release instead.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=699440
-
- gi/gobjectmodule.c       | 40 ++++++++++++++++++++--------------------
- gi/pygboxed.c            | 14 +++++++-------
- gi/pygenum.c             |  6 +++---
- gi/pygflags.c            |  6 +++---
- gi/pygi-error.c          |  8 ++++----
- gi/pygi-source.c         | 16 ++++++++--------
- gi/pyglib.c              |  8 ++++----
- gi/pyglib.h              |  3 ---
- gi/pygobject-object.c    | 36 ++++++++++++++++++------------------
- gi/pygoptiongroup.c      |  9 ++++-----
- gi/pygpointer.c          |  6 +++---
- gi/pygspawn.c            |  4 ++--
- gi/pygtype.c             | 18 +++++++++---------
- tests/testhelpermodule.c | 12 ++++++------
- 14 files changed, 91 insertions(+), 95 deletions(-)
-
-commit 16e187636d186d4c128288efb032c5ddd69569b3
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Mar 21 20:05:08 2017 +0100
-
-    Remove support for building without threads
-
-    This removes the --disable-thread configure option.
-
-    * glib removed disable-threads in 2011
-    * We use PyEval_InitThreads() for some time now which means we
-      build against a Python with threads. And nobody complained.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=699440
-
- configure.ac       | 24 ------------------------
- gi/gobjectmodule.c |  7 +------
- gi/pyglib.h        |  9 ++-------
- gi/pygobject.h     | 19 +++++--------------
- 4 files changed, 8 insertions(+), 51 deletions(-)
-
-commit 20220d5eac510e3445a96e4e9061fd1bc6ec37c7
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Mar 21 14:46:00 2017 +0100
-
-    pygtkcompat: Allow multiple calls to enable(), enable_gtk() as long
-    as the version matches
-
-    enable_gtk() isn't idempotent and was breaking the API when called
-    multiple times.
-    This ignores the call in case the version passed is the same as for
-    previous calls.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=759009
-
- pygtkcompat/pygtkcompat.py | 42
- ++++++++++++++++++++++++++++++++++++++++++
- tests/compat_test_pygtk.py | 21 +++++++++++++++++++++
- 2 files changed, 63 insertions(+)
-
-commit 4af42e85a1959cbae06a1bbb7268c76890b60db9
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 22 23:02:22 2016 -0800
-
-    tests: Update Makefile for building tests on OS X
-
-    Pull LDFLAGS into variables for command and Python extension specific.
-    Use -shext .so for the Python extension on both Linux and OS X. The
-    .so is
-    is needed by Python on OS X (not dylib).
-    Remove "all" target and explicit .la targets as these are handled
-    by automake
-    and the "check" target on demand.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=762176
-
- tests/Makefile.am | 56
- +++++++++++++++++++++++++++++--------------------------
- 1 file changed, 30 insertions(+), 26 deletions(-)
-
-commit 3fe9213a3886ffa7a380dc08c5d636cda5865462
-Author: Mikhail Fludkov <misha@pexip.com>
-Date:   Fri Feb 19 16:27:53 2016 +0100
-
-    testhelper: propagate exception if _gobject could not be imported
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=772949
-
- tests/testhelpermodule.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-commit 399939b55860211e0ab64bdfbfada2c86be8bf64
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 20 18:11:21 2017 +0100
-
-    pygi-info: initialize GIArgument before passing it to
-    g_constant_info_get_value
-
-    Co-Authored-By: Mikhail Fludkov <misha@pexip.com>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=772949
-
- gi/pygi-info.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a731db5908b79b97277be4f5138b46010c2dd616
-Author: Mikhail Fludkov <misha@pexip.com>
-Date:   Fri Oct 14 18:41:48 2016 +0200
-
-    tests: build libregress with disabled cairo
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=772949
-
- tests/Makefile.am | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-commit 2c329edb870787be1db4d5ecafdf221bead8b271
-Author: Mikhail Fludkov <misha@pexip.com>
-Date:   Fri Oct 14 18:36:21 2016 +0200
-
-    tests: use g-ir utils found by pkg-config
-
-    Use g-ir utils found by pkg-config to not fail if
-    gobject-introspection is not installed systemwide
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=772949
-
- tests/Makefile.am | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 7a3e4c005a6677ed7bf3ef807cd1a8487b0465de
-Author: Shyouzou Sugitani <shy@users.sourceforge.jp>
-Date:   Mon Jun 6 12:26:44 2016 +0200
-
-    Add a foreign type for cairo_region_t.
-
-    Based on the patch at
-        https://bugzilla.gnome.org/show_bug.cgi?id=667959#c7
-
-    * Rebased on master
-    * Fixes the cairo_region_from_arg signature
-    * Add check for pycairo region support (only in pycairo master)
-    * Add some tests
-
-    Co-Authored-By: Martin Pitt <martin.pitt@ubuntu.com>
-    Co-Authored-By: Christoph Reiter <creiter@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=667959
-
- gi/pygi-foreign-cairo.c | 51
- +++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_cairo.py     | 28 +++++++++++++++++++++++++--
- 2 files changed, 77 insertions(+), 2 deletions(-)
-
-commit bb5aa249f1ab6be81f88fdcfb56cee8b3ae2465d
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Jan 24 21:17:07 2017 +0100
-
-    aclocal: make local file discover by reading AC_CONFIG_MACRO_DIR work
-
-    aclocal needs to know where the local macros are for including
-    them and
-    for having a place to put the required system ones in.
-
-    Since 1.13 it can parse configure.ac and get the path from
-    AC_CONFIG_MACRO_DIR.
-    This didn't work because for some reasons it complains if the
-    local macros
-    start with "AM_" even if they are there (I guess it assumes they
-    can't be local).
-
-    To work around that, change the AM prefix to PYG, bump the automake
-    version so
-    we can asume aclocal finds it and remove the hardcoded paths from both
-    autogen.sh and Makefile.am.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=777713
-
- Makefile.am  |  2 --
- autogen.sh   |  2 +-
- configure.ac | 12 +++++-------
- m4/python.m4 | 12 ++++++------
- 4 files changed, 12 insertions(+), 16 deletions(-)
-
-commit 8578ed7e9fd0486fd10e71d24f2e9f969793af8d
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Jan 24 18:58:48 2017 +0100
-
-    Port from gnome-common to autoconf-archive
-
-    See https://wiki.gnome.org/Projects/GnomeCommon/Migration
-
-    Visible changes:
-
-    * --enable-compile-warnings is now [no/auto/yes] instead of
-      [no/minimum/yes/maximum/error]
-    * warnings are errors by default except for releases or if
-      --disable-Werror is passed (which is the default in jhbuild)
-
-    AX_APPEND_COMPILE_FLAGS() gets used to disable some warnings
-    enabled by
-    AX_COMPILER_FLAGS() because they trigger with pycairo/python headers.
-
-    Tested with gcc 6.3, clang 3.8.1
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=777713
-
- .gitignore              |  3 +++
- Makefile.am             |  8 +++-----
- autogen.sh              | 44 ++++++++++++++++++++++++++++++--------------
- configure.ac            | 44 +++++++++++++-------------------------------
- gi/Makefile.am          | 10 ++++++++++
- gi/_gobject/Makefile.am |  3 ---
- m4/as-ac-expand.m4      | 40 ----------------------------------------
- m4/jhflags.m4           | 21 ---------------------
- tests/Makefile.am       |  9 ++++++---
- 9 files changed, 65 insertions(+), 117 deletions(-)
-
-commit f939a71167bd94c9e7777312af444183f7b20441
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Jan 24 18:13:56 2017 +0100
-
-    Fix various potential compiler warnings
-
-    This is useful for a the next commit which switches away from
-    gnome-common and uses AX_COMPILER_FLAGS adding some new compiler
-    warning flags.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=777713
-
- gi/gimodule.c            |  7 ++++---
- gi/gobjectmodule.c       | 22 +++++++++++-----------
- gi/pygenum.c             |  2 +-
- gi/pygflags.c            |  8 ++++----
- gi/pygi-argument.c       |  2 ++
- gi/pygi-array.c          | 16 ++++++++--------
- gi/pygi-cache.c          |  2 ++
- gi/pygi-closure.c        |  2 +-
- gi/pygi-foreign.c        |  2 +-
- gi/pygi-info.c           | 13 ++++++++++---
- gi/pygi-invoke.c         |  3 +++
- gi/pygi-property.c       |  2 +-
- gi/pygi-signal-closure.c |  3 ++-
- gi/pygi-value.c          | 11 +++++++----
- gi/pygobject-object.c    | 20 ++++++++++----------
- 15 files changed, 67 insertions(+), 48 deletions(-)
-
-commit b3fb2ecbb98bd6e40fe49a5b16e5174645886710
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 20 16:39:35 2017 +0100
-
-    configure.ac: post-release version bump to 3.25.0
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 49cc3643819dad0d065d3c86327cd60d2f022dad
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Jan 24 22:11:23 2017 +0100
-
-    Remove egg make target
-
-    eggs are deprecated and the command was referencing long
-    gone files and failing, so nobody was using it.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=777719
-
- Makefile.am | 27 ---------------------------
- 1 file changed, 27 deletions(-)
-
-commit 3aa5c80213194a8a3a993e937bae0f6b3d992547
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue Jan 24 22:05:48 2017 +0100
-
-    Remove legacy docs
-
-    They aren't shipped, can't be build and describe the old
-    pygobject 2 interface.
-
-    There also was a doc-dist make target, but it was broken.
-
-    If someone wants to look things up they are in git or still
-    online for 2.28: https://developer.gnome.org/pygobject/stable/
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=777719
-
- Makefile.am                               |   9 -
- docs/Makefile.am                          | 112 ----
- docs/reference/ChangeLog                  | 114 ----
- docs/reference/entities.docbook.in        |   1 -
- docs/reference/pyglib-classes.xml         |  13 -
- docs/reference/pyglib-functions.xml       | 293 ---------
- docs/reference/pygobject-classes.xml      |  17 -
- docs/reference/pygobject-constants.xml    | 304 ----------
- docs/reference/pygobject-functions.xml    | 864
- ---------------------------
- docs/reference/pygobject-gboxed.xml       |  68 ---
- docs/reference/pygobject-ginterface.xml   |  38 --
- docs/reference/pygobject-gpointer.xml     |  42 --
- docs/reference/pygobject-introduction.xml | 222 -------
- docs/reference/pygobject-ref.xml          |  34 --
- docs/reference/pygobject.xml              | 953
- ------------------------------
- docs/style.css                            |  10 -
- docs/xsl/common.xsl                       |  19 -
- docs/xsl/devhelp.xsl                      | 154 -----
- docs/xsl/fixxref.py.in                    |  67 ---
- docs/xsl/html.xsl                         | 285 ---------
- docs/xsl/pdf-style.xsl                    |  11 -
- docs/xsl/pdf.xsl                          | 259 --------
- docs/xsl/ref-html-style.xsl               |  54 --
- 23 files changed, 3943 deletions(-)
-
-commit 9d76190bc7a256764b1af5ec4bd05ce4a7b6e1d2
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 20 14:28:51 2017 +0100
-
-    release 3.24.0
-
- NEWS | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit bffbb4b1f823de5035e51e013dc6da5a973045aa
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 20 14:23:59 2017 +0100
-
-    configure.ac: pre-release version bump to 3.24.0
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 78defd2ab5f1935a6226336eaa08727e7516fb02
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 13 20:14:37 2017 +0100
-
-    release 3.23.92
-
- NEWS | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 4ccabfec0cececba935339ea8449ec51b4aeef5e
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 13 20:13:13 2017 +0100
-
-    Version bump to 3.23.92
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit ebc245c477c36fa1f65f80d2e75792b82d837611
-Author: Fabian Orccon <cfoch.fabian@gmail.com>
-Date:   Tue Jan 24 00:00:12 2017 -0500
-
-    overrides: Update for Gdk-4.0 and Gtk+-4.0
-
-    Override Gdk.Color and Gdk.RGBA according version.
-    Use properly Gtk.init_check in Gtk+-4.0
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=777680
-
- gi/overrides/Gdk.py | 74
- ++++++++++++++++++++++++++++-------------------------
- gi/overrides/Gtk.py |  7 +++--
- 2 files changed, 44 insertions(+), 37 deletions(-)
-
-commit d005df9645fd5fb2f19bd09384355f45591f1e58
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Jan 23 21:26:05 2017 +0100
-
-    Disable -Werror=missing-prototypes
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=760056
-    added some code triggering "missing-prototype" which we by default
-    treat as an error. This disables that specific error by default.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=777534
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6695931a0dfb7d9db9ea14a128108342c3d0be89
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Jan 9 20:44:11 2017 +0100
-
-    Fix new PEP8 errors
-
-    Two new errors popped up:
-
-    * E305 expected 2 blank lines after class or function definition
-    * E741 ambiguous variable name
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=776009
-
- examples/cairo-demo.py             |  1 +
- examples/properties.py             |  1 +
- gi/_option.py                      |  1 +
- gi/overrides/GIMarshallingTests.py |  2 ++
- gi/overrides/GLib.py               | 19 +++++++++++++++++++
- gi/overrides/GObject.py            | 12 ++++++++++++
- gi/overrides/Gdk.py                |  3 +++
- gi/overrides/Gio.py                |  2 ++
- gi/overrides/Gtk.py                | 35
- +++++++++++++++++++++++++++++++++++
- gi/overrides/Pango.py              |  2 ++
- gi/types.py                        |  1 +
- pygtkcompat/pygtkcompat.py         |  1 +
- tests/test_generictreemodel.py     |  1 +
- tests/test_interface.py            |  4 ++++
- tests/test_iochannel.py            |  1 +
- tests/test_overrides_gtk.py        | 10 +++++-----
- tests/test_properties.py           | 12 ++++++------
- tests/test_signal.py               |  1 +
- 18 files changed, 98 insertions(+), 11 deletions(-)
-
-commit 3f68e0a352abc12e1990e82e3134c48f0be2b3c9
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Mar 23 17:07:53 2016 +0100
-
-    Move pep8/pyflakes tests from 'make check' to 'make check.quality'
-
-    The current behaviour is problematic because new versions of
-    pep8/pyflakes
-    add new warnings or get more picky. This makes testing
-    hard in case newly added code is developed on an older version
-    or when testing old branches/releases.
-
-    This moves the pep8/pyflakes tests to a new "make check.quality"
-    command.
-
-    This also removes the SKIP_PEP8 flag which was added in
-    25d12afd06863ce
-    to speed up make check.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=764087
-
- HACKING     |  2 +-
- Makefile.am | 12 +++++-------
- 2 files changed, 6 insertions(+), 8 deletions(-)
-
-commit 222f5581c38551bdd5c6c9ca4e895d1f44397ad1
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Oct 21 13:59:54 2016 +0200
-
-    overrides: Update for Gtk-4.0
-
-    Skip things which are gone since 4.0.
-    This only fixes importing and doesn't add any tests for now.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=773315
-
- gi/overrides/Gtk.py | 482
- ++++++++++++++++++++++++++--------------------------
- 1 file changed, 242 insertions(+), 240 deletions(-)
-
-commit 8694e4dd42565f07b6f9ba1221fb03146be333a0
-Author: Dan Nicholson <nicholson@endlessm.com>
-Date:   Wed Dec 21 12:02:14 2016 -0600
-
-    Handle exception unreffing Variant at exit
-
-    Calling unref will cause gi and gi.repository.GLib to be imported.
-    However, if the program is exiting, then these modules have likely
-    been
-    removed from sys.modules and will raise an exception. Assume
-    that's the
-    case for ImportError and ignore the exception since everything will be
-    cleaned up, anyways.
-
-    This can be triggered with the following trivial program:
-
-    $ python3 -c 'from gi.repository import GLib; v = GLib.Variant("s",
-    "foo")'
-    Exception ignored in:
-
-    Adding some debug code to show the full exception revealed this:
-
-    Traceback (most recent call last):
-      File "/home/dan/src/pygobject/build3/gi/overrides/GLib.py", line
-      265, in __del__
-        self.unref()
-    ImportError: import of 'gi.repository.GLib' halted; None in
-    sys.modules
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=776092
-
- gi/overrides/GLib.py | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-commit 54c623ba639654716ca475f75c92cc8ed673d9f5
-Author: Dan Nicholson <nicholson@endlessm.com>
-Date:   Wed Dec 21 11:50:08 2016 -0600
-
-    Handle multiple deinit of callable cache
-
-    In python3, it seems that the callable cache deinit can be called
-    multiple times when the program is exiting. Make that safer by
-    clearing
-    the various pointers in the structure using g_clear_pointer and
-    Py_CLEAR. A subsequent call will skip all the deinit by seeing NULL
-    pointers for the members.
-
-    This was causing a critical warning when destroying the arg name hash
-    table multiple times with the following trivial program:
-
-    $ python3 -c 'from gi.repository import GLib; v = GLib.Variant("s",
-    "foo")'
-
-    (process:32378): GLib-CRITICAL **: g_hash_table_destroy: assertion
-    'hash_table != NULL' failed
-
-    (process:32378): GLib-CRITICAL **: g_hash_table_destroy: assertion
-    'hash_table != NULL' failed
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=776092
-
- gi/pygi-cache.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-commit 94226b8eb63dd985def8501168572ee16e02acad
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Sep 19 15:31:57 2016 +0200
-
-    configure.ac: post-release version bump to 3.23.0
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit fb1b8fa8a67f2c7ea7ad4b53076496a8f2b4afdb
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Sep 19 15:27:35 2016 +0200
-
-    release 3.22.0
-
- NEWS | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit b93523fcdb6bc04b42709ecd30b8cd11de80f0c5
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Sep 19 15:24:35 2016 +0200
-
-    configure.ac: pre-release version bump to 3.22.0
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 3ec19401dc57263508ee3aa16f5293419c222f5b
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Sep 11 11:45:59 2016 +0200
-
-    release 3.21.92
-
- NEWS | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 7ccc164b6da6d87c0a200ea50314d213470a1f18
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Sep 3 20:02:13 2016 +0200
-
-    Handle nullable filename parameters
-
-    Make _pygi_marshal_from_py_filename handle None input
-    values. This allows one to pass None to parameters
-    annotated as nullable filenames.
-
-    This fixes a test suite error in test_spawn_async_with_pipes
-    triggered by an annotation change in glib.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=770821
-
- gi/pygi-basictype.c             |  5 +++++
- tests/gimarshallingtestsextra.c | 22 ++++++++++++++++++++++
- tests/gimarshallingtestsextra.h |  3 +++
- tests/test_gi.py                |  4 ++++
- 4 files changed, 34 insertions(+)
-
-commit f4d858c069f06e7060a0bb067c29f5bffb7869ee
-Author: Aurelien Jarno <aurelien@aurel32.net>
-Date:   Wed Aug 31 22:16:06 2016 +0200
-
-    Fix list/hashtable enum <-> hash conversion on 64-bit big endian
-
-    glist and ghashtable objects both store pointers. Complex objects are
-    stored as pointers to the objects, but simpler objects like an integer
-    value are stored directly as a pointer, using for example the
-    GINT_TO_POINTER and GPOINTER_TO_INT macros.
-
-    This is done in pygobject with the _pygi_hash_pointer_to_arg and
-    _pygi_arg_to_hash_pointer functions. These functions handle the
-    various
-    type of objects. However they consider that an enum, represented
-    with the
-    GI_TYPE_TAG_INTERFACE type (extended interface object), are always a
-    pointer. This is wrong as it is often a 32-bit value. Therefore
-    on 64-bit
-    big endian machines, the value is handle with the 2 32-bit parts
-    swapped.
-
-    This patches fixes that by changing the second argument of both
-    functions
-    from GITypeTag to GITypeInfo. This way the interface can be
-    determined,
-    and the underlying storage type can also be determined. This currently
-    only handles enum and flags, leaving other types as pointers. The
-    patch
-    also adds two tests in the testsuite, one for each direction.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=770608
-
- gi/pygi-argument.c              | 33 +++++++++++++++++++++++++++++----
- gi/pygi-argument.h              |  4 ++--
- gi/pygi-hashtable.c             |  8 ++++----
- gi/pygi-list.c                  |  8 ++++----
- tests/gimarshallingtestsextra.c | 33 +++++++++++++++++++++++++++++++++
- tests/gimarshallingtestsextra.h | 10 ++++++++++
- tests/test_gi.py                | 11 +++++++++++
- 7 files changed, 93 insertions(+), 14 deletions(-)
-
-commit 1cb6c470e9d297afda21b73efaccb0b95e519b5d
-Author: Lukas K <lu@0x83.eu>
-Date:   Fri May 13 21:30:47 2016 +0200
-
-    Allow passing sockets to io_add_watch on win32
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=766396
-
- gi/overrides/GLib.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 4617c39ca212f0da82af1a9989c912bcdfe1158b
-Author: Michael Biebl <biebl@debian.org>
-Date:   Sat Sep 3 16:46:40 2016 +0200
-
-    tests: use dbus-run-session instead of dbus-launch to run tests
-
-    The use of dbus-launch is deprecated by dbus upstream.
-    See https://lists.debian.org/debian-devel/2016/08/msg00554.html
-    for more
-    details.
-
-    So use dbus-run-session instead, which was specifically designed to be
-    used for such cases, like running test-suites.
-
-    See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=836049.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=770798
-
- tests/Makefile.am | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-commit 4b9185250d73c38231d90b53974d0d2912a02972
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Aug 25 16:57:11 2016 +0200
-
-    configure.ac: post-release version bump to 3.21.92
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2f98ecc4df9e0feaab78ba289956f469e36c7d76
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Aug 25 16:51:39 2016 +0200
-
-    release 3.21.91
-
- NEWS | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-commit 91abec259ed0c387ab69762ff92142b08327d00a
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Aug 25 16:50:56 2016 +0200
-
-    configure.ac: version bump to 3.21.91
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f65bb1fc8f7f6172970545412fe56ab75f57904b
-Author: Mathieu Bridon <bochecha@daitauha.fr>
-Date:   Thu Jun 23 22:35:42 2016 +0200
-
-    Allow installing with pip
-
-    This commit adds a setup.py file which just calls the autotools to
-    configure/make/make install.
-
-    It is heavily inspired by the similar work from Simon McVittie on
-    dbus-python.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=767988
-
- .gitignore  |   3 ++
- Makefile.am |   3 +-
- setup.py    | 105
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 110 insertions(+), 1 deletion(-)
-
-commit 14626ee5dcf380ae94680626607742a8cc048351
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Jun 6 20:08:18 2016 +0200
-
-    Skip a test with older glib
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=740301
-
- tests/test_docstring.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit a12f7027adeb57fe1c0142c86d34d5ec8f6b6d9e
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Jun 6 20:13:29 2016 +0200
-
-    Fix a test with Python 3.1/3.2
-
-    Fix Python version check in
-    TestImporter.test_invalid_repository_module_name()
-    to avoid failure with Python 3.1 and 3.2.
-
-    Fix provided by Arfrever Frehtes Taifersar Arahesis at
-       https://bugzilla.gnome.org/show_bug.cgi?id=740324#c1
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=740324
-
- tests/test_import_machinery.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit f5cf74f3b8d285de3591d89c6f3b4b8d59bde35e
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Jun 6 20:45:22 2016 +0200
-
-    tests: Use places kwarg for assertAlmostEqual
-
-    Always pass 'places' argument of TestCase.assertAlmostEqual
-    as keyword argument.
-
-    Fix by Arfrever Frehtes Taifersar Arahesis
-        https://bugzilla.gnome.org/show_bug.cgi?id=740337#c1
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=740337
-
- tests/test_properties.py | 6 +++---
- tests/test_signal.py     | 4 ++--
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-commit e0b40099283a31ea23433f9d36dc9beebd4370c9
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Jun 6 11:34:47 2016 +0200
-
-    Print exception if marshalling a signal argument fails
-
-    For example if cairo support is missing a Gtk.Widget::draw call
-    will result in
-    "TypeError: Couldn't find foreign struct converter for
-    'cairo.Context'"
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=748198
-
- gi/pygi-signal-closure.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 76e2e30bc586016eba8bcfdd753dc1f4672dced7
-Author: Marinus Schraal <mschraal@src.gnome.org>
-Date:   Fri May 20 01:26:27 2016 +0200
-
-    overrides: allow treemodel sequence shorthands
-
-    Add get_ and set_ overrides for sequences of GtkTreeModel
-    indices. This
-    allows an arbitray list of indices to be retrieved or written in
-    one go
-    from or to a GtkTreeModel row:
-
-    model[0][0, 1] = [True, "Hello"]
-    [foo, bar] = model[0][2, 7]
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=766580
-
- gi/overrides/Gtk.py         | 15 +++++++++++++--
- tests/test_overrides_gtk.py | 46
- +++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 59 insertions(+), 2 deletions(-)
-
-commit ff1a6f0f00e042c5addfa42231ec8927ebf1a1a6
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue May 31 19:26:00 2016 +0200
-
-    Remove pygobject-external.h
-
-    It's not used any more
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=767084
-
- gi/Makefile.am          |  1 -
- gi/pygobject-external.h | 73
- -------------------------------------------------
- 2 files changed, 74 deletions(-)
-
-commit f5dd1551371308d33df9627bc8cc0e34fa68a2a8
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue May 31 18:47:54 2016 +0200
-
-    Remove pygobject-private.h and rename pygobject.c to
-    pygobject-object.c
-
-    Move all the random declarations in pygobject-private.h to their
-    respective header files. Rename pygobject.c to pygobject-object.c
-    so it's clearer that it's not the implementation of pygobject.h.
-    Add a new pygobject-internal.h which includes pygobject.h
-    with _INSIDE_PYGOBJECT_ defined like pygobject-private.h did.
-
-    In case you are looking at the git log and end up here due to the
-    rename try:
-
-      git log --follow pygobject-object.c
-
-    or on the web interface go to the history of the old file name:
-
-    https://git.gnome.org/browse/pygobject/log/gi/pygobject.c?id=6b702c052e9f26e809cff494f0c896d17a514c64
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=767084
-
- gi/Makefile.am                         |   7 +-
- gi/gimodule.c                          |  10 +-
- gi/gobjectmodule.c                     |  56 +---------
- gi/gobjectmodule.h                     |  11 ++
- gi/pygboxed.c                          |   4 +-
- gi/pygboxed.h                          |  11 ++
- gi/pygenum.c                           |   4 +-
- gi/pygenum.h                           |  22 ++++
- gi/pygflags.c                          |   4 +-
- gi/pygflags.h                          |  21 ++++
- gi/pygi-argument.c                     |   4 +-
- gi/pygi-basictype.c                    |   2 +-
- gi/pygi-boxed.c                        |   3 +-
- gi/pygi-boxed.h                        |   2 +-
- gi/pygi-cache.c                        |   1 +
- gi/pygi-ccallback.c                    |   1 -
- gi/pygi-enum-marshal.c                 |   3 +-
- gi/pygi-foreign.c                      |   2 +-
- gi/pygi-info.c                         |   2 +-
- gi/pygi-object.c                       |   2 +-
- gi/pygi-property.c                     |   1 +
- gi/pygi-property.h                     |   2 +-
- gi/pygi-signal-closure.h               |   2 +-
- gi/pygi-source.c                       |   3 +-
- gi/pygi-struct-marshal.c               |   3 +
- gi/pygi-struct.c                       |   3 +-
- gi/pygi-struct.h                       |   2 +-
- gi/pygi-type.c                         |   2 +-
- gi/pygi-util.c                         |  42 ++++++++
- gi/pygi-util.h                         |   6 ++
- gi/pygi-value.c                        |   6 +-
- gi/pyginterface.c                      |   3 +-
- gi/pygobject-internal.h                |   7 ++
- gi/{pygobject.c => pygobject-object.c} |  27 ++++-
- gi/pygobject-object.h                  |  56 ++++++++++
- gi/pygobject-private.h                 | 186
- ---------------------------------
- gi/pygparamspec.c                      |   5 +-
- gi/pygpointer.c                        |   3 +-
- gi/pygpointer.h                        |   8 ++
- gi/pygtype.c                           |  27 ++---
- gi/pygtype.h                           |  25 +++++
- 41 files changed, 305 insertions(+), 286 deletions(-)
-
-commit ef7a6dad8cea6a3b9547cfae00bf15ebb9eb756e
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue May 31 15:44:36 2016 +0200
-
-    Merge pyglib-private.h into pyglib.h
-
-    No need for another header
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=767084
-
- gi/Makefile.am        |  1 -
- gi/gimodule.c         |  2 +-
- gi/glibmodule.c       |  1 -
- gi/pygi-resulttuple.c |  2 +-
- gi/pygi-source.c      |  1 -
- gi/pyglib-private.h   | 40 ----------------------------------------
- gi/pyglib.c           |  1 -
- gi/pyglib.h           |  6 ++++++
- gi/pygoptioncontext.c |  1 -
- gi/pygoptiongroup.c   |  1 -
- gi/pygspawn.c         |  1 -
- 11 files changed, 8 insertions(+), 49 deletions(-)
-
-commit e1e05fb027c328ef41be0ba6d99883d2d7983f70
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Tue May 31 15:31:38 2016 +0200
-
-    Remove pygi.h and pygi-private.h
-
-    Instead include things where needed.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=767084
-
- gi/Makefile.am                     |  3 +-
- gi/gimodule.c                      | 11 ++++-
- gi/pygboxed.c                      |  1 -
- gi/pygenum.c                       |  2 +-
- gi/pygflags.c                      |  4 +-
- gi/pygi-argument.c                 | 17 ++++++--
- gi/pygi-array.c                    |  3 +-
- gi/pygi-basictype.c                |  2 +-
- gi/pygi-boxed.c                    |  3 +-
- gi/pygi-boxed.h                    |  8 ++++
- gi/pygi-cache.c                    |  2 +
- gi/pygi-ccallback.c                |  2 +-
- gi/pygi-ccallback.h                | 11 +++++
- gi/pygi-closure.c                  |  5 ++-
- gi/pygi-enum-marshal.c             |  3 +-
- gi/pygi-error.c                    |  2 +-
- gi/pygi-hashtable.c                |  2 +-
- gi/pygi-info.c                     |  6 ++-
- gi/pygi-info.h                     | 22 ++++++++++
- gi/pygi-invoke.c                   |  5 +++
- gi/pygi-invoke.h                   |  2 +-
- gi/pygi-list.c                     |  2 +-
- gi/pygi-marshal-cleanup.c          |  8 ++--
- gi/pygi-marshal-cleanup.h          |  4 +-
- gi/pygi-object.c                   |  2 +-
- gi/pygi-property.c                 |  3 +-
- gi/pygi-property.h                 |  2 +-
- gi/pygi-repository.c               |  3 +-
- gi/pygi-repository.h               |  6 +++
- gi/pygi-signal-closure.c           |  4 +-
- gi/pygi-signal-closure.h           |  3 +-
- gi/pygi-source.c                   |  4 +-
- gi/pygi-struct-marshal.c           |  6 ++-
- gi/pygi-struct.c                   |  5 ++-
- gi/pygi-struct.h                   |  6 +++
- gi/pygi-type.c                     |  3 +-
- gi/{pygi-private.h => pygi-util.h} | 47 ++--------------------
- gi/pygi.h                          | 82
- --------------------------------------
- gi/pygobject.c                     |  3 +-
- gi/pygpointer.c                    |  1 -
- 40 files changed, 146 insertions(+), 164 deletions(-)
-
-commit c86424c73725610ac2ef832c1fa41a777f9a5efa
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Apr 24 21:27:59 2016 -0700
-
-    configure.ac: post-release version bump to 3.21.1
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit febd211b6628a8f63d92ae011d68b845e9fe6ec8
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Apr 24 21:19:39 2016 -0700
-
-    release 3.21.0
-
- NEWS | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 1bb267f1755b2ec314c751b27931cbe7032f3c36
-Author: Dustin Falgout <dustin@falgout.us>
-Date:   Sun Mar 20 03:21:02 2016 -0500
-
-    gi: Add require_versions() function
-
-    Adds a new function that accepts a dict of one or more namespace,
-    version
-    pairs through which it iterates and calls `gi.require_version()`
-    for each pair. Also adds a test for the new function.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=761141
-
- gi/__init__.py                 | 33 +++++++++++++++++++++++++++++++++
- tests/test_import_machinery.py |  6 ++++++
- 2 files changed, 39 insertions(+)
-
-commit b3f897b98c5a2c59ea34a8afcce0448b1ffb0731
-Author: Iain Lane <iain@orangesquash.org.uk>
-Date:   Thu Mar 24 18:04:40 2016 +0000
-
-    test_gerror_novalue: Don't assign the error to a variable
-
-    Otherwise the build fails with:
-
-      CHECK  Pyflakes examples gi tests pygtkcompat
-      tests/test_gobject.py:689: local variable 'error' is assigned to
-      but never used
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=764165
-
- tests/test_gobject.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6ff29c91dfdbcc3203405da0aca8dbfa318d8b32
-Author: Emmanuele Bassi <ebassi@gnome.org>
-Date:   Wed Mar 23 13:59:53 2016 +0000
-
-    build: Do not enable code coverage based on lcov
-
-    Code coverage turns on various slow paths and disables
-    optimizations. It
-    should be, and it usually is, an opt in configuration flag.
-
-    Enabling it should not be conditional on the existence of the lcov
-    binary on the system, otherwise anybody building PyGObject from Git on
-    any moderately complete development environment will automatically
-    enable code coverage even when not wanted.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=764075
-
- autogen.sh | 10 +---------
- 1 file changed, 1 insertion(+), 9 deletions(-)
-
-commit c2a66daf3ac62e3e97f8d7fe16afccf37f413305
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 21 21:00:37 2016 -0700
-
-    configure.ac: post-release version bump to 3.21.0
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit ce3034544f126f196cad57485f126f1246cd1acf
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 21 20:34:50 2016 -0700
-
-    release 3.20.0
-
- NEWS | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit eee366401383f92a2b2b233b2cd0db2ad50b6cb2
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 21 20:33:13 2016 -0700
-
-    configure.ac: pre-release version bump to 3.20.0
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit f4401234cdc9be784eea9347fec349e7cba0a153
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Mar 15 22:56:10 2016 -0700
-
-    release 3.19.92
-
- NEWS | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 3d8860c2d0a95cff38f7eaa65c38521654a162ae
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Mar 1 22:10:21 2016 -0800
-
-    post-release version bump to 3.19.92
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a4865ef2f8c70b93f84f93236786c65ad5f973af
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Mar 1 21:46:21 2016 -0800
-
-    release 3.19.91
-
- NEWS | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-commit cc75f994a07639b9ffcc6afef757768780a076de
-Author: Thibault Saunier <tsaunier@gnome.org>
-Date:   Fri Feb 5 15:00:10 2016 +0100
-
-    tests: check passing Boxed type in GValue as function parameters
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=761592
-
- tests/Makefile.am               | 13 +++++++++++--
- tests/gimarshallingtestsextra.c | 37
- +++++++++++++++++++++++++++++++++++++
- tests/gimarshallingtestsextra.h | 26 ++++++++++++++++++++++++++
- tests/test_error.py             |  6 ++++++
- 4 files changed, 80 insertions(+), 2 deletions(-)
-
-commit 5f4b08f4e8a98046eab71537c7827edde2ca8742
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 29 22:50:32 2016 -0800
-
-    gerror: Add special case marshaling for boxing GErrors
-
-    Transfer gtype from introspection GError class to Python GError
-    implementation.
-    Expose the PyGError pointer as an extern so other C files can pick
-    this up.
-    Add custom to/from GValue marshalers for GError.
-    Add tests for both complete and incomplete (no boxed pointer held).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=761592
-
- gi/overrides/GLib.py  |  1 +
- gi/pygi-error.c       | 32 +++++++++++++++++++++++++++++++-
- gi/pygi-error.h       |  2 ++
- gi/pygi-value.c       |  1 +
- tests/test_gobject.py | 17 +++++++++++++++++
- 5 files changed, 52 insertions(+), 1 deletion(-)
-
-commit cfca1457c39e3c4c7ef97e7b46a73c19e5adf305
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Feb 28 01:39:31 2016 -0800
-
-    gerror: Add support for marshaling GError from Python to C
-
-    Refactor pygi_gerror_exception_check() to use a new broken out
-    function
-    pygi_error_marshal_from_py(). This allows re-use for argument
-    marshaling
-    of a Python GError to a C GError.
-    Remove PYGI_META_ARG_TYPE_CHILD setting for GError out argument
-    marshaling.
-    This was incorrect since GError exception arguments are not specified
-    explicitly and instead uses the "throws" option.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685197
-
- gi/pygi-error.c              | 132
- +++++++++++++++++++++++++++++--------------
- gi/pygi-error.h              |   3 +
- tests/test_overrides_glib.py |  30 ++++++++++
- 3 files changed, 123 insertions(+), 42 deletions(-)
-
-commit 2fc1a689a81614649d042965997f4546b0a58ada
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Feb 27 17:21:53 2016 -0800
-
-    gerror: Add "_to_py" suffix to pygi_error_marshal
-
-    This will allow for the a pygi_error_marshal_from_py function.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685197
-
- gi/pygi-error.c | 8 ++++----
- gi/pygi-error.h | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-commit 7e29227b6f58cfcc96118a4af83658ca1a6fa1f4
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Jul 4 22:09:46 2015 +0200
-
-    Some error handling/reporting fixes.
-
-    * Check in pyg_boxed_new() if the passed type is an actual subclass
-    * Don't replace existing exceptions in pyg_value_as_pyobject()
-    * Print an error in pyg_closure_marshal() in case marshalling
-      an argument failed.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=751956
-
- gi/pygboxed.c   |  8 +++++++-
- gi/pygi-value.c | 15 ++++++++++-----
- gi/pygtype.c    | 11 ++++++++++-
- 3 files changed, 27 insertions(+), 7 deletions(-)
-
-commit 49880800b35029de3731523eede1b3174f10c1db
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Jul 4 21:40:04 2015 +0200
-
-    GVariant: Don't use pyg_boxed_new as GVariant isn't a PyGBoxed but
-    a PyGIStruct.
-
-    This only worked because they share the same struct layout.
-    This adds a new constructor for creating a new PyGIStruct instance
-    from GType.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=751956
-
- gi/pygi-struct.c | 32 ++++++++++++++++++++++++++++++++
- gi/pygi-struct.h |  5 +++++
- gi/pygi-value.c  |  3 ++-
- 3 files changed, 39 insertions(+), 1 deletion(-)
-
-commit f27b1976ea325fcd55359888401dd08ac8fb074a
-Author: Mikhail Fludkov <misha@pexip.com>
-Date:   Tue Sep 1 17:54:17 2015 +0200
-
-    pygi-value: special case for NULL GValueArray
-
-    Don't segfault when dealing with GValue of GValueArray type containing
-    NULL. Return empty list in this case.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=754359
-
- gi/pygi-value.c       | 5 +++--
- tests/test_gobject.py | 6 ++++++
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-commit c8176dfabea694ce738ff4633e7522b0d1fc1c51
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Feb 20 20:42:40 2016 -0800
-
-    post-release version bump to 3.19.91
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit d16ae38f0a12653557bdeba17eb155144d91bff4
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Feb 20 19:56:24 2016 -0800
-
-    release 3.19.90
-
- NEWS | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 0190fb84fc1f88ba4c0623bf1b29fe3ca4f80932
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Feb 20 19:49:31 2016 -0800
-
-    pre-release version bump to 3.19.90
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 0467808b97f89c5a36c01f5b7cba013acaef6851
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Feb 20 19:40:45 2016 -0800
-
-    tests: Set the active style context state before retrieving values
-
-    compat_test_pygtk.TestGTKCompat.test_style() was giving a warning due
-    to set/get state mismatch. Set the current state before getting values
-    from the context.
-
- tests/compat_test_pygtk.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 8145fa69c8ace9772687f26f782acb5e461776be
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Feb 20 17:32:01 2016 -0800
-
-    tests: Fix crash with empty drag source icon names
-
-    Add "_About" argument when testing call to
-    drag_source_set_icon_name().
-    Add Gtk.STOCK_ABOUT argument when testing call to
-    drag_source_set_icon_stock().
-    This avoids crashes due to GTK+ drag source attempting to unref a
-    NULL pointer.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=762392
-
- tests/test_overrides_gtk.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 6a26d3f2b25b3fbbd87def14f1df17b96ed23a0d
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Oct 4 11:18:04 2015 +0200
-
-    Try to import GdkX11 in Gdk overrides
-
-    pygobject will not provide GdkX11 instances until the namespace
-    is loaded so try to load it in the overrides.
-
-    This makes Gdk.Display.get_default() return a GdkX11.X11Display
-    instead of a dummy Gdk.Display subclass instance.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=673396
-
- gi/overrides/Gdk.py | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-commit 12022437d663f49ba3a2a2f884da30dd5ca08ff6
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Oct 30 13:07:57 2015 +0100
-
-    Fix import warnings pointing to the wrong code with CPython 3.3/3.5
-
-    For making warnings point to the code doing the import, the stack
-    frames
-    of the import system need to be skipped. The frame count number
-    varries
-    between CPython versions and in 3.5 all frames of the import
-    system are
-    skipped for warnings (https://bugs.python.org/issue24305).
-
-    This hardcodes the frame counts for all supported CPython versions
-    which fixes the import warning output for CPython 3.3 and 3.5.
-
-    This also fixes/works around a bug in CPython 3 where if a too
-    large stacklevel value was passed to warn(), CPython would try to
-    interpret a file called "sys" in the same directory of the
-    executed script (https://bugs.python.org/issue25493
-    and https://bugzilla.gnome.org/show_bug.cgi?id=757184).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=757184
-
- gi/importer.py                 | 28 +++++++++++++++++++++++-----
- tests/test_import_machinery.py |  4 ++++
- 2 files changed, 27 insertions(+), 5 deletions(-)
-
-commit 72ab17963e81fb63f7238123c359be8d83a529f4
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Oct 25 11:39:22 2015 +0100
-
-    Bump automake version to 1.12.6
-
-    Required to a get a new enough py-compile which supports
-    the __pycache__ directories for newer Python 3 versions.
-    See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=8847
-
-    Also remove m4/py-compile which doesn't seem to get used in
-    either 1.11 or 1.15 here.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=757086
-
- configure.ac  |   4 +-
- m4/py-compile | 161
- ----------------------------------------------------------
- 2 files changed, 3 insertions(+), 162 deletions(-)
-
-commit b71f76af163c1d43b9f11e6a6362e7510d84c231
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 31 14:55:46 2015 -0700
-
-    post-release version bump to 3.19.3
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit bedc7b883febceb3470f1b8e909cfab696d1fc5f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 31 14:47:07 2015 -0700
-
-    release 3.19.2
-
- NEWS | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 4164e7088be446fcab65cef642c6853aad3b6a69
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 31 14:06:40 2015 -0700
-
-    tests: Fix failure due to new GTK+ warning regarding size_allocate()
-
-    Call get_preferred_size() to avoid size_allocated() warning in
-    size-allocated signal handler test.
-
- tests/test_overrides_gtk.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit a8293f411234180d70e9ff979954b28381842e1f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 31 14:03:21 2015 -0700
-
-    Fix build warnings regarding _POSIX_C_SOURCE redefinition
-
-    Move Python.h includes above glib includes to avoid build
-    warnings with Python 2 as noted here:
-    https://docs.python.org/2/c-api/intro.html#include-files
-
- gi/gobjectmodule.c       | 1 +
- gi/pygi-array.c          | 2 +-
- gi/pygi-cache.c          | 2 +-
- gi/pygi-enum-marshal.c   | 2 +-
- gi/pygi-hashtable.c      | 1 +
- gi/pygi-hashtable.h      | 2 +-
- gi/pygi-list.c           | 1 +
- gi/pygi-object.c         | 2 +-
- gi/pygi-struct-marshal.c | 2 +-
- gi/pygi-value.c          | 1 +
- 10 files changed, 10 insertions(+), 6 deletions(-)
-
-commit 3b1d130174951f7648beceac270daa8ac65939c7
-Author: Matthias Clasen <mclasen@redhat.com>
-Date:   Fri Oct 30 12:15:26 2015 -0400
-
-    Drop -std=c90 for now
-
-    glib headers have a problem with it, and sorting it out on the
-    glib side will take a while, so drop this for now.
-
- configure.ac | 9 ---------
- 1 file changed, 9 deletions(-)
-
-commit ef219cc74a7c6803795692664fc3b2c8ebbb4fe4
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Oct 30 16:23:11 2015 +0100
-
-    configure.ac: post release version bump to 3.19.2
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 98a4bfe4606bd2c7534533633a20a998f732e248
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Fri Oct 30 16:13:46 2015 +0100
-
-    release 3.19.1
-
- NEWS | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-commit 175d10665472e6f4090d707e3b89255814c932b1
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Jun 8 18:14:08 2015 +0200
-
-    Use a named tuple for returning multiple values
-
-    >>> v = Gtk.Button().get_alignment()
-    >>> v
-    (xalign=0.5, yalign=0.5)
-    >>> v.xalign
-    0.5
-
-    For each GICallable a new gi._gi.ResultTuple subclass
-    is created which knows the return value names of that
-    callable and displays them in __repr__, __dir__ and
-    allows to access tuple items by name.
-
-    The subclass is cached in PyGICallableCache.
-
-    To reduce the number of small tuple allocations use a free list
-    similar to the one used for pure tuples in CPython.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727374
-
- gi/Makefile.am            |   2 +
- gi/gimodule.c             |   1 +
- gi/pygi-cache.c           |  34 +++++
- gi/pygi-cache.h           |   6 +
- gi/pygi-invoke.c          |  35 ++---
- gi/pygi-private.h         |   1 +
- gi/pygi-resulttuple.c     | 354
- ++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-resulttuple.h     |  34 +++++
- gi/pyglib-python-compat.h |   5 +
- tests/Makefile.am         |   1 +
- tests/test_resulttuple.py |  87 ++++++++++++
- 11 files changed, 543 insertions(+), 17 deletions(-)
-
-commit b1788c9a445c8a820121c42260bcbdbc3ae8dfba
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Oct 26 11:17:34 2015 +0100
-
-    enum/flags: use gir info for type names and __repr__ instead of the
-    gtype name
-
-    For example __name__ is now SpawnFlags instead of PyGLibSpawnFlags
-    and __repr__ shows GLib.SpawnFlags in stead of PyGLibSpawnFlags.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657915
-
- gi/gimodule.c               | 35 ++++++++++++++++++++++++----
- gi/pygenum.c                | 57
- +++++++++++++++++++++++++++++++--------------
- gi/pygflags.c               | 31 +++++++++++++++++++-----
- tests/test_gi.py            | 41 ++++++++++++++++++++++++++++++++
- tests/test_overrides_gdk.py |  6 ++---
- 5 files changed, 139 insertions(+), 31 deletions(-)
-
-commit 6b702c052e9f26e809cff494f0c896d17a514c64
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Wed Jun 10 18:24:44 2015 +0200
-
-    Improve and unify __repr__ format for PyGObject, PyGBoxed and
-    PyGIStruct
-
-    Includes the module, Python type name, pointer and wrapper pointer
-    and GType name. e.g.
-    "<Gtk.Border object at 0x7f26bee9e4c8 (GtkBorder at 0x1c72e30)>"
-
-    In case of PyGObjects created from GType set the module to __gi__
-    instead of guessing the old static binding name. Also
-    remove the code that tries to add them to the guessed static bindings
-    module while at it. The __repr__ will now return
-    "<__gi__.X11Keymap ..." instead of "<gtk.gdk.X11Keymap ..."
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657915
-
- gi/pygboxed.c    | 31 +++++++++++++++++++++----
- gi/pygi-struct.c | 23 ++++++++++++++++++
- gi/pygobject.c   | 71
- +++++++++++++++++++++++++-------------------------------
- tests/test_gi.py | 33 ++++++++++++++++++++++++++
- 4 files changed, 113 insertions(+), 45 deletions(-)
-
-commit 9b821aa0d60857e612cde9dabe9c8f9f9c60214c
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Oct 4 11:13:37 2015 +0200
-
-    Don't leak internal RepositoryError on import.
-
-    In case a dependency of the imported namespace has a version
-    conflict with an already loaded version, import would raise
-    RepositoryError.
-
-    This fixes it to raise an ImportError instead.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=756033
-
- gi/importer.py | 7 +++++--
- gi/module.py   | 4 ++++
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-commit dba1da9b0770c7dec1abd82303b9b4266fe2ce3f
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Oct 4 10:13:35 2015 +0200
-
-    Import dependencies when importing typelibs from gi.repository
-
-    Recursively import a modules dependencies when importing from
-    gi.repository.
-
-    This fixes the case where a library depends on initialization
-    code of dependency overrides. For example libwnck expects
-    gdk_init to be called before using its API and gdk_init
-    gets called in the Gdk overrrides.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=656314
-
- gi/importer.py                 | 12 +++++++++++-
- gi/pygi-repository.c           | 35 +++++++++++++++++++++++++++++++++++
- tests/test_import_machinery.py | 13 +++++++++++++
- tests/test_repository.py       | 10 ++++++++++
- 4 files changed, 69 insertions(+), 1 deletion(-)
-
-commit dfa3a85290dd97ecd7cbe8f12fbc1ff2db5a1155
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Oct 11 01:28:48 2015 +0200
-
-    Fix Gdk.rectangle_intersect/rectangle_union missing with GTK+ 3.18
-
-    3.18 added a Gdk.Rectangle type which changed these functions
-    to methods in the gir.
-
-    Fix by providing aliases in the Gdk overrides.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=756364
-
- gi/overrides/Gdk.py         | 8 ++++++++
- tests/test_overrides_gdk.py | 9 +++++++++
- 2 files changed, 17 insertions(+)
-
-commit 98726caff183491cde1e145861adfcff0c243d9b
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Oct 4 09:53:27 2015 +0200
-
-    Don't import inspect at module level
-
-    Move it to the only user instead as importing inspect
-    takes 10msec here.
-
- gi/_signalhelper.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit e1921b7224ca1e909d9fe5483a09414742d0baf4
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Sep 26 21:29:54 2015 +0200
-
-    invoke state: add a free memory cache for PyGIInvokeArgState
-
-    Keep one free allocation per argument count around
-    to reduce g_slice_alloc/free usage.
-
-    Reduces CPU time for simple functions by 10% and 5% for closures.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=750658
-
- gi/pygi-closure.c |  6 ++----
- gi/pygi-invoke.c  | 61
- +++++++++++++++++++++++++++++++++++++++++++++++++------
- gi/pygi-invoke.h  |  4 ++++
- 3 files changed, 61 insertions(+), 10 deletions(-)
-
-commit f72b6434de82ffa1950ff45a4daf80c84f58eca6
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat Sep 26 21:25:38 2015 +0200
-
-    invoke/closure: reduce g_slice_alloc usage
-
-    Instead of allocating multiple arrays, combine argument
-    data in a new PyGIInvokeArgState and allocate it in one go.
-
-    This reduces CPU time by 20% for simple functions and by 15%
-    for closures.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=750658
-
- gi/pygi-array.c               |  6 +--
- gi/pygi-closure.c             | 99
- +++++++++++++++++++------------------------
- gi/pygi-invoke-state-struct.h | 34 +++++++++------
- gi/pygi-invoke.c              | 50 +++++++---------------
- gi/pygi-marshal-cleanup.c     | 10 ++---
- 5 files changed, 86 insertions(+), 113 deletions(-)
-
-commit 640221c099031a55cbc32f5cdac3e6e018256fff
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Sep 27 11:19:14 2015 +0200
-
-    pep8: ignore new errors reported by pep8 1.6
-
-    Makes sure we get the same result for older and newer pep8.
-    Once 1.6 is more common, the ignored errors could be added back
-    and fixed (E402 might be impossible, see bug 755620)
-
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 5fcc0b49e5988bfb6893bd56dd25a6257cd9720d
-Author: Garrett Regier <garrett.regier@riftio.com>
-Date:   Tue Sep 22 14:57:13 2015 -0700
-
-    Bump g-i dependency to latest stable
-
-    This is required for throwing exceptions in closures.
-
- README       | 2 +-
- configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit 0acbf6ad543a928ce75fc6d6839d3e6aa2e9a3d3
-Author: Garrett Regier <garrett.regier@riftio.com>
-Date:   Tue Jun 9 07:11:51 2015 -0700
-
-    Avoid calling g_slist_length() during invoke
-
-    We already know the number of Python args.
-
- gi/pygi-invoke.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-commit 216e94cff0bbe5436efe423b197c9cfc4a00a02d
-Author: Garrett Regier <garrett.regier@riftio.com>
-Date:   Wed Jun 3 08:14:08 2015 -0700
-
-    Simplify closure_convert_arguments()
-
-    This chunk of work should really be done
-    in convert_ffi_arguments().
-
- gi/pygi-closure.c | 65
- +++++++++++++++++++++++++------------------------------
- 1 file changed, 29 insertions(+), 36 deletions(-)
-
-commit 7f7d0c52c9b364ba0ec92c9415298c26b103a077
-Author: Garrett Regier <garrett.regier@riftio.com>
-Date:   Wed Jun 3 08:09:31 2015 -0700
-
-    Remove a level of indentation in convert_ffi_arguments()
-
- gi/pygi-closure.c | 138
- ++++++++++++++++++++++++++----------------------------
- 1 file changed, 67 insertions(+), 71 deletions(-)
-
-commit 3066f3a88103f02c7e22db22efbeb501f4e30d32
-Author: Garrett Regier <garrett.regier@riftio.com>
-Date:   Wed Jun 3 07:50:37 2015 -0700
-
-    Prevent passing the user data multiple times to callbacks
-
-    This can happen when a callback has multiple gpointers.
-    Also, store the closure index as it is hopefully more reliable
-    than guessing.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=750347
-
- gi/pygi-cache.c   | 24 ++++++++++++++++++++++++
- gi/pygi-cache.h   |  3 +++
- gi/pygi-closure.c |  8 ++------
- 3 files changed, 29 insertions(+), 6 deletions(-)
-
-commit 40bba555c835cf53d6aa2645329631e6abe57e6c
-Author: Garrett Regier <garrett.regier@riftio.com>
-Date:   Wed Jun 3 07:06:40 2015 -0700
-
-    Support throwing exceptions in closures
-
-    This allows exceptions raised in vfunc implemntations
-    and callbacks to be turned into GErrors.
-
-    NOTE: this requires matchs in
-    https://bugzilla.gnome.org/show_bug.cgi?id=729543
-    thus we must bump the GI req once they are commited.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=710671
-
- gi/pygi-closure.c   | 113
- ++++++++++++++++++++++++++++++----------------------
- tests/test_error.py |  22 ++++++++++
- 2 files changed, 88 insertions(+), 47 deletions(-)
-
-commit ea75a89a7d2bdabc7a29f7f20f792211765f2ac7
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Sep 6 05:35:03 2015 +0200
-
-    Don't emit require_version warning if namespace was loaded previously
-    using g_irepository_require
-
-    Instead of tracking loaded dependencies ourself to hide warnings
-    if they
-    were loaded by a previous import just look if the namespace was loaded
-    before the import. This (a) makes the implementation much simpler and
-    (b) also takes into account namespaces loaded outside of
-    Python/PyGObject
-    using the libgirepository C API (as is common in applications using
-    libpeas with Python plugins)
-
-    This also introduces a new Python wrapper for
-    g_irepository_is_registered()
-    to allow checking the loading state of namespaces before imports.
-
-    This fixes unnecessary require_version warnings in gedit,
-    gnome-builder,
-    totem, rhythmbox etc.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=754491
-
- gi/importer.py                 | 93
- +++++++++++-------------------------------
- gi/pygi-repository.c           | 19 +++++++++
- tests/test_import_machinery.py |  9 ----
- tests/test_repository.py       | 11 +++++
- 4 files changed, 54 insertions(+), 78 deletions(-)
-
-commit 65726314de2833ce0364a3f3e23f344d122b342f
-Author: Garrett Regier <garrett.regier@riftio.com>
-Date:   Tue Sep 22 00:17:00 2015 -0700
-
-    configure.ac: post release version bump to 3.19.1
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit ea5ecca4916569b1eca6296ff1a8905e42c3c38a
-Author: Garrett Regier <garrettregier@gmail.com>
-Date:   Tue Sep 22 00:10:35 2015 -0700
-
-    Release 3.18.0
-
- NEWS         | 2 ++
- configure.ac | 4 ++--
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-commit e2b8ba0584d1a3273dfa2fcb23616d1dc68fdb8e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Aug 19 21:04:37 2015 -0700
-
-    configure.ac: post-release version bump to 3.17.91
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6392b2727e7ed391683bebbf69fbc8b474e99a5f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Aug 19 21:02:44 2015 -0700
-
-    release 3.17.90
-
- NEWS | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-commit 1da98892cf505b35ce0280db22e1e8ba31c095e0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Aug 19 20:57:37 2015 -0700
-
-    configure.ac: pre-release version bump to 3.17.90
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 79d23e9accd331d954007dcae6b6b7fa2837cfa7
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Wed Feb 18 19:30:30 2015 +0100
-
-    Allow passing unicode lists to GStrv properties on Python 2
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=744745
-
- gi/pygi-value.c          | 41 ++++++++++++++++++++++++++++++++---------
- tests/test_properties.py |  8 +++++++-
- 2 files changed, 39 insertions(+), 10 deletions(-)
-
-commit 8aa3d5935b4541be6e76e8792e58bb301fa4f7d1
-Author: Rui Matos <tiagomatos@gmail.com>
-Date:   Thu May 21 17:53:17 2015 +0200
-
-    Avoid a silent long to int truncation
-
-    If the python object contains a value bigger than MAXUINT we'd
-    silently truncate it when assigning to 'val' and the if condition
-    would always be true.
-
-    This was caught by a coverity scan.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=749698
-
- gi/pygi-value.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 5af6c722e5b7db90a3ca0832c46efe0c9142a0d1
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Jul 5 11:58:50 2015 +0200
-
-    tests: add a test for test_glist_gtype_container_in()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=749696
-
- tests/test_everything.py | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit f69ce9f5f6cd81b057ed0006d1fe7f71fa294943
-Author: Mathieu Bridon <bochecha@daitauha.fr>
-Date:   Sun Jul 5 11:07:00 2015 +0200
-
-    Handle gtype marshalling
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=749696
-
- gi/pygi-argument.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 0ee1f562c975df51ce93578d35678ef1e915e202
-Author: Daniel Hahler <git@thequod.de>
-Date:   Wed Mar 25 14:37:29 2015 +0100
-
-    pygi-foreign-cairo.c: fix include for py3cairo.h
-
-    The pkg-config info includes the "pycairo" folder already.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=746742
-
- gi/pygi-foreign-cairo.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit fea15145c2a3e6aac73350241a982a095e16c7d8
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Jun 18 13:36:52 2015 +0200
-
-    tests: Silence various error messages and warnings.
-
-    This silences glib warnings which are due to testing
-    of error handling, deprecation warnings which we ignore
-    since we want to continue testing deprecated code and
-    other error output of code which is supposed to fail.
-
-    To reduce code duplication and make things easier
-    this introduces a shared helper module containing
-    various context managers and decorators which allow
-    testing and silencing of warnings and errors.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=751156
-
- tests/Makefile.am           |   1 +
- tests/compat_test_pygtk.py  |  27 +++------
- tests/compathelper.py       |   8 +++
- tests/helper.py             | 132
- ++++++++++++++++++++++++++++++++++++++++++++
- tests/test_everything.py    |  28 ++++++----
- tests/test_gi.py            |   6 +-
- tests/test_gio.py           |   3 +
- tests/test_iochannel.py     |  20 +++----
- tests/test_overrides_gdk.py |  18 +++---
- tests/test_overrides_gtk.py |  20 +++----
- tests/test_properties.py    |  21 +++----
- tests/test_repository.py    |  13 ++---
- tests/test_signal.py        |  24 +++-----
- tests/test_source.py        |   8 +--
- 14 files changed, 231 insertions(+), 98 deletions(-)
-
-commit 619777730891b42b98da556c3aa9ca5a1b3f617b
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Jun 18 13:30:03 2015 +0200
-
-    Fix gcc warning regarding uninitialized use of variable
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=751156
-
- gi/pygobject.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-commit 1ed8200abefc3e51e4d2083b1372695aaf4163fb
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sun Jun 21 23:55:02 2015 +0200
-
-    Fix test regression when xdg-user-dirs is not installed.
-
-    GLib.get_user_special_dir is only guaranteed to always return
-    a path in case GLib.UserDirectory.DIRECTORY_DESKTOP is passed.
-    This was unintentionally changed to DIRECTORY_MUSIC
-    in 9948a67e677c8a351f2de1708.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=751299
-
- tests/test_glib.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 79cf1f70d247b5a4d33d1e60107e47903ca76055
-Author: Garrett Regier <garrett.regier@riftio.com>
-Date:   Mon May 18 02:32:18 2015 -0700
-
-    Explicitly check if an override exists instead of ImportError
-
-    If an override depended on another module and it did not
-    exist then the raised ImportError was consumed and assumed
-    to mean that the override did not exist. This makes it
-    difficult to diagnose issues with overrides.
-
-    This uses pkgutil.get_loader() as it is the easier way to
-    determine if a module exists in both Python 2 and 3
-    and avoid deprecated functions.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=749532
-
- gi/overrides/__init__.py | 17 +++++++++++++++--
- 1 file changed, 15 insertions(+), 2 deletions(-)
-
-commit d2faa619f5e204b75315a42fec99dd48fe7fb31c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jun 15 01:24:16 2015 -0700
-
-    configure.ac: post-release version bump to 3.17.2
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6fa54fe868d0e2a9a9d4dc300a61cbfa079681a8
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jun 15 01:20:47 2015 -0700
-
-    release 3.17.1
-
- NEWS | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-commit 2048dc8d1d708abce7037f96483c6d776567d6b5
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Mon Mar 2 20:58:04 2015 +0100
-
-    Add gi.PyGIWarning and use it instead of PyGIDeprecationWarning in
-    case the version to import wasn't specified.
-
-    This makes the warning visible by default.
-    See commit ef3bff4e570363e4f383d4cdae9cecd4073b03d8 for more info
-    on the warning.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727379
-
- gi/__init__.py   |  2 ++
- gi/gimodule.c    |  6 ++++++
- gi/importer.py   |  3 ++-
- tests/test_gi.py | 15 +++++++++++++++
- 4 files changed, 25 insertions(+), 1 deletion(-)
-
-commit 7a3bb6971f22accd25e987496d377e1879f6e1ba
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Sat May 30 17:46:54 2015 +0200
-
-    Remove Gdk.Rectangle alias with newer gobject-introspection and GTK+
-
-    The new GdkRectangle in the typelib confuses the marshalling code
-    as PyGObject uses the Python class from the overrides for marshalling
-    to Python but uses the gtype from the typelib to do
-    type checking when marshalling from Python.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=749625
-
- gi/overrides/Gdk.py | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-commit 64be2069d39b4d2767eb1efd47bb3f268ad7fb0d
-Author: Christoph Reiter <creiter@src.gnome.org>
-Date:   Thu Apr 23 22:03:54 2015 +0200
-
-    overrides: Provide _overrides_module attribute to make gst-python
-    overrides work again.
-
-    gi_gst_fraction_from_value () in gst-python's gstmodule.c tries
-    to access
-    the Gst.Fraction class through
-    gi.repository.Gst._overrides_module.Fraction
-    and failed since _overrides_module was removed in revision
-    149c31beced944c.
-
-    This adds it back pointing to the proxy itself which also contains
-    Gst.Fraction.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=736678#c6
-
- gi/overrides/__init__.py | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 6772e990ad889af817b9224e88ea9d79a04caef7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Apr 13 19:33:40 2015 -0700
-
-    overrides: Conditionalize touch override support in Gdk
-
-    Conditionalize Gdk.EventTouch union discrimination. This fixes the
-    Gdk overrides to continue working with versions of Gdk less than 3.4.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=747717
-
- gi/overrides/Gdk.py | 18 +++++++++++++-----
- 1 file changed, 13 insertions(+), 5 deletions(-)
-
-commit 26c015b177ddcc0f35c97bcd7a4f2114fb2e8e2a
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Mar 29 23:23:09 2015 +0200
-
-    Field setters: Remove unneeded type/range checks and resulting
-    unused code.
-
-    These checks are performed in the actual marshalling code
-    paths as well, no need to do them twice.
-
-    Also move _pygi_g_registered_type_info_check_object() to pygi-info.c
-    as it's the only place where it is still used.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=746985
-
- gi/pygi-argument.c   | 626
- ---------------------------------------------------
- gi/pygi-argument.h   |  12 -
- gi/pygi-info.c       |  90 ++++++--
- tests/test_fields.py |  14 +-
- 4 files changed, 83 insertions(+), 659 deletions(-)
-
-commit dbb0b199268ece884e19eb99093fc26bd7bf92af
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Mar 29 21:51:42 2015 +0200
-
-    pygi-argument: Remove unused imports/includes
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=746985
-
- gi/gimodule.c      | 1 -
- gi/pygi-argument.c | 7 -------
- gi/pygi-argument.h | 2 --
- 3 files changed, 10 deletions(-)
-
-commit 7dee04efff418677eead36ee9ed497cc3eadf8f7
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sun Mar 29 21:47:47 2015 +0200
-
-    Improve test coverage for field setters/getters.
-
-    Field setters are the sole users of the GIArgument value validation
-    code and the error handling is hardly tested. This tries to improve
-    the coverage for the field types available in
-    GLib/Regress/GIMarshallingTests.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=746985
-
- tests/Makefile.am    |   1 +
- tests/test_fields.py | 186
- +++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 187 insertions(+)
-
-commit b0170220fabbf878a36e0c14b0a3024973b7355f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Mar 29 16:35:47 2015 -0700
-
-    configure.ac: post release version bump to 3.17.1
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 46f463a3a3ff45eb8eba67fbb59ecc861b1e1d73
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Mar 24 01:25:25 2015 -0700
-
-    release 3.16.0
-
- NEWS         | 2 ++
- configure.ac | 4 ++--
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-commit bf802599f5d0d13cc4b69f1716400561a16a2443
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 5 01:09:12 2015 -0800
-
-    configure.ac: post release version bump to 3.15.92
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a86f309066f007f9787a6d1ac679dc041740d8dc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 5 01:08:03 2015 -0800
-
-    release 3.15.91
-
- NEWS         | 14 ++++++++++++++
- configure.ac |  2 +-
- 2 files changed, 15 insertions(+), 1 deletion(-)
-
-commit 9948a67e677c8a351f2de17080d7a671882570f3
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Jan 27 17:47:49 2015 +0100
-
-    tests: Don't use deprecated override attributes
-
-    In case the test explicitly tests the deprecated attribute
-    silence the resulting warnings.
-
-    Instead of replacing GObject.PARAM_READWRITE with
-    GObject.ParamFlags.READWRITE use (READABLE | WRITABLE)
-    to not depend on a newer glib version.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=743514
-
- tests/test_everything.py    | 168
- ++++++++++++++++++++++----------------------
- tests/test_gi.py            |  66 ++++++++---------
- tests/test_glib.py          |  33 +++++----
- tests/test_gobject.py       |  21 +++---
- tests/test_internal_api.py  |   4 +-
- tests/test_iochannel.py     |  11 +--
- tests/test_overrides_gtk.py |  20 +++---
- tests/test_properties.py    | 100 ++++++++++++++------------
- tests/test_signal.py        | 111 ++++++++++++++---------------
- tests/test_source.py        |   8 +--
- tests/test_subprocess.py    |   7 +-
- tests/testmodule.py         |   3 +-
- 12 files changed, 292 insertions(+), 260 deletions(-)
-
-commit 9285b23cd1b253baaf06ddd49e2f000716bbf7f3
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Jan 27 16:36:02 2015 +0100
-
-    Add GLib.MINFLOAT etc. and mark GObject.G_MINFLOAT etc. deprecated.
-
-    They are defined in glib, not gobject and not included in the gir;
-    Similar constants like G_MAXINT64 are defined in GLib gir and marked
-    deprecated in the GObject overrides already.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=743514
-
- gi/overrides/GLib.py         | 12 ++++++++++++
- gi/overrides/GObject.py      |  4 +++-
- tests/test_overrides_glib.py |  7 +++++++
- 3 files changed, 22 insertions(+), 1 deletion(-)
-
-commit f74acb38f1410982f3419acb134adf173600e497
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Jan 27 16:06:03 2015 +0100
-
-    Emit PyGIDeprecationWarning when accessing deprecated override
-    attributes.
-
-    Adds a new helper function for overrides to mark a module level
-    attribute
-    as deprecated. A warning will be emitted every time the attribute gets
-    accessed.
-
-    e.g. when marking GObject.STATUS_FOO as deprecated using
-
-       STATUS_FOO = GLib.Status.FOO
-       deprecated_attr("GObject", "STATUS_FOO", "GLib.Status.FOO")
-       __all__.append("STATUS_FOO")
-
-    accessing it will emit
-
-      "GObject.STATUS_FOO is deprecated; use GLib.Status.FOO instead"
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=743514
-
- gi/overrides/GLib.py     | 44 ++++++++++++++++-------
- gi/overrides/GObject.py  | 90
- +++++++++++++++++++++++++-----------------------
- gi/overrides/__init__.py | 74 ++++++++++++++++++++++++++++++++++++++-
- tests/test_gi.py         | 70 +++++++++++++++++++++++++++++++++++++
- 4 files changed, 221 insertions(+), 57 deletions(-)
-
-commit a10df7d28c01d70ee33d8e4e9ddaa23f1990ca60
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Jan 27 19:13:54 2015 +0100
-
-    Add namespace and container name to callable cache and include them
-    in all warnings/error messages.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=743468
-
- gi/pygi-cache.c          | 39 ++++++++++++++++++++++++++++++++++-----
- gi/pygi-cache.h          |  5 +++++
- gi/pygi-closure.c        |  4 +++-
- gi/pygi-invoke.c         | 41 +++++++++++++++++++++++++++++------------
- tests/test_everything.py |  2 +-
- tests/test_gi.py         | 28 ++++++++++++++++++----------
- 6 files changed, 90 insertions(+), 29 deletions(-)
-
-commit 747fc3754c296ad5481d354bbf35521f886c5c61
-Author: Garrett Regier <garrettregier@gmail.com>
-Date:   Sun Mar 1 03:30:46 2015 -0800
-
-    tests: Add test for GIRepository.UnionInfo.get_size()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=745362
-
- tests/test_repository.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 2dcce92b4fab95403b9bbedffa8a91453c947927
-Author: Garrett Regier <garrettregier@gmail.com>
-Date:   Fri Jan 23 01:37:35 2015 -0800
-
-    Avoid duping filenames when marshalling from Python to C
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=744719
-
- gi/pygi-basictype.c | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-commit 26fe8dafb933fa76afd41e45b10a3163a7380c1e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Feb 20 22:06:24 2015 -0800
-
-    configure.ac: post release version bump to 3.15.1
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e8aef305d273ce551da41e74a54c5d03de5a0c2a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Feb 20 22:04:43 2015 -0800
-
-    release 3.15.0
-
- NEWS | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 5dc113283c0a721c4027026bb8de7243585f1289
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Feb 20 21:59:10 2015 -0800
-
-    Ignore deprecation warning for g_option_group_free()
-
- gi/pygoptiongroup.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit d8961622ea748c42171bdb4703e70022035ec3cc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Feb 20 21:52:58 2015 -0800
-
-    tests: Make get_all_dependendencies() test more robust
-
-    Replace array comparison with checking if individual items are in
-    the array.
-    This solves a problem where the returned array might be in a
-    different order
-    as well as future proofs the test in case more dependencies are added.
-
- tests/test_import_machinery.py | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-commit b10ab49afb97655507e2d3b92f621387287a2928
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Feb 20 20:16:35 2015 -0800
-
-    tests: Fix PEP8 error with commented code in test
-
- tests/test_gi.py | 1 -
- 1 file changed, 1 deletion(-)
-
-commit 60de632153a693fb2b0f2ce26208c6ff668bdf4d
-Author: Garrett Regier <garrett.regier@riftio.com>
-Date:   Tue Jan 27 10:39:53 2015 -0800
-
-    Avoid copying bytearrays from Python to C when transfer nothing
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=743278
-
- gi/pygi-array.c  | 23 +++++++++++++++++++----
- tests/test_gi.py | 14 +++++++++++++-
- 2 files changed, 32 insertions(+), 5 deletions(-)
-
-commit a4160892dd28ab1d656cef4d4059f3b3f95caf4a
-Author: Garrett Regier <garrett.regier@riftio.com>
-Date:   Mon Jan 19 14:53:53 2015 -0800
-
-    Allows passing arguments to opaque Boxed types
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=743214
-
- gi/pygi-info.c           |  7 +++++++
- gi/types.py              | 10 +++++++++-
- tests/test_everything.py |  9 +++++++++
- tests/test_glib.py       |  6 +++---
- 4 files changed, 28 insertions(+), 4 deletions(-)
-
-commit ef3bff4e570363e4f383d4cdae9cecd4073b03d8
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Jan 24 20:01:00 2015 +0100
-
-    Emit ImportWarning when gi.require_version() is not used
-
-    gi tries to import the latest version of typelibs which can cause
-    existing code to break when a newer typelib is released.
-    Emit an ImportWarning when gi.require_version() is not used to give
-    developers this awareness so they can future proof their code.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727379
-
- gi/importer.py                 | 99
- +++++++++++++++++++++++++++++++++++++++++-
- gi/pygi-repository.c           | 35 +++++++++++++++
- tests/compat_test_pygtk.py     |  7 ++-
- tests/test_atoms.py            |  6 ++-
- tests/test_import_machinery.py | 22 ++++++++++
- tests/test_overrides_gtk.py    |  7 ++-
- tests/test_overrides_pango.py  |  5 ++-
- tests/test_properties.py       |  5 ++-
- tests/test_repository.py       | 10 +++++
- 9 files changed, 187 insertions(+), 9 deletions(-)
-
-commit 149c31beced944c72fba6ca6e096c81c1100ea2b
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Dec 2 15:38:57 2014 +0100
-
-    Refactor overrides import/modules
-
-    Removes Registry and DynamicModule in favor of a simple module
-    wrapper that
-    contains only overrides and falls back to the introspection module.
-    Moves all the overrides logic into gi.overrides; Speeds up module
-    attribute access
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=736678
-
- gi/importer.py                 |  11 ++--
- gi/module.py                   |  68 ---------------------
- gi/overrides/__init__.py       | 131
- ++++++++++++++++++++++++++++++-----------
- tests/test_gi.py               |   4 --
- tests/test_import_machinery.py |  32 +++++++---
- 5 files changed, 126 insertions(+), 120 deletions(-)
-
-commit 4d0ab13a8461f781986accc637fada3909cfb91a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 21 15:11:39 2014 -0700
-
-    Replace statically bound GLib.Variant.new_tuple() with GI
-
-    Remove the static implementation of _wrap_pyg_variant_new_tuple with
-    usage of the dynamic version coming from GI. Array marshalling has
-    drastically improved in recent years making the dynamic version usable
-    with a small compatibility shim for the arguments.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735199
-
- gi/gimodule.c        | 39 ---------------------------------------
- gi/overrides/GLib.py | 12 +++++-------
- 2 files changed, 5 insertions(+), 46 deletions(-)
-
-commit 17ec0d39069b7a4cc19691ea1284f821caf84d24
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Sep 10 13:30:48 2014 -0700
-
-    overrides: Add Gdk.EventTouch union discrimination
-
-    Add EventTouch to get/setattr pass-through to support BEGIN,
-    UPDATE, END,
-    and CANCEL touch event types. Ensure Gdk.Event methods get_state(),
-    get_axis(), get_coords(), and get_root_coords() are patched onto
-    Gdk.EventTouch.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=736380
-
- gi/overrides/Gdk.py         |  5 +++++
- tests/test_overrides_gdk.py | 12 ++++++++++++
- 2 files changed, 17 insertions(+)
-
-commit 16408a81713157cdf1e3b6bd74bd53e816e9dfda
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jan 3 17:20:14 2015 -0800
-
-    tests: Update pixbuf loader test to not raise exception when closing
-
-    GdkPixbuf commit:
-    https://git.gnome.org/browse/gdk-pixbuf/commit/?id=447bd32650af
-    changed the close() method to raise if the a loader is prematurely
-    closed.
-    Update the test to write a 1x1 PNG stream to ensure close() will
-    succeed.
-
- tests/compat_test_pygtk.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit fd3935541ab4baddb504e000ec659b80923afa13
-Author: Murray Cumming <murrayc@murrayc.com>
-Date:   Tue Dec 2 19:55:51 2014 +0100
-
-    PyGObjectFlags: Remove a trailing comma on the enum.
-
-    Because this produces a g++ pedantic warning.
-
- gi/pygobject.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3b70f5bc8e59e49795fcaa7b285aeff0c4565a04
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Oct 27 20:19:23 2014 -0700
-
-    Remove redefinitions of function and vfunc cache typedefs
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=737874
-
- gi/pygi-cache.h | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit cec9c2b253bdbc1e6493630c533acf6bb4509114
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 22 13:26:24 2014 -0700
-
-    configure.ac: post release version bump to 3.15.0
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f20df385f480b65a8128986ce3df4022b324ade0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 22 12:38:35 2014 -0700
-
-    release 3.14.0
-
- NEWS | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 309d4100a08867d18420586c3b1f8709c360250f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 22 12:24:32 2014 -0700
-
-    configure.ac: pre release version bump to 3.14.0
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 4b7c985aa57f8026da96d174454b308858ebd1cc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 15 15:46:04 2014 -0700
-
-    release 3.13.92
-
- NEWS | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 79bad703a089a4b0c31fcdb143b889667f5fa197
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Sep 12 17:10:04 2014 -0700
-
-    tests: Add test for Gio.Application.add_main_option()
-
- tests/test_gio.py | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-commit a2f98a9ba0b0dda0d3cf59651327e5c93d5479d6
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Sep 11 19:32:53 2014 -0700
-
-    Split test_everything.TestEverything.test_string() into multiple tests
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735193
-
- tests/test_everything.py | 25 +++++++++++++++++++------
- 1 file changed, 19 insertions(+), 6 deletions(-)
-
-commit 6674701b6de02353738b9dc04ab88de23996704e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Sep 11 19:08:53 2014 -0700
-
-    tests: Split array tests up
-
-    Split test_everything.TestEverything.test_array(),
-    test_array_fixed_size(),
-    and test_ptrarray() into functions of a finer granularity. This
-    allows for
-    easier diagnosis of problems and leaks when they occur.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735193
-
- tests/test_everything.py | 37 ++++++++++++++++++++++++++++++++-----
- 1 file changed, 32 insertions(+), 5 deletions(-)
-
-commit d1bae18ba0514864a37bf5d182605e2100c28d7e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Sep 11 16:17:13 2014 -0700
-
-    tests: Split test_strv() into multiple tests
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735193
-
- tests/test_everything.py | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-commit 6181f724bc2c6ea30194c961cb15b2c543a48f95
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Sep 10 19:06:35 2014 -0700
-
-    Fix invalid read error in argument cleanup code
-
-    Always set initial length argument index for arrays to -1. Ensure
-    we don't
-    attempt retrieving Python cleanup arguments until we know it is valid.
-    This was causing an invalid read in test_gi.TestArray.test_array_out()
-
- gi/pygi-array.c           |  1 +
- gi/pygi-marshal-cleanup.c | 13 ++++++++-----
- 2 files changed, 9 insertions(+), 5 deletions(-)
-
-commit 972e944ad4b2aac03c61633b8c277e35395c114c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Sep 10 18:55:45 2014 -0700
-
-    tests: Increase num-callers for valgrind runs
-
-    Additionally split valgrind check variations over multiple lines
-    for readability.
-
- tests/Makefile.am | 23 ++++++++++++++++++++---
- 1 file changed, 20 insertions(+), 3 deletions(-)
-
-commit d70b300c7415dd7b20ff88b09fe835690da19831
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Sep 6 23:58:25 2014 -0700
-
-    Fix memory management problems with struct arguments to signals
-
-    Replicate struct marshaling logic for determining if struct arguments
-    to signals should be passed by reference to callbacks.
-    Maintain a list of these structs and apply an in-place copy of
-    the struct
-    pointer if the struct wrapper is held longer than the duration of the
-    Python callback. This allows for both mutation of struct arguments
-    from
-    callbacks as well as memory safety incase a callbacks holds onto
-    the struct.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=736175
-
- gi/pygi-boxed.c             | 20 ++++++++++++++++++++
- gi/pygi-boxed.h             |  2 ++
- gi/pygi-signal-closure.c    | 43
- +++++++++++++++++++++++++++++++++++++------
- tests/test_overrides_gtk.py |  1 -
- tests/test_signal.py        | 27 +++++++++++++++++++++++++++
- 5 files changed, 86 insertions(+), 7 deletions(-)
-
-commit 09161ff690ad37c94668d5d65191f4d84829d41f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Sep 7 15:53:35 2014 -0700
-
-    Limit foreign struct checks to GI_INFO_TYPE_STRUCT
-
-    Add struct type check before calling g_struct_info_is_foreign().
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=736175
-
- gi/pygi-argument.c       | 11 ++++++++---
- gi/pygi-struct-marshal.c |  7 +++++--
- 2 files changed, 13 insertions(+), 5 deletions(-)
-
-commit 4ebb1f5a4750712bd919a31103ed8c8d6af483b3
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Sep 6 15:16:06 2014 -0700
-
-    tests: Add failing regression test for Gtk.TextBuffer.insert-text
-    signal
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=736175
-
- tests/test_overrides_gtk.py | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-commit 2f355dc4e9724f25c200d30db1c8fbc4695f9ab7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 1 17:36:46 2014 -0700
-
-    configure.ac: post release version bump to 3.13.92
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 68d34721a21bfac1a43252bd92612c2460ea60dd
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 1 17:31:39 2014 -0700
-
-    release 3.13.91
-
- NEWS | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit 8c6cf22d74075b7169512b9e7773a511abb9b759
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 1 16:48:15 2014 -0700
-
-    docs: Skip "Constructors" header for anonymous structs
-
-    Structs which don't have a size or constructor should not procuce
-    any doc
-    string. The trailing "::" was causing a problem with sphinx.
-
- gi/docstring.py         | 8 ++++++--
- tests/test_docstring.py | 3 ++-
- 2 files changed, 8 insertions(+), 3 deletions(-)
-
-commit c1ea60be30ebf11c2e5415180305e4ac3c573f57
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 1 15:21:04 2014 -0700
-
-    docs: Fix error when using may_return_null()
-
-    Fix error with an untested code path opened up by commit 1f78dc0ace.
-
- gi/docstring.py         | 3 ++-
- tests/test_docstring.py | 4 ++++
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-commit 1f78dc0ace5282def9f1f700bfe4523de07e7549
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 29 16:49:14 2014 -0700
-
-    docs: Fix function doc string generator return types
-
-    Change skip_return() access into a function call. This was causing
-    return type doc strings to always be skipped.
-
- gi/docstring.py         | 2 +-
- tests/test_docstring.py | 8 ++++++--
- 2 files changed, 7 insertions(+), 3 deletions(-)
-
-commit 28d0337f0e3d4b0e9c4350ce5d6cf0cb68da843f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 29 14:18:28 2014 -0700
-
-    Special case signal output arguments which are structs as
-    pass-by-reference
-
-    Add a special case which avoids copying of struct arguments marked
-    as output
-    to signals. Since we don't currently support output arguments,
-    users have
-    come to rely on a pass-by-reference bug which was fixed and caused
-    this to
-    regress (bug 722899). Add unittest which is currently failing due
-    to a number
-    of issues with emit() not supporting type annotations or output
-    arguments
-    (bug 735693).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735486
-
- gi/pygi-signal-closure.c    | 41
- +++++++++++++++++++++++++++++++++++------
- tests/test_overrides_gtk.py | 24 ++++++++++++++++++++++++
- 2 files changed, 59 insertions(+), 6 deletions(-)
-
-commit 16f8f687eae0caa1e4059fd62bd1f9d4c7f655f7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Aug 27 23:55:06 2014 -0700
-
-    Ignore closure callbacks when Python is not initialized
-
-    Add an immediate return in ffi closures if Python is not initialized.
-    This fixes rare events when which lead to a segfault when a process
-    is exiting.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=722562
-
- gi/pygi-closure.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 27a14679dce33f64bbb5d77677eba83849f168ff
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Aug 22 21:51:31 2014 -0700
-
-    Change boxed init with args to warn instead of raise
-
-    Replace raising a TypeError in gi.types.Boxed() with a warning.
-    Even though passing arguments or keywords to the parent class is
-    incorrect here, raising an exception was causing a bit of fallout
-    in some apps (Gramps).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727810
-
- gi/pygi-boxed.c  |  5 ++++-
- tests/test_gi.py | 13 +++++++++++--
- 2 files changed, 15 insertions(+), 3 deletions(-)
-
-commit 6008748bd7ecc6e5c933e6902c77d8485b905a6f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 22 02:16:10 2014 -0700
-
-    tests: Add test for GLib.spawn_async_with_pipes()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735213
-
- tests/test_signal.py     |  2 +-
- tests/test_subprocess.py | 17 +++++++++++++++++
- 2 files changed, 18 insertions(+), 1 deletion(-)
-
-commit 983276fb1cbc261d062ef93ba2266d08a5a6f423
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 21 17:16:31 2014 -0700
-
-    Revert "Replace statically bound GLib.Variant.new_tuple() with GI"
-
-    This was accidentally pushed.
-    Revert commit 35c6540c42a01e1155f44533cc09e6c9f94b6613.
-
- gi/gimodule.c        | 39 +++++++++++++++++++++++++++++++++++++++
- gi/overrides/GLib.py | 12 +++++++-----
- 2 files changed, 46 insertions(+), 5 deletions(-)
-
-commit b7a4e68a224ab66f67e45667023f74dd743e6177
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Fri Aug 22 01:04:40 2014 +0200
-
-    Fix crash in GList/GSList marshaling error handling path.
-
-    In case PySequence_GetItem() failed, the retured NULL was passed
-    to PyDECREF.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735201
-
- gi/pygi-list.c   |  4 ++--
- tests/test_gi.py | 16 ++++++++++++++++
- 2 files changed, 18 insertions(+), 2 deletions(-)
-
-commit 35c6540c42a01e1155f44533cc09e6c9f94b6613
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 21 15:11:39 2014 -0700
-
-    Replace statically bound GLib.Variant.new_tuple() with GI
-
-    Remove the static implementation of _wrap_pyg_variant_new_tuple with
-    usage of the dynamic version coming from GI. Array marshalling has
-    drastically improved in recent years making the dynamic version usable
-    with a small compatibility shim for the arguments.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735199
-
- gi/gimodule.c        | 39 ---------------------------------------
- gi/overrides/GLib.py | 12 +++++-------
- 2 files changed, 5 insertions(+), 46 deletions(-)
-
-commit c1d387540a0b2db66e860c574b070051a5431914
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 21 14:37:14 2014 -0700
-
-    Fix reference counting problems with GLib.Variant.new_tuple()
-
-    Always sink the results of g_variant_new_tuple() in the statically
-    bound wrapper. This matches the generic GI marshalling behavior
-    of passing GVariants to Python with transfer-none.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735166
-
- gi/gimodule.c                | 1 +
- tests/test_overrides_glib.py | 7 +++++++
- 2 files changed, 8 insertions(+)
-
-commit 9ce261f27742ba200f70003f162291a375d244d3
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Aug 19 14:57:31 2014 -0700
-
-    configure.ac: Fix darwin builds
-
-    Merge platform_win32 and os_win32 variables/case statements and
-    define "link_python_libs" for win32 as well as darwin.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735068
-
- configure.ac | 30 +++++++++++-------------------
- 1 file changed, 11 insertions(+), 19 deletions(-)
-
-commit 92f0d6ebf9b67729d8253e15fce77b0ad0375573
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Aug 20 13:39:31 2014 -0700
-
-    Skip marshalling NULL output arguments in Python closures
-
-    Skip marshalling optional output arguments which are passed NULL
-    as the memory location. This fixes fallout from bug 727004.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=735090
-
- gi/pygi-closure.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit d7e30c3cacf3cdd550e4dbfe2fa47aea1ae28147
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Aug 18 19:10:36 2014 -0700
-
-    configure.ac: post release version bump to 3.13.91
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 17ba19c2e9b91a1bb8b03fabd4100d436c96975d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Aug 18 19:07:10 2014 -0700
-
-    release 3.13.90
-
- NEWS | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit 6bcfaf6e1e2331b704dd6067d45d6840e87632a2
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Aug 18 18:57:28 2014 -0700
-
-    configure.ac: pre release version bump to 3.13.90
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3b5b590599ca98cc51871878618cd59fc05212d1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Aug 18 02:33:54 2014 -0700
-
-    gtk-demo: Don't use deprecated constructor for Gtk.Label
-
- demos/gtk-demo/demos/pickers.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 5b82051d23f8d759b6fa57a4e9327e300568c89f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Aug 9 02:30:43 2014 -0700
-
-    Fast path Python Property getter when accessed through GObject
-    interfaces
-
-    Break do_get_property() call into a re-usable function.
-    Call do_get_property() Python implementations instead of going
-    through GObject
-    machinery for Python GObjects. This gives a performance boost
-    for Python
-    GObject properties when accessed via. obj.get_property() and
-    obj.props.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=723872
-
- gi/gobjectmodule.c | 11 ++++-------
- gi/pygi-property.c | 35 +++++++++++++++++++++++++++--------
- gi/pygi-property.h |  3 +++
- 3 files changed, 34 insertions(+), 15 deletions(-)
-
-commit 0a99f878e40c8d683157dea69c3c9ac40d13d734
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Aug 9 02:10:11 2014 -0700
-
-    Fast path Python Property getter when accessing descriptor directly
-
-    Call the Python implemented fget() when a property is accessed
-    directly
-    on a Python implemented GObject. This skips going through the GObject
-    machinery which ends up calling fget() and marshalling the results
-    through GValues.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=723872
-
- gi/_propertyhelper.py | 19 +++++++++++++++----
- 1 file changed, 15 insertions(+), 4 deletions(-)
-
-commit 74722386192ad27aac8855d4603d8120af82c98e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Aug 18 02:05:58 2014 -0700
-
-    Don't use GI type for determining pointer extraction from GValues
-
-    Replace usage of g_type_is_a() with G_VALUE_HOLDS() when extracting
-    pointers from GValues being marshalled from properties and signals.
-    This fixes fallout from commit abdfb0f.
-
- gi/pygi-value.c | 10 ++++------
- 1 file changed, 4 insertions(+), 6 deletions(-)
-
-commit 2601011e9eb3b5f391161313ed568e5c4b67c99a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 8 23:58:17 2014 -0700
-
-    Fast path property access for basic types
-
-    Attempt marshalling with pygi_value_to_py_basic_type() prior to
-    looking at
-    GI info. This gives a quick conversion for basic types like bools,
-    ints, and
-    strings without having to go through GIArgument and GI
-    conversions. This
-    gives approximately a 3x performance boost for accessing these
-    types with
-    the unified GValue marshaller.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- gi/pygi-property.c |  9 +++++++++
- gi/pygi-value.c    | 26 ++++++++++++++++++--------
- 2 files changed, 27 insertions(+), 8 deletions(-)
-
-commit 8f4b06f700ed79df32774fad8e2a2a922bfbfbe5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 8 16:31:01 2014 -0700
-
-    Break pyg_value_as_pyobject into two functions
-
-    Add pygi_value_to_py_basic_type() which is limited to handling basic
-    types that don't need introspection information when marshalling
-    to Python.
-    Add pygi_value_to_py_structured_type() for marshalling of structured
-    data
-    which can eventually accept GI type hints.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- gi/pygi-value.c | 74
- +++++++++++++++++++++++++++++++++++++++++++++++----------
- gi/pygi-value.h |  6 +++++
- 2 files changed, 68 insertions(+), 12 deletions(-)
-
-commit b0236d6fde137e0b2ecf7f5556ad5d53c22874bc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 8 20:55:28 2014 -0700
-
-    Unify property getters
-
-    Consolidate duplicate logic into pygi_get_property_value().
-    Use the function for GObject.get_property(), GObject.get_properties(),
-    and GObject.props.
-    Remove overridden expected failures in TestCGetPropertyMethod which
-    now work due to the unification.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=733893
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- gi/pygi-property.c       | 85 +++++++++++++++++++++++++++++-------------
- gi/pygi-property.h       |  4 ++
- gi/pygobject.c           | 97
- +++++++-----------------------------------------
- tests/test_properties.py | 38 -------------------
- 4 files changed, 77 insertions(+), 147 deletions(-)
-
-commit abdfb0fa3f72f9bf822c472d16c90d6b1871610b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 28 19:09:30 2014 -0700
-
-    Merge pygi_get_property_value and _pygi_argument_from_g_value
-
-    Merge duplicated GValue marshaling code which has diverged over time
-    (commits 3606eb20, ee62df4d, e14ebab6, 8cfd596c, 9f50fd21, 0d099bdb,
-    and 216caf59).
-    Use _pygi_argument_to_array within pygi_get_property_value. This
-    is needed
-    in the new code for supporting GI_TYPE_TAG_ARRAY and also fixes
-    bug 669496.
-    Side effects of this change also include support for properties
-    holding
-    G_TYPE_FLAGS and G_TYPE_PARAM.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- gi/pygi-property.c | 140
- +++++------------------------------------------------
- gi/pygi-value.c    |  24 ++++++---
- 2 files changed, 28 insertions(+), 136 deletions(-)
-
-commit 142ff1903d34876db3d1bee5e9782ac49de12313
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 28 04:40:36 2014 -0700
-
-    Never dup data structures when marshaling signal in arguments
-
-    Always assume transfer-none of GValue arguments to signal handlers.
-    A signal handler with arguments marked as transfer-full does not
-    make any sense, so assume they are always transfer-none.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- gi/pygi-signal-closure.c | 4 +---
- gi/pygi-value.c          | 4 +++-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-commit 04816f74194bd2c95b8b958dcf9ed5da5a83e001
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 28 04:23:39 2014 -0700
-
-    Never dup data structures when marshaling from g_object_get_property()
-
-    Always use transfer-none with the results of g_object_get_property()
-    and assume g_value_unset() will cleanup the results. This gives us
-    control over memory of properties and limits property anotations to
-    value typing.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- gi/pygi-property.c | 24 +++++++-----------------
- 1 file changed, 7 insertions(+), 17 deletions(-)
-
-commit 85175047e66dfc0c0263eac91d8056a95d0a60a0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jul 29 19:29:28 2014 -0700
-
-    Refactor boxed wrapper memory management strategy
-
-    Change pygi_boxed_new() to accept "copy_boxed" instead of
-    "free_on_dealloc".
-    This changes memory management so the PyGIBoxed wrapper owns the boxed
-    pointer given to it. Use __del__ instead of dealloc for freeing
-    the boxed
-    memory. This is needed for edge cases where objects like GSource can
-    trigger the finalized callback during de-alloc, resulting in the
-    PyObjects
-    references counts being manipulated and triggering a re-entrant
-    de-alloc.
-    Add hack to keep Gtk.TreeIter.do_iter_next/previous implementations
-    working
-    which rely on pass-by-reference.
-    See also: https://bugzilla.gnome.org/show_bug.cgi?id=734465
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=722899
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- gi/gimodule.c            |  6 +++-
- gi/overrides/GLib.py     |  4 ---
- gi/overrides/GObject.py  |  3 ++
- gi/pygi-boxed.c          | 54 +++++++++++++++++++++++++-------
- gi/pygi-boxed.h          |  4 +--
- gi/pygi-source.c         |  6 ++--
- gi/pygi-struct-marshal.c | 81
- +++++++++++++++++++++++++++++++++++++++++++++---
- tests/test_gi.py         |  1 -
- tests/test_source.py     |  8 +++--
- 9 files changed, 140 insertions(+), 27 deletions(-)
-
-commit 62aed0977090f7099a5e538209f7c680ea22fe12
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Aug 17 19:04:51 2014 -0700
-
-    Replace GObject.signal_query with introspected version
-
-    Remove the static bindings for GObject.signal_query and replace with a
-    Python compatibility shim which utilizes the introspection exposed
-    version
-    of the function.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688792
-
- gi/gobjectmodule.c      | 89
- -------------------------------------------------
- gi/overrides/GObject.py | 39 ++++++++++++----------
- 2 files changed, 21 insertions(+), 107 deletions(-)
-
-commit 4e130d72a5492fc00c61a816eddccdbc4f558b91
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Aug 17 19:03:32 2014 -0700
-
-    Use array lengths specified on struct fields
-
-    Add array length marshalling policy for struct fields. This fixes
-    accessing
-    C array fields on structs which also specify a length field.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688792
-
- gi/pygi-argument.c | 14 ++++++-------
- gi/pygi-argument.h |  4 ++++
- gi/pygi-info.c     | 59
- ++++++++++++++++++++++++++++++++++++++++++++++++++++--
- 3 files changed, 68 insertions(+), 9 deletions(-)
-
-commit c55d029d2d67b5920e9467212e22b0ad58d3ded8
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Aug 17 18:15:23 2014 -0700
-
-    Refactor signal array length marshalling to support a length policy
-
-    Replace passing arrays of data to non-caching array marshallers with
-    a policy
-    closure that can be customized depending on context. In the case
-    of signals,
-    this is mostly scaffolding which will be replaced with caching
-    marshallers.
-    However, it opens the legacy marshaller for usage with struct
-    and object
-    array fields.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688792
-
- gi/pygi-argument.c       | 70
- ++++++++++++++++++++++++++++++++----------------
- gi/pygi-argument.h       | 14 +++++++---
- gi/pygi-signal-closure.c |  8 ++++--
- 3 files changed, 64 insertions(+), 28 deletions(-)
-
-commit 3270dad356c44f5fef7571a9f29b22e7c293fa2c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Aug 17 13:58:10 2014 -0700
-
-    Remove dead code for marshalling array lengths in the context
-    of vfuncs
-
-    Remove usage of the args parameter from _pygi_argument_to_array. This
-    is no
-    longer used because array marshalling for vfuncs is now handled by
-    the cached
-    marshaller.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688792
-
- gi/pygi-argument.c | 24 +++++++++---------------
- 1 file changed, 9 insertions(+), 15 deletions(-)
-
-commit 6046ca87697fe80c6c0eb70f1efcad24de4f4fd8
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Aug 17 21:53:55 2014 -0700
-
-    Fix memory leak with unboxed caller allocated structs
-
-    Take caller-allocates into account when wrapping unboxed structures.
-    This will free the allocated memory when the Python object is
-    de-alloced.
-
- gi/pygi-struct-marshal.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit c607f07f5ae3ca62ee3a2649f84330eaaa8801c6
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Aug 16 22:34:29 2014 -0700
-
-    tests: Add reference count test for signal connection arguments
-
-    Add tests for ensuring reference counts are what we expect for
-    connect() callback, user_data, and swap object (currently broken
-    due to bug 688064).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- tests/test_signal.py | 133
- +++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 133 insertions(+)
-
-commit 7076669aadfc5227144df87277d69ae66865770a
-Author: Tobias Mueller <gnome-bugs@muelli.cryptobitch.de>
-Date:   Sat Aug 16 17:46:50 2014 -0700
-
-    Don't mask GObject sub-class doc strings in meta-class
-
-    If a class has a __doc__ attribute explicitly set, always return it.
-    Only generate doc strings for classes coming from  gi.repository
-    or gi.overrides.
-
-    Co-Authored-By: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=731452
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=734926
-
- gi/types.py             | 12 +++++++++++-
- tests/test_docstring.py |  2 --
- 2 files changed, 11 insertions(+), 3 deletions(-)
-
-commit 4cdca4328da7442be247e775294fc676cf677bb7
-Author: Piotr Iwaniuk <piwaniuk@poczta.onet.pl>
-Date:   Sat Aug 16 15:06:40 2014 -0700
-
-    tests: Add failing tests for GObject sub-class doc-strings
-
-    Add tests for sub-class docstrings set with either doc-string
-    syntax and by setting the __doc__ attribute directly.
-
-    Co-Authored-By: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=731452
-
- tests/test_docstring.py | 39 +++++++++++++++++++++++++++++++++++++++
- 1 file changed, 39 insertions(+)
-
-commit 9328a6721909322f0e1444e5285ae1b7b5bf1e3c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 14 22:47:14 2014 -0700
-
-    configure.ac: post release version bump to 3.13.5
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 49fd1662623f6dbb6af16b9fbfc0fb57707a7eee
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 14 22:42:27 2014 -0700
-
-    release 3.13.4
-
- NEWS | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-commit 0d2e797812ab4e1a745ef97559104691dbb6b824
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 14 18:33:06 2014 -0700
-
-    Fix invalid unref after getting callable container
-
-    Don't unref the results of g_base_info_get_container() because it is
-    transfer-none. This was causing an attempted unref on an invalid
-    object
-    when setting up callback caches for signals.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-cache.c | 2 --
- 1 file changed, 2 deletions(-)
-
-commit 654c28faffc8d956bd31987adca092fa014cc897
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 14 21:31:33 2014 -0700
-
-    tests: Silence valgrindlog and valgrindxml output from forked procs
-
-    This is needed to properly diff valgrind runs between commits.
-
- tests/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 57070585a5d5dbc5f42d6fa6d2c309b36f38dfdc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Aug 13 10:27:01 2014 -0700
-
-    Remove ffi wrapped destroy notify used for closure cleanup
-
-    Remove global ffi wrapper for _pygi_invoke_closure_free() and
-    instead use
-    a pointer to _pygi_invoke_closure_free() directly. There is no need
-    to wrap
-    a known single use function with an ffi closure. Originally
-    introduced in
-    commit 610dd1eec87f.
-
- gi/pygi-closure.c | 49 +------------------------------------------------
- 1 file changed, 1 insertion(+), 48 deletions(-)
-
-commit 3f9b5f890ad1292f12eba1e545084de80b76dab7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Aug 12 22:19:24 2014 -0700
-
-    tests: Update tests for static binding protection to check
-    AttributeErrors
-
- tests/test_import_machinery.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-commit e674340db90c29c556b45e0a8f8b2da72661b738
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Aug 11 23:12:38 2014 -0700
-
-    Use AttributeError for static binding protection
-
-    Replace usage of RuntimeError with AttributeError in the dummy module
-    protecting importing of static bindings. This is needed so we
-    don't break
-    modules like inspect which is used by ipython.
-
- gi/__init__.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 86fb12b3e9b7558000d100f8f212e970ae8c4fd2
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Aug 11 22:47:14 2014 -0700
-
-    Add deprecation warning for connect_object() with non-GObject argument
-
-    GObject.connect_object() accepts any Python object and holds a strong
-    reference to it in the closure defeating the purpose of
-    connect_object().
-    Add a warning so we can eventually limit connect_object() to GObject
-    arguments
-    use the underlying g_signal_connect_object() which holds a weak
-    reference.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688064
-
- gi/pygobject.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 9c54bb9defb681316841158cc63df0b0b85c12f0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Aug 11 22:39:13 2014 -0700
-
-    tests: Add tests for connect_object()
-
-    Add tests for both introspected and non-introspected signals
-    making use
-    of connect_object() and connect_object_after() in combination
-    with GObject
-    and Python object swap data.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- tests/test_signal.py | 139
- +++++++++++++++++++++++++++++++++++++++++++--------
- 1 file changed, 117 insertions(+), 22 deletions(-)
-
-commit 581acc4c56be127b3a724df504bb46a40959fdd9
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Aug 11 21:21:42 2014 -0700
-
-    Add Python implementation of Object.connect_data()
-
-    Add GObject.Object.connect_data() which takes an optional
-    "connect_flags"
-    keyword argument accepting GObject.ConnectFlags enum values. This is
-    for supporting user data swapping (ConnectFlags.SWAPPED).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=701843
-
- gi/overrides/GObject.py |  37 ++++++++++++++++
- tests/test_signal.py    | 109
- ++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 146 insertions(+)
-
-commit b1caef95c4b68b65f3f159563162afde5a0b0939
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Aug 9 02:14:23 2014 -0700
-
-    tests: Add failing tests which verify exceptions raised in property
-    getters
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=575652
-
- tests/test_properties.py | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-commit 19cdbee5a89009da0eb366b9c698a860a7aa92b8
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Fri Aug 8 10:08:23 2014 -0400
-
-    Cleanup input args when marshaling in closures
-
-    The cleanup must happen before setting the out args otherwise
-    the args that cleanup would free are the just set args, not the
-    original ones.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-closure.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7742fab42de5b1f4f8161237fc3cef91fd98791c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 8 02:47:11 2014 -0700
-
-    tests: Fix Python 2 build for newly added test_array_parm()
-
-    Use @unittest.skip() with a string argument as required by Python 2.
-
- tests/test_signal.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3165c17a455652de9a61439428fa40f30120dc6a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 8 02:46:26 2014 -0700
-
-    Remove incorrect and unused casts from tp_free calls
-
-    Arguments to Py_TYPE() do not need to be cast since the macro
-    always casts
-    to a PyObject* internall.
-
- gi/pygi-boxed.c     | 2 +-
- gi/pygi-ccallback.c | 2 +-
- gi/pygi-info.c      | 2 +-
- gi/pygi-struct.c    | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
-commit 74dfec27c6008968cc66a13792dfb02b29c231b6
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 8 02:33:51 2014 -0700
-
-    Fix GCallback Python wrapper leak
-
-    The PyObject wrapper for GCallbacks was not calling tp_free in
-    the custom
-    tp_dealloc class method.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=695130
-
- gi/pygi-ccallback.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit dcf9111a86e01d66943909a0c9f21a181ccc38a6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Aug 8 01:55:21 2014 -0700
-
-    tests: Add failing test for marshalling an array of GValues through
-    signals
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=669496
-
- tests/test_signal.py | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-commit d689d24f271c30612c6a86b5c51d50a1179aedad
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 7 17:52:35 2014 -0700
-
-    tests: Add tests for GApplication local command line handling
-
-    Add various tests which override Gio.Appliction.do_command_line and
-    do_local_command_line.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=690851
-
- tests/test_gio.py | 65
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 65 insertions(+)
-
-commit 59c257ebc47fa725750344dd50dd8eb522536d3c
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Thu Aug 7 12:25:59 2014 -0400
-
-    Add test for a callback with an inout array
-
-    This was broken until the closures used the caches for marshaling.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=702508
-
- tests/test_everything.py | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-commit 9d0c43b2b9f92fff4249e4eb296f00ea73b15af3
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Thu Aug 7 12:06:30 2014 -0400
-
-    Fix raising an error in a constructor
-
-    It should raise a Python exception instead of warnings about
-    a constructor returning NULL.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-cache.c  | 6 +++---
- tests/test_gi.py | 6 ++++++
- 2 files changed, 9 insertions(+), 3 deletions(-)
-
-commit d7b9ef0f5411ebcbb2597c16b221fd3482c535e4
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Wed Aug 6 15:30:58 2014 -0400
-
-    Use the caches for marshaling the arguments in closures
-
-    Changes to object marshaling when the calling context is from
-    C was required to correctly keep the correct floating status.
-
-    The array cache has been modified to set to/from_py_marshaller
-    for the length arg cache. This is required for closures which include
-    the length arg for backwards compatibility. The closure cache takes
-    care to change the length arg cache's meta type so it gets marshalled
-    for closures.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-array.c     |   5 +-
- gi/pygi-basictype.c |   4 +-
- gi/pygi-basictype.h |  36 +++--
- gi/pygi-cache.c     |  30 +++-
- gi/pygi-closure.c   | 403
- ++++++++++++++++++++++++++++------------------------
- gi/pygi-invoke.c    |   3 +-
- 6 files changed, 271 insertions(+), 210 deletions(-)
-
-commit 9337acf98d783777c94d4bcb912a185ba6791efb
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Wed Aug 6 12:14:27 2014 -0400
-
-    Specialize GObject marshaling when called from C
-
-    These are needed otherwise the floating status of
-    the GObject will not be kept.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-object.c | 86
- +++++++++++++++++++++++++++++++++++++++++++++++---------
- 1 file changed, 72 insertions(+), 14 deletions(-)
-
-commit cf295f636b6324a46abbaf329cd6d92c04155d9d
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Wed Aug 6 11:59:09 2014 -0400
-
-    Move special handling of GObject from Python when calling from C
-
-    This will soon be used in the GObject arg cache marshaling when
-    the calling context is C.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-argument.c | 21 +--------------------
- gi/pygi-object.c   | 30 ++++++++++++++++++++++++++++++
- gi/pygi-object.h   |  5 +++++
- 3 files changed, 36 insertions(+), 20 deletions(-)
-
-commit 0d09234ea0399d756ee3fb0d358fab5b0a145657
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Wed Aug 6 11:53:39 2014 -0400
-
-    Always pass along the callable cache to the arg cache constructors
-
-    This will be needed in a future patch which requires that the callable
-    cache is always available.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-array.c     | 20 ++++++++++++--------
- gi/pygi-array.h     |  9 +++++----
- gi/pygi-cache.c     | 34 ++++++++++++++++++++--------------
- gi/pygi-cache.h     |  7 ++++---
- gi/pygi-hashtable.c | 31 +++++++++++++++++--------------
- gi/pygi-hashtable.h |  9 +++++----
- gi/pygi-list.c      | 30 +++++++++++++++++++-----------
- gi/pygi-list.h      |  9 +++++----
- gi/pygi-object.c    | 25 ++++++++++++++-----------
- gi/pygi-object.h    |  3 ++-
- 10 files changed, 103 insertions(+), 74 deletions(-)
-
-commit 203fef99205ce0c46b1530b0d480021ee8b8e325
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Tue Aug 5 10:42:46 2014 -0400
-
-    Set the correct meta type for GErrors when marshaling to Python
-
-    Otherwise we do not pass the GError into python callbacks and
-    we also want to convert these into Python Exceptions.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-error.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2e92809258d04e91c9d22f2fc0de09db2e60c962
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Tue Aug 5 10:37:58 2014 -0400
-
-    Pass the GIArgument to the closure assign functions
-
-    This will be required once we use the caches for marshaling.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-closure.c | 102
- ++++++++++++++++++++++++++----------------------------
- 1 file changed, 50 insertions(+), 52 deletions(-)
-
-commit ca3579db14df278923674c294d07481a7255510f
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Tue Aug 5 10:25:40 2014 -0400
-
-    Use the caches for closures, but not yet for marshaling the arguments
-
-    Instead of using the various GI functions we use the data from
-    the caches.
-    This also fixes generating an arg cache for a closure as it was
-    missing some
-    data or simply setting incorrect data. Also, always included the
-    GITypeInfo
-    until the closures no longer need it for marshaling the arguments.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-cache.c   |  33 +++++++-
- gi/pygi-cache.h   |   4 +
- gi/pygi-closure.c | 245
- +++++++++++++++++++++++++-----------------------------
- gi/pygi-closure.h |   2 +
- 4 files changed, 150 insertions(+), 134 deletions(-)
-
-commit 6a21dab89b59db0afc6d6a22272028ee949b52ad
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Tue Aug 5 10:16:45 2014 -0400
-
-    Correctly set the destroy notify for callbacks in closures
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-closure.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e6d48b4eadbeb1014c4eb140317b579e69eb8d88
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Fri Aug 1 11:40:08 2014 -0400
-
-    Split the callable cache into the different types
-
-    Instead of doing different things based on the various function types
-    this adds vfuncs for generate_args_cache() and invoke() which are then
-    specialized for the various function types. Also add a calling context
-    to the callable cache which is then used to determine the direction
-    when generating the arg caches.
-
-    This is in preparation for adding closure caches.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727004
-
- gi/pygi-cache.c               | 514
- +++++++++++++++++++++++++++++++-----------
- gi/pygi-cache.h               |  96 +++++---
- gi/pygi-ccallback.c           |  16 +-
- gi/pygi-info.c                |   3 +-
- gi/pygi-invoke-state-struct.h |   2 -
- gi/pygi-invoke.c              | 244 ++++++++------------
- gi/pygi-invoke.h              |   4 +
- gi/pygi.h                     |   2 +-
- 8 files changed, 564 insertions(+), 317 deletions(-)
-
-commit 18341f27a5a9770d8caf3192a75737ab2bc06b1e
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Wed Aug 6 08:27:43 2014 +0200
-
-    Generate .dll libraries on windows
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=734288
-
- configure.ac      | 8 ++++++++
- tests/Makefile.am | 8 ++++----
- 2 files changed, 12 insertions(+), 4 deletions(-)
-
-commit d70403357d6b510356dd375304fb97e458fd12b2
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Aug 5 22:45:46 2014 -0700
-
-    Add protection against attempts at importing static bindings
-
-    Clobber gobject, gio, glib, gtk, and gtk.gdk in sys.modules upon
-    importing
-    gi with dummy modules which produce an error upon access.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709183
-
- gi/__init__.py                 | 25 ++++++++++++++++++++++---
- tests/test_import_machinery.py | 24 ++++++++++++++++++++++++
- 2 files changed, 46 insertions(+), 3 deletions(-)
-
-commit 5ca4d25eac0efcc12b02fe53f379ee41e69bf1d2
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Dec 31 16:15:04 2013 -0800
-
-    Update and deprecate gi.overrides.keysyms
-
-    Replace manually assigned keysyms with a dynamically generated version
-    pulling names and values from Gdk via GI. Add a runtime warning when
-    this module is imported.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=721295
-
- gi/overrides/keysyms.py    | 1490
- +-------------------------------------------
- pygtkcompat/pygtkcompat.py |   14 +-
- 2 files changed, 27 insertions(+), 1477 deletions(-)
-
-commit 9eaeba9079c23d7e2837f62e8ed2b26c018351b6
-Author: Alexey Pavlov <alexpux@gmail.com>
-Date:   Tue Aug 5 19:03:38 2014 -0700
-
-    Use -no-undefined for building on Windows
-
-    See LT_INIT([win32-dll]):
-    http://www.gnu.org/software/libtool/manual/html_node/LT_005fINIT.html
-
-    Additionally add PYTHON_LIBS to testhelper.la linking.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=734284
-
- tests/Makefile.am | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 5737a9ec4bf4d9d07a7e3994d91abf9077b342cc
-Author: Alexey Pavlov <alexpux@gmail.com>
-Date:   Tue Aug 5 18:40:53 2014 -0700
-
-    Use python-config for libs when available
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=734289
-
- m4/python.m4 | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-commit 093abb4ed052c768f51c90324c2e40063aa6b9b9
-Author: Alexey Pavlov <alexpux@gmail.com>
-Date:   Tue Aug 5 18:20:25 2014 -0700
-
-    Link gi.so with FFI_LIBS
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=734286
-
- gi/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 9df54d23a15b871fd71c994b97ffe847ff3b9eb5
-Author: Alexey Pavlov <alexpux@gmail.com>
-Date:   Tue Aug 5 15:45:04 2014 +0200
-
-    Include math headers also on mingw
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=734287
-
- gi/pygi-basictype.c | 2 --
- 1 file changed, 2 deletions(-)
-
-commit 964ced98e03c704074d10cc362abfa14c00457ba
-Author: Garrett Regier <Garrett.Regier@riftio.com>
-Date:   Thu Jul 31 10:16:47 2014 -0400
-
-    Added args_offset to the cache instead of checking the function type
-
- gi/pygi-array.c   | 6 ++----
- gi/pygi-cache.c   | 6 +++---
- gi/pygi-cache.h   | 3 +++
- gi/pygi-closure.c | 4 +---
- 4 files changed, 9 insertions(+), 10 deletions(-)
-
-commit 9943d876059201cbee87f072a84234ed774ed932
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Jul 31 21:51:00 2014 -0700
-
-    doap: Update homepage URL and email address
-
- pygobject.doap | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit afef1020a43d91014c34ffcd5a5f66281f2e7cc9
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Jul 31 21:46:37 2014 -0700
-
-    Change maintainer in PKG-INFO to self
-
- PKG-INFO.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 10c4d66574e35cc84bed3c3057b68ad98613d839
-Author: Andre Klapper <a9016009@gmx.de>
-Date:   Thu Jul 31 21:28:12 2014 +0200
-
-    doap: add <programming-language>
-
- pygobject.doap | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit f30001f2b01896577a2b4d956bc4658350e56b8d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jul 30 00:29:01 2014 -0700
-
-    Add GClosure marshalling cleanup
-
-    Add marshalling cleanup for Python callables and boxed GClosures
-    passed as arguments. Make sure the marshaller owns a reference
-    until clean. Fix transfer everything case by adding a new reference.
-    Remove unused header declaration: pygi_arg_gclosure_from_py_marshal
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=695128
-
- gi/pygi-struct-marshal.c | 46
- ++++++++++++++++++++++++++++++++++++++--------
- gi/pygi-struct-marshal.h |  4 ----
- 2 files changed, 38 insertions(+), 12 deletions(-)
-
-commit cf4e830f1b613736ef9586562eb6c0b354165925
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jul 30 12:42:15 2014 -0700
-
-    Remove decrementing argument index for failed marshalling cleanup
-
-    Remove index decrement when cleanup function is called for failed
-    argument
-    marshalling. The decrement is incorrect and causes the failed argument
-    cleanup to be skipped. The decrement also causes cleanup for arguments
-    prior to the failed argument to receive "was_successful" as FALSE,
-    which
-    is also incorrect.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=695128
-
- gi/pygi-invoke.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-commit 662a4421125d126a11ca163c362d205f0c2147c4
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jul 30 12:46:18 2014 -0700
-
-    Use cleanup data for argument marshalling failures
-
-    Use state->args_cleanup_data when cleaning up failed argument
-    marshalling.
-    This was overlooked when cleanup data tracking was implemented
-    (commit 7407367f).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=695128
-
- gi/pygi-marshal-cleanup.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-commit 39746a3b4f307974d8b3f98f7ba2aefe06d897a3
-Author: Olav Vitters <olav@vitters.nl>
-Date:   Wed Jul 30 20:41:37 2014 +0200
-
-    doap category core
-
- pygobject.doap | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 36caa74a276972eee2b18162ac09edc83c30a3cb
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 28 23:51:19 2014 -0700
-
-    tests: Move object property reference count tests to test_properties
-
-    Move and consolidate tests for object property reference counts from
-    tests_object_marshaling to test_properties.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- tests/test_object_marshaling.py | 68
- -----------------------------------------
- tests/test_properties.py        | 36 ++++++++++++++++++++++
- 2 files changed, 36 insertions(+), 68 deletions(-)
-
-commit 15b795354ca5a8f436779ee5d81936af8961acb5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 28 22:20:44 2014 -0700
-
-    tests: Move test_everything.TestProperties into test_properties
-
-    Consolidate property tests found in test_everything into test_property
-    removing redundant tests already found in test_property.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- tests/test_everything.py | 69
- +-----------------------------------------------
- tests/test_properties.py | 59 +++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 60 insertions(+), 68 deletions(-)
-
-commit c691d86c6f5f073f7c1e1e6ddd4311ed27431747
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 28 21:32:44 2014 -0700
-
-    tests: Add tests for get/set_property()
-
-    Re-use the new CPropertiesTestBase class for testing
-    get/set_property()
-    methods.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- tests/test_properties.py | 32 ++++++++++++++++++++++++++++++++
- 1 file changed, 32 insertions(+)
-
-commit 115bc88ad5eb85e0a1821fa4fa2cad5c6df87dcc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 28 21:32:00 2014 -0700
-
-    tests: Break TestPropertiesObject up for re-use
-
-    Refactor TestPropertiesObject into a base class which abstracts
-    get/set
-    property methods. This will allow re-use for testing both
-    get/set_property()
-    and the props accessor.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- tests/test_properties.py | 221
- +++++++++++++++++++++++++----------------------
- 1 file changed, 118 insertions(+), 103 deletions(-)
-
-commit bf0a5c3345e65b6a7475fada4ea240dbe0049a26
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 28 19:32:00 2014 -0700
-
-    tests: Move test_gi.TestPropertiesObject into test_properties
-
-    Move all property testing code into the test_properties module.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726999
-
- tests/test_gi.py         | 233
- ----------------------------------------------
- tests/test_properties.py | 235
- +++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 235 insertions(+), 233 deletions(-)
-
-commit 4941691264970b19b81d435cd58ab18ef6bac9a5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Jul 25 18:33:15 2014 -0700
-
-    pyflakes: Fix legacy print and exception usage under Python 3
-
-    Fix print statements and legacy exception usage in examples.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=731042
-
- examples/properties.py    | 12 ++++++------
- tests/runtests-windows.py |  4 ++--
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-commit c3d3cd2f798cbae7f66d8e57e191b5f9569a713b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Jul 25 17:49:57 2014 -0700
-
-    tests: Ignore warnings for GtkAlignment
-
-    This was causing unittests to bail. Even though this is deprecated,
-    we still need to test its usage in the context of pygtkcompat.
-
- tests/compat_test_pygtk.py | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
-commit 804b89447ae2748c88ad5efe5e6e37d949681b9e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Jul 25 17:40:36 2014 -0700
-
-    tests: Remove usage of deprecated "schema" property in GSettings
-    creation
-
-    Use new and new_with_path instead as the schema property was causing a
-    hard warning which fails the test suite.
-
- tests/test_gio.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 6b806137825891cc6bdad82a68cf3deb087feb70
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Jul 25 17:35:06 2014 -0700
-
-    tests: Ignore stock-id usage warnings
-
-    Add ignore_glib_warnings context manager for easily ignoring warnings
-    caused by stock-id usage. Even though stock-id is deprecated, we still
-    need to test the related Python binding overrides.
-
- tests/test_overrides_gtk.py | 40 ++++++++++++++++++++++++----------------
- 1 file changed, 24 insertions(+), 16 deletions(-)
-
-commit 6b944c4e215a34bc4181c7c708b6d6f2d4898c15
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jun 23 15:55:57 2014 -0700
-
-    configure.ac: post release version bump to 3.13.4
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 58198b6ae426448cde82cad7304018c7c770c0ea
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jun 23 15:53:03 2014 -0700
-
-    release 3.13.3
-
- NEWS | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit cdf8c40768b00d08a1facca696a042efc6e8988f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu May 29 13:02:44 2014 -0700
-
-    demos: Cleanup CSS accordion demo to use a loop for adding buttons
-
-    Also use Gtk.main_quit directly since it has been overridden to accept
-    extra args.
-
- demos/gtk-demo/demos/Css/css_accordion.py | 21 +++------------------
- 1 file changed, 3 insertions(+), 18 deletions(-)
-
-commit ba8380d093d6f84eabcf18c02b248aae8ffc3cf5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue May 27 19:24:20 2014 -0700
-
-    refactor: Move builder connection utilities outside of Builder class
-
-    Move _extract_handler_and_args and _builder_connect_callback into
-    module
-    scope for re-use by GTK+ Composite Templates.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=701843
-
- gi/overrides/Gtk.py         | 83
- ++++++++++++++++++++++++---------------------
- tests/test_overrides_gtk.py |  8 ++---
- 2 files changed, 48 insertions(+), 43 deletions(-)
-
-commit f127fabe9664b243774b76a68e6fce5986aa23a0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue May 27 15:52:10 2014 -0700
-
-    tests: Move TestSignals from test_everything into test_signal
-
-    Move these tests into a more meaningful location.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=701843
-
- tests/test_everything.py | 123
- --------------------------------------------
- tests/test_signal.py     | 131
- +++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 131 insertions(+), 123 deletions(-)
-
-commit da46963a0ce9f796ff4ee4ae2023adfd40ed54ca
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon May 26 04:21:07 2014 -0700
-
-    configure.ac: post release version bump to 3.13.2
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6258adf6c7c604954f0dbc1a9ed8c284114358bc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon May 26 04:18:55 2014 -0700
-
-    release 3.13.2
-
- NEWS | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
-commit 32542a4ba24d413fb6e0d509bff05f4ac3f642a1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon May 26 03:01:13 2014 -0700
-
-    Python 3.4 make check fixes
-
-    Bump GI required version to 1.39.0. This is needed to get rid of
-    expectedFailures which pass when built with 1.39.0 (unexpected
-    successes
-    fail unittesting in Python 3.4).
-    Silence deprecation warning when using imp.reload.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=730411
-
- configure.ac               | 2 +-
- pygtkcompat/pygtkcompat.py | 4 +++-
- tests/test_gi.py           | 1 -
- tests/test_repository.py   | 2 --
- 4 files changed, 4 insertions(+), 5 deletions(-)
-
-commit dbdc662b5743bb54fcc3621db775a6e948ec360c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon May 26 01:53:14 2014 -0700
-
-    tests: Don't use deprecated positional argument for Gio.Settings
-    schema
-
- tests/test_gio.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit d0b23f08eebd4377f066a4483900fe6d09e3795e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 25 23:03:35 2014 -0700
-
-    overrides: Add Gtk.Container.child_get/set overrides
-
-    Add overrides for child_get and child_set to Gtk.Container since these
-    are not introspectable methods.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685076
-
- gi/overrides/Gtk.py         | 10 ++++++++++
- tests/test_overrides_gtk.py | 16 ++++++++++++++++
- 2 files changed, 26 insertions(+)
-
-commit 45a5fb2b0d6c7f46d355c83c73d829532e5a72ce
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 25 22:07:07 2014 -0700
-
-    overrides: Make value argument to Widget.style_get_property optional
-
-    Override Gtk.Widget.style_get_property to optionally accept the
-    "value"
-    argument. If "value" is not supplied, the override will locate
-    the child
-    property value type and create the GValue. Additionally return
-    the resulting
-    GValue converted to a native Python value.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685076
-
- gi/overrides/Gtk.py         | 11 +++++++++++
- tests/test_overrides_gtk.py | 29 +++++++++++++++++++++++++++++
- 2 files changed, 40 insertions(+)
-
-commit 6f5a9a37bcdec5074332b1066396321d40b15d99
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 25 21:08:47 2014 -0700
-
-    overrides: Make value argument to Container.child_get_property
-    optional
-
-    Override Gtk.Container.child_get_property to optionally accept the
-    "value"
-    argument. If "value" is not supplied, the override will locate
-    the child
-    property value type and create the GValue. Additionally return
-    the resulting
-    GValue converted to a native Python value.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685076
-
- gi/overrides/Gtk.py         | 11 +++++++++++
- tests/test_overrides_gtk.py | 47
- +++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 58 insertions(+)
-
-commit bf84915f89fd5fd502b4fb162eef7bc0a48c8783
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Mon Oct 1 06:42:24 2012 -0700
-
-    Add GTypeClass methods as Python GObject class methods
-
-    Take all the methods from an objects type classs and add them
-    as class methods. For instance, GObject.ObjectClass.list_properties
-    is available as GObject.Object.list_properties().
-
-    Co-Authored-By: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685218
-
- gi/types.py             | 13 +++++++++++++
- tests/test_typeclass.py | 13 +++++++++++++
- 2 files changed, 26 insertions(+)
-
-commit 778d05c93e079ba207a250b754bda9377cb47457
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 25 19:05:56 2014 -0700
-
-    Add marshalling coercion for Python classes and instances to
-    GTypeClass
-
-    Automatically marshal Python GObject classes and instances to
-    GTypeClass
-    structs (GObjectClass). This allows usage of the GTypeClass methods by
-    passing a Python GObject class or instance to the GTypeClass method.
-    This is needed to support usage of GTypeClass methods since we don't
-    manually bind GTypeClasses and they are not very well supported with
-    introspection.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685218
-
- gi/pygi-struct-marshal.c | 54 ++++++++++++++++++++++++++++++++++----
- tests/Makefile.am        |  1 +
- tests/test_typeclass.py  | 67
- ++++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 117 insertions(+), 5 deletions(-)
-
-commit 1e606287e1244cba45e3bb174d27f1c01e4f9577
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 25 02:00:00 2014 -0700
-
-    Cleanup struct marshalling function names
-
-    Use a consistent naming scheme for struct marshalling cache related
-    functions. This removes prefixed underscores from function names
-    as well as redundant wording.
-
-    To ignore this commit with git blame use:
-      git blame <this-commit-sha>^ -- gi/pygi-struct-marshal.c
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685218
-
- gi/pygi-argument.c       |  34 ++++----
- gi/pygi-array.c          |   2 +-
- gi/pygi-struct-marshal.c | 221
- ++++++++++++++++++++---------------------------
- gi/pygi-struct-marshal.h |  56 ++++++------
- 4 files changed, 142 insertions(+), 171 deletions(-)
-
-commit bbbfa967d06eb8fdef6d6ebe705cc8df2869ddf3
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri May 16 15:08:35 2014 -0700
-
-    Use accessors for getting and setting PyGParamSpec pointers
-
-    Add pyg_param_spec_get and pyg_param_spec_set macros for getting and
-    setting the GParamSpec pointer field held by the Python wrapper. This
-    is preliminary cleanup work for supporting fundamental types.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=631901
-
- gi/pygi-value.c   |  2 +-
- gi/pygobject.h    |  9 +++++++--
- gi/pygparamspec.c | 22 +++++++++++-----------
- 3 files changed, 19 insertions(+), 14 deletions(-)
-
-commit b49179ba3b39576c0c8fe8586b7091dbbaef8046
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri May 16 14:50:57 2014 -0700
-
-    Use accessors for getting and setting PyGPointer fields
-
-    Add pyg_pointer_get_ptr and pyg_pointer_set_ptr macros for getting and
-    setting the pointer field. This is preliminary cleanup work for
-    supporting
-    fundamental types.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=631901
-
- gi/gimodule.c    |  2 +-
- gi/pygi-struct.c |  6 +++---
- gi/pygobject.h   |  2 ++
- gi/pygpointer.c  | 14 +++++++-------
- 4 files changed, 13 insertions(+), 11 deletions(-)
-
-commit 92fe52243d819ffe91597744a6a1c2362a295bce
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri May 16 14:19:47 2014 -0700
-
-    Use accessors for getting and setting PyGBoxed pointers
-
-    Add pyg_boxed_get_ptr and pyg_boxed_set_ptr macros for getting
-    and setting
-    the boxed pointer field. This is preliminary cleanup work for
-    supporting
-    fundamental types.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=631901
-
- gi/pygboxed.c   | 20 ++++++++++----------
- gi/pygi-boxed.c |  6 +++---
- gi/pygobject.h  |  2 ++
- gi/pygtype.c    |  3 ++-
- 4 files changed, 17 insertions(+), 14 deletions(-)
-
-commit 0a4f13a571cb9bd110f435f8b23ed942e3b007b0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 11 16:04:55 2014 -0700
-
-    tests: Use assertRaises as a context manager for GError test
-
-    Simplify tests/test_error.py:TestMarshalling.test_exception so that
-    it no longer needs to pull exception information out of sys.exc_info.
-
- tests/test_error.py | 14 ++++++--------
- 1 file changed, 6 insertions(+), 8 deletions(-)
-
-commit bc7b0b69f651a118a053106fcae2d7c0f2173430
-Author: Andrew Grigorev <andrew@ei-grad.ru>
-Date:   Sun May 11 23:54:46 2014 +0400
-
-    Replace direct parent class call by super()
-
-    Super works, it just needs the correct class.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=729970
-
- demos/gtk-demo/gtk-demo.py | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-commit de827d00762f2a741f90bc38f8b55518593f4509
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Mar 23 01:59:00 2014 -0700
-
-    Add cairo marshaling support for non-introspected signals
-
-    Add link dependency of cairo-gobject to _gi_cairo_la needed for
-    retrieving
-    the GTypes of cairo classes.
-    Add GValue marshalers for cairo Context, Surface, FontFace,
-    ScaledFont,
-    and Pattern classes.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=694604
-
- gi/Makefile.am          |   2 +
- gi/pygi-foreign-cairo.c | 186
- ++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-type.h          |   1 +
- gi/pygtype.c            |   2 +
- tests/test_cairo.py     |  65 +++++++++++++++++
- 5 files changed, 256 insertions(+)
-
-commit 22a952ec532cc83c8227861a7d5bfa2957608c3f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon May 5 19:37:18 2014 -0700
-
-    [New API] Add gi.require_foreign
-
-    Add gi.require_foreign(namespace, symbol=None) API for determining
-    if a foreign marshaling module is available. This can be used in an
-    applications import statement block to verify the existence of a
-    specific foreign marshaling module (cairo).
-    Additionally it forces loading of the foreign marshaling module as
-    well as the GI repository module. This allows non-introspected signal
-    closures to correctly marshal their arguments (bug 694604).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=707735
-
- gi/__init__.py      | 28 +++++++++++++++++++++++++
- gi/gimodule.c       |  2 ++
- gi/pygi-foreign.c   | 60
- ++++++++++++++++++++++++++++++++++++++++++++++-------
- gi/pygi-foreign.h   |  4 ++++
- tests/test_cairo.py |  9 ++++++++
- 5 files changed, 95 insertions(+), 8 deletions(-)
-
-commit 4ee91a4cd0018d069c7aaf66d83e2f8235f2262a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon May 5 19:48:06 2014 -0700
-
-    tests: Move cairo tests into test_cairo.py
-
-    Move cairo related tests from test_everything.py into test_cairo.py
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=694604
-
- tests/Makefile.am        |  1 +
- tests/test_cairo.py      | 67
- ++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_everything.py | 43 +------------------------------
- 3 files changed, 69 insertions(+), 42 deletions(-)
-
-commit 31ecd935564984068e6646676392122bdc03e42e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon May 5 19:42:59 2014 -0700
-
-    Initialize the foreign API at PyGI load time
-
-    Initialize the foreign struct list at gi._gi module load time. This
-    ensures
-    we always have a valid (non-null) list of foreign marshalers outside
-    of the
-    context of marshaling.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=694604
-
- gi/gimodule.c     |  3 ++-
- gi/pygi-foreign.c | 12 ++++++++----
- gi/pygi-foreign.h |  2 ++
- 3 files changed, 12 insertions(+), 5 deletions(-)
-
-commit def47144b63a1492ebf47a4eadb535f45253ff3a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Mar 22 14:13:01 2014 -0700
-
-    Move pygi foreign API into pygi-foreign-api.h
-
-    Move limited set of APIs necessary for registering foreign marshalers
-    into
-    pygi-foreign-api.h. Remove "_real" from internally used APIs and
-    add necessary
-    includes to the rest of pygobject for calling directly (instead of
-    going through
-    the PyCapsule API within PyGI itself).
-    This is needed to avoid compilation errors when including pygobject.h
-    in
-    foreign marshaling plugins which conflicts with pygobject-private.h.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=694604
-
- gi/Makefile.am           |   1 +
- gi/gimodule.c            |   6 +--
- gi/pygboxed.c            |   1 +
- gi/pygenum.c             |   1 +
- gi/pygflags.c            |   1 +
- gi/pygi-foreign-api.h    |  85 +++++++++++++++++++++++++++++++++++++
- gi/pygi-foreign-cairo.c  |   8 ++--
- gi/pygi-foreign.c        |  10 ++---
- gi/pygi-foreign.h        |  14 +++----
- gi/pygi-property.c       |   8 ++--
- gi/pygi-property.h       |  14 ++++---
- gi/pygi-signal-closure.c |  12 +++---
- gi/pygi-signal-closure.h |  15 +++----
- gi/pygi-type.c           |   4 +-
- gi/pygi-type.h           |   2 +-
- gi/pygi.h                | 107
- -----------------------------------------------
- gi/pygobject.c           |   3 ++
- gi/pygpointer.c          |   1 +
- 18 files changed, 139 insertions(+), 154 deletions(-)
-
-commit 4c2e6914bf0277ebc3a6a4426f33a1b378a04b00
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 4 23:19:30 2014 -0700
-
-    Clobber GLib.Error with custom implementation
-
-    Clobber the introspection GLib.Error class with the custom Python
-    implementation found in gi._error.GError. Update references to
-    GLib.GError
-    to use GLib.Error.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=712519
-
- gi/_error.py         |  3 ++-
- gi/overrides/GLib.py |  9 ++++++---
- gi/pygi-error.c      | 10 +++++-----
- tests/test_error.py  | 24 ++++++++++++------------
- 4 files changed, 25 insertions(+), 21 deletions(-)
-
-commit f80f5ec434ed868ab1f35d6a81537384e753b09d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 4 23:43:50 2014 -0700
-
-    Simplify pygi_error_marshal to use GError initializer arguments
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=712519
-
- gi/pygi-error.c | 25 ++++++-------------------
- 1 file changed, 6 insertions(+), 19 deletions(-)
-
-commit 3083daf420ac1900bb20604c22fd61e5187b4ae8
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 4 04:13:46 2014 -0700
-
-    Add Python implementation of GError
-
-    Add internally used gi/_error.py module as a basis for implementing
-    a unified GError between introspection and static bindings. Patch
-    Python
-    implementations of GError.matches and GError.new_literal in the GLib
-    overrides
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=712519
-
- Makefile.am          |  3 ++-
- gi/_error.py         | 53
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
- gi/_option.py        |  3 ++-
- gi/overrides/GLib.py | 25 ++++++++++++++++++++++++-
- gi/pygi-error.c      | 18 +++++++-----------
- tests/test_error.py  | 37 ++++++++++++++++++++++++++++++++++++
- 6 files changed, 125 insertions(+), 14 deletions(-)
-
-commit 664bfa6fdf2196a0d1449baaca62a9a496121f67
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 4 23:14:27 2014 -0700
-
-    tests: Move GError tests into test_error.py
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=712519
-
- tests/Makefile.am   |  1 +
- tests/test_error.py | 81
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_gi.py    | 49 --------------------------------
- 3 files changed, 82 insertions(+), 49 deletions(-)
-
-commit 649895d83a90cd3a370da215a6f98a606b987419
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 4 00:18:41 2014 -0700
-
-    Consolidate GError related code into pygi-error
-
-    Rename all pyglib_error_* functions to pygi_error_* and move them into
-    pygi-error.[h|c].
-    Register GError as part of the gi._gi module instead of gi._gi._glib.
-    Update all code to use new naming.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=712519
-
- gi/_option.py          |   6 +-
- gi/gimodule.c          |   4 +-
- gi/glibmodule.c        |  19 -----
- gi/gobjectmodule.c     |  54 +-----------
- gi/overrides/GLib.py   |   3 +-
- gi/pygi-argument.c     |   6 +-
- gi/pygi-cache.c        |   4 +-
- gi/pygi-error.c        | 222
- ++++++++++++++++++++++++++++++++++++++++++++++++-
- gi/pygi-error.h        |  21 ++++-
- gi/pygi-invoke.c       |   5 +-
- gi/pyglib-private.h    |   1 -
- gi/pyglib.c            | 199 --------------------------------------------
- gi/pyglib.h            |   5 --
- gi/pygobject-private.h |   3 -
- gi/pygoptioncontext.c  |   3 +-
- gi/pygoptiongroup.c    |   3 +-
- gi/pygspawn.c          |   3 +-
- 17 files changed, 262 insertions(+), 299 deletions(-)
-
-commit 9080215e862a73ddcce16476f4dc4492a88dd3f2
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat May 3 22:56:49 2014 -0700
-
-    Add gi.CallableInfo.can_throw_gerror()
-
-    Add static binding for g_callable_info_can_throw_gerror.
-
- gi/pygi-info.c           | 10 ++++++++++
- tests/test_repository.py | 16 ++++++++++++++++
- 2 files changed, 26 insertions(+)
-
-commit f129e78d579b7897cb86111c524d87b5b12019ad
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat May 3 22:56:03 2014 -0700
-
-    Derive PyCallbackInfo from PyCallableInfo
-
-    Update the static GI bindings for PyGICallbackInfo to derive
-    from PyGICallableInfo. This makes all the gi.CallableInfo methods
-    available to gi.CallbackInfo for use from Python.
-
- gi/pygi-info.c           | 4 ++--
- tests/test_repository.py | 7 +++++++
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-commit 833f96807037e85445ac103d6fb6ad9c4fab65e4
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri May 2 21:36:25 2014 -0700
-
-    PEP8 fixes
-
-    Use infix 'not' instead of prefixed.
-    Don't use double comments (##).
-    Use space between comment and text.
-    Un-comment tests that now work.
-    Move broken (and won't fix) implicit int64 signal tests into
-    a new skipped test function.
-
- gi/overrides/GIMarshallingTests.py |  4 ++--
- gi/overrides/Gio.py                |  4 ++--
- gi/overrides/Gtk.py                |  6 +++---
- gi/types.py                        |  2 +-
- pygtkcompat/pygtkcompat.py         |  4 ++--
- tests/test_everything.py           |  1 -
- tests/test_gi.py                   |  9 +++------
- tests/test_iochannel.py            |  2 +-
- tests/test_option.py               |  2 +-
- tests/test_signal.py               | 28 +++++++++++++---------------
- 10 files changed, 28 insertions(+), 34 deletions(-)
-
-commit 07af141dd8dcac551cb2e962f6bf338b3485006b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Apr 28 14:06:30 2014 -0700
-
-    configure.ac: post release version bump to 3.13.2
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit ba652c1fd9dbef6d3ff57e39b400ea827374a95e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Apr 28 14:00:59 2014 -0700
-
-    release 3.13.1
-
- NEWS | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-commit 3a2bfc8bf01fcae386355bc3652780e198e54d49
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Apr 14 23:33:52 2014 +0200
-
-    Raise TypeError if arguments are passed to Boxed.__init__
-
-    This is a partial revert of
-    https://git.gnome.org/browse/pygobject/commit/?id=2f2069c9efcd8
-    which removed a type check in __new__. This adds it back
-    into __init__. Overrides which define __new__ now have to
-    filter out any arguments in __init__ and not the other way
-    around, which is a bit less surprising in the common case.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727810
-
- gi/overrides/GLib.py  | 6 ++++++
- gi/overrides/Gtk.py   | 6 ++++++
- gi/overrides/Pango.py | 3 +++
- gi/pygi-boxed.c       | 6 ++++++
- tests/test_gi.py      | 4 ++++
- 5 files changed, 25 insertions(+)
-
-commit 906977047df2fb2f394410e4ebf360b69af8dcfe
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Apr 14 15:40:50 2014 +0200
-
-    Gdk.Event: Override __setattr__ to set fields based on the event type
-
-    Pass the setting of attributes through to the underlying union based
-    on event type. This mirrors the logic in __getattr__.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727810
-
- gi/overrides/Gdk.py         |  7 +++++++
- tests/test_overrides_gdk.py | 13 ++++++++++---
- 2 files changed, 17 insertions(+), 3 deletions(-)
-
-commit 78a0508a4d40e3723b36297ba2d42889dabc1cdd
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Mon Apr 14 13:06:02 2014 +0200
-
-    Gdk.Event: Include GdkEventType in __repr__
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727810
-
- gi/overrides/Gdk.py         | 4 ++++
- tests/test_overrides_gdk.py | 4 ++++
- 2 files changed, 8 insertions(+)
-
-commit 23965455f060793ffcbc0d8288527d41a667579c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Apr 14 15:10:01 2014 -0700
-
-    Fix crash with type checking for GObject arguments
-
-    Ensure we have a valid GObject before attempting to call g_type_is_a.
-    Swap conditional blocks to make if condition more readable.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=727604
-
- gi/pygi-object.c                | 19 ++++++++++---------
- tests/test_object_marshaling.py | 35 +++++++++++++++++++++++++++++++++++
- 2 files changed, 45 insertions(+), 9 deletions(-)
-
-commit 2e853f6a31636d6a26ce91eb30be5bb0326474b1
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Mar 30 18:27:59 2014 +0200
-
-    Do not leak info of destroy notify
-
- gi/pygi-closure.c | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-commit f9e504c79c5ef6e1938e4db5b49115689b9f5c3c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Mar 28 19:51:58 2014 -0700
-
-    configure.ac: Update PyGObject wiki link in AC_INIT
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit ee84b5a2c83d88436aec6b62e7a271a3525569e0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 24 18:57:56 2014 -0700
-
-    Ignore GValueArray deprecations
-
-    Wrap calls to GValueArray related calls with
-    G_GNUC_BEGIN/END_IGNORE_DEPRECATIONS.
-    Although GValueArray is deprecated, we still need to support the
-    marshaling of
-    them in PyGObject. The deprecations add noise to the build processes
-    in which
-    new warnings could be lost. Essentially losing the element of surprise
-    a new
-    warning should have on maintainers.
-
- gi/pygi-value.c          | 23 ++++++++++++++++++++---
- tests/testhelpermodule.c |  3 +++
- 2 files changed, 23 insertions(+), 3 deletions(-)
-
-commit ac8b59ee335967efef974ab0aa89128ade9f3d0c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 24 18:09:10 2014 -0700
-
-    Raise ImportError when importing modules not found in repository
-
-    Raise an ImportError with extra information noting the typelib was not
-    found. This removes the need to log a similar message which adds
-    output
-    noise when attempting controlled imports within try/except statements.
-    In Python 2, the additional information is lost but in Python 3 it
-    shows up.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726877
-
- gi/importer.py                 |  9 ++++-----
- tests/test_import_machinery.py | 18 ++++++++++++++++++
- 2 files changed, 22 insertions(+), 5 deletions(-)
-
-commit e604ada06a8ef8f9a06f0638cf183cfeacdc63a9
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 24 18:04:27 2014 -0700
-
-    tests: Rename test_overrides to test_import_machinery
-
-    Rename this test to better suit the contents of the file. This
-    also gives
-    us a more concise location to grow other tests related to import
-    machinery
-    internals.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726877
-
- tests/Makefile.am                                     | 2 +-
- tests/{test_overrides.py => test_import_machinery.py} | 0
- 2 files changed, 1 insertion(+), 1 deletion(-)
-
-commit a863e5ec0ac27de49a0ae261fd3a78745cfe84a0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 24 04:39:47 2014 -0700
-
-    HACKING: Update branch creation instructions to include -b
-
- HACKING | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 1012cfd58c1d41dd6b040a2d14f395e5578f5e79
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 24 04:35:52 2014 -0700
-
-    configure.ac: post release version bump to 3.13.1
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 45eda91eac2f6c8ab1a5c38808f96de760196e90
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 24 03:35:21 2014 -0700
-
-    release 3.12.0
-
- NEWS | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 70020e9934abb39cbccfa49e582fb838465c0490
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 24 03:05:16 2014 -0700
-
-    pre-release version bump to 3.12.0
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit a9a08a0c11e8802cce539f869ea93e1b729e829e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 17 15:17:12 2014 -0700
-
-    configure.ac: post release version bump to 3.11.93
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7283d50de8413e9450820543d0d8fd43e6c24b27
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 17 15:12:33 2014 -0700
-
-    release 3.11.92
-
- NEWS | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit b3b1f38af1ac1bda9d6a3ba50e9b6fa37ae48d96
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 17 14:55:52 2014 -0700
-
-    configure.ac: Remove option to build without libffi
-
-    We've always had a hard dependency on libffi headers.
-    Commit 5798f94b6a727b93 added a direct module dependency on libffi
-    instead of indirect via GI. Remove the option to build without libffi.
-
- configure.ac | 21 +++------------------
- 1 file changed, 3 insertions(+), 18 deletions(-)
-
-commit 1a2438497ffc445fe3f9da06b15085f29317c4ee
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Mar 15 00:50:14 2014 -0700
-
-    docs: Standardize Python doc strings
-
-    Use consistent doc string quotations (three double quotes).
-    Update usage of GObject.GObject in docs to GObject.Object.
-    Use reStructuredText markup for parameter annotations, instance
-    variables,
-    admonitions, and code examples.
-    This allows for better Sphinx documentation generation for the
-    project.
-    Preliminary style guide:
-    https://wiki.gnome.org/Projects/PyGObject/StyleGuide
-
- gi/_option.py            |  67 +++++++++++++++------------
- gi/_propertyhelper.py    |  86 +++++++++++++++++-----------------
- gi/_signalhelper.py      | 117
- ++++++++++++++++++++++++-----------------------
- gi/docstring.py          |  17 ++++---
- gi/glibmodule.c          |   3 +-
- gi/overrides/GLib.py     |  20 ++++----
- gi/overrides/GObject.py  |  39 ++++++++++------
- gi/overrides/Gtk.py      |  28 ++++++++----
- gi/overrides/__init__.py |  66 +++++++++++++-------------
- gi/types.py              |   2 +-
- 10 files changed, 242 insertions(+), 203 deletions(-)
-
-commit 2d268ef661badabcb63e696dab01857d57cb3371
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Mar 15 00:49:00 2014 -0700
-
-    Quote argument names in initializer deprecation warning
-
-    Add quotation marks around names of deprecated positional arguments.
-    This makes the message clearer in stating what has been deprecated
-    in cases when only a single argument is displayed.
-
- gi/overrides/__init__.py | 2 +-
- tests/test_gi.py         | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-commit a070e712526e433c236753813acc3ef300f0d203
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Mar 15 00:35:03 2014 -0700
-
-    docs: Ignore meta-class bases in dynamic docstring generation
-
-    Skip attempts at generating a doc string for GObject meta-class bases
-    since they do not contain an __info__ attribute.
-    This circumvents errors with documentation generators (Sphinx).
-
- gi/types.py | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-commit ec44dea6bbc3f1adfb6c1a2781364a2df0d0e0e6
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 13 10:13:34 2014 -0700
-
-    Update Free Software Foundation addresses
-
-    Update all references to the FSF physical address
-    to use the web address: http://www.gnu.org/licenses
-
- gi/_constants.py                | 4 +---
- gi/_gobject/__init__.py         | 4 +---
- gi/_option.py                   | 4 +---
- gi/_propertyhelper.py           | 4 +---
- gi/_signalhelper.py             | 4 +---
- gi/glibmodule.c                 | 4 +---
- gi/gobjectmodule.c              | 4 +---
- gi/overrides/keysyms.py         | 4 +---
- gi/pygboxed.c                   | 4 +---
- gi/pygboxed.h                   | 4 +---
- gi/pygenum.c                    | 4 +---
- gi/pygenum.h                    | 4 +---
- gi/pygflags.c                   | 4 +---
- gi/pygflags.h                   | 4 +---
- gi/pygi-argument.c              | 4 +---
- gi/pygi-argument.h              | 4 +---
- gi/pygi-boxed.c                 | 4 +---
- gi/pygi-boxed.h                 | 4 +---
- gi/pygi-cache.c                 | 4 +---
- gi/pygi-cache.h                 | 4 +---
- gi/pygi-ccallback.c             | 4 +---
- gi/pygi-ccallback.h             | 4 +---
- gi/pygi-info.c                  | 4 +---
- gi/pygi-info.h                  | 4 +---
- gi/pygi-invoke.c                | 4 +---
- gi/pygi-invoke.h                | 4 +---
- gi/pygi-marshal-cleanup.c       | 4 +---
- gi/pygi-marshal-cleanup.h       | 4 +---
- gi/pygi-repository.c            | 4 +---
- gi/pygi-repository.h            | 4 +---
- gi/pygi-signal-closure.c        | 4 +---
- gi/pygi-struct.c                | 4 +---
- gi/pygi-struct.h                | 4 +---
- gi/pygi-type.c                  | 4 +---
- gi/pygi-type.h                  | 4 +---
- gi/pygi.h                       | 4 +---
- gi/pyginterface.c               | 4 +---
- gi/pyginterface.h               | 4 +---
- gi/pyglib-private.h             | 4 +---
- gi/pyglib-python-compat.h       | 4 +---
- gi/pyglib.c                     | 4 +---
- gi/pyglib.h                     | 4 +---
- gi/pygobject-external.h         | 4 +---
- gi/pygobject.c                  | 4 +---
- gi/pygoptioncontext.c           | 4 +---
- gi/pygoptioncontext.h           | 4 +---
- gi/pygoptiongroup.c             | 4 +---
- gi/pygoptiongroup.h             | 4 +---
- gi/pygparamspec.c               | 4 +---
- gi/pygparamspec.h               | 4 +---
- gi/pygpointer.c                 | 4 +---
- gi/pygpointer.h                 | 4 +---
- gi/pygspawn.c                   | 4 +---
- gi/pygspawn.h                   | 4 +---
- gi/pygtype.c                    | 4 +---
- gi/pygtype.h                    | 4 +---
- pygtkcompat/generictreemodel.py | 4 +---
- tests/test_generictreemodel.py  | 4 +---
- 58 files changed, 58 insertions(+), 174 deletions(-)
-
-commit bbfcebdfdc5e574999221b60520422ea6da82435
-Author: Owen W. Taylor <otaylor@fishsoup.net>
-Date:   Wed Mar 12 18:32:47 2014 -0400
-
-    Handle GI_TRANSFER_EVERYTHING for returns of foreign structures
-
-    Any (transfer full) return of a cairo type other than a path
-    was leaked.
-
-    Pass the transfer type PyGIArgOverrideFromGIArgumentFunc and handle
-    it for the cairo foreign type. For paths we can only handle
-    (transfer full) so throw an error for (transfer none).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=726206
-
- gi/pygi-foreign-cairo.c  | 32 +++++++++++++++++++++++++-------
- gi/pygi-foreign.c        |  3 ++-
- gi/pygi-foreign.h        |  1 +
- gi/pygi-invoke.c         |  1 +
- gi/pygi-struct-marshal.c |  1 +
- gi/pygi.h                |  1 +
- 6 files changed, 31 insertions(+), 8 deletions(-)
-
-commit c5b641cb4eea9ae64a173dcaa4ee5a4accb036f6
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 3 15:20:02 2014 -0800
-
-    configure.ac: post release version bump to 3.11.92
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7816531691a3db3ae1fe74abc85ac37988b67d2b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 3 15:16:43 2014 -0800
-
-    release 3.11.91
-
- NEWS | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 1a63a04eaf2a77c1752b90e80ab571677f27ac3d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 3 06:49:09 2014 -0800
-
-    build: Update release-news to use srcdir
-
-    Use $(top_srcdir)/NEWS for pulling in news items to ensure
-    "make release-news" works in a vpath build environment.
-
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 5798f94b6a727b930b07fe840b0aef264f98a80e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Feb 7 20:16:21 2014 -0800
-
-    Use ffi_call directly instead of g_callable_info_invoke
-
-    Cleanup internal callable cache and state tracking by removing
-    multiple
-    counting schemes for differently sized "in" and "out" argument arrays.
-    Use a single count based on the total number of arguments passed to C
-    (inclusive of instance argument and GError exception where
-    applicable).
-    Size all state tracking arrays to the same size and ensure argument
-    cache
-    indices always line up with these arrays. This cleans up logic
-    which was
-    required by g_callable_info_invoke for splitting "in" and "out"
-    arguments
-    up.
-
-    Cleanup array marshaling which can now rely on the new scheme
-    which ensures
-    the "arg_values" array always points to the correct location for
-    length
-    argument values.
-
-    Cache the ffi_cif struct in PyGICallableCache via GIFunctionInvoker
-    and
-    related GI methods. Overall, these changes can give a performance
-    boost of
-    almost 2x for simple function calls (see ticket for micro benchmarks).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=723642
-
- gi/pygi-array.c               |  26 ++---
- gi/pygi-cache.c               |  61 +++++++++--
- gi/pygi-cache.h               |  10 +-
- gi/pygi-ccallback.c           |   3 +-
- gi/pygi-closure.c             |   6 +-
- gi/pygi-invoke-state-struct.h |  42 +++++---
- gi/pygi-invoke.c              | 241
- +++++++++++++++++++++++-------------------
- gi/pygi-invoke.h              |   2 +-
- gi/pygi-marshal-cleanup.c     |   4 +-
- 9 files changed, 230 insertions(+), 165 deletions(-)
-
-commit ad680ae9c37a0091628a7d66010fbf70aa1a2e43
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 3 04:51:09 2014 -0800
-
-    tests: Move class definition depending on GTK+ within function
-    evaluation
-
-    Move the definition of WindowWithSizeAllocOverride inside of the test
-    function call to so it is lazily defined. This avoids problems
-    running tests
-    on systems without GTK+ installed.
-
- tests/test_overrides_gtk.py | 32 ++++++++++++++++----------------
- 1 file changed, 16 insertions(+), 16 deletions(-)
-
-commit 45d45e7c2704d68a3008f739e501fa332d326b8b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 3 04:45:59 2014 -0800
-
-    tests: Conditionalize usage of GTK+ in tests_generictreemodel
-
-    This allows running make check without GTK+ installed.
-
- tests/test_generictreemodel.py | 16 +++++++++++++---
- 1 file changed, 13 insertions(+), 3 deletions(-)
-
-commit 038563ed620e0d966e385a1779455d9b0e148c41
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 3 04:39:35 2014 -0800
-
-    tests: Conditionalize usage of regress typelib in test_properties
-
-    Unconditional usage of regress breaks tests when PyGObject is
-    built without
-    cairo.
-
- tests/test_properties.py | 27 +++++++++++++++++----------
- 1 file changed, 17 insertions(+), 10 deletions(-)
-
-commit 1fa93ddc51b2d223d772aee7930fc96c0ced0e00
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 3 02:44:12 2014 -0800
-
-    configure.ac: Use -std=c90 and error on declaration-after-statement
-
-    Replace gcc option of -std=c9x with c90 and add
-    -Werror=declaration-after-statement
-    This ensures we keep compatibility with msvc builds.
-
- configure.ac | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit cee414ab5725c51d79a2c6aa1e8760e9fd754545
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Mar 3 02:38:30 2014 -0800
-
-    Use g_snprintf instead of snprintf
-
-    Use g_snprintf for consistency with the rest of gobjectmodule.c
-
- gi/gobjectmodule.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b016ae6793839b2a6a00a69d00de30937bc611be
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Feb 27 04:27:41 2014 -0800
-
-    Use C style comments
-
-    Update various locations which use C99 single line comments to
-    conform to
-    C90 style comments. Found with: make CFLAGS="-std=C90"
-
- gi/gimodule.c      | 2 +-
- gi/pygi-array.c    | 3 ++-
- gi/pygi-property.c | 2 +-
- gi/pygtype.c       | 2 +-
- 4 files changed, 5 insertions(+), 4 deletions(-)
-
-commit df7cba1495c167f1019dec7f4398dc5de62a5937
-Author: Chun-wei Fan <fanchunwei@src.gnome.org>
-Date:   Tue Feb 25 14:38:41 2014 +0800
-
-    Fix Build on Visual Studio
-
-    Some items from pygi-enum-marshal.c were moved to pygi-basictype.c,
-    which
-    included the use of the NAN and INFINITY macros/constants, so the
-    definitions for those need to be moved to pygi-basictype.c as well.
-    Also
-    avoid defining a variable in the middle of the block.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=725122
-
- gi/pygi-basictype.c    | 16 ++++++++++++++++
- gi/pygi-cache.c        |  3 ++-
- gi/pygi-enum-marshal.c | 16 ----------------
- 3 files changed, 18 insertions(+), 17 deletions(-)
-
-commit bb5550bc85ac0ff60ea39912416e347f27853fb4
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 17 17:22:40 2014 -0800
-
-    Update release steps to be more explicit in regards to NEWS
-
-    Add an explicit step to commit the NEWS changes and push prior
-    tagging.
-
- HACKING | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-commit c6ac95286bce858f1925a9d6173a91866d7e9f88
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 17 17:18:10 2014 -0800
-
-    configure.ac: post release version bump to 3.11.91
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f87e341c5528d066371d4ec493956db28dd0bafa
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 17 17:08:13 2014 -0800
-
-    release 3.11.90
-
- NEWS | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 9b345b153e86ca6c9b7290cf2ad3b38f6ad9d0e5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Feb 12 10:28:35 2014 -0800
-
-    Use GObject type checking for instance arguments
-
-    Add a g_type_is_a check to interface/object instance arguments
-    in addition
-    to the Python IsInstance check. This loosens restrictions on
-    overrides which
-    don't use gi.overrides.override() and is needed to keep API
-    compatibility
-    which broke with commit:
-    https://git.gnome.org/browse/pygobject/commit/?id=d5925b76
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=724009
-
- gi/pygi-object.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-commit 419e13e1717b725d5c6815bae9672649b0afddd4
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 3 15:58:30 2014 -0800
-
-    configure.ac: post release version bump to 3.11.90
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 57bceaac1d84ffd03f49d8e83a4c8507c9127a41
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 3 15:51:27 2014 -0800
-
-    release 3.11.5
-
- NEWS | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-commit 058d944e3b9ef9157e912e6374b54a2eb5f7f5d1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 3 06:45:09 2014 -0800
-
-    Restore pygobject_version API needed for pygobject.h
-
-    Add gi._gobject.pygobject_version which was removed with commit:
-    https://git.gnome.org/browse/pygobject/commit/?id=2624bd2b
-    This is needed for pygobject.h to function properly.
-
- gi/_gobject/__init__.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit f3be4cedcb1d395a3fabee95d7460bce86268153
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 3 06:29:07 2014 -0800
-
-    cache refactoring: Add comments to arg cache setup functions
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/pygi-cache.c | 36 ++++++++++++++++++++++++++++++++++++
- 1 file changed, 36 insertions(+)
-
-commit 56ac6bd9ed99d6bb2cb8641581a594105036be68
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 3 06:24:18 2014 -0800
-
-    cache refactoring: Use consistent prefix for arg cache functions
-
-    Use "pygi_arg_cache" as the prefix for arg cache memory related
-    functions.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/pygi-array.c          |  6 ++--
- gi/pygi-basictype.c      |  4 +--
- gi/pygi-cache.c          | 74
- ++++++++++++++++++++++++------------------------
- gi/pygi-cache.h          | 58 ++++++++++++++++++++-----------------
- gi/pygi-ccallback.c      |  2 +-
- gi/pygi-closure.c        |  6 ++--
- gi/pygi-enum-marshal.c   |  4 +--
- gi/pygi-error.c          |  4 +--
- gi/pygi-hashtable.c      | 30 ++++++++++----------
- gi/pygi-info.c           |  2 +-
- gi/pygi-invoke.c         |  2 +-
- gi/pygi-list.c           |  2 +-
- gi/pygi-object.c         |  2 +-
- gi/pygi-struct-marshal.c |  2 +-
- 14 files changed, 102 insertions(+), 96 deletions(-)
-
-commit 204f5a187782c5325ed6bed96c9a940f3aa67d04
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Jan 12 12:26:30 2014 -0800
-
-    marshal refactoring: Move GValue marshaling from pytype into
-    pygi-value
-
-    Move marshaling of GValues to and from PyObjects into
-    pygi-value.c. Make
-    PyGTypeMarshal struct and related functions accessible via pygtype.h.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/gobjectmodule.c       |   2 +
- gi/pygi-struct-marshal.c |   1 +
- gi/pygi-value.c          | 720
- +++++++++++++++++++++++++++++++++++++++++++++-
- gi/pygi-value.h          |  12 +
- gi/pygobject-private.h   |  16 --
- gi/pygobject.c           |   2 +-
- gi/pygtype.c             | 728
- +----------------------------------------------
- gi/pygtype.h             |  17 ++
- 8 files changed, 757 insertions(+), 741 deletions(-)
-
-commit b8120d848dc5d36832123b1a913015f6e1fd8cdc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Jan 12 11:41:20 2014 -0800
-
-    marshal refactoring: Move GIArgument from GValue code to new file
-
-    Add gi/pygi-value.h and .c files with initial contents of
-    _pygi_argument_from_g_value. Eventually this file will contain
-    all code
-    related to GValue marshaling from various code locations in the
-    project.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/Makefile.am           |   2 +
- gi/pygi-argument.c       | 126 +----------------------------------------
- gi/pygi-argument.h       |   3 -
- gi/pygi-signal-closure.c |   1 +
- gi/pygi-value.c          | 144
- +++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-value.h          |  32 +++++++++++
- 6 files changed, 180 insertions(+), 128 deletions(-)
-
-commit c2d5857e9b964427190e1230be32ae7919e86bc0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 12 21:26:55 2013 -0700
-
-    cache refactoring: Move enum and flags arg setup and marshaling to
-    new file
-
-    Move enum and flags argument cache setup and marshaling fragments into
-    isolated file: pygi-enum-marshal.c. Remove pygi-marshal-from/to files.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/Makefile.am            |   6 +-
- gi/pygi-argument.c        |   2 -
- gi/pygi-cache.c           |  74 ++-------
- gi/pygi-enum-marshal.c    | 408
- ++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-enum-marshal.h    |  42 +++++
- gi/pygi-marshal-from-py.c | 206 -----------------------
- gi/pygi-marshal-from-py.h |  57 -------
- gi/pygi-marshal-to-py.c   | 152 -----------------
- gi/pygi-marshal-to-py.h   |  34 ----
- 9 files changed, 464 insertions(+), 517 deletions(-)
-
-commit 1d0f120d77582509b4e75d83f500a1ace7ed6421
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 12 20:00:12 2013 -0700
-
-    cache refactoring: Move various struct arg setup and marshaling to
-    new file
-
-    Move struct (boxed, union, gvalue, gclosure, variant, and pointer)
-    argument
-    cache setup and marshaling fragments into isolated file:
-    pygi-struct-marshal.c.
-    Remove redundant and dead code related to boxed and union marshaling.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/Makefile.am            |   2 +
- gi/pygi-argument.c        |   1 +
- gi/pygi-array.c           |   3 +
- gi/pygi-cache.c           |  72 +------
- gi/pygi-cache.h           |   1 +
- gi/pygi-marshal-cleanup.c |  48 -----
- gi/pygi-marshal-cleanup.h |  16 --
- gi/pygi-marshal-from-py.c | 288 --------------------------
- gi/pygi-marshal-from-py.h |  33 ---
- gi/pygi-marshal-to-py.c   | 120 -----------
- gi/pygi-marshal-to-py.h   |  27 ---
- gi/pygi-object.c          |   2 +-
- gi/pygi-struct-marshal.c  | 516
- ++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-struct-marshal.h  |  73 +++++++
- 14 files changed, 607 insertions(+), 595 deletions(-)
-
-commit 4dcaa2b988239e01224994098c3e7cbe8b455fe0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 12 16:40:58 2013 -0700
-
-    cache refactoring: Move GObject arg setup and marshaling into new file
-
-    Move GObject argument cache setup and marshaling fragments into
-    isolated file: pygi-object.c.
-    Break GIInterfaceCache creation and setup into API for interface based
-    argument cache usage.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/Makefile.am            |   2 +
- gi/pygi-argument.c        |   7 +-
- gi/pygi-cache.c           | 183 ++++++++++++++-----------------
- gi/pygi-cache.h           |   7 ++
- gi/pygi-marshal-cleanup.c |  27 -----
- gi/pygi-marshal-cleanup.h |  10 --
- gi/pygi-marshal-from-py.c | 123 ---------------------
- gi/pygi-marshal-from-py.h |  12 --
- gi/pygi-marshal-to-py.c   |  31 ------
- gi/pygi-marshal-to-py.h   |   8 --
- gi/pygi-object.c          | 273
- ++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-object.h          |  46 ++++++++
- 12 files changed, 416 insertions(+), 313 deletions(-)
-
-commit 2cddba811592fbb990322fbf2dce516ffd7e94cd
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 12 12:39:20 2013 -0700
-
-    cache refactoring: Move closure setup and marshaling into pygi-closure
-
-    Move closure argument caching and marshaling fragments into
-    pygi-closure.c.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/pygi-cache.c           | 111 ++--------------
- gi/pygi-cache.h           |   9 --
- gi/pygi-closure.c         | 314
- +++++++++++++++++++++++++++++++++++++++++++++-
- gi/pygi-closure.h         |  13 +-
- gi/pygi-marshal-cleanup.c |  14 ---
- gi/pygi-marshal-cleanup.h |   5 -
- gi/pygi-marshal-from-py.c | 160 -----------------------
- gi/pygi-marshal-from-py.h |   6 -
- gi/pygi-marshal-to-py.c   |  13 --
- gi/pygi-marshal-to-py.h   |   4 -
- 10 files changed, 333 insertions(+), 316 deletions(-)
-
-commit 18d8274724484a27e05d2e60baac1f20c72b6d2b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 12 11:30:36 2013 -0700
-
-    cache refactoring: Move GError arg setup and marshaling to new file
-
-    Move GError argument caching and marshaling fragments into
-    isolated file: pygi-error.c.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/Makefile.am            |   2 +
- gi/pygi-cache.c           |  93 ++++++++++++---------------------------
- gi/pygi-error.c           | 109
- ++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-error.h           |  35 +++++++++++++++
- gi/pygi-marshal-from-py.c |  13 ------
- gi/pygi-marshal-from-py.h |   6 ---
- gi/pygi-marshal-to-py.c   |  22 ----------
- gi/pygi-marshal-to-py.h   |   4 --
- 8 files changed, 174 insertions(+), 110 deletions(-)
-
-commit c45cafd07fc62ad545f3e58f2b7350ee4b2bb9b7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 12 03:07:53 2013 -0700
-
-    cache refactoring: Move GArray arg setup and marshaling into new file
-
-    Move GArray argument caching and marshaling fragments into an
-    isolated file: pygi-array.c.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/Makefile.am            |   2 +
- gi/pygi-array.c           | 906
- ++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-array.h           |  42 +++
- gi/pygi-cache.c           | 236 +-----------
- gi/pygi-marshal-cleanup.c | 150 --------
- gi/pygi-marshal-cleanup.h |  10 -
- gi/pygi-marshal-from-py.c | 354 ------------------
- gi/pygi-marshal-from-py.h |   6 -
- gi/pygi-marshal-to-py.c   | 210 -----------
- gi/pygi-marshal-to-py.h   |   4 -
- 10 files changed, 963 insertions(+), 957 deletions(-)
-
-commit 4697a3793b46a803c6dbef749ba75c0fee80020d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 11 23:26:08 2013 -0700
-
-    cache refactoring: Move GList/GSList arg setup and marshaling into
-    new file
-
-    Move GList and GSList argument caching and marshaling fragments
-    into an
-    isolated file: pygi-list.c.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/Makefile.am            |   2 +
- gi/pygi-cache.c           |  71 ++-----
- gi/pygi-list.c            | 466
- ++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-list.h            |  38 ++++
- gi/pygi-marshal-cleanup.c |  80 --------
- gi/pygi-marshal-cleanup.h |  10 -
- gi/pygi-marshal-from-py.c | 156 ----------------
- gi/pygi-marshal-from-py.h |  12 --
- gi/pygi-marshal-to-py.c   |  98 ----------
- gi/pygi-marshal-to-py.h   |   8 -
- 10 files changed, 517 insertions(+), 424 deletions(-)
-
-commit c48ddacf4479d2cf80beb9c614cdce2a61599b3b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 11 21:30:45 2013 -0700
-
-    cache refactoring: Break sequence cache up for array vs list
-
-    Add new arg cache type specialized for arrays. This cleans up
-    the basic
-    sequence cache type which does not need length and size related
-    info. Remove
-    fixed length checks from GList and GSList from_py marshaling
-    because these
-    will always be -1.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/pygi-cache.c           | 160
- +++++++++++++++++++++++++++++++++++-----------
- gi/pygi-cache.h           |  16 ++++-
- gi/pygi-invoke.c          |   4 +-
- gi/pygi-marshal-cleanup.c |  28 ++++----
- gi/pygi-marshal-from-py.c |  37 ++++-------
- gi/pygi-marshal-to-py.c   |  23 +++----
- 6 files changed, 177 insertions(+), 91 deletions(-)
-
-commit c1a2a86a7b51f4dc5a5da9f8808552c38acadf9d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 11 20:12:01 2013 -0700
-
-    cache refactoring: Move basic type arg setup and marshaling into
-    new file
-
-    Move all basic type arg caching and marshaling fragments into
-    an isolated
-    file where most functions are made static. pygi-basictype.h exposes:
-    pygi_arg_basic_type_new_from_info, _pygi_marshal_from_py_basic_type,
-    and
-    _pygi_marshal_to_py_basic_type which allows continued use for all
-    marshaling
-    code paths.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/Makefile.am            |   2 +
- gi/pygi-argument.c        |   1 +
- gi/pygi-basictype.c       | 824
- ++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-basictype.h       |  42 +++
- gi/pygi-cache.c           |  82 +----
- gi/pygi-cache.h           |   1 +
- gi/pygi-marshal-cleanup.c |  26 --
- gi/pygi-marshal-cleanup.h |  10 -
- gi/pygi-marshal-from-py.c | 478 ---------------------------
- gi/pygi-marshal-from-py.h |  18 -
- gi/pygi-marshal-to-py.c   | 155 ---------
- gi/pygi-marshal-to-py.h   |  11 -
- 12 files changed, 880 insertions(+), 770 deletions(-)
-
-commit 4a6bf3be49cc5aec7287c41ec02c78d60df1d44c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 11 17:39:31 2013 -0700
-
-    cache refactoring: Move PyGIHashCache and related marshaling into
-    new file
-
-    Re-organize hash table arg cache and its marshaling by moving all
-    related code fragments into an isolated file where most of it is made
-    static. pygi-hashtable.h exposes a single function:
-    pygi_arg_hash_table_new_from_info. This is all the caching system
-    needs to
-    produce the proper bits for handling hash table marshaling.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/Makefile.am            |   4 +-
- gi/pygi-cache.c           | 103 +-----------
- gi/pygi-cache.h           |  21 ++-
- gi/pygi-hashtable.c       | 413
- ++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-hashtable.h       |  35 ++++
- gi/pygi-marshal-cleanup.c |  63 -------
- gi/pygi-marshal-cleanup.h |  10 --
- gi/pygi-marshal-from-py.c | 125 --------------
- gi/pygi-marshal-from-py.h |   6 -
- gi/pygi-marshal-to-py.c   |  85 ----------
- gi/pygi-marshal-to-py.h   |   4 -
- 11 files changed, 471 insertions(+), 398 deletions(-)
-
-commit 983d0c2252f91e63d5fa0222ef2b67722cb97434
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 11 15:49:32 2013 -0700
-
-    cache refactoring: Separate ArgCache creation and setup
-
-    Move PyGIArgCache and PyGIInterfaceCache generic setup into standalone
-    functions: pygi_arg_base_setup and pygi_arg_interface_setup
-    respectively.
-    Shift argument order and move arguments which will eventually
-    be removed
-    from the signature into the tail with comment. Isolate special
-    casing for
-    GI_INFO_TYPE_CALLBACK ArgCache creation to a single location in
-    _arg_cache_new_for_interface.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709700
-
- gi/pygi-cache.c | 263
- ++++++++++++++++++++++++++++++++------------------------
- gi/pygi-cache.h |  15 ++++
- 2 files changed, 167 insertions(+), 111 deletions(-)
-
-commit 0af98aca40fe266d1fd93caaa7256bb92ba1d3e4
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Feb 2 15:52:24 2014 -0800
-
-    tests: Add skip and expectedFailure to test_gi.test_callback_owned_box
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=722899
-
- tests/test_gi.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit e79d2acc54c1e3b052835de5de20feb0b7069476
-Author: Mike Gorse <mgorse@suse.com>
-Date:   Fri Jan 24 05:17:06 2014 -0600
-
-    tests: Add test for an owned boxed struct passed in a callback
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=722899
-
- tests/test_gi.py | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-commit b12ceed8cc5fa398cea2061813aac6a5ba100b6f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Jan 23 17:19:12 2014 -0800
-
-    Rename gi.types.GIObjectMeta to gi.types.GObjectMeta
-
-    Rename GIObjectMeta to GObjectMeta reverting it to its original
-    name prior
-    to commit https://git.gnome.org/browse/pygobject/commit/?id=2624bd2b
-    That change could have been considered an API break for anyone
-    deriving from
-    gi.types.GObjectMeta since it is essentially public API. Rename
-    base meta
-    class to _GObjectMetaBase which was previously gi._gobject before
-    commit 2624bd2b (private API).
-
- gi/module.py |  8 ++++----
- gi/types.py  | 10 +++++-----
- 2 files changed, 9 insertions(+), 9 deletions(-)
-
-commit 15fdd827ce4bff847fb35c817c6ea2d3650eec00
-Author: Patrick Welche <prlw1@cam.ac.uk>
-Date:   Thu Jan 23 23:49:51 2014 +0000
-
-    build: Add --without-common configure option for package maintainers
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=721646
-
- Makefile.am    | 2 ++
- configure.ac   | 7 +++++++
- gi/Makefile.am | 2 ++
- 3 files changed, 11 insertions(+)
-
-commit df21dbbc84fa319af2a0f0664de436ca30df616e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Jan 16 16:33:41 2014 -0800
-
-    tests: Add skipped test for GLib.Source inheritance problems
-
-    Add test showing memory problems with sub-classes of GLib.Source.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=722387
-
- tests/test_source.py | 45 +++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 45 insertions(+)
-
-commit 7222a37a4b4955fe6c1dcc86e0eb798d653711e8
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jan 15 12:51:57 2014 -0800
-
-    Fix reference sharing of gi sub-modules in Python 2
-
-    Ensure we add a new reference to sub-modules added to gi._gi. This may
-    have caused GC errors upon exiting the Python process since a
-    reference was
-    shared by sys.modules and gi._gi.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=722274
-
- gi/gimodule.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-commit 8c838b683220bcbf2091bba97b91ddb56b275aed
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jan 14 23:46:44 2014 -0800
-
-    demo: Add TreeModel interface implementation demonstration
-
-    Add demo which shows how to implement the Gtk.TreeModel interfaces
-    virtual
-    methods.
-
- demos/gtk-demo/demos/TreeView/treemodel_large.py | 143
- +++++++++++++++++++++++
- 1 file changed, 143 insertions(+)
-
-commit 911898bac5d0ad5a42ed9990588bd98871f4a8a4
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jan 14 23:33:16 2014 -0800
-
-    demo: Remove "Icon View" and "Tree View" directories
-
- demos/gtk-demo/demos/Icon View/__init__.py         |   0
- demos/gtk-demo/demos/Icon View/iconviewbasics.py   | 220 ----------------
- demos/gtk-demo/demos/Icon View/iconviewedit.py     |  98 --------
- demos/gtk-demo/demos/Tree View/__init__.py         |   0
- demos/gtk-demo/demos/Tree View/liststore.py        | 210 ----------------
- .../gtk-demo/demos/Tree View/treemodel_filelist.py | 234
- -----------------
- .../gtk-demo/demos/Tree View/treemodel_filetree.py | 279
- ---------------------
- 7 files changed, 1041 deletions(-)
-
-commit f89fa08ba756a1c529ff48beb39025f834a249bf
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jan 14 23:08:33 2014 -0800
-
-    demo: Remove spaces from demo sub-directories
-
-    Move "Icon View" to IconView and "Tree View" to TreeView. This
-    will help
-    ability to package the demos in tarball releases in future versions.
-
- demos/gtk-demo/demos/IconView/__init__.py          |   0
- demos/gtk-demo/demos/IconView/iconviewbasics.py    | 220 ++++++++++++++++
- demos/gtk-demo/demos/IconView/iconviewedit.py      |  98 ++++++++
- demos/gtk-demo/demos/TreeView/__init__.py          |   0
- demos/gtk-demo/demos/TreeView/liststore.py         | 210 ++++++++++++++++
- .../gtk-demo/demos/TreeView/treemodel_filelist.py  | 234
- +++++++++++++++++
- .../gtk-demo/demos/TreeView/treemodel_filetree.py  | 279
- +++++++++++++++++++++
- 7 files changed, 1041 insertions(+)
-
-commit 0b7d85f3379adfb3cf1122588e333707ee089e46
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jan 14 14:28:52 2014 -0800
-
-    build: Remove _glib directory include from testhelper CFLAGS
-
- tests/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 35b5a85aad91f48935dd49fee60d69e6184eff2c
-Author: Colin Walters <walters@verbum.org>
-Date:   Tue Jan 14 16:33:38 2014 -0500
-
-    build: Set PLATFORM_VERSION again to 3.0
-
-    We are installing headers to:
-    /usr/include/pygobject-$(PLATFORM_VERSION)/pygobject.h
-
-    If the variable isn't set, then things attempting to use pygobject
-    obviously fail.
-
-    This was a regression from a build system refactoring.
-
- gi/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit f2a79904ff4d60bff657bfbfd6a2ce8ab9307848
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jan 14 12:54:42 2014 -0800
-
-    Fix Python 2 build warning for module definitions
-
-    Define PYGLIB_MODULE_ERROR_RETURN as NULL for both Python 2 and
-    3. This is
-    needed now that the function signature created with
-    PYGLIB_MODULE_START is
-    consistent between the two versions.
-
- gi/pyglib-python-compat.h | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-commit 61b4af05646a8f014cfb00a5507fec2deb9aafa6
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jan 14 12:26:16 2014 -0800
-
-    tests: Run PyFlakes and PEP8 only on SUBDIRS
-
-    Move PyFlakes and PEP8 checks into check-local of the root
-    Makefile.am. Only
-    run these tools on selective subdirs of top_srcdir. This fixes
-    a problem
-    where vpath build directories within the srcdir would contain links
-    to the
-    source files, causing these tools to run multiple times slowing
-    down the
-    check process.
-
- Makefile.am       | 21 ++++++++++++++++++++-
- tests/Makefile.am |  6 ------
- 2 files changed, 20 insertions(+), 7 deletions(-)
-
-commit 9a7f6f08c1dc0eb0dd91437da8ac429fbafc8a4a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jan 14 12:25:09 2014 -0800
-
-    Remove _glib include path from gi module target
-
- gi/Makefile.am | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-commit 8afd7e880a72a44e6ea46c763bab82146fd75c96
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jan 8 19:22:08 2014 -0800
-
-    Move Python glib options module into gi package
-
-    Move gi/_glib/option.py into gi/_option.py. Remove gi/_glib since
-    it is no
-    longer needed.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=712197
-
- Makefile.am                        |  3 ++-
- configure.ac                       |  1 -
- gi/Makefile.am                     |  1 -
- gi/_glib/Makefile.am               | 21 ---------------------
- gi/_glib/__init__.py               | 20 --------------------
- gi/{_glib/option.py => _option.py} |  2 +-
- gi/overrides/GLib.py               |  2 +-
- gi/overrides/GObject.py            |  2 +-
- 8 files changed, 5 insertions(+), 47 deletions(-)
-
-commit ad565e5bbc9d12607c39be9479bc671a8f2de6e3
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jan 8 18:57:58 2014 -0800
-
-    Merge static PyGLib module into PyGI
-
-    Remove gi._glib._glib as a separately compiled module. Move all C
-    files into
-    pygobject/gi. Remove compilation and use of libpyglib-gi-2.0-python.so
-    as a
-    shared dependency since we do not distribute header files for it.
-    Remove unused threading macros.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=712197
-
- gi/Makefile.am                        | 16 +++++--
- gi/_glib/Makefile.am                  | 74
- +-------------------------------
- gi/_glib/__init__.py                  |  5 ---
- gi/_glib/option.py                    |  2 +-
- gi/gimodule.c                         |  9 ++++
- gi/{_glib => }/glibmodule.c           | 34 ++-------------
- gi/gobjectmodule.c                    |  5 +--
- gi/overrides/GLib.py                  |  2 +-
- gi/{_glib => }/pyglib-private.h       | 14 ++----
- gi/{_glib => }/pyglib-python-compat.h |  0
- gi/{_glib => }/pyglib.c               | 81
- ++---------------------------------
- gi/{_glib => }/pyglib.h               | 10 -----
- gi/{_glib => }/pygoptioncontext.c     |  0
- gi/{_glib => }/pygoptioncontext.h     |  0
- gi/{_glib => }/pygoptiongroup.c       |  0
- gi/{_glib => }/pygoptiongroup.h       |  0
- gi/{_glib => }/pygspawn.c             |  0
- gi/{_glib => }/pygspawn.h             |  0
- 18 files changed, 40 insertions(+), 212 deletions(-)
-
-commit 2624bd2b4a465a2d234951dd5b855fe8a0d46e1c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Oct 31 03:13:53 2013 -0700
-
-    Move gobject sub-module Python files into the main gi package
-
-    This moves the signalhelper, propertyhelper, and constants Python
-    modules
-    from gi/_gobject into gi. Keep gi/_gobject/__init__.py around because
-    it is
-    still needed to maintain the "_PyGObject_API" exposed by
-    pygobject.h. This
-    allows external modules compiled with prior versions of PyGObject to
-    continue working with newer versions.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=712197
-
- Makefile.am                                        |  5 ++-
- gi/__init__.py                                     | 19 +++++-----
- gi/{_gobject/constants.py => _constants.py}        |  5 ++-
- gi/_gobject/Makefile.am                            |  5 +--
- gi/_gobject/__init__.py                            | 42
- ++--------------------
- .../propertyhelper.py => _propertyhelper.py}       |  4 +--
- gi/{_gobject/signalhelper.py => _signalhelper.py}  |  5 ++-
- gi/module.py                                       | 16 ++++-----
- gi/overrides/GObject.py                            |  7 ++--
- gi/overrides/__init__.py                           |  2 +-
- gi/types.py                                        | 41
- ++++++++++++++++-----
- pygtkcompat/pygtkcompat.py                         |  4 +--
- tests/test_gi.py                                   |  2 +-
- tests/test_gobject.py                              |  4 ++-
- tests/test_properties.py                           |  2 +-
- tests/test_signal.py                               |  2 +-
- 16 files changed, 78 insertions(+), 87 deletions(-)
-
-commit d3e8946dbb23197a2e9d7de351a7b9cd04d360b9
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Oct 31 02:22:03 2013 -0700
-
-    Merge gobject static code into the gi module
-
-    Remove gi._gobject._gobject as a separately compiled static module and
-    move all the files into gi._gi.
-    Remove dead module initialization macros from "pyglib-python-compat.h"
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=712197
-
- gi/Makefile.am                        | 31 ++++++++++++++--
- gi/_glib/pyglib-python-compat.h       | 62
- +++++++++----------------------
- gi/_gobject/Makefile.am               | 69
- +----------------------------------
- gi/_gobject/__init__.py               |  4 +-
- gi/_gobject/constants.py              |  3 +-
- gi/_gobject/propertyhelper.py         | 16 +++++---
- gi/_gobject/signalhelper.py           |  3 +-
- gi/gimodule.c                         | 13 ++++---
- gi/{_gobject => }/gobjectmodule.c     |  0
- gi/module.py                          |  4 +-
- gi/{_gobject => }/pygboxed.c          |  0
- gi/{_gobject => }/pygboxed.h          |  0
- gi/{_gobject => }/pygenum.c           |  0
- gi/{_gobject => }/pygenum.h           |  0
- gi/{_gobject => }/pygflags.c          |  0
- gi/{_gobject => }/pygflags.h          |  0
- gi/pygi-argument.c                    |  3 +-
- gi/pygi-boxed.c                       |  2 +-
- gi/pygi-ccallback.c                   |  2 +-
- gi/pygi-foreign.c                     |  2 +-
- gi/pygi-info.c                        |  2 +-
- gi/pygi-marshal-to-py.c               |  3 +-
- gi/pygi-private.h                     |  2 +-
- gi/pygi-source.c                      |  3 +-
- gi/pygi-struct.c                      |  2 +-
- gi/pygi.h                             |  3 +-
- gi/{_gobject => }/pyginterface.c      |  0
- gi/{_gobject => }/pyginterface.h      |  0
- gi/{_gobject => }/pygobject-private.h |  5 ++-
- gi/{_gobject => }/pygobject.c         |  0
- gi/{_gobject => }/pygobject.h         |  0
- gi/{_gobject => }/pygparamspec.c      |  0
- gi/{_gobject => }/pygparamspec.h      |  2 +
- gi/{_gobject => }/pygpointer.c        |  0
- gi/{_gobject => }/pygpointer.h        |  0
- gi/{_gobject => }/pygtype.c           |  0
- gi/{_gobject => }/pygtype.h           |  0
- gi/types.py                           |  3 +-
- tests/Makefile.am                     |  2 +-
- 39 files changed, 93 insertions(+), 148 deletions(-)
-
-commit a329f559002f2be0898309c9d81cdf2c34aef158
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jan 14 10:15:53 2014 -0800
-
-    tests: Fix test_torture_profile to return a number from its callback
-
-    Return a number from rather than None from the callback passed to
-    regress_test_torture_signature_2. This fixes a TypeError being
-    raised in
-    callback return argument marshaling which was ignored by the test
-    suite.
-
- tests/test_everything.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a50a8386aae54dace7e46569415fdef85758fb9c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jan 14 08:53:25 2014 +0100
-
-    Add test for callback user data arguments with following arguments
-
-    In this case we can't use the varargs userdata handling. Provides
-    test case for
-    https://bugzilla.gnome.org/show_bug.cgi?id=722104.
-
- tests/test_everything.py | 48
- ++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 48 insertions(+)
-
-commit 3563a2d21a9e08a802d1cf30e04ba340e0bcfb49
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jan 13 08:19:02 2014 -0800
-
-    valgrind: Add suppression files for python3.3 and python3.3dm
-
-    Add new suppression files for Python 3. Use PYTHON_BASENAME for the
-    suppression filename in the various make check.valgrind
-    targets. Rename
-    python.supp to python2.7.supp
-
- tests/Makefile.am                     |   6 +-
- tests/{python.supp => python2.7.supp} |   0
- tests/python3.3.supp                  | 471
- ++++++++++++++++++++++++++++++++++
- tests/python3.3dm.supp                | 471
- ++++++++++++++++++++++++++++++++++
- 4 files changed, 945 insertions(+), 3 deletions(-)
-
-commit 5c6f8afed5f6aa05d65d64509a2c9b8041a66b05
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jan 13 18:53:55 2014 -0800
-
-    Makefile.am: Fix NEWS and ChangeLog generation under vpath builds
-
-    Make sure NEWS generation uses top_srcdir to allow "make release-news"
-    to
-    work under a vpath build (directory outside the source tree).
-    Update ChangeLog target to use $(top_srcdir)/missing. This fixes
-    a problem
-    where running "make dist" under a vpath build directory would
-    include an
-    empty ChangeLog.
-
- Makefile.am | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 056325cba3c86aefcf45ba10f2b7cf86e9fc1800
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jan 13 18:53:02 2014 -0800
-
-    Update HACKING to include better release tagging instructions
-
- HACKING | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
-commit c0a43d259c003c5d06db23debd0675b87e805b74
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jan 13 17:20:17 2014 -0800
-
-    configure.ac: post release version bump to 3.11.5
-
- NEWS         | 16 ++++++++++++++++
- configure.ac |  2 +-
- 2 files changed, 17 insertions(+), 1 deletion(-)
-
-commit 44d003798d9d14dde16fb44c69b94a411bdee26b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jan 13 16:51:41 2014 -0800
-
-    Fix mid-argument list callback user data expecting a tuple
-
-    Ensure user data arguments are always packed into a tuple during
-    callback
-    marshaling. This fixes cases where there is mid-argument user data
-    which is
-    not in the form of a variable length tuple.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=722104
-
- gi/pygi-marshal-from-py.c | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-commit 415b240e3baab522f3bf9752995610f950ba609e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Oct 15 03:57:52 2013 -0700
-
-    Remove special case GObject base class check when creating GI classes
-
-    Replace explicit GObject.Object string name check when calculating the
-    introspection class hierarchy with a more generalized technique. This
-    allows
-    any C based wrapper of a GType to "underride" an introspection class
-    automatically. This currently only handles the case of GObject.Object,
-    but
-    will be used for fundamentals and GParamSpec.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=631901
-
- gi/module.py | 17 +++++++++++------
- 1 file changed, 11 insertions(+), 6 deletions(-)
-
-commit 9b02b29016958791dfa9d7ebfc6c2ec44ab5690d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jan 7 09:16:54 2014 -0800
-
-    overrides: Fix __repr__ for various Gdk structs
-
-    Change __repr__ overrides for Gdk.Color, Gdk.RGBA, and Gdk.Atom to
-    return a
-    string reprentation that is valid Python given an expected
-    environment.
-    See: http://docs.python.org/2/reference/datamodel.html#object.__repr__
-
- gi/overrides/Gdk.py         | 10 +++++-----
- tests/test_atoms.py         |  7 +++++--
- tests/test_overrides_gdk.py |  9 +++++++++
- 3 files changed, 19 insertions(+), 7 deletions(-)
-
-commit f6a87935596a3b59c238a5572b288f34691b53d1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jan 7 07:31:22 2014 -0800
-
-    docs: Fix array length argument skipping with preceding out arguments
-
-    Remove split_function_info_args and use a list of all arguments for
-    generating skipped index lists. Determine argument skipping based
-    on the
-    full argument list in each in/inout and out/inout argument list
-    buildouts.
-    This fixes a problem where out arguments preceding array length
-    arguments
-    would still show array length arguments in the docstring. This was
-    due to an
-    index mismatch when using split lists instead of list of all
-    arguments.
-
- gi/docstring.py         | 38 ++++++++++++--------------------------
- tests/test_docstring.py | 37 +++++++++++++++----------------------
- 2 files changed, 27 insertions(+), 48 deletions(-)
-
-commit f114edc0a0afa64077a13459034afc4255b7a3f1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jan 6 22:10:47 2014 -0800
-
-    overrides: Remove GLib.Source.attach
-
-    Remove GLib.Source.attach override now that tail end allow-none
-    arguments
-    default to None when not specified.
-
- gi/overrides/GLib.py | 5 -----
- tests/test_glib.py   | 7 +++++++
- 2 files changed, 7 insertions(+), 5 deletions(-)
-
-commit 50ab6a8b70cbe7b67fc8d804b7773bb2c9b47251
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jan 6 21:42:09 2014 -0800
-
-    overrides: Remove Gtk overrides with tail end allow-none keywords
-
-    Remove overrides for Widget.render_icon, TextIter.begins_tag,
-    ends_tag,
-    toggles_tag, and TreeModel.filter_new. These overrides added an
-    optional keyword=None for allow-none arguments. This is now implicitly
-    accepted by the PyGObject machinery so the overrides can go away.
-
- gi/overrides/Gtk.py         | 16 ----------------
- tests/test_overrides_gtk.py | 11 +++++++++++
- 2 files changed, 11 insertions(+), 16 deletions(-)
-
-commit 2d388fcfca4bf1258d01b4491b4168589f3dd2b0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jan 6 21:22:41 2014 -0800
-
-    overrides: Remove Pango.Context.get_metrics
-
-    Remove the override for Pango.Context and the get_metrics method. This
-    can
-    be done now that tail end method arguments with "allow-none"
-    are implicitly
-    defaulted to use None/NULL.
-
- gi/overrides/Pango.py         |  9 ---------
- tests/test_overrides_pango.py | 12 ++++++++++++
- 2 files changed, 12 insertions(+), 9 deletions(-)
-
-commit 43b35b1df3b6c0d8679f3cc0b08ef6ddcb276331
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jan 6 17:35:04 2014 -0800
-
-    Add enum and flags member methods
-
-    Add all methods from GIEnumInfo to both enums and flags classes.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693099
-
- gi/module.py     | 2 ++
- tests/test_gi.py | 9 +++++++++
- 2 files changed, 11 insertions(+)
-
-commit 731a2cb4372084eac6cfe5bf190f6efa730e97e4
-Author: Patrick Welche <prlw1@cam.ac.uk>
-Date:   Mon Jan 6 22:31:48 2014 +0000
-
-    python.m4: g/c JD_PYTHON_CHECK_VERSION
-
-    We currently require automake 1.11.1, and its AM_PYTHON_CHECK_VERSION
-    is identical (made here).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=721662
-
- configure.ac |  4 ++--
- m4/python.m4 | 23 ++---------------------
- 2 files changed, 4 insertions(+), 23 deletions(-)
-
-commit aaaead18e2167c2becb309f1d9ae199222c0256b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jan 4 16:31:56 2014 -0800
-
-    Support union creation with PyGIStruct
-
-    Add additional case for allowing the creation bare unions wrapped with
-    PyGIStruct. This is needed because PyGIStruct wraps both GIStruct and
-    GIUnion types.
-
- gi/pygi-struct.c         | 39 ++++++++++++++++++++++++++++++++++-----
- tests/test_repository.py | 13 +++++++++++++
- 2 files changed, 47 insertions(+), 5 deletions(-)
-
-commit 64f15961b637a7e1388bd8d2cd08f04fa20e4de4
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jan 4 16:07:44 2014 -0800
-
-    Fix crash in error handling when creating struct with mismatched
-    info type
-
-    Error handling code was attempting to get the PyType of a pointer to a
-    pointer. Use the correct amount of indirection so an exception is
-    raised as
-    intended rather than a segfault.
-
- gi/pygi-info.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 07abf8343bbeac6f36d370ced654fa6506b22175
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jan 1 20:23:17 2014 -0800
-
-    docs: Skip display of default constructor for disguised structs
-
-    Structs which have zero length should now show a default constructor.
-    Structs with a length should not show keyword arguments in the default
-    constructor.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=708060
-
- gi/docstring.py         |  9 ++++++++-
- tests/test_docstring.py | 18 ++++++++++++++++--
- 2 files changed, 24 insertions(+), 3 deletions(-)
-
-commit e8359847136e9ad76a670a382c0abc61cb4e81d3
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jan 1 19:57:06 2014 -0800
-
-    Cleanup disguised struct constructor error and add it to boxed
-
-    Give a cleaner error message when an attempt is made to create
-    a disguised
-    struct which also gives a hint to look at the pydoc. Add similar
-    error to
-    disguised boxed/unions.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=647249
-
- gi/pygi-boxed.c          | 17 ++++++++++++++---
- gi/pygi-struct.c         |  2 +-
- tests/test_everything.py |  1 -
- tests/test_glib.py       |  4 ++++
- 4 files changed, 19 insertions(+), 5 deletions(-)
-
-commit 9ce527b09ed032f2cc83c2d83de8bb6d7b19be02
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jan 1 19:54:59 2014 -0800
-
-    docs: List default constructor in doc strings
-
-    Add default constructor to class docs strings as:
-    Object(**properties)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=708060
-
- gi/docstring.py | 10 ++++------
- 1 file changed, 4 insertions(+), 6 deletions(-)
-
-commit 9bfd73e7c3f2ec4975b3e530ba7c2cc55ee793d5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jan 1 17:34:32 2014 -0800
-
-    docs: List constructors in object and struct doc strings
-
-    Add type dispatching to gi.docstring documentation generator for
-    info types
-    of StructInfo and ObjectInfo. Add lazy doc string generation to
-    Object and Struct meta classes by using a property for __doc__. This
-    lists
-    available constructors immediately in all GObject.Object and Struct
-    docs.
-    ipython example:
-
-    >>> Gtk.Button?
-    :Constructors:
-        Button(**properties)
-        new()
-        new_from_icon_name(icon_name:str, size:int)
-        new_from_stock(stock_id:str)
-        new_with_label(label:str)
-        new_with_mnemonic(label:str)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=708060
-
- gi/docstring.py         | 36 +++++++++++++++++++++++++++++-------
- gi/types.py             |  9 +++++++++
- tests/test_docstring.py |  8 ++++++++
- 3 files changed, 46 insertions(+), 7 deletions(-)
-
-commit 44612636575dd93c97210a7255c4490e2c84db67
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jan 1 17:10:15 2014 -0800
-
-    docs: Cleanup PyGIBaseInfo repr
-
-    Remove angle brackets and pointer address from
-    PyGIBaseInfo.__repr__. This
-    cleans up documentation and makes it easier to read.
-
- gi/pygi-info.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-commit 826c0e63eabac68fd665335950d311988a1405e3
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Dec 31 21:45:21 2013 -0800
-
-    docs: Add return values and skip implicit out arguments in functions
-
-    Add gi.CallableInfo.skip_return static binding for testing if
-    the return
-    value should show up in docs. Skip implicit list index arguments
-    for out
-    values.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=697356
-
- gi/docstring.py         | 26 +++++++++++++++++++++-----
- gi/pygi-info.c          |  7 +++++++
- tests/test_docstring.py |  6 ++++++
- 3 files changed, 34 insertions(+), 5 deletions(-)
-
-commit aeccdaddf32dc7b48a79a1cd95a421a26895c9b2
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Dec 31 21:15:27 2013 -0800
-
-    docs: Replace usage of functools.wraps with a custom version
-
-    Using functools.wraps in overrides would cause docstring evaluation
-    which
-    can hurt performance during overrides loading. Add custom wraps
-    decorator
-    which only copies __name__ and __module__ attributes. Remove function
-    wrapping used within gi.overrides.overridefunc because the wrapping
-    was not
-    doing anything, this preserves __doc__ ability without causing an
-    eval at
-    load time.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=697356
-
- gi/overrides/GObject.py  |  3 +--
- gi/overrides/__init__.py | 21 ++++++++++++---------
- 2 files changed, 13 insertions(+), 11 deletions(-)
-
-commit cebf5314f195bf4bd6ee19a1da3bbb50c2c9bbd6
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Dec 31 19:42:02 2013 -0800
-
-    docs: Move GIArgInfo.get_pytype_hint into gi.docstring
-
-    Move the C implementation of pytype hinting into pure Python. Now that
-    doc strings are lazily evaluated we can simplify this tedious bit of C
-    code with Python. This is precursory work for getting return
-    types into
-    function doc strings.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=697356
-
- gi/docstring.py          | 50 ++++++++++++++++++++++++++++++++++++++---
- gi/pygi-info.c           | 49 ----------------------------------------
- gi/pygi-type.c           | 58
- ------------------------------------------------
- gi/pygi-type.h           |  2 --
- tests/test_docstring.py  |  8 ++++---
- tests/test_repository.py |  1 -
- 6 files changed, 52 insertions(+), 116 deletions(-)
-
-commit 28a178e385e32c56910f1c430b370a8872218081
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Dec 31 17:50:36 2013 -0800
-
-    docs: Skip implicit array length args when building function doc
-    strings
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=697356
-
- gi/docstring.py         | 8 ++++++--
- tests/test_docstring.py | 4 ++++
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
-commit 2ef59b89311529e34366d4d7aa8f8ae9a8ea6371
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Dec 31 13:41:20 2013 -0800
-
-    gtk-demo: Avoid crash in CSS demos
-
-    Avoid a potential crash in the CSS demos where the text editing
-    buffer is
-    out of sync with the last good CSS parsing buffer. In the case of CSS
-    warnings, we get a parsing-error callback but no exception is raised.
-    This would cause the buffers to become out of sync and accessing
-    position
-    information from the parsing-error section would crash the text
-    editor due
-    to an out of range iterator being created.
-
- demos/gtk-demo/demos/Css/css_basics.py      | 31
- +++++++++++++++++++++--------
- demos/gtk-demo/demos/Css/css_multiplebgs.py | 31
- +++++++++++++++++++++--------
- 2 files changed, 46 insertions(+), 16 deletions(-)
-
-commit b81f9c9b4e62d8cf589576aba8d9abbac4c80953
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Dec 31 02:05:46 2013 -0800
-
-    gtk-demo: Add info bar and better error handling to CSS demos
-
-    Use an info bar for displaying CSS parsing errors. Store the last good
-    stylesheet text for use as a backup when a parsing error occures. This
-    gives
-    a seamless look while typing changes into the text editor.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=719722
-
- demos/gtk-demo/demos/Css/css_basics.py      | 28
- +++++++++++++++++++++-------
- demos/gtk-demo/demos/Css/css_multiplebgs.py | 29
- ++++++++++++++++++++++-------
- 2 files changed, 43 insertions(+), 14 deletions(-)
-
-commit becb56734e13df182fd31cfe46c465477dfc4d2c
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Dec 30 16:36:28 2013 +0100
-
-    gtk-demo: Add CSS demos
-
-    Add a couple of demos demostrating the use of CSS, the css files are
-    stored into a GResource binary file compiled with
-    glib-compile-resources,
-    the comments in gtk-demo.py explain the usage of GResource.
-
-    Signed-off-by: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=719722
-
- .gitignore                                    |   1 +
- demos/gtk-demo/demos/Css/__init__.py          |   0
- demos/gtk-demo/demos/Css/css_accordion.py     |  94 +++++++++++++++
- demos/gtk-demo/demos/Css/css_basics.py        | 119 +++++++++++++++++++
- demos/gtk-demo/demos/Css/css_multiplebgs.py   | 157
- ++++++++++++++++++++++++++
- demos/gtk-demo/demos/data/brick.png           | Bin 0 -> 5043 bytes
- demos/gtk-demo/demos/data/brick2.png          | Bin 0 -> 10713 bytes
- demos/gtk-demo/demos/data/css_accordion.css   |  52 +++++++++
- demos/gtk-demo/demos/data/css_basics.css      |  22 ++++
- demos/gtk-demo/demos/data/css_multiplebgs.css | 136
- ++++++++++++++++++++++
- demos/gtk-demo/demos/data/cssview.css         |  41 +++++++
- demos/gtk-demo/demos/data/demo.gresource      | Bin 0 -> 31110 bytes
- demos/gtk-demo/demos/data/demo.gresource.xml  |  18 +++
- demos/gtk-demo/demos/data/reset.css           |  68 +++++++++++
- demos/gtk-demo/gtk-demo.py                    |  16 ++-
- 15 files changed, 723 insertions(+), 1 deletion(-)
-
-commit 2ff095ea0b0c05fbf6cc332eeadf26cfeb9e69f7
-Author: Colin Watson <cjwatson@ubuntu.com>
-Date:   Tue Dec 24 22:19:02 2013 +0000
-
-    build: Avoid clash between gi/types.py and stdlib
-
-    Use non-recursive make for the Python modules in gi/ to work around a
-    clash between gi/types.py and the standard library's types module when
-    running py-compile.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=721025
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- Makefile.am    | 24 ++++++++++++++++++++++++
- gi/Makefile.am | 20 ++------------------
- 2 files changed, 26 insertions(+), 18 deletions(-)
-
-commit b9716853fb7727fcf2b5ea59a3368d5a5b2e6be2
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Dec 16 04:17:28 2013 -0800
-
-    configure.ac: post-release bump to 3.11.4
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2ec00c2563bebff1e55faf97c67e44fda862ad5b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Dec 16 04:10:54 2013 -0800
-
-    release 3.11.3
-
- NEWS | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 7fb55f93e207378992cd9f3e0663604a4de2213f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Dec 12 01:35:11 2013 -0800
-
-    Replace usage of PyGIBoxed_Type with PyGIStruct_Type
-
-    Remove empty definition of PyGIBoxed_Type and use PyGIStruct_Type
-    in its
-    place for GI_INFO_TYPE_BOXED based infos in repositories. As noted in
-    the docs: "GI_INFO_TYPE_BOXED boxed, see GIStructInfo or GIUnionInfo"
-    we can use the GIStructInfo API for boxed types because we also
-    dispatch
-    base classes on GType checks as seen in:
-    https://git.gnome.org/browse/pygobject/tree/gi/module.py?id=3.11.2#n186
-    This fixes some of the issues noted in bug 581525.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=581525
-
- gi/pygi-info.c | 13 +------------
- 1 file changed, 1 insertion(+), 12 deletions(-)
-
-commit b3c85eec75c62c138c136531ebe49a33351941f0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Nov 17 20:12:50 2013 -0800
-
-    configure.ac: post release version bump to 3.11.3
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit d1314af8f237a634dbfefb0a1c319f910d3d8765
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Nov 17 20:04:49 2013 -0800
-
-    release 3.11.2
-
- NEWS | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit 6fc3d977f17397e514aed492055e93d03c410f60
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Nov 12 23:04:50 2013 -0800
-
-    gtk-demo: Fix pyflakes error after recent commit
-
- demos/gtk-demo/demos/pixbuf.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a309b3baf5ee99139cc2d1817339233e24391bc2
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Nov 12 18:41:35 2013 -0800
-
-    gkt-demo: Change main info/source notebook into a GtkStack
-
-    Use the new in 3.10 GtkStack and GtkStackSwitcher for switching
-    between Info
-    and Source tabs. Beyond giving a newer look and feel to the demo,
-    this also
-    provides an example for how to use a GtkStack.
-
- demos/gtk-demo/gtk-demo.py | 23 +++++++++++++++++------
- 1 file changed, 17 insertions(+), 6 deletions(-)
-
-commit 69ff43bf6292fb3ddaea027cfc595139c4f1655d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Nov 12 19:32:18 2013 -0800
-
-    gtk-demo: Cleanup deprecated calls throughout demo code
-
-    Specify constructor arguments as keyword args for various object
-    creation calls. Update combobox demo to use bind_property instead
-    of manual
-    signal connections with update callbacks.
-
- demos/gtk-demo/demos/Entry/entry_buffer.py         |  6 ++---
- demos/gtk-demo/demos/Entry/entry_completion.py     |  6 ++---
- demos/gtk-demo/demos/Entry/search_entry.py         |  8 +++---
- demos/gtk-demo/demos/Tree View/liststore.py        |  8 +++---
- .../gtk-demo/demos/Tree View/treemodel_filelist.py |  2 +-
- .../gtk-demo/demos/Tree View/treemodel_filetree.py |  2 +-
- demos/gtk-demo/demos/appwindow.py                  |  4 +--
- demos/gtk-demo/demos/combobox.py                   | 30
- +++-------------------
- demos/gtk-demo/demos/dialogs.py                    | 26
- +++++++++----------
- demos/gtk-demo/demos/expander.py                   |  9 +++----
- demos/gtk-demo/demos/images.py                     |  2 +-
- demos/gtk-demo/demos/infobars.py                   | 23 +++++++++--------
- demos/gtk-demo/demos/links.py                      | 10 ++++----
- demos/gtk-demo/demos/menus.py                      |  4 +--
- demos/gtk-demo/demos/pickers.py                    |  8 +++---
- demos/gtk-demo/demos/pixbuf.py                     |  4 +--
- demos/gtk-demo/demos/rotatedtext.py                |  2 +-
- 17 files changed, 64 insertions(+), 90 deletions(-)
-
-commit 890fb7b97823985d5c800284ead43a49174db244
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Nov 12 18:19:34 2013 -0800
-
-    Revert TreeStore and ListStore initializer replacements
-
-    Revert changes to Tree/ListStore where the __init__ overrides were
-    replaced
-    with __new__ overrides which accept column types directly. The
-    issue with
-    the change is sub-classes of these types can override __init__
-    themself
-    passing in their own column types to the super class. These
-    sub-classes
-    expect the super class to handle column type setup via __init__
-    and hence
-    the change described is an API break. This reverts parts of commit:
-    2f2069c9efcd8f312ce9ffa572df371fbc08822d
-
- gi/overrides/Gtk.py | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-commit 795201873a3aae530598f5e16470b6a8d2d55c23
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 15 20:01:48 2013 -0700
-
-    Deprecate Gdk.Cursor constructor dispatching
-
-    Give deprecation warning for the overridden __new__ method on
-    Gdk.Cursor when more than one argument is used. Recommend using
-    Gdk.Cursor.new_for_display, new_from_pixbuf, and new_from_pixmap
-    instead.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=705810
-
- gi/overrides/Gdk.py         | 48
- ++++++++++++++++++++++++++-------------------
- tests/test_overrides_gdk.py | 17 ++++++++++++----
- 2 files changed, 41 insertions(+), 24 deletions(-)
-
-commit 2f2069c9efcd8f312ce9ffa572df371fbc08822d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 15 19:23:18 2013 -0700
-
-    Cleanup overzealous new and init implementations
-
-    Remove PyGObject initializer code attempting to set properties on
-    GObjects that have already been created. There were a number of
-    overridden __new__ and __init__ methods that stripped away
-    arguments before calling the base class to work around attempted
-    property sets and argument count errors (fixing the symptom not
-    the problem).
-    Use Gtk.ListStore/TreeStore.new with __new__ override instead
-    of __init__ with set_column_types.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=705810
-
- gi/_gobject/gobjectmodule.c | 35 ++++++++++++++---------------------
- gi/_gobject/pygobject.c     | 16 ++++++++++++++--
- gi/overrides/GObject.py     |  3 ---
- gi/overrides/Gdk.py         | 15 ---------------
- gi/overrides/Gtk.py         | 11 ++++-------
- gi/overrides/Pango.py       |  5 -----
- gi/pygi-boxed.c             |  6 ------
- 7 files changed, 32 insertions(+), 59 deletions(-)
-
-commit 86a37d67455dc5d435ade35f17b27c5de2b288f5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Aug 13 18:02:54 2013 -0700
-
-    Add deprecation warnings and cleanup class initializer overrides
-
-    Print deprecation warnings for calls to class initializers which
-    don't explicitly specify keywords. Print deprecation warning
-    for overrides that have renamed keywords (Gtk.Table.rows should
-    be n_rows). Additionally deprecate non-standard defaults with
-    initializers (Gtk.SizeGroup.mode defaults to HORIZONTAL in GTK+
-    and VERTICAL in PyGI).
-    Remove AboutDialog override because it doesn't do anything.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=705810
-
- gi/overrides/Gio.py         |   6 +-
- gi/overrides/Gtk.py         | 367
- ++++++++++++++++++++++----------------------
- gi/overrides/__init__.py    |  88 +++++++++++
- tests/test_gi.py            |  75 +++++++++
- tests/test_overrides_gtk.py |  95 ++++++++----
- 5 files changed, 411 insertions(+), 220 deletions(-)
-
-commit d2e9be8e2b3d21b55e1aad3d0b22dcff3421b702
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Aug 13 17:42:11 2013 -0700
-
-    tests: Use explicit keywords args when calling initializers
-
-    Replace all usage of GObject creation that relies on positional
-    arguments from overrides. Positional initializer args will be
-    deprecated, updating the tests as a first pass proves backwards
-    and forwards compatibility of the deprecation.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=705810
-
- tests/test_overrides_gtk.py | 107
- +++++++++++++++++++++++---------------------
- 1 file changed, 55 insertions(+), 52 deletions(-)
-
-commit 8342302dac9bf3fcb49ec3ac334dbf014b4db025
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Nov 12 03:46:08 2013 -0800
-
-    Revert "Add type checking to positional Gtk.Box and Gtk.Window
-    ctor arguments"
-
-    This reverts commit 7193f0509a0ed7da7c810daa6733e34a22db3180.
-
- gi/overrides/Gtk.py         |  7 -------
- tests/test_overrides_gtk.py | 18 ------------------
- tests/test_properties.py    |  9 ---------
- 3 files changed, 34 deletions(-)
-
-commit 1f37340c4623262a2146ec8cd25b487cdf4234bd
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Nov 10 03:26:10 2013 -0800
-
-    Fix dir method for static GParamSpec in Python 3
-
-    Add a __dir__ method which lists GParamSpec attributes and remove
-    code from
-    getattr which made use of the deprecated __members__ technique for dir
-    (removed in Python 3). This makes dir(pspec) work again in Python 3.
-
- gi/_gobject/pygparamspec.c | 218
- ++++++++++++++++++++++++---------------------
- tests/test_gi.py           |  10 +++
- 2 files changed, 126 insertions(+), 102 deletions(-)
-
-commit 7193f0509a0ed7da7c810daa6733e34a22db3180
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 5 15:28:12 2013 +0100
-
-    Add type checking to positional Gtk.Box and Gtk.Window ctor arguments
-
-    Gtk.Box and Gtk.Window are base classes of a lot of widgets. Avoid
-    confusion
-    when trying to create a subclass of them through the GObject
-    constructor with
-    positional arguments by at least verifying that their type is
-    right. Otherwise
-    you can do things like
-
-      chooser = Gtk.FileChooserWidget(Gtk.FileChooserAction.SELECT_FOLDER)
-
-    which succeeds, but does not have the desired effect (it sets the
-    "homogenous"
-    property of the Gtk.Box superclass instead).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=711487
-
- gi/overrides/Gtk.py         |  7 +++++++
- tests/test_overrides_gtk.py | 18 ++++++++++++++++++
- tests/test_properties.py    |  9 +++++++++
- 3 files changed, 34 insertions(+)
-
-commit 79aea2655db11bc9d2c0ad75c87862b2b66da594
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Nov 4 03:29:57 2013 -0800
-
-    Remove overzealous argument checking for callback userdata
-
-    Remove check which ensures userdata is None if the callback is None.
-    This check would need to become more complicated with recent
-    versions of
-    PyGObject where userdata can be variable (would also need to check
-    against
-    a tuple containing None). Instead of adding more complex checking,
-    simply
-    remove the checking as it is unnecessary to begin with.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=711173
-
- gi/pygi-marshal-from-py.c   |  7 -------
- tests/test_overrides_gtk.py | 11 +++++++----
- 2 files changed, 7 insertions(+), 11 deletions(-)
-
-commit f32d649b72f865e32cc2b62a54d927b8345da0c8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Oct 28 16:00:57 2013 +0100
-
-    configure.ac: post-release bump to 3.11.2
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 5bcdb56433d0ba2976f05946c6c5b6ffe3e84901
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Oct 28 15:59:51 2013 +0100
-
-    release 3.11.1
-
- NEWS | 27 +++++++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
-commit 65b8f7bd77474e361c80905ec23de6dbde27970c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Oct 27 22:09:27 2013 -0700
-
-    Fix toggleref safety problems by always enabling the GIL
-
-    Call PyEval_InitThreads for the base gi module import. This forces the
-    Python internals create the GIL and always support threading with the
-    various thread state enter/exit funcs. This is needed since we cannot
-    predict which GI repositories might accept Python callbacks and run
-    them in
-    non-Python threads or trigger toggle ref notifications in a thread
-    other
-    than main.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709223
-
- gi/__init__.py       |  2 --
- gi/gimodule.c        | 18 +++++++-----------
- gi/overrides/GLib.py |  8 ++------
- 3 files changed, 9 insertions(+), 19 deletions(-)
-
-commit 57195c9c864bc25521bb3cb98286e6d6f0645652
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Oct 27 16:02:13 2013 -0700
-
-    Add consistent GLib.MainLoop SIGINT cleanup
-
-    Remove auto cleanup of SIGINT source handling by returning True
-    from the
-    signal callback. This gives the __del__ method consistent cleanup
-    semantics
-    regardless of whether or not a SIGINT occurred.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=710978
-
- gi/overrides/GLib.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 1c03ebba9598e7b6d5293889f46b015bfac3611c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Oct 27 15:16:09 2013 -0700
-
-    tests: Fix source testing to handle critical with non-existing sources
-
-    Silence new critical coming from g_source_remove on non-existing
-    sources.
-    This function still returns False, but we need to silence the new
-    critical
-    so the test suite doesn't fail. See bug 710724.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=710978
-
- tests/test_source.py | 18 ++++++++++++------
- 1 file changed, 12 insertions(+), 6 deletions(-)
-
-commit ac776da7e56b78a2fa422487f0ef0d8771bcb78f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Jul 28 00:01:35 2013 -0700
-
-    docs: Add a keyword value of None for allow-none annotations
-
-    Update documentation generator for allow-none arguments and
-    user_data arguments to show a keyword value of None.
-    Add skip for GDestroyNotify closure arguments.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/docstring.py         | 20 +++++++++++++++++---
- tests/test_docstring.py | 10 ++++++++++
- 2 files changed, 27 insertions(+), 3 deletions(-)
-
-commit e1bf9c069644ea0bff0c6a7efa72a285e122a414
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 19 19:03:12 2013 -0700
-
-    Remove overrides for supporting pre-3.10 GObject signal functions
-
-    Remove GObject override code for supporting pre-3.10 signal functions
-    which
-    annotate the object argument as "gpointer". With PyGObject 3.11
-    having a
-    dependency on GObject 3.10, clear the special case overrides out.
-
- gi/overrides/GObject.py | 76
- ++++++-------------------------------------------
- 1 file changed, 9 insertions(+), 67 deletions(-)
-
-commit 0c308de528c402f67808b13760ca30d55d4c99d7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 18 17:15:06 2013 -0700
-
-    Add threads_init back as a requirement for non-Python threaded repos
-
-    Re-add a "threads_init" function to gi for explicit intialization
-    of Python
-    threading support. This was marked as deprecated in the previous cycle
-    because using Python threads already initializes everything.
-    However, we still need an explicit initalization when using
-    repositories
-    with non-Python threads which may interact with Python callbacks
-    (GStreamer).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=710447
-
- gi/__init__.py       |  2 ++
- gi/gimodule.c        | 10 ++++++++++
- gi/overrides/GLib.py | 11 +++++++----
- 3 files changed, 19 insertions(+), 4 deletions(-)
-
-commit a2fa531b4dee73c193cac92fa3e870808688b5d7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Oct 14 20:38:13 2013 -0700
-
-    Add dir method to GObject props accessor
-
-    Remove special case __members__ attribute from the props accessor
-    objects getattr method. This has been deprecated since Python 2.3 and
-    removed in Python 3. Replace this with a __dir__ method making use
-    of the
-    old members list building code. Additionally fix error where the
-    GObjectClass was being unref'd too many times when using
-    dir(Object.props),
-    causing a GLib critical.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=705754
-
- gi/_gobject/pygobject.c | 29 +++++++++++++++++++++--------
- tests/test_gi.py        | 14 ++++++++++++++
- 2 files changed, 35 insertions(+), 8 deletions(-)
-
-commit 799989ada2f6b1d729f078f204445651c808a2c7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri May 3 04:37:13 2013 -0700
-
-    Remove PyGObjectWeakRef now that g_binding_unbind exists
-
-    Remove the static code for managing GBinding weak references now
-    that GLib
-    has a method (unbind) for clearing out bindings.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=699571
-
- gi/_gobject/pygobject.c | 59
- +------------------------------------------------
- gi/overrides/GObject.py | 19 ++++++++++++++++
- tests/test_gobject.py   | 41 ++++++++++++++++++++--------------
- 3 files changed, 44 insertions(+), 75 deletions(-)
-
-commit fe217e0afbd63f05285e59628533f351896377d9
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Oct 9 00:34:37 2013 -0700
-
-    Fix GArray, GList, GSList, and GHashTable marshaling leaks
-
-    Remove calling of cleanup code for transfer-everything modes by
-    ensuring
-    cleanup_data is set to NULL in from_py marshalers. Use array and hash
-    table ref/unref functions for container transfer mode to ensure we
-    have a
-    valid container ref after invoke and during from_py cleanup of
-    contents.
-    Rework restrictions with to_py marshaling cleanup so we always
-    unref the
-    container for transfer-everything and transfer-container modes.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693402
-
- gi/pygi-marshal-cleanup.c | 54 +++++++++++----------------------
- gi/pygi-marshal-from-py.c | 77
- ++++++++++++++++++++++++++++++++++++++++-------
- 2 files changed, 84 insertions(+), 47 deletions(-)
-
-commit 7407367f424595c2780a2d6a47d936ad0bd91735
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Oct 7 14:11:39 2013 -0700
-
-    Add cleanup_data argument used for Python to C marshaler cleanup
-
-    Add a new output argument to all from_py marshalers which is used for
-    keeping track of marshaling data that later needs cleanup. Previously
-    most
-    marshalers would rely on the GIArgument->v_pointer as the means
-    for data
-    cleanup. However, this pointer would get clobbered in the case of
-    bi-directional arguments (inout) and the memory lost.
-    Use the new cleanup_data for storing temporarily wrapped C arrays
-    so we
-    don't need to re-calculate the length argument during cleanup.
-
-    Additionally delay the from_py marshaling cleanup function until after
-    _invoke_marshal_out_args is called. This gives inout arguments
-    which don't
-    modify the pointer sufficient time to exist until they marshaled
-    back to
-    Python (gi_marshalling_tests_gvalue_inout).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693402
-
- gi/pygi-argument.c            |   4 +-
- gi/pygi-cache.h               |   3 +-
- gi/pygi-invoke-state-struct.h |   7 +-
- gi/pygi-invoke.c              |  20 +++---
- gi/pygi-marshal-cleanup.c     |  43 +++++-------
- gi/pygi-marshal-from-py.c     | 160
- ++++++++++++++++++++++++++++--------------
- gi/pygi-marshal-from-py.h     |  45 ++++++++----
- 7 files changed, 177 insertions(+), 105 deletions(-)
-
-commit 9456e83233a927f1f01c6ffcb1f07c62b491a1df
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Aug 7 12:08:15 2013 -0700
-
-    Add support for variable user data arguments
-
-    Support a variable number of user data arguments for all callback
-    connection function where the user data is the last explicit argument.
-    This adds convience as well as consistency with the rest of PyGObject.
-    Cleanup overrides for GLib.idle_add, timeout_add, timeout_add_seconds,
-    io_add_watch, and child_watch_add which manually implemented this
-    feature.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/overrides/GLib.py      | 75
- +++++++++++++++--------------------------------
- gi/pygi-cache.c           | 14 +++++++++
- gi/pygi-cache.h           |  3 ++
- gi/pygi-closure.c         | 37 +++++++++++++++--------
- gi/pygi-invoke.c          | 71
- +++++++++++++++++++++++++++++++-------------
- gi/pygi-marshal-from-py.c |  5 ++++
- tests/test_everything.py  | 32 ++++++++++++++++++++
- tests/test_glib.py        | 21 +++++++++++++
- tests/test_subprocess.py  |  8 ++---
- 9 files changed, 177 insertions(+), 89 deletions(-)
-
-commit ba4a0a65bf9ec44c3b9449f63d63035bff75d8df
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Oct 14 12:57:04 2013 +0200
-
-    Bump glib and g-i dependencies to latest stable.
-
-    glib 2.38 and g-i 1.38 are from stable GNOME 3.10 which we now
-    assume as
-    minimal version.
-
-    Drop @unittest.skipUnless tags from tests which didn't work with
-    g-i 1.36.
-
- README           | 3 ++-
- configure.ac     | 6 +++---
- tests/test_gi.py | 2 --
- 3 files changed, 5 insertions(+), 6 deletions(-)
-
-commit 2a5ad2af6bc91b187a2f07fc8d001ec7ad618adf
-Author: Nuno Araujo <nuno.araujo@russo79.com>
-Date:   Fri Oct 11 18:41:48 2013 +0200
-
-    Fix TypeError when setting drag target_list to None
-
-    When calling Widget.drag_dest_set_target_list(None) or
-    Widget.drag_source_set_target_list(None)
-    a "TypeError: 'NoneType' object is not iterable" is thrown.
-
-    According to Gtk documentation [1] [2], this shouldn't be the case
-    since client code should be
-    able to pass NULL in calls made to gtk_drag_dest_set_target_list and
-    gtk_drag_source_set_target_list.
-
-    We now check if the target_list is None and do not try to create a
-    TargetList if it is the case.
-
-    [1]
-    https://developer.gnome.org/gtk3/3.10/gtk3-Drag-and-Drop.html#gtk-drag-dest-set-target-list
-    [2]
-    https://developer.gnome.org/gtk3/3.10/gtk3-Drag-and-Drop.html#gtk-drag-source-set-target-list
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709926
-
- gi/overrides/Gtk.py         | 4 ++--
- tests/test_overrides_gtk.py | 2 ++
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-commit 27e9f6ede021fc58e952491b67d69c2a5cdd6acb
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Oct 1 17:09:39 2013 -0700
-
-    Use qdata for wrapper retrieval in toggle reference notifications
-
-    Replace usage of user data holding PyGObject wrappers in toggle ref
-    notifications with GObject qdata retrieval. This fixes thread
-    safety issues
-    where a toggle notify may be called from another thread during
-    the PyGObject
-    wrappers dealloc. In this case the toggle notify is blocked because
-    the GIL
-    is held in dealloc, and when it continues, the user data would be
-    holding an
-    invalid PyGObject wrapper. Using qdata solves this by ensuring
-    the wrapper
-    retrieval is done within the safety of the GIL and may turn up
-    as NULL.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709223
-
- gi/_gobject/pygobject.c | 21 ++++++++++++++-------
- 1 file changed, 14 insertions(+), 7 deletions(-)
-
-commit 55d925d5f0fb87464b1f391c325c1e70da10d33d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Oct 10 16:10:16 2013 -0700
-
-    Add expected failure to deal with fixes in gimarshallingtests.c
-
-    Fix test_object_full_inout based on newer gimarshallingtests.c >
-    1.38.0.
-    Add expectedFailure to deal with previous versions of
-    gimarshallingtests.c.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709796
-
- tests/test_gi.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-commit d866d422cc39b229f443dd08a3ea50cb3f7df8e6
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Oct 7 01:17:08 2013 -0700
-
-    Fix memory leaks for inout array arguments
-
-    Add tracking for array allocations to from_py marashalers in the
-    argument states extra data (arg_data). This is then used later
-    for inout
-    marshaling cleanup to call the array cleanup function.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693402
-
- gi/pygi-invoke.c          |  1 +
- gi/pygi-marshal-cleanup.c |  1 +
- gi/pygi-marshal-from-py.c | 13 +++++++++----
- 3 files changed, 11 insertions(+), 4 deletions(-)
-
-commit 31263ac117027446c8e2fd1b56d7e348384aabef
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Oct 6 21:54:15 2013 -0700
-
-    Fix to Python marshaling leaks for arrays holding GVariants
-
-    Add early check for array items holding pointers and simply assign the
-    pointer to GIArgument.v_pointer prior giving it to the per-item
-    marshaler.
-    This simplifies marshaling and fixes leaks regarding arrays of
-    GVariants by
-    removing the unneeded g_variant_ref_sink (variants are always
-    pointers).
-    Conditionalize the use of g_variant_ref_sink based on transfer mode
-    in the
-    per-item marshaler. This fixes a reference leak where we are given
-    ownership
-    of the variant (transfer full) but added a new ref anyway.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693402
-
- gi/pygi-marshal-to-py.c | 34 ++++++++++++++++++----------------
- 1 file changed, 18 insertions(+), 16 deletions(-)
-
-commit c9580ce1156789221aa19b00c7aab404db5431b5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Oct 6 04:26:18 2013 -0700
-
-    Cleanup per-item array marshaling code for flat arrays
-
-    Add an early per-item check which tests if the item being marshaled
-    is a
-    pointer and simply copies the pointer into the array. This takes
-    care of the
-    GdkAtom and GVariant special cases because these items are always
-    reported
-    as pointers.
-    Fix error condition cleanup code when an item fails marshaling in
-    the middle
-    of an array.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693402
-
- gi/pygi-marshal-from-py.c | 87
- +++++++++++++++++++++--------------------------
- tests/test_gi.py          | 32 +++++++++++++++++
- 2 files changed, 71 insertions(+), 48 deletions(-)
-
-commit 4623caa71c54958ab821db27a9eff2790acb3975
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 5 17:00:54 2013 -0700
-
-    Fix GValue array marshaling leaks and crash fallout
-
-    * Decrement references for results of PySequence_GetItem. There were
-    a few
-    places we were not decrementing the Python reference, leaking
-    the value.
-    * Add tracking of Python arguments with recursive marshaling
-    cleanup. This
-    allows arrays of GValues which have been coerced from Python types
-    to be
-    properly free'd (also fixes bug 703662).
-    * Use g_variant_ref for variant arguments marked as transfer
-    everything.
-    This fixes double free's caused by the decrementing of
-    PySequence_GetItem
-    results.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693402
-
- gi/pygi-cache.h           |  1 +
- gi/pygi-invoke.c          |  1 +
- gi/pygi-marshal-cleanup.c | 50
- +++++++++++++++++++++++++++++++++++++++++------
- gi/pygi-marshal-cleanup.h | 14 +++++++++++++
- gi/pygi-marshal-from-py.c | 20 ++++++++++++++++---
- gi/pygi-marshal-to-py.c   |  1 +
- 6 files changed, 78 insertions(+), 9 deletions(-)
-
-commit 549f849ef8854352483657df3d7558688a4b0007
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Sep 28 00:26:28 2013 -0700
-
-    Refactor GLib.io_add_watch to make it more testable
-
-    Break the argument munging code into a separate function which
-    can be tested in isolation of adding an io watch.
-    Add additional failing test which specifies all args as keywords
-    which we eventually need to support for consistency with the
-    rest of PyGObject.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/overrides/GLib.py | 23 ++++++++++++++++++-----
- 1 file changed, 18 insertions(+), 5 deletions(-)
-
-commit bc780ed17bc4cc62959c63c3f0142161a924679f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Sep 27 20:59:45 2013 -0700
-
-    Refactor GLib.child_watch_add to make it more testable
-
-    Break the argument munging code into a separate function which
-    can be tested in isolation of adding a child watch. Update tests
-    to reflect this. Add additional failing test which specify
-    all args as keywords which we eventually need to support for
-    consistency with the rest of PyGObject.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/overrides/GLib.py     | 25 +++++++++-----
- tests/test_subprocess.py | 88
- +++++++++++++++++++++---------------------------
- 2 files changed, 56 insertions(+), 57 deletions(-)
-
-commit 73c6213e8b47fa7c4c2c7a517fe7b56126145888
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Sep 26 19:05:20 2013 -0700
-
-    Don't pass None to callbacks when user data is not specified
-
-    For APIs which support a callback and optional user data,
-    don't pass the user data to the callback if it was not explicitly
-    specified when the callback was connected.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/pygi-closure.c         | 17 ++++++++++++++---
- gi/pygi-marshal-from-py.c |  5 -----
- tests/test_everything.py  |  7 ++-----
- 3 files changed, 16 insertions(+), 13 deletions(-)
-
-commit a76b06179cdca43f1c7d1feb8e2563e3d884a8ff
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 4 17:27:47 2013 -0700
-
-    Add missing methods on PyGIBaseInfo and sub-classes
-
-    Expose all methods of GIBaseBase info and its sub-classes.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709008
-
- gi/_glib/pyglib-python-compat.h |   1 +
- gi/pygi-info.c                  | 550
- +++++++++++++++++++++++++++++++++++++++-
- tests/test_repository.py        | 134 ++++++++++
- 3 files changed, 677 insertions(+), 8 deletions(-)
-
-commit e190eb75093e8bf36190dc1beb18d1c1b95b9582
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 4 13:46:36 2013 -0700
-
-    Expose all GI enum and flags types
-
-    Add new types for GIDirection, GITransfer, GIArrayType, GIScopeType,
-    GIVFuncInfoFlags, GIFieldInfoFlags, GIFuncitonInfoFlags, GITypeTag,
-    and
-    GInfoType. These types are found in the gi._gi module exposed
-    without the
-    "GI" prefix and contain all of their values as class attributes. e.g.
-    gi._gi.Transfer.EVERYTHING.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709008
-
- gi/docstring.py          |  10 ++--
- gi/pygi-info.c           | 150
- ++++++++++++++++++++++++++++++++++++++++++++---
- tests/test_repository.py |  13 +++-
- 3 files changed, 158 insertions(+), 15 deletions(-)
-
-commit 0120af6c418d0f67f39c02a4e8327813645b97f4
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 4 13:42:34 2013 -0700
-
-    Avoid calling g_base_info_get_name on GI_INFO_TYPE_TYPE
-
-    Calling g_base_info_get_name on infos tagged with GI_INFO_TYPE_TYPE
-    will
-    cause a crash. Avoid this by adding _safe_base_info_get_name and
-    using that
-    throughout the bindings.
-    Logged GI bug as: https://bugzilla.gnome.org/show_bug.cgi?id=709456
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709008
-
- gi/pygi-info.c | 35 +++++++++++++++++++++++++----------
- 1 file changed, 25 insertions(+), 10 deletions(-)
-
-commit c86b2fe8d01070f06c45fffd910d890afba1313a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 4 13:41:08 2013 -0700
-
-    Add GIBaseInfo.equal method
-
-    Break PyGIBaseInfo rich compare into two methods: equal and
-    richcompare.
-    Equal is a direct exposure of the GI method and richcompare makes
-    use of
-    this with additional support for Pyton "==" and "!=" operators.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709008
-
- gi/pygi-info.c           | 32 ++++++++++++++++++++++++--------
- tests/test_repository.py |  1 +
- 2 files changed, 25 insertions(+), 8 deletions(-)
-
-commit e7b758badd0ab0b147117859f7871c39fb5399c1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 4 13:36:11 2013 -0700
-
-    Move info string retrieval into generic function
-
-    Add get_info_string for sharing binding of simple string retrieval on
-    GIBaseInfo objects.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709008
-
- gi/pygi-info.c | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
-
-commit d2aef364de778da966bc1cfffe184d649f9ebb21
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Sep 24 06:26:17 2013 -0700
-
-    Move child info retrieval into generic function
-
-    Add a generic function for bindings which return a single child info.
-    This trivializes binding methods like PyGIObjectInfo.get_parent and
-    fixes leaks in PyGIObjectInfo.get_class_struct and
-    PyGIVFuncInfo.get_invoker.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709008
-
- gi/pygi-info.c | 56
- +++++++++++++++++++++++---------------------------------
- 1 file changed, 23 insertions(+), 33 deletions(-)
-
-commit cdd03a2b0baef19797a5b55c2880e5b7acf1dd93
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Sep 24 02:52:22 2013 -0700
-
-    Move info tuple retrieval into generic function
-
-    Create new generic function for retrieving a tuple of child infos.
-    This greatly simplifies all the bindings which return tuples from
-    a common pattern of functions on GIBaseInfo based instances.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709008
-
- gi/pygi-info.c | 469
- ++++++++-------------------------------------------------
- 1 file changed, 59 insertions(+), 410 deletions(-)
-
-commit 62f185bef20b42f18290a3cf1d3b19dddc957f8a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Oct 6 16:41:37 2013 -0700
-
-    tests: Update check.valgrind with always-malloc and add logging
-    options
-
-    Based on notes in https://wiki.gnome.org/Valgrind we need to use
-    always-malloc for valgrind runs.
-    Add check.valgrindlog and check.valgrindxml which output valgrind
-    logs into
-    an ignored local tmp. Output logs are named <head-sha>-$TEST_NAMES.log
-    so we
-    can track commits and use diff tools on the logs.
-
- .gitignore        |  1 +
- Makefile.am       |  6 ++++++
- tests/Makefile.am | 10 +++++++++-
- 3 files changed, 16 insertions(+), 1 deletion(-)
-
-commit 314c933626c4dc5fc585d0e5b6c45ddb17c2e52f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 4 20:43:02 2013 -0700
-
-    Move existing repository tests into test_repository
-
-    Move flags and enum double registration tests into test_repository.py.
-    Remove duplicate ObjectInfo tests from test_gi.py.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709008
-
- tests/test_gi.py         | 38 --------------------------------------
- tests/test_repository.py | 28 ++++++++++++++++++++++++++++
- 2 files changed, 28 insertions(+), 38 deletions(-)
-
-commit 31840888c8948aab78041da93c329572f3aabb64
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 4 17:31:21 2013 -0700
-
-    Add unittests for GIRepository
-
-    Add basic unittests for the existing classes and methods exposed for
-    the GIRepository module (gi._gi).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709008
-
- tests/Makefile.am        |   1 +
- tests/test_repository.py | 170
- +++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 171 insertions(+)
-
-commit 4408f83be70e92c5e3943f5ce85c551e7f2c87d0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 4 15:50:05 2013 -0700
-
-    Derive SignalInfo info from CallableInfo
-
-    Change Python class derivation of PyGISignalInfo to use
-    PyGICallableInfo as
-    the base class. This accurately reflects the GI class layout and
-    provides
-    the callable information for signals.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709008
-
- gi/pygi-info.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-commit b01daba04ff001b9e63d343938e879d339d9a98c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Oct 4 15:48:05 2013 -0700
-
-    Use PYGLIB_PyLong_FromLong for GIDirection return
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709008
-
- gi/pygi-info.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit d644cbd0c0ad85142286754838db848c4eb1707f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Oct 3 19:25:34 2013 -0700
-
-    Fix memory leak for caller allocated GValue out arguments
-
-    Swizzle the order of type checks in _cleanup_caller_allocates so
-    G_TYPE_VALUE arguments are checked before G_TYPE_BOXED. The
-    ordering is
-    important because G_TYPE_VALUE is a sub-type of boxed and so its
-    specialized
-    cleanup code was never being called (g_value_unset).
-    Additionally update check to use g_type_is_a instead of a compare
-    to handle
-    the potential case of a G_TYPE_VALUE sub-type.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=709397
-
- gi/pygi-marshal-cleanup.c | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-commit 510789d52e9e2fd863d26613f3282364eb175601
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Jul 28 14:44:51 2013 -0700
-
-    Add support for default arguments annotated with allow-none
-
-    Support default value of NULL for tail end arguments which are
-    marked with allow-none.
-    The implementation uses a place holder object for un-supplied
-    arguments
-    which are annotated with allow-none. This is then used later during
-    marshaling to supply NULL as the default.
-    Additionally support an implicit default for callback user_data
-    using the same technique.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/gimodule.c             |   6 +++
- gi/pygi-cache.c           | 103
- ++++++++++++++++++++++++++++++----------------
- gi/pygi-cache.h           |   8 ++++
- gi/pygi-invoke.c          |  42 +++++++++++++------
- gi/pygi-marshal-from-py.c |   5 +++
- gi/pygi.h                 |   1 +
- tests/test_everything.py  |  16 +++++++
- tests/test_gi.py          |  30 ++++++++++++++
- 8 files changed, 162 insertions(+), 49 deletions(-)
-
-commit 03f531ffb1adde0c48e98f92bd92f79416654fbe
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 2 22:27:10 2013 -0700
-
-    cache refactoring: Move arg cache field assignments into
-    _arg_cache_new
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/pygi-cache.c | 23 +++++++++++------------
- 1 file changed, 11 insertions(+), 12 deletions(-)
-
-commit cb7e7311bff57eb4c79c7772b6db4d00084656bb
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 2 20:27:02 2013 -0700
-
-    cache refactoring: Cleanup array length argument marshaling
-
-    Add shared function: _arg_cache_array_len_arg_setup for use
-    with both to and from array marshaling setup. This function
-    consolidates all of the edge cases regarding array length setup
-    and removes the need for flagging arguments with
-    PYGI_META_ARG_TYPE_CHILD_NEEDS_UPDATE.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/pygi-cache.c | 145
- +++++++++++++++++++++++++++-----------------------------
- gi/pygi-cache.h |   5 --
- 2 files changed, 71 insertions(+), 79 deletions(-)
-
-commit c9d8639401ae82977e960de44d80b94a501a2184
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Aug 3 00:26:11 2013 -0700
-
-    cache refactoring: Move variable declarations to blocks where they
-    are used
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/pygi-cache.c | 25 ++++++++++++++-----------
- 1 file changed, 14 insertions(+), 11 deletions(-)
-
-commit dbc2cf5f1fa0f9cc046170efa6afb086b90253cb
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Aug 1 19:33:27 2013 -0700
-
-    cache refactoring: Remove continue statements from
-    _args_cache_generate
-
-    Remove continue and goto statements from the large loop within
-    _args_cache_generate. This simplifies the sharing of parts of
-    the loop for future refactoring.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/pygi-cache.c | 126
- +++++++++++++++++++++++++++-----------------------------
- 1 file changed, 61 insertions(+), 65 deletions(-)
-
-commit 87ae14b8b4a0ed9beb22f48314247e988a2e017f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jul 31 18:10:05 2013 -0700
-
-    cache refactoring: Use bit field for PyGIDirection instead of enum
-
-    This supports cleaner logic when testing the direction of
-    arguments due to the majority of these tests being along the
-    lines of: (direction == FROM_PYTHON || direction == BIDIRECTIONAL)
-    Which is replaced with: (direction & FROM_PYTHON)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/pygi-cache.c | 64
- ++++++++++++++++++++++++++++-----------------------------
- gi/pygi-cache.h |  6 +++---
- 2 files changed, 35 insertions(+), 35 deletions(-)
-
-commit d5925b76afa3a429092cbafd82aed40bb0cf0b18
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Jul 28 20:45:05 2013 -0700
-
-    cache refactoring: Remove special case marshaling for instance
-    arguments
-
-    Remove duplicate code for marshaling struct and objects for
-    instance arguments. Re-use individual cache marshalers for
-    structs and objects with the instance argument. This required
-    removal of passing GITypeInfo to the marshaler because it is
-    not available for instance arguments. Instead always assume
-    "is_pointer" for the instance argument by using the cache.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/pygi-argument.c        |  4 +--
- gi/pygi-cache.c           | 16 ++++-----
- gi/pygi-marshal-from-py.c | 87
- +++--------------------------------------------
- gi/pygi-marshal-from-py.h | 16 ++-------
- 4 files changed, 16 insertions(+), 107 deletions(-)
-
-commit c19bed69c669160737e12d92cc29f3e6d1b008cc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Jul 28 16:44:01 2013 -0700
-
-    cache refactoring: Use GPtrArray for callable arg cache
-
-    Replace manual management of the C array holding individual
-    argument caches with usage of GPtrArray. This provides storage
-    of the array length along with item memory management.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/pygi-cache.c           | 62
- +++++++++++++++++++++++------------------------
- gi/pygi-cache.h           | 16 +++++++++---
- gi/pygi-invoke.c          | 16 ++++++------
- gi/pygi-marshal-cleanup.c |  8 +++---
- gi/pygi-marshal-from-py.c |  6 ++---
- gi/pygi-marshal-to-py.c   |  6 ++---
- 6 files changed, 62 insertions(+), 52 deletions(-)
-
-commit 52ea3afb0a6494423eca36a54af928d4ae5d9954
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Jul 28 15:02:51 2013 -0700
-
-    cache refactoring: Move PyGI direction code into new function
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/pygi-cache.c | 42 +++++++++++++++++++++---------------------
- 1 file changed, 21 insertions(+), 21 deletions(-)
-
-commit 83208bf495b152e93a28a231d445f43ea827d2eb
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Aug 2 15:59:25 2013 -0700
-
-    cache refactoring: Add comments to callable cache structure
-
-    Add comments to count fields on _PyGICallableCache.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640812
-
- gi/pygi-cache.h | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
-commit 0a8d5695972601eaa9f7f463bac173d02b0380a0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jul 24 01:14:29 2013 -0700
-
-    Remove support for allowing PyObjects as void pointers
-
-    Final removal of marshaling Python object addresses as
-    void pointers. This ensures we can successfully pass
-    integer values as the pointer without the Python object
-    leaking or crashing due to invalid memory.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688081
-
- gi/pygi-marshal-from-py.c | 20 ++++++--------------
- gi/pygi-marshal-to-py.c   | 14 ++------------
- tests/test_signal.py      |  5 +----
- 3 files changed, 9 insertions(+), 30 deletions(-)
-
-commit 1469403ee2faa699430055384b338f0cd8e672d7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Sep 25 18:21:22 2013 -0700
-
-    configure.ac: bump trunk to 3.11.1
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 8e774e61d62c82efa3d907c1201359121878b4b5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 23 03:57:03 2013 -0700
-
-    configure.ac: post-release bump to 3.10.1
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 95af6279a9affff5c816db2db53207ff0f19872d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 23 03:17:19 2013 -0700
-
-    release 3.10.0
-
- NEWS         | 3 +++
- configure.ac | 4 ++--
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-commit c626be6317b610277c95461108573d1ae6f42b6d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 23 12:06:11 2013 +0200
-
-    Fix test_gi.TestProjectVersion.test_version_str()
-
-    In this test case we only do a string comparison, not a proper
-    "by version
-    component" numerical one. So relax the test to also work with 3.10.
-
- tests/test_gi.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 0a30f8d02099e582ea3ded800303e14d2e7ab212
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 16 10:12:33 2013 -0500
-
-    release 3.9.92
-
- NEWS | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 506f1e35a9375be80a6a79421bf8272165fdd90a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 16 01:23:49 2013 -0700
-
-    Update current maintainers list in README
-
- README | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit ef120498e060e88a1efcb82de385a23c1fa9c7da
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Sep 10 17:11:21 2013 -0700
-
-    Fix union argument regression when marshaling from python
-
-    Check for union members when marshaling boxed types from Python.
-    This is a regression caused by stricter type checking added when
-    merging code from pygi-argument.c.
-    Re-add pyg_boxed_check to the same bit of code in addition to
-    __gtype__ checking to avoid a double regression.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=703873
-
- gi/pygi-marshal-from-py.c | 53
- ++++++++++++++++++++++++++---------------------
- 1 file changed, 29 insertions(+), 24 deletions(-)
-
-commit 59a2964141e963d2961e55d4b84a777927b4f21b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Sep 11 05:05:33 2013 -0700
-
-    Fix GLib.Source sub-classing with initializer args
-
-    Add variable args and keyword args to the GLib.Source.__new__
-    method to support sub-classes which want to implement __init__.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=707904
-
- gi/overrides/GLib.py |  2 +-
- tests/test_source.py | 11 +++++++++++
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-commit afa42ab95327da1de0cf86005974cd8ab0d46872
-Author: Vratislav Podzimek <vpodzime@redhat.com>
-Date:   Wed Sep 4 14:17:31 2013 +0200
-
-    Copy __doc__ when wrapping function
-
-    Signed-off-by: Vratislav Podzimek <vpodzime@redhat.com>
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/overrides/__init__.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 7914a6828a533d8c579a5b422351e18b9f9afc8c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 2 14:56:24 2013 +0200
-
-    configure.ac: post-release bump to 3.9.92
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit ad8b7d1a89eb2d030a504d521f7589a4c1d835fb
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 2 14:38:41 2013 +0200
-
-    release 3.9.91
-
- NEWS | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 9df8eb79929025f12d51bc7f79b1d160156c2755
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Sep 2 04:19:35 2013 -0700
-
-    Fix GObject signal methods to work with new annotations
-
-    Add conditional support for signal methods annotated as gpointer
-    or GObject.Object. This is needed to work with newer versions of
-    glib which changed annotations to GObject.Object (bug #685387).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=707280
-
- gi/overrides/GObject.py | 106
- ++++++++++++++++++++++++++++++------------------
- 1 file changed, 66 insertions(+), 40 deletions(-)
-
-commit 9b6b6c7ee6a621cba99f51857eadd622a1535118
-Author: Chun-wei Fan <fanchunwei@src.gnome.org>
-Date:   Thu Aug 15 14:41:40 2013 +0800
-
-    Fix build on C89 Compilers
-
-    Avoid a variable declaration at the middle of the block
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=707264
-
- gi/pygi-closure.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 19c1a2dfb91a83a6fb0ca76b9c95c42a49a3736e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Sep 1 20:44:26 2013 -0700
-
-    Change boxed type checking in marshaling to use __gtype__ attribute
-
-    Replace usage of pyg_boxed_check(pyboxed) with g_type_is_a and
-    pyg_type_from_object. This has the effect of using the __gtype__
-    attribute stashed on object class instead of the PyGBoxed
-    internally held gtype. This fixes type descrepencies for objects
-    marshaled into overridden signal class closures and passed back
-    to functions taking an alias their type.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=707140
-
- gi/pygi-marshal-from-py.c   |  8 +++++++-
- tests/test_overrides_gtk.py | 34 ++++++++++++++++++++++++++++++++++
- 2 files changed, 41 insertions(+), 1 deletion(-)
-
-commit dab0c09f1996e124ca98334e5aea0852904b44b5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Sep 1 17:49:09 2013 -0700
-
-    Use G_IS_VALUE for checking return values in closure marshaling
-
-    Replace return_value argument NULL checks in GClosureMarshal
-    implementations with G_IS_VALUE. This checks both NULL and
-    validity of the value (!= G_TYPE_INVALID). This is needed
-    because GLib can pass either NULL or an invalid value based
-    on whether or not G_ENABLE_DEBUG is set.
-    See: https://bugzilla.gnome.org/show_bug.cgi?id=707249
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=707170
-
- gi/_gobject/pygtype.c    | 4 ++--
- gi/pygi-signal-closure.c | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-commit c7b75a8c250078ac8ea28752f087ed687bd20edd
-Author: Yanko Kaneti <yaneti@declera.com>
-Date:   Wed Aug 21 08:53:07 2013 +0200
-
-    Fix PEP-8 errors in propertyhelper.py
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=706319
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/_gobject/propertyhelper.py | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-commit 6fdd58404103596accb6ab04d4de33846d853c58
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Aug 19 17:13:30 2013 +0200
-
-    configure.ac: post-release bump to 3.9.91
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6fbe2580deda215896e9583b418b8bc1aceb2f96
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Aug 19 17:10:52 2013 +0200
-
-    release 3.9.90
-
- NEWS | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit a8d5da559ef088b05062681206758d2718946269
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Aug 19 11:38:31 2013 +0200
-
-    NEWS: retroactively fix last version number
-
- NEWS | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit aba45eb2617c4b35168089bc9028f351732a617f
-Author: Benjamin Berg <benjamin@sipsolutions.net>
-Date:   Tue Aug 6 00:41:52 2013 +0200
-
-    Create GLib.Pid in the same way on python 2 and 3
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=705451
-
- gi/_glib/pygspawn.c | 8 --------
- 1 file changed, 8 deletions(-)
-
-commit 2d203b7529c95ba4461a5a6d4c6b67169fabc4cf
-Author: Benjamin Berg <benjamin@sipsolutions.net>
-Date:   Mon Aug 5 17:04:15 2013 +0200
-
-    Use PyLong_Type.tp_new for GLib.Pid
-
-    For GLib.Pid the original implementation for __new__ needs to be used,
-    as it is able to initialize the integer correctly.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=705451
-
- gi/_glib/pygspawn.c      | 1 +
- tests/test_subprocess.py | 1 +
- 2 files changed, 2 insertions(+)
-
-commit c32793dafbd52eab87b14ca064b47f5a4fb9000b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Aug 5 14:40:38 2013 -0700
-
-    Add accumulator and accu_data arguments to GObject.Signal decorator
-
-    Update __init__, __call__, and copy methods to accept and pass
-    accumulators and associated user data through them. Update
-    accumulator unittests to use Signal decorators for testing accumulator
-    pass throughs. Verified the __gsignals__ dictionary accepts None
-    as valid values for accumulator and accu_data so specialization
-    for these arguments is not necessary.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=705533
-
- gi/_gobject/signalhelper.py | 17 ++++++++++-----
- tests/test_signal.py        | 52
- ++++++++++++++++++++++++---------------------
- 2 files changed, 40 insertions(+), 29 deletions(-)
-
-commit 78f72654f5cb6c06e76ed9a532fc1ee328b60e50
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Aug 5 14:12:24 2013 -0700
-
-    Pass return values through the GObject.Signal.emit wrapper
-
-    Return the result of GObject.emit from the Signal decorators wrapping.
-    Update unittest for decorated return type to use skipUnless for
-    Python 3.
-    Add test for Signal decorator return type.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=705530
-
- gi/_gobject/signalhelper.py |  2 +-
- tests/test_signal.py        | 37 +++++++++++++++++++++----------------
- 2 files changed, 22 insertions(+), 17 deletions(-)
-
-commit 08cc206afeaefd1ce50ecfd1411807225a11c8f8
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 29 03:33:40 2013 -0700
-
-    configure.ac: post-release bump to 3.9.90
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2d8f5490cdc078b3e56a92deb9eca71b3fc5ef17
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 29 02:23:02 2013 -0700
-
-    release 3.9.5
-
- NEWS         | 41 +++++++++++++++++++++++++++++++++++++++++
- configure.ac |  2 +-
- 2 files changed, 42 insertions(+), 1 deletion(-)
-
-commit ec3de7608ec970f6f272c9d7937344f02c6e9c3d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 29 01:21:19 2013 -0700
-
-    Ensure exceptions set in closure out argument marshaling are printed
-
-    Call PyErr_Print when an exception occurs after marshaling closure
-    out arguments. These exceptions were being ignored and cleared out
-    only to show up in debug builds of Python.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=705064
-
- gi/pygi-closure.c              |  8 ++++++++
- tests/test_generictreemodel.py | 17 +++++++++++------
- 2 files changed, 19 insertions(+), 6 deletions(-)
-
-commit b5dcb1800839f747a052e487643c234668384677
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Jul 28 23:00:26 2013 -0700
-
-    Use Python error messages for marshaling integers from Python
-
-    Use Pythons default error messages where possible.
-    Change all explicitly raised ValueError to use OverflowError
-    for out of range data.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=705057
-
- gi/pygi-marshal-from-py.c | 76
- +++++++++++++++++------------------------------
- tests/test_everything.py  | 52 ++++++++++++++++----------------
- tests/test_gi.py          | 64 +++++++++++++++++++--------------------
- tests/test_gobject.py     |  2 +-
- 4 files changed, 86 insertions(+), 108 deletions(-)
-
-commit 3c83bfb14b850670eb7c0208e55c120ca203f8af
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jul 27 21:10:07 2013 -0700
-
-    Use Py_CLEAR for closure cleanup instead of test with Py_DECREF
-
- gi/pygi-closure.c | 11 ++---------
- 1 file changed, 2 insertions(+), 9 deletions(-)
-
-commit f5e3876dee512ca82af6ea798b10d5ecad785dd1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jul 27 15:25:20 2013 -0700
-
-    Cleanup invoke args and kwargs combiner code
-
-    Change _py_args_combine_and_check_length use cleaner reference
-    counting.
-    It no longer DECREFs input arguments and always returns a new value
-    reference.
-    Use PyGICallableCache directly as an argument instead of passing
-    various
-    members.
-
- gi/pygi-invoke.c | 44 +++++++++++++++++---------------------------
- 1 file changed, 17 insertions(+), 27 deletions(-)
-
-commit 91c49822363d8a1efc82163b46daa667d6cfc1b7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jul 17 16:10:25 2013 -0700
-
-    Replace Python VFunc descriptor directly with PyGIVFuncInfo
-
-    Add tp_getdesc (__get__) to PyGIVFuncInfo to allow the object
-    to be used directly as a callable descriptor. This piggy backs
-    off the added support for functions and constructors in previous
-    patches.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=704037
-
- gi/pygi-info.c | 25 +++++++++++++++++++++++--
- gi/types.py    | 33 ++++-----------------------------
- 2 files changed, 27 insertions(+), 31 deletions(-)
-
-commit 35f79b22ec5abf02fd0bb66352eb1f251b65a078
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jul 16 16:00:14 2013 -0700
-
-    Add callable and descriptor protocols to PyGICallableInfo
-
-    Add tp_call (__call__) function to callable info objects.
-    This allows for replacement of wrapped invoke methods directly
-    with the already created callable info object. This has the
-    additional side effect of making doc strings lazily bound
-    (only generated when __doc__ is accessed).
-
-    Add tp_desc_get (__get__) to PyGIFunctionInfo which returns
-    a bound version of itself for methods and constructors.
-
-    Update various internal type checks to reflect the changes.
-    Update tests to reflect the new callable type being the same
-    across Python 2 & 3.
-
-    This patch gives roughly a %17 speedup for Gtk imports and
-    an %11 speedup for GI method calls.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=704037
-
- gi/module.py                |   5 +-
- gi/overrides/__init__.py    |  10 ++-
- gi/pygi-info.c              | 179
- ++++++++++++++++++++++++++++++++++++++++++--
- gi/pygi.h                   |  13 ++++
- gi/types.py                 |  35 +--------
- tests/test_docstring.py     |   6 +-
- tests/test_gi.py            |  32 +++-----
- tests/test_overrides_gtk.py |   4 +-
- 8 files changed, 212 insertions(+), 72 deletions(-)
-
-commit 2339e030e4dc4d93ea770bca380a89f831d56be6
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Jul 26 19:33:32 2013 -0700
-
-    Move "from Python" GObject out arg marshaler into specialized function
-
-    Move hacks specific to out argument marshaling for vfuncs into a
-    a specialized function. This allows standard function call marshaling
-    to continue working correctly when there are no extra references
-    holding the arguments "foo(SomeObject())". This is currently being
-    masked because all GI functions are wrapped by additional layers
-    of Python functions. When these layers are removed, it exposes
-    bugs introduced by reference counting hacks intended for vfunc
-    return arguments.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=704037
-
- gi/pygi-argument.c        |  2 +-
- gi/pygi-marshal-from-py.c | 37 ++++++++++++++++++++++++++++++-------
- gi/pygi-marshal-from-py.h |  3 +++
- 3 files changed, 34 insertions(+), 8 deletions(-)
-
-commit 627c5faaa54ed9a2b59ac1547833c171cd1a1e87
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Jul 26 17:34:01 2013 -0700
-
-    Add underscore prefix and _cache_adapter suffix to marshaling
-    functions
-
-    Add underscores to all _pygi_marshal_* functions. We don't currently
-    export symbols, but we might need to for C unittesting. This will
-    ensure we don't have a "public API".
-    Add _cache_adapter suffix to marshaling functions which are light
-    weight wrappers intended only for cached marshalers.
-
- gi/pygi-argument.c        | 40 +++++++++++-----------
- gi/pygi-cache.c           | 10 +++---
- gi/pygi-marshal-from-py.c | 86
- +++++++++++++++++++++++------------------------
- gi/pygi-marshal-from-py.h | 44 ++++++++++++------------
- gi/pygi-marshal-to-py.c   | 48 +++++++++++++-------------
- gi/pygi-marshal-to-py.h   | 34 +++++++++----------
- 6 files changed, 131 insertions(+), 131 deletions(-)
-
-commit bec0b543be8d993996d8a17c343c3f2f33a9398f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jul 16 11:13:17 2013 -0700
-
-    Add common attribute accessors to PyGIBaseInfo
-
-    Add __name__, __module__, and __doc__ accessors to
-    PyGIBaseInfo object. This is a precursory patch for setting
-    up PyGICallableInfo as a directly callable object with lazy
-    doc string evaluation.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=704037
-
- gi/_glib/pyglib-python-compat.h |  5 +++
- gi/pygi-info.c                  | 83
- +++++++++++++++++++++++++++++++++++++++--
- gi/types.py                     |  7 ++--
- 3 files changed, 88 insertions(+), 7 deletions(-)
-
-commit ea194404843a16555f9a475cc973872a4428bfe1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jul 13 23:10:31 2013 -0700
-
-    Merge method and constructor setup
-
-    Merge _setup_constructors into _setup_methods as they contain same
-    basic logic. This removes an unnecessary call with additional
-    filtering of GIObjectInfo.get_methods() which can be large for
-    objects with many methods.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=704037
-
- gi/types.py | 15 ++++-----------
- 1 file changed, 4 insertions(+), 11 deletions(-)
-
-commit 6b36fbe904d19f515578f447daa7657d3a9a859c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jul 13 18:11:18 2013 -0700
-
-    Remove redundant info.get_name calls
-
-    Remove a number of redundant calls to GIBaseInfo.get_name. Info
-    names are already cached on function objects so re-use them when
-    possible. This gives a small load time improvement by removing over
-    2000 calls when importing Gtk.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=704037
-
- gi/module.py | 1 -
- gi/types.py  | 8 +++-----
- 2 files changed, 3 insertions(+), 6 deletions(-)
-
-commit 6fdde256e840600c84a648ab21da2fe5c212e5bc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Jul 12 12:21:54 2013 -0700
-
-    Move doc string generator into separate module
-
-    Move the doc string generator for creating function signatures
-    into "gi.docstring". This includes a new API for getting and
-    setting the doc string creation functions:
-
-    gi.docstring.get_doc_string_generator
-    gi.docstring.set_doc_string_generator
-    gi.docstring.generate_doc_string
-
-    Beyond adding the ability for custom doc string generators,
-    this API is a necessary step for adding lazy __doc__
-    attribute access for optimization.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=704037
-
- gi/Makefile.am          |   3 +-
- gi/docstring.py         | 106
- ++++++++++++++++++++++++++++++++++++++++++++++++
- gi/types.py             |  55 ++-----------------------
- tests/Makefile.am       |   1 +
- tests/test_docstring.py |  49 ++++++++++++++++++++++
- tests/test_gi.py        |  30 --------------
- 6 files changed, 161 insertions(+), 83 deletions(-)
-
-commit f86701b15ee04c717d9c6bf688101606165e4f83
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jul 24 19:36:28 2013 -0700
-
-    tests: Change GHashTable<string,GValue> marshaling test to use GValue
-
-    Add test to explicitly use a boxed GStrv GValue in addition to a
-    Python list sub-class.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=666636
-
- tests/test_everything.py | 21 +++++++++++++++------
- 1 file changed, 15 insertions(+), 6 deletions(-)
-
-commit 6ea41b60691e1ba7e21374582d7aea072af71103
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Jul 25 18:00:47 2013 -0700
-
-    gtk-demo: Change demo to use Gtk.Application
-
-    Replace deriving from Gtk.Window with deriving from Gtk.Application
-    connected to a Gtk.ApplicationWindow instance.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698547
-
- demos/gtk-demo/demos/printing.py |  2 +-
- demos/gtk-demo/gtk-demo.py       | 40
- ++++++++++++++++++++--------------------
- 2 files changed, 21 insertions(+), 21 deletions(-)
-
-commit fae58044ea0b2e7f47fbdacc5b58ac36f673ecbd
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jul 23 14:25:01 2013 -0700
-
-    Move _pygi_argument_to_object_basic_type into pygi-marshal-to-py.c
-
-    Move _pygi_argument_to_object_basic_type into pygi-marshal-to-py.c
-    and rename to _pygi_marshal_to_py_basic_type.
-    Cleanup and simplify dependant sub-marshalers for unichar, utf8,
-    and filename types.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c      |  73 +-----------------------------
- gi/pygi-argument.h      |   4 --
- gi/pygi-cache.c         |   4 +-
- gi/pygi-marshal-to-py.c | 115
- +++++++++++++++++++++++++++++++++++++-----------
- gi/pygi-marshal-to-py.h |  27 +++---------
- 5 files changed, 99 insertions(+), 124 deletions(-)
-
-commit cba401ac1543c2fdb68fff0dba8f6da7eed23bfa
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jul 23 13:06:33 2013 -0700
-
-    Unify and clean up from Python marshalers for basic types
-
-    Unify and cleanup boolean, float, double, gtype, unichar, utf8,
-    and filename marshalers.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-cache.c           | 101
- ++--------------------------------------------
- gi/pygi-marshal-from-py.c |  86 ++++++++++++---------------------------
- gi/pygi-marshal-from-py.h |  30 --------------
- 3 files changed, 28 insertions(+), 189 deletions(-)
-
-commit 9e6e01d065bf0acc5b99ae0e8c034d689231bfe1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jul 23 12:35:06 2013 -0700
-
-    Unify from Python int64 and uint64 marshalers
-
-    Replaced int64 and uint64 cached marshalers with usage of the
-    unified basic type marshaler. Replace a large amount of int64
-    exception formatting code with usage of %S for Python 3 and
-    give a more vague message for Python 2.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-cache.c           |  36 +--------
- gi/pygi-marshal-from-py.c | 193
- ++++++++++------------------------------------
- gi/pygi-marshal-from-py.h |  10 ---
- 3 files changed, 43 insertions(+), 196 deletions(-)
-
-commit 46653922003c7d1d5d16f5cdb39b3faadf9aff27
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jul 23 11:03:14 2013 -0700
-
-    Unify from Python int16 and int32 marshalers
-
-    Add PyNumber_Check to unified basic type marshaler.
-    Add bounds checking to unified int16 and int32 marshalers.
-    Replaced int16 and int32 cached marshalers with usage of
-    unified basic type marshaler.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-cache.c           |  69 +--------------
- gi/pygi-marshal-from-py.c | 218
- ++++++++++------------------------------------
- gi/pygi-marshal-from-py.h |  20 -----
- 3 files changed, 48 insertions(+), 259 deletions(-)
-
-commit 4b9c725a615fcf4a5e8d089d275d4586032d0d1f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jul 23 00:27:14 2013 -0700
-
-    Unify from Python boolean, int8, and uint8 marshalers
-
-    Replaced boolean, int8, and uint8 cached marshalers with usage of
-    unified basic type marshaler. Add bounds checking to unified int8
-    marshalers.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-cache.c           |  48 +++------------
- gi/pygi-marshal-from-py.c | 146
- +++++++++++-----------------------------------
- gi/pygi-marshal-from-py.h |  20 ++-----
- 3 files changed, 45 insertions(+), 169 deletions(-)
-
-commit f517bfbc134b78a23b754332e59b9bb67bb68e98
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 22 23:24:13 2013 -0700
-
-    Add support for PyBytes with int8 and uint8 from Python marshaler
-
-    This additional type marshaling is necessary for unifying marhalers
-    due to the same feature being available with cached argument
-    marshaling.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-marshal-from-py.c | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-commit fe9df90531f3dd04c0d13d73ebd4ae7dd396c9b1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 22 23:23:29 2013 -0700
-
-    Move from Python integer marshaling into separate function
-
-    Add _pygi_marshal_from_py_long for marshaling Python objects
-    that can convert to a PyLong type. This allows for better
-    sharing of code amongst marshalers along with unifying
-    them across Python 2.7 and 3.0.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c        |   3 +-
- gi/pygi-marshal-from-py.c | 159
- ++++++++++++++++++++++++----------------------
- 2 files changed, 84 insertions(+), 78 deletions(-)
-
-commit f7748affae3d6ef0cc2e409f65761fb29c01b038
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Jul 22 22:19:26 2013 -0700
-
-    Move _pygi_argument_from_object_basic_type into pygi-marshal-from-py.c
-
-    Move _pygi_argument_from_object_basic_type into pygi-marshal-from-py.c
-    and rename to: _pygi_marshal_from_py_basic_type
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c        | 149
- +---------------------------------------------
- gi/pygi-marshal-from-py.c | 147
- +++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-marshal-from-py.h |   4 ++
- 3 files changed, 152 insertions(+), 148 deletions(-)
-
-commit 9c9510eec782f242280af24e86adf3561e4fac72
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Jul 19 23:37:35 2013 -0700
-
-    Move basic type marshaling out of _pygi_argument_from_object
-
-    Move the marshaling of Python objects to GI arguments for basic types
-    into a new function: _pygi_argument_from_object_basic_type
-    This is staging work needed before unifying basic type marshaling
-    of arguments from Python to GI.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c | 73
- ++++++++++++++++++++++++++++++++++--------------------
- 1 file changed, 46 insertions(+), 27 deletions(-)
-
-commit 0e2441518ef31bd2b4102ba5780c3ded00bec59a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Jul 19 20:16:10 2013 -0700
-
-    Replace to Python cached marshalers with unified basic type marshaler
-
-    Add cached arg marshaler "_pygi_marshal_to_py_basic_type" which
-    unifies functions, vfuncs, signals, and property marshaling for
-    "basic types". Remove all the individual cached arg marshalers
-    for these types.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c      | 104 +++++++++++------------------------
- gi/pygi-argument.h      |   4 ++
- gi/pygi-cache.c         | 114 +++++++-------------------------------
- gi/pygi-marshal-to-py.c | 142
- ++++--------------------------------------------
- gi/pygi-marshal-to-py.h |  48 ++--------------
- 5 files changed, 73 insertions(+), 339 deletions(-)
-
-commit 663fe5893bbc9f34bf8aa4da3cb6f9186a8233b1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Jul 19 18:00:40 2013 -0700
-
-    Move to Python basic type marshaling out of _pygi_argument_to_object
-
-    Move the marshaling of GI arguments to Python objects for basic types
-    into a new function. The required information for this marshaler
-    is a GITypeTag and GITransfer. Argument marshaling matching these
-    requirments are now found in: _pygi_argument_to_object_basic_type.
-    The new marshaler can be used with a generic argument cache marshaler
-    to unify all of the "basic type" marshaling.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c | 86
- +++++++++++++++++++++++++++++++++++++++---------------
- 1 file changed, 63 insertions(+), 23 deletions(-)
-
-commit dd43a1e19440dbe025451d2e4e07a6074086498d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jul 6 14:16:36 2013 -0700
-
-    Override GValue.set/get_boxed with static C marshaler
-
-    Override boxed type get/set methods on GValue to use the static C
-    GValue marshaler. This works around the inability of the introspection
-    version of these methods to know what the held GValue type is.
-    With this, all boxed types will now marshal properly with GValues as
-    their storage.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688081
-
- gi/_gobject/gobjectmodule.c | 38 ++++++++++++++++++++++++++++++++++++++
- gi/overrides/GObject.py     |  9 +++++++++
- 2 files changed, 47 insertions(+)
-
-commit 2cff4827e6d15bcad630316a8a4e67968a70bbbf
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jul 6 14:10:20 2013 -0700
-
-    Refactor pyg_value_from_pyobject into two functions
-
-    Break pyg_value_from_pyobject into two functions. One which keeps
-    Python exceptions queued (pyg_value_from_pyobject_with_error) and
-    one which clears them (pyg_value_from_pyobject). This allows for
-    re-use for code which want to keep the errors around
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688081
-
- gi/_gobject/gobjectmodule.c     |  4 ++-
- gi/_gobject/pygobject-private.h |  1 +
- gi/_gobject/pygobject.h         |  2 ++
- gi/_gobject/pygtype.c           | 67
- ++++++++++++++++++++++++++++++++---------
- 4 files changed, 59 insertions(+), 15 deletions(-)
-
-commit 84e91a9da3522d042faca65fd2ada1ccaee60153
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jul 6 20:41:19 2013 -0700
-
-    Fix indentation for pyg_value_from_pyobject
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688081
-
- gi/_gobject/pygtype.c | 744
- +++++++++++++++++++++++++-------------------------
- 1 file changed, 372 insertions(+), 372 deletions(-)
-
-commit 6a29d9be14ec33d06816ade67a5ccf5c7a1cf398
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jul 6 13:32:39 2013 -0700
-
-    Add deprecation warning for marshaling arbitrary objects as pointers
-
-    Add deprecation warning for marshaling arbitrary objects to/from void
-    pointers with the exception of integers, PyCapsules, and None.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688081
-
- gi/pygi-marshal-from-py.c | 17 ++++++++++++++++-
- gi/pygi-marshal-to-py.c   | 10 ++++++++--
- 2 files changed, 24 insertions(+), 3 deletions(-)
-
-commit 077aefed8566adcb99d7570f52fe09c74c2098e5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jul 6 13:34:53 2013 -0700
-
-    Move PyGIDeprecationWarning to C for shared Python/C usage
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688081
-
- gi/__init__.py | 19 ++++---------------
- gi/gimodule.c  | 18 ++++++++++++++++++
- gi/pygi.h      |  2 ++
- 3 files changed, 24 insertions(+), 15 deletions(-)
-
-commit 90427107af36ea3c624b36967ee181ed13b9828f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Jul 18 14:59:55 2013 -0700
-
-    Replace usage of __import__ with importlib.import_module
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=682320
-
- gi/module.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 6391a8e4f03d4010c0d7de79fc83138fd69e0e33
-Author: Mike Gorse <mgorse@suse.com>
-Date:   Wed Jul 10 16:44:23 2013 -0500
-
-    Always unref the GiTypeInfo when generating an argument cache
-
-    We were leaking a GiTypeInfo when handling child arguments.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=703973
-
- gi/pygi-cache.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit ce0ad7066ebdb7018fdce58dc32bbaa715206a0c
-Author: Mike Gorse <mgorse@suse.com>
-Date:   Wed Jul 10 12:10:16 2013 -0500
-
-    Unref interface info when fetching enums or flags
-
-    When calling g_type_info_get_interface, the resulting interface should
-    be dereferenced by calling g_base_info_unref.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=703960
-
- gi/pygi-marshal-from-py.c | 8 +++++++-
- gi/pygi-marshal-to-py.c   | 3 +++
- 2 files changed, 10 insertions(+), 1 deletion(-)
-
-commit a93755ddba9a1761b627583d7b9be63783c2c063
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Tue Jul 9 13:03:36 2013 -0600
-
-    Speed up MRO calculation
-
-    Optimize gi.type.mro() with the following observations and tricks:
-
-    1. Python prepares all the base classes before trying to calculate the
-       MRO of the current one (it first needs to populate __bases__, for
-       example). So we can assume that the base class MRO is already
-       available
-       in __mro__ and this will have been previously calculated (by us,
-       in the
-       case of gi classes). This avoids repeating a lot of MRO-calculating
-       work,
-       and also avoids (re)calculating MROs for inheritance chains
-       that don't
-       have any gi classes in them anyway.
-
-    2. With that simplification in place, we can avoid recursion, which
-    is not
-       all that great in Python...
-
-    3. ...except in the uncommon case of a Python2 old-style classes,
-    where
-       __mro__ is not available. There doesn't seem to be any existing
-       function to calculate or read MRO of old-style python classes,
-       so just
-       keep doing as before: calculate the C3 MRO of the old-style
-       class via
-       recursion. That behaviour is not really correct, and the
-       recursion is
-       not desirable, so we print a warning here.
-
-    This makes the "hello world" Sugar app start up approximately
-    0.5 seconds
-    faster on XO-1.5.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=703829
-
- gi/types.py      | 30 +++++++++++++++++++++++++++---
- tests/test_gi.py | 16 ++++++++++++----
- 2 files changed, 39 insertions(+), 7 deletions(-)
-
-commit 7aca95781fc76f3e820e63325ccc07d128a60075
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Wed Jul 10 10:45:47 2013 -0600
-
-    tests: Add tests for MRO override
-
-    Add tests for the MRO override to prevent against unintended
-    behaviour changes.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=703829
-
- tests/test_gi.py | 66
- ++++++++++++++++++++++++++++++++++++++++++--------------
- 1 file changed, 50 insertions(+), 16 deletions(-)
-
-commit a15333a36e31b76ea6b80251553840269ec5deb1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jul 6 13:34:13 2013 -0700
-
-    Add GIL safety to pyobject_copy for copying boxed PyObjects
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688081
-
- gi/_gobject/pygobject.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 097c116d43a21bebf8e4bccde9cacc551db1e1e5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Jul 6 09:48:35 2013 -0700
-
-    testhelper: Fix import requirement for GObject
-
-    Replace the importing of gi._gobject._gobject with
-    gi.repository.GObject
-    in tests/testhelpermodule.c
-
-    The testhelper module was only importing the static bindings
-    (gi._gobject._gobject) and not the overrides (gi.repository.GObject).
-    This was causing some tests to fail when test_thread was the first
-    test to run in the suite due to it registering new types based on
-    PyGObject_Type.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=703647
-
- tests/testhelpermodule.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 0f6c571755e65b5e77d3d84e4516ef90d8ce0162
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jul 3 05:26:12 2013 -0700
-
-    Add marshalling of GI_TYPE_TAG_VOID held in a GValue to int
-
-    Replace assertion for this case with a simple marshalling of the
-    pointer value to a Python int. While not particularly useful
-    this allows some callbacks in WebKit to function without causing
-    a segfault.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=694233
-
- gi/pygi-argument.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit e0084e7e73845fa2a2da29017d3622f361f11dfb
-Author: Cole Robinson <crobinso@redhat.com>
-Date:   Sat Feb 16 17:26:43 2013 -0500
-
-    GTK overrides: Make connect_signals handle tuple
-
-    This is used for passing extra arguments to callbacks during
-    signal emission in the form of:
-    builder.connect_signals({'on_clicked': (on_clicked, arg1, arg2)})
-
-    Co-Authored-By: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693994
-
- gi/overrides/Gtk.py         |  51 ++++++++----
- tests/test_overrides_gtk.py | 196
- +++++++++++++++++++++++++++++---------------
- 2 files changed, 165 insertions(+), 82 deletions(-)
-
-commit 466567373289e6f141709f08efa80ba588d3d64a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jul 2 18:06:01 2013 -0700
-
-    Re-add support for passing GValue's by reference
-
-    Fix special casing when marshaling from a Python held GValue
-    to a GValue argument intended for a function call.
-    The re-factoring of GValue marshaling in commit #9e47afe459df942d9f
-    broke this by always making a copy of the GValue. This removed the
-    ability to retrieve values with functions like
-    gtk_style_context_get_style_property.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=701058
-
- gi/pygi-argument.c        |  2 +-
- gi/pygi-marshal-from-py.c | 32 +++++++++++++++-----------------
- 2 files changed, 16 insertions(+), 18 deletions(-)
-
-commit 40a3cd18fd7111ae177f6ab716f78d131f59a1c0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jul 2 19:20:04 2013 -0700
-
-    tests: Add test for pass-by-reference GValue
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=701058
-
- tests/test_gi.py | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 3b3251593ea107f06b160234b0ca5393cb39ac1b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Jul 2 23:02:17 2013 -0700
-
-    Clear return value of closures to zero when an exception occures
-
-    For return types other than void, set the ffi closure return argument
-    to 0 when a Python exception occures. This a good default in general
-    but also has the side affect of fixing failing idle callbacks
-    by causing them to be removed from main loops (after their stack
-    is printed).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=702552
-
- gi/pygi-closure.c | 14 ++++++++++++++
- tests/test_gi.py  |  8 ++++++++
- 2 files changed, 22 insertions(+)
-
-commit ae3439f1d22482d6a920a869d3d17e7054af6f80
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jul 3 10:40:28 2013 +0200
-
-    Don't use doctest syntax in docstrings for examples
-
-    These are not actual doctests, so don't use the >>> syntax there. Just
-    indent
-    them.
-
-    This fixes pyflakes 0.7 failures.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=701009
-
- gi/_gobject/propertyhelper.py | 11 +++++------
- gi/overrides/GObject.py       |  8 ++++----
- gi/overrides/Gtk.py           |  2 +-
- 3 files changed, 10 insertions(+), 11 deletions(-)
-
-commit b96a6dc968566d339a2dfd7dd631ae52d812302a
-Author: Garrett Regier <garrettregier@gmail.com>
-Date:   Tue Jul 2 06:07:15 2013 -0700
-
-    Add support for properties of type GInterface
-
-    Add support for G_TYPE_INTERFACE/GInterface to switch
-    statement which handles G_TYPE_OBJECT based properties.
-
-    Signed-off-by: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=703456
-
- gi/_gobject/gobjectmodule.c   |  1 +
- gi/_gobject/propertyhelper.py |  3 ++-
- tests/test_properties.py      | 16 ++++++++++++++++
- 3 files changed, 19 insertions(+), 1 deletion(-)
-
-commit 61b268e44af63d6d78feae42578bf75aa5cfd511
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jun 21 07:27:48 2013 +0200
-
-    pygtkcompat: Fix for missing methods on Windows
-
-    Deal with non-existing Gtk.Clipboard.get() and
-    GdkPixbuf.Pixbuf.new_from_file_at_scale() methods.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=702787
-
- pygtkcompat/pygtkcompat.py | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-commit 5e3ab0bb974cc785659666b871d795730b4f06b3
-Author: Chun-wei Fan <fanchunwei@src.gnome.org>
-Date:   Fri Jun 21 12:32:33 2013 +0800
-
-    gi/pygi-info.c: Avoid C99-style variable declaration
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=702786
-
- gi/pygi-info.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 94167e12c118c85cd3172f9f5824fe53e55bcc2d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed May 29 11:20:35 2013 +0200
-
-    GLib overrides: fix typo in deprecation message
-
-    Spotted by Dmitrijs Ledkovs, thanks!
-
- gi/overrides/GLib.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 86569b69ade0fe157fa87365e9369dde84cd5c90
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue May 28 17:57:20 2013 +0200
-
-    configure.ac: post-release version bump to 3.9.3
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 10f703189ed6a7104252907d1b1a114f26d79559
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue May 28 17:56:07 2013 +0200
-
-    release 3.9.2
-
- NEWS | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit af8d048442b924c72a1d0ae868ee63ccf292759d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri May 24 13:03:07 2013 +0200
-
-    examples/option.py: Port to GI and Python 3
-
- examples/option.py | 38 +++++++++++++++++++-------------------
- 1 file changed, 19 insertions(+), 19 deletions(-)
-
-commit bef5939ca77f4d6939cd9229bd124dfe825b3bdb
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 12 18:58:06 2013 -0700
-
-    Fix vfunc info search for classes with multiple inheritance
-
-    Ensure the search for vfunc GI info continues recursively even if the
-    current class being looked at does not contain GI info of type
-    InterfaceInfo. This more exhaustive search is needed for setups with
-    multiple sub-classes and multiple inheritance.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=700092
-
- gi/types.py      | 12 +++++++-----
- tests/test_gi.py |  1 -
- 2 files changed, 7 insertions(+), 6 deletions(-)
-
-commit 5b8dff59baa1a3e524dac7877dd5b33dea52b026
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun May 12 22:19:38 2013 -0700
-
-    Fix closure argument conversion for enum and flag in args
-
-    Replace incorrect cast and assignment of double with uint for flags
-    and enums.
-
- gi/pygi-closure.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 065503d5e284dc89bacd79d0d9a72eb739882bf8
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat May 11 21:47:54 2013 -0700
-
-    tests: Add tests for overriding vfunc implementations
-
-    Add tests for overriding vfuncs for both single inheritance
-    and multiple inheritance with an interface (currently failing).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=700092
-
- tests/test_gi.py | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
-
-commit c4e1112840004af264b4f2a052f333ea38f95cb6
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat May 11 20:28:22 2013 -0700
-
-    Fix marshaling Python to FFI return value for enum and flags
-
-    Add break to GI_TYPE_TAG_INTERFACE case. This was falling through
-    causing
-    assignment of arg.v_pointer to the ffi return arg.
-
- gi/pygi-closure.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit a703217eaf4075e9720d4247351e1dfc4f553772
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Apr 19 06:37:24 2013 -0700
-
-    Remove half implemented GC in PyGIBaseInfo, PyGIStruct, and PyGIBoxed
-
-    Remove half implemented GC tracking from PyGIBaseInfo as it was not
-    needed (the implemented was also missing usage of
-    PyObject_GC_New/Track).
-    Ensure weakref list for PyGIBaseInfo is initialized to NULL and
-    cleared
-    properly.
-    Remove invalid calls to PyObject_GC_UnTrack and PyObject_ClearWeakRefs
-    for both PyGIStruct and PyGIBoxed as these types were not being
-    advertised as GC aware with Py_TPFLAGS_HAVE_GC.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=677091
-
- gi/pygi-boxed.c  |  4 ----
- gi/pygi-info.c   | 20 +++++---------------
- gi/pygi-struct.c |  4 ----
- 3 files changed, 5 insertions(+), 23 deletions(-)
-
-commit 87e41db2e060acd689a2ac043bc1ac51007de6f3
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri May 3 02:00:07 2013 -0700
-
-    Replace usage of pyg_begin_allow_threads with Py_BEGIN_ALLOW_THREADS
-
-    Replace all usage of pyg[lib]_begin_allow_threads with direct usage
-    of Py_BEGIN_ALLOW_THREADS.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=699440
-
- gi/_glib/pyglib.h           |  4 ----
- gi/_glib/pygoptioncontext.c |  4 ++--
- gi/_gobject/pygobject.c     | 33 ++++++++++++++++-----------------
- gi/gimodule.c               |  4 ++--
- gi/pygi-invoke.c            |  4 ++--
- 5 files changed, 22 insertions(+), 27 deletions(-)
-
-commit c9e95663d05de98a9abd3d1479554b1f09753382
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu May 2 03:57:05 2013 -0700
-
-    Remove and deprecate API for setting of thread blocking functions
-
-    Remove pyglib_set_thread_block_funcs and deprecate
-    pyg_set_thread_block_funcs.
-    The thread block function APIs are no longer be neccessary because
-    PyGObject
-    can use the Python C API directly when working with threads.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=699440
-
- gi/_glib/pyglib.c               | 41 -----------------------------------
- gi/_glib/pyglib.h               |  9 ++++----
- gi/_gobject/gobjectmodule.c     | 25 ++++++++-------------
- gi/_gobject/pygobject-private.h | 33 ----------------------------
- gi/_gobject/pygobject.h         | 48
- ++++++++++++++++++++---------------------
- gi/gimodule.c                   | 15 +++++++------
- 6 files changed, 46 insertions(+), 125 deletions(-)
-
-commit 05498a5732582a5ed1944bd1383af154ca5fc4e6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Apr 30 11:51:05 2013 -0700
-
-    configure.ac: Post-release bump to 3.9.2
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 902bb6685fd9c90c7d81127861a152b0fab4b107
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Apr 30 11:49:03 2013 -0700
-
-    release 3.9.1
-
- NEWS | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 49 insertions(+)
-
-commit f463d7cfaf65e0f3594ec15d897325f84225f1c5
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Apr 28 19:59:35 2013 -0700
-
-    gtk-demo: Wrap description strings at 80 characters
-
-    Wrap trailing demo description strings so they are easier to read
-    in a programming editor. The gtk-demo itself re-wraps this using
-    textwrap and the Gtk.TextView dynamic wrapping.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698547
-
- demos/gtk-demo/demos/Entry/search_entry.py       |  6 +++---
- demos/gtk-demo/demos/Icon View/iconviewbasics.py |  8 ++++----
- demos/gtk-demo/demos/Icon View/iconviewedit.py   |  5 +++--
- demos/gtk-demo/demos/Tree View/liststore.py      |  5 ++++-
- demos/gtk-demo/demos/images.py                   |  6 ++++--
- demos/gtk-demo/demos/menus.py                    | 20
- ++++++++++++++++----
- demos/gtk-demo/demos/pickers.py                  |  4 ++--
- demos/gtk-demo/demos/pixbuf.py                   |  5 +++--
- demos/gtk-demo/demos/rotatedtext.py              |  6 ++++--
- 9 files changed, 43 insertions(+), 22 deletions(-)
-
-commit f0d4b963c42ac31d4d17ec0f2271940df2568644
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Apr 27 22:30:35 2013 -0700
-
-    gtk-demo: Use textwrap to reformat description for Gtk.TextView
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698547
-
- demos/gtk-demo/gtk-demo.py | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-commit ed41e260dcf5745fcc0656412be3c4a520ee20fc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Apr 27 21:58:28 2013 -0700
-
-    gtk-demo: Use GtkSource.View for showing source code
-
-    Replace manual syntax highlighting of Gtk.TextView with usage of
-    GtkSource.View when available. Fall back to TextView with no
-    hightlighting when GtkSource is not available.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698547
-
- demos/gtk-demo/gtk-demo.py | 170
- ++++++++++++---------------------------------
- 1 file changed, 44 insertions(+), 126 deletions(-)
-
-commit 150104db47ac5ba32758fba0c156adaecc0fbcc0
-Author: Mike Ruprecht <mike.ruprecht@collabora.co.uk>
-Date:   Sun Apr 28 01:40:34 2013 -0500
-
-    Use correct class for GtkEditable's get_selection_bounds() function
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=699096
-
- gi/overrides/Gtk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 61663928259f6f48c11f6e43334a62dd2b3eb8e6
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Apr 25 05:27:35 2013 -0700
-
-    Test results of g_base_info_get_name for NULL
-
-    Block against potential NULL result when generating type hint with
-    _g_arg_get_pytype_hint.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698829
-
- gi/pygi-info.c | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-commit 0dff1940caf52ea5f1de27cc801ea6d4dab3a446
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Sun Apr 21 19:09:59 2013 -0300
-
-    Remove g_type_init conditional call
-
-    It's deprecated in the glib version we depend on.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698763
-
- gi/_gobject/gobjectmodule.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-commit c84b071ed8d3b78b4e4a6aef12f5f8bb99bdc107
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Sat Mar 30 20:59:44 2013 -0300
-
-    Update deps versions also in README
-
-    commit f957e33bc1ef2a4175bab85cfcd9b5faf092aa2f missed to update
-    that file
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698763
-
- README | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 4f25fa43e1e5c0f3cd22bcdadadb1d731f01fe34
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Sat Mar 30 20:50:35 2013 -0300
-
-    Drop compat code for old python version
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698763
-
- gi/_glib/pyglib-python-compat.h | 12 ------------
- 1 file changed, 12 deletions(-)
-
-commit 8104fa04cac2cba74337e6c4b3ecf56fd6cbb80b
-Author: Niklas Koep <niklas.koep@gmail.com>
-Date:   Thu Apr 25 06:14:12 2013 +0200
-
-    Remove duplicate call to _gi.Repository.require()
-
-    repository.require() was called twice in IntrospectionModule's
-    constructor.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698797
-
- gi/module.py | 1 -
- 1 file changed, 1 deletion(-)
-
-commit f22b95033c0bcd99e9c70e6f0dc999f5e64b08a6
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Mon Oct 1 03:02:10 2012 -0700
-
-    Add ObjectInfo.get_class_struct()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685218
-
- gi/pygi-info.c   | 15 +++++++++++++++
- tests/test_gi.py |  4 ++++
- 2 files changed, 19 insertions(+)
-
-commit 2d34d35e5db06b0eb29cba91d0999b20a5c0b450
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Apr 22 03:43:23 2013 -0700
-
-    Change interpretation of NULL pointer field from None to 0
-
-    The usage of 0 is needed because these fields should generally
-    be used to store integer indices or hashes, not necessarily
-    pointers to actual data.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698366
-
- gi/pygi-argument.c       | 11 +----------
- tests/test_everything.py |  5 +++--
- 2 files changed, 4 insertions(+), 12 deletions(-)
-
-commit 8d61ad38eb90d639da08289c036ae4cb99336c2a
-Author: Sobhan Mohammadpour <sobhanmohammadpour1@yahoo.fr>
-Date:   Fri Mar 8 08:25:58 2013 +0330
-
-    Do not build tests until needed
-
-    Originally by [Alexandre Rostovtsev <tetromino@gmail.com>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698444
-
- tests/Makefile.am | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-commit f61f23b999ae6e27ca852753da906de4ab8e6e25
-Author: Kai Willadsen <kai.willadsen@gmail.com>
-Date:   Sun Apr 14 15:16:40 2013 +1000
-
-    pygi-convert: Support toolbar styles
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698477
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 7a92ade7ee5fe2f9eb8de2626c34650e2e5c06df
-Author: Kai Willadsen <kai.willadsen@gmail.com>
-Date:   Sun Apr 14 10:54:04 2013 +1000
-
-    pygi-convert: Support new-style constructors for Gio.File
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698477
-
- pygi-convert.sh | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 1e8120992dc103ac817351be3c150e6cb25f719f
-Author: Kai Willadsen <kai.willadsen@gmail.com>
-Date:   Sun Apr 14 10:22:55 2013 +1000
-
-    pygi-convert: Add some support for recent manager constructs
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698477
-
- pygi-convert.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 17d349f98d62ea7947c1553e0ef7e867301523aa
-Author: Kai Willadsen <kai.willadsen@gmail.com>
-Date:   Sun Apr 14 07:37:24 2013 +1000
-
-    pygi-convert: Check for double quote in require statement
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698477
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit cc8bd6bd3fdf99762aa3431ceee347a05f6f3200
-Author: Kai Willadsen <kai.willadsen@gmail.com>
-Date:   Sun Apr 14 07:37:00 2013 +1000
-
-    pygi-convert: Don't transform arbitrary keysym imports
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=698477
-
- pygi-convert.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 99872a18ed1468b2c85cc7b96a0d12f2ae5167f0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Apr 11 04:09:59 2013 -0700
-
-    Remove Python keyword escapement in Repository.find_by_name
-
-    Strip trailing underscore from module level items before
-    calling g_irepository_find_by_name. This fixes a problem
-    with GI module level items having the same name as a Python
-    keyword raising an AttributeError during access (Pango.break_).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=697363
-
- gi/pygi-info.c                | 32 ++++++++++++++++++++++----------
- gi/pygi-info.h                |  2 ++
- gi/pygi-repository.c          | 16 ++++++++++++++++
- tests/test_overrides_pango.py |  5 +++++
- 4 files changed, 45 insertions(+), 10 deletions(-)
-
-commit c07404461b126206e369270b56e613f81369c70a
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Mon Mar 18 16:08:09 2013 -0600
-
-    Optimize signal lookup in gi repository
-
-    Now that we have GSignalQuery results available to us when connecting
-    signals, we already know which GType implements the signal in
-    question.
-
-    Therefore there is no need to traverse the class parent hierarchy
-    looking for this, which takes a considerable amount of CPU time.
-
-    There is also no need to canonicalize the signal name; both before
-    and after this patch, by the time we reach this point we have already
-    successfully looked up the signal name as presented from Python.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696143
-
- gi/_gobject/pygobject.c  |  5 ++--
- gi/pygi-signal-closure.c | 59
- +++++++++++++-----------------------------------
- gi/pygi-signal-closure.h |  1 +
- gi/pygi.h                |  4 +++-
- 4 files changed, 23 insertions(+), 46 deletions(-)
-
-commit e220706b3e4d9fd454613fbfe1e60e7e1da94ae0
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Mon Mar 18 15:38:19 2013 -0600
-
-    Optimize connection of Python-implemented signals
-
-    Like properties, when working with signals we must detect if the
-    signal is implemented in a Python class or if it originates from the
-    gi repository, and act accordingly.
-
-    Asking the gi repository if it can find a signal that is implemented
-    in a Python class (it can't) takes a considerable amount of CPU time.
-
-    Use g_signal_query() to find out which GType implements the signal.
-    Then perform a simple test to see if this type is implemented at the
-    Python level, allowing us to to skip the GI querying in this case.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696143
-
- gi/_gobject/pygobject.c | 19 +++++++++++++++----
- 1 file changed, 15 insertions(+), 4 deletions(-)
-
-commit e91b35d72f93678a79623347dce271148d57046f
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Mon Mar 18 15:24:52 2013 -0600
-
-    Consolidate signal connection code
-
-    This code was repeated 4 times with very little variance;
-    consolidate it and add simple tests to ensure basic coverage.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696143
-
- gi/_gobject/pygobject.c  | 129
- +++++++++++++++--------------------------------
- tests/test_everything.py |  33 ++++++++++++
- 2 files changed, 74 insertions(+), 88 deletions(-)
-
-commit cd91e1d5db617d470acbf8c5bc74c11c92f946f6
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Mon Mar 18 15:11:16 2013 -0600
-
-    Fix setting of struct property values
-
-    "goto out" in this context means that an error occurred, but this
-    particular instance was sitting in the "good" codepath.
-
-    Fixes setting of struct property values.
-
- gi/pygi-property.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 8981ea0422c6837d488311dafe8937593372e736
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Mon Mar 18 14:25:45 2013 -0600
-
-    Optimize property get/set when using GObject.props
-
-    Skip GI repository lookup for properties defined on Python
-    defined GObject types.
-
-    Signed-off-by: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696143
-
- gi/_gobject/pygobject.c | 37 +++++++++++++++++++------------------
- 1 file changed, 19 insertions(+), 18 deletions(-)
-
-commit 266e389ff90d982151bae3ac22b9b8b0739f520f
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Apr 13 17:28:26 2013 +0200
-
-    configure.ac: Fix PYTHON_SO with Python3.3
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696646
-
- configure.ac | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit e54c2d1df3812a1789ee240b0ba71ddf77c2f90a
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Mon Mar 18 14:13:37 2013 -0600
-
-    Simplify registration of custom types
-
-    Use custom quark data to track Python created GTypes.
-
-    Remove previous mechanism to track registration of python-implemented
-    GTypes as it was unused (no custom registration was ever tracked).
-
-    Leave vtable pointer and set to NULL to avoid an ABI break.
-
-    Signed-off-by: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696143
-
- gi/_gobject/gobjectmodule.c     | 11 +++++--
- gi/_gobject/pygobject-private.h |  8 ++---
- gi/_gobject/pygobject.c         |  8 ++---
- gi/_gobject/pygobject.h         |  9 +++---
- gi/_gobject/pygtype.c           | 69
- +++--------------------------------------
- 5 files changed, 22 insertions(+), 83 deletions(-)
-
-commit 50702a09344825e3a8aa54365d78de807f989d88
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Sat Apr 13 16:04:17 2013 +0200
-
-    pygi-convert.sh: Add GStreamer rules
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=697951
-
- pygi-convert.sh | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-commit b289176e6b37cb2825bd555cea019b85b68d5c57
-Author: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date:   Sun Mar 10 15:04:40 2013 +0200
-
-    pygi-convert: Add rule for TreeModelFlags
-
-    Signed-off-by: Simon Feltman <sfeltman@src.gnome.org>
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 09610bf42be76f65d7d2afe1c691f7b4a7c64e5b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Mar 29 03:20:44 2013 -0700
-
-    Unify interface struct to Python GI marshaling code
-
-    Add pygi_marshal_to_py_interface_struct used for direct gi method
-    call out args and vfunc in args.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c      |  72 ++++++-------------------------
- gi/pygi-marshal-to-py.c | 112
- +++++++++++++++++++++++++++++-------------------
- gi/pygi-marshal-to-py.h |   8 ++++
- 3 files changed, 91 insertions(+), 101 deletions(-)
-
-commit 6d3a0751e71ee3c37b3bb646723aed75971e5b39
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 28 22:41:51 2013 -0700
-
-    Unify Python interface struct to GI marshaling code
-
-    Add pygi_marshal_from_py_interface_struct used for direct gi method
-    call in args and vfunc out args.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c        |  75 +++++++--------------
- gi/pygi-cache.c           |  12 +---
- gi/pygi-marshal-from-py.c | 167
- +++++++++++++++++++++++++++++-----------------
- gi/pygi-marshal-from-py.h |  11 +++
- 4 files changed, 141 insertions(+), 124 deletions(-)
-
-commit 1ea654b4d34e0d119556b232796cd9370b2572f1
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 28 06:17:15 2013 -0700
-
-    Unify Python float and double to GI marshaling code
-
-    Change _pygi_argument_from_object to use the cachers marshalers
-    (_pygi_marshal_from_py_float/double) directly instead of keeping a
-    copy of the code.
-    Refactor _pygi_marshal_from_py_float/double to use a common utility
-    _pygi_py_arg_to_double for initial error checking and conversion.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c        | 26 ++++----------------------
- gi/pygi-marshal-from-py.c | 42 ++++++++++++++++++++----------------------
- 2 files changed, 24 insertions(+), 44 deletions(-)
-
-commit 2eb2a712864a1a685d19018e0860cf0da7c5c9ab
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 28 05:29:08 2013 -0700
-
-    Unify filename to Python GI marshaling code
-
-    Change _pygi_argument_to_object to use the cachers marshaler
-    (_pygi_marshal_to_py_filename) directly instead of keeping a
-    copy of the code.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c      | 22 ++--------------------
- gi/pygi-marshal-to-py.c |  6 ++----
- 2 files changed, 4 insertions(+), 24 deletions(-)
-
-commit 54aa043d96deb02589e13042a46917405ca53780
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 28 05:20:00 2013 -0700
-
-    Unify utf8 to Python GI marshaling code
-
-    Change _pygi_argument_to_object to use the cachers marshaler
-    (_pygi_marshal_to_py_utf8) directly instead of keeping a
-    copy of the code.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c      | 11 ++++-------
- gi/pygi-marshal-to-py.c |  4 +---
- 2 files changed, 5 insertions(+), 10 deletions(-)
-
-commit 03ff41ae4bb83858338d96cc6210092c7fb82464
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 28 05:10:45 2013 -0700
-
-    Unify unichar to Python GI marshaling code
-
-    Change _pygi_argument_to_object to use the cachers marshaler
-    (_pygi_marshal_to_py_unichar) directly instead of keeping a
-    copy of the code.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c | 19 ++-----------------
- 1 file changed, 2 insertions(+), 17 deletions(-)
-
-commit 594ad084c2cc21cebce209c11740e6d4866b0b82
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Feb 16 19:49:59 2013 -0800
-
-    Unify Python unicode to filename GI marshaling code
-
-    Change _pygi_argument_from_object to use the cachers marshaler
-    (_pygi_marshal_from_py_filename) directly instead of keeping a
-    copy of the code.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c | 30 ++----------------------------
- 1 file changed, 2 insertions(+), 28 deletions(-)
-
-commit a62e8cdf90f7b03cfc8116125ef3557f9ad08dde
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Feb 16 19:32:54 2013 -0800
-
-    Unify Python unicode to utf8 GI marshaling code
-
-    Change _pygi_argument_from_object to use the cachers marshaler
-    (_pygi_marshal_from_py_utf8) directly instead of keeping a
-    copy of the code.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c | 32 ++------------------------------
- 1 file changed, 2 insertions(+), 30 deletions(-)
-
-commit e253c73335fccabc61e0329f8528a90f79858c67
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Feb 16 19:16:43 2013 -0800
-
-    Unify Python unicode to unichar GI marshaling code
-
-    Change _pygi_argument_from_object to use the cachers marshaler
-    (_pygi_marshal_from_py_unichar) directly instead of keeping a
-    copy of the code.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c        | 34 ++--------------------------------
- gi/pygi-marshal-from-py.c |  9 +++++++++
- 2 files changed, 11 insertions(+), 32 deletions(-)
-
-commit 216caf590b262fed40d10bb34d020089d1197160
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Apr 4 15:57:12 2013 -0700
-
-    Fix enum and flags marshaling type assumptions
-
-    Replace assignments of GFlags and GEnum values to various GIArgument
-    members with v_uint and v_int respectively.
-
- gi/pygi-argument.c | 6 +++---
- gi/pygi-property.c | 4 ++--
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-commit 4799ef1d0cb9a4b27c7952585d33b58ea9ec34ca
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Apr 4 10:08:38 2013 +0200
-
-    Make AM_CHECK_PYTHON_LIBS not depend on AM_CHECK_PYTHON_HEADERS
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696648#c6
-
- m4/python.m4 | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit f82f755a0f419539c223e4a74e33145726c6e69f
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Thu Apr 4 09:05:48 2013 +0200
-
-    Use distutils.sysconfig to retrieve the python include path.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696648
-
- m4/python.m4 | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-commit cf81dd66e6387bf27122a71176e91ca39beb6519
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Apr 4 06:47:56 2013 +0200
-
-    Use g_strdup() consistently
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696650
-
- gi/pygi-marshal-from-py.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6c22fea63fa6978c2a717ff12ff84d3aff776b5e
-Author: Christoph Reiter <reiter.christoph@gmail.com>
-Date:   Tue Mar 26 16:03:59 2013 +0100
-
-    Support PEP 3149 (ABI version tagged .so files)
-
-    Add a ABI suffix to the shared library retrieved from
-    distutils.sysconfig
-    instead of hardcoding it. This should also make things more robust
-    on Windows.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696646
-
- configure.ac            |  3 +++
- gi/Makefile.am          | 14 +++++++-------
- gi/_glib/Makefile.am    | 14 +++++++-------
- gi/_gobject/Makefile.am | 14 +++++++-------
- 4 files changed, 24 insertions(+), 21 deletions(-)
-
-commit 2259ccac8aa2ec23240e92e303ea3f2c53dc2a88
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Mar 31 01:32:34 2013 -0700
-
-    Fix stack corruption due to incorrect format for argument parser
-
-    Fix call to PyArg_ParseTupleAndKeywords that used a format parser
-    of "l" meaning long (8 bytes) in combination with an output pointer
-    of guint (4 bytes). Change to use gulong with a format of "k".
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696892
-
- gi/_gobject/pygflags.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 48e52210ece0e144b4c959e773ea542a912358e7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 7 00:26:37 2013 -0800
-
-    Deprecate GLib and GObject threads_init
-
-    Remove a handful of Python threading related helper functions
-    from pyglib and pygobject. The binding internals required
-    GLib.threads_init to be called for PyGObject to work with
-    Python threads. This was removed as it should not be a requirement.
-    Using the Python threading module already initializes threading
-    for us (PyEval_InitThreads).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686914
-
- gi/_glib/glibmodule.c       | 16 --------
- gi/_glib/pyglib.c           | 94
- ---------------------------------------------
- gi/_glib/pyglib.h           | 28 +++++++-------
- gi/_gobject/gobjectmodule.c | 31 ++++-----------
- gi/overrides/GLib.py        |  8 +++-
- gi/overrides/GObject.py     |  2 +-
- 6 files changed, 28 insertions(+), 151 deletions(-)
-
-commit 89d05f91cee419d46cb5318d4a9001ec315a3475
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 25 09:03:51 2013 +0100
-
-    Drop support for Python 2.6
-
-    2.7 has been released long ago, nobody tests PyGObject with 2.6 any
-    more, and
-    this unblocks e. g. GNOME #682320.
-
-    Drop usage of PyCObject_* (which has been superseded by PyCapsule
-    for >= 2.7),
-    and drop Python 2.6 specific workarounds.
-
- configure.ac                    |  2 +-
- gi/_glib/pyglib-python-compat.h | 20 ------------------
- gi/_gobject/pygobject.h         |  6 ------
- gi/pygi.h                       |  4 ----
- m4/python.m4                    |  2 +-
- tests/runtests.py               | 45
- +----------------------------------------
- tests/test_gobject.py           |  1 -
- tests/test_signal.py            |  4 ----
- 8 files changed, 3 insertions(+), 81 deletions(-)
-
-commit 56347953abb1e214817186581eaf2b2d8762cf97
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 16:43:25 2012 +0200
-
-    Remove static PollFD bindings
-
-    Use the GLib API through GI instead, and provide an override to keep a
-    backwards compatible constructor syntax.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686795
-
- gi/_glib/Makefile.am  |  2 --
- gi/_glib/glibmodule.c |  2 --
- gi/_glib/pygsource.c  | 98
- ---------------------------------------------------
- gi/_glib/pygsource.h  | 36 -------------------
- gi/overrides/GLib.py  | 17 +++++++--
- 5 files changed, 15 insertions(+), 140 deletions(-)
-
-commit a93eb5ecc982b5fe1bdf8f78b15ba10351a63b89
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 25 08:44:24 2013 +0100
-
-    Drop test skipping due to too old g-i
-
-    We depend on gobject-introspection 1.35.9 now, which has all this API.
-
- tests/test_gi.py                | 24 ------------------------
- tests/test_object_marshaling.py | 14 --------------
- 2 files changed, 38 deletions(-)
-
-commit f957e33bc1ef2a4175bab85cfcd9b5faf092aa2f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 25 08:37:37 2013 +0100
-
-    Bump glib and g-i dependencies
-
-    Now require g-i 1.35.9 and glib 2.35.9, i. e. the current stable
-    GNOME 3.8
-    versions. This allows us to drop the conditional test suite skips
-    and drop the
-    static PollFD bindings.
-
- configure.ac | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 252556d044322207429c0d0c269365f48e4d819a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 25 08:43:53 2013 +0100
-
-    configure.ac: post-release version bump to 3.9.1
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 5f82e007e2dcdbfd82a20d8c4d54f9cd7b3b77ac
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 25 08:12:10 2013 +0100
-
-    release 3.8.0
-
- NEWS | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit bb4fa093d59173f68a0b16e10016bafe7cd18f62
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Mar 20 23:45:01 2013 -0700
-
-    tests: Fix incorrect assumption when testing pyglib version
-
-    Replace version test of 3.7.2 with 3.0.0 as it is the only reasonable
-    value that can be used for a future proof unittest here.
-
- tests/test_glib.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 78b7b0bea3068b81ba67deea4d06b1fb27434841
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 18 14:02:29 2013 +0100
-
-    configure.ac: post-release bump to 3.8.0
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit defbd63e95faafaa84230f160bc95dad0f55e37d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 18 14:01:05 2013 +0100
-
-    release 3.7.92
-
- NEWS | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-commit a0844a896603c5c91bed24cf94106765f0ced74e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Mar 17 23:22:38 2013 -0700
-
-    Fix stack smasher when marshaling enums as a vfunc return value
-
-    Add special case for marshaling GI_TYPE_TAG_INTERFACE with enum or
-    flag types. Default interfaces to marshal as a pointer.
-    Add explicit cases for GType and Unichar out/return marshaling.
-    Fix leaking of GIBaseInfo when marshaling interface as out arg.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=637832
-
- gi/pygi-closure.c | 69
- ++++++++++++++++++++++++++++++++++++++++++++++---------
- tests/test_gi.py  | 19 +++++++++++++++
- 2 files changed, 77 insertions(+), 11 deletions(-)
-
-commit 669e15c35213dbce6ceb0a4a3d474aae620910ce
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Mar 17 15:37:09 2013 -0700
-
-    Change base class of PyGIDeprecationWarning based on minor version
-
-    Use RuntimeWarning as the base class of PyGIDeprecationWarning
-    for unstable (odd minor version) and use DeprecationWarning for
-    stable (even minor version). This is so PyGObject deprecations
-    behave the same as regular Python deprecations in stable releases.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=696011
-
- gi/__init__.py | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-commit 755b2e6fc635489d98d48254ea60b2631b43dfbd
-Author: Alban Browaeys <prahal@yahoo.com>
-Date:   Thu Feb 28 18:57:21 2013 +0100
-
-    autogen.sh: Source gnome-autogen to fix out of source builddir
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=694889
-
- autogen.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a38392a9d713b0001cf30066d337b1abbbbbc59e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Mar 5 12:22:15 2013 +0100
-
-    Add 3.7.91.1 NEWS entry
-
-    Forgot to push this back then.
-
- NEWS | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 85f8aae849dd0fb21de8722a3af9234ca20ea1e0
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Mar 17 04:19:57 2013 -0700
-
-    pygtkcompat: Make gdk.Window.get_geometry return tuple of 5
-
-    Make get_geometry return a tuple of (x, y, width, height, depth)
-    as it did in pygtk 2.
-    Update pygtkcompat.enable_gtk() to default to version 3.0 because
-    version 2.0 core dumps trying to use introspection with gtk 2.
-
- pygtkcompat/pygtkcompat.py | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-commit 38683f721c33cc35f0260868e58643fd35f04cbe
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Mar 17 02:08:03 2013 -0700
-
-    testhelpermodule: Fix build warning for PyGObject_Type redefinition
-
-    Remove dynamic retrieval of PyGObject_Type as it is available
-    in pygobject.h since commit 2656bc47 (causing this compile warning)
-
- tests/testhelpermodule.c | 14 +-------------
- 1 file changed, 1 insertion(+), 13 deletions(-)
-
-commit a3ec8867945da7722beebb7e77c6255ee3ba8bb8
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Mar 17 01:51:33 2013 -0700
-
-    pygtkcompat: Initialize hint to zero in set_geometry_hints
-
- pygtkcompat/pygtkcompat.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 471204953d6fc93b3d311afd133d40f7d75ec541
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Mar 15 04:33:22 2013 -0700
-
-    Remove incorrect bounds check with property helper flags
-
-    Remove bounds check for flags as it is not necessary for the
-    helper to make these kind of judgement calls in general.
-    e.g. leave it to marshaling/internals to complain about potential
-    problems. The flags were being bounds checked to a maximum
-    value of 32 (the intention was most likely to limit it to 32 bits).
-
- gi/_gobject/propertyhelper.py | 3 ---
- tests/test_properties.py      | 1 -
- 2 files changed, 4 deletions(-)
-
-commit 2656bc47ca1219b329066da1c2c58018ae624866
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 7 18:07:17 2013 -0800
-
-    Fix crash when setting property of type object to an incorrect type
-
-    Add type check when marshaling an object from Python for GObject
-    types.
-    Add PyGObject_Type as part of the pygobject API to check for this.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=695420
-
- gi/_gobject/gobjectmodule.c     | 3 ++-
- gi/_gobject/pygobject.h         | 2 ++
- gi/pygi-marshal-from-py.c       | 8 ++++++++
- tests/test_object_marshaling.py | 4 ++++
- 4 files changed, 16 insertions(+), 1 deletion(-)
-
-commit 44587f42224a44a480629223c8d78a426bc32a12
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 7 17:59:02 2013 -0800
-
-    Remove skipping of object property tests
-
-    These were showing up as unexpected successes now that bug 675726
-    is fixed.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=695420
-
- tests/test_object_marshaling.py | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-commit 10214ba2d96fd6d66eeea159219f585abff8632a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Mar 7 15:34:49 2013 -0800
-
-    Give more informative error when setting property to incorrect type
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=695420
-
- gi/_gobject/pygobject.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-commit 9ab6e5451aea43ed086c0d26324c4efed24476d7
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Mar 5 12:04:55 2013 +0100
-
-    Revert "Drop gi.overrides.overridefunc()"
-
-    This reverts commit 1dc2bc9f65669417ae1964d70b85f115928b2963. External
-    modules
-    like GEdit plugins use @overrides for functions as well, we must
-    not break
-    them.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=695199
-
- gi/overrides/Gtk.py      |  7 ++++---
- gi/overrides/__init__.py | 24 ++++++++++++++++++++++--
- 2 files changed, 26 insertions(+), 5 deletions(-)
-
-commit 862de794bf01a66aa6d796c674bce375cad37ba7
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 4 17:33:51 2013 +0100
-
-    configure.ac: Post-release bump to 3.7.92
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit bb12e652d661cf6ce931b44a89c11951894101bf
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 4 17:27:50 2013 +0100
-
-    release 3.7.91
-
- NEWS | 33 +++++++++++++++++++++++++++++++++
- 1 file changed, 33 insertions(+)
-
-commit 25a6f90f28b065dd4f1cd352826598577402dc0b
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 4 17:16:22 2013 +0100
-
-    Dot not clobber original Gdk/Gtk functions with overrides
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686835
-
- gi/overrides/Gdk.py | 3 ++-
- gi/overrides/Gtk.py | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-commit d50d16428edf42799489fe1befbc4ce56f0fa181
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 4 15:30:31 2013 +0100
-
-    tests: Reorganize GError and GClosure tests
-
-    Split TestGClosure.test_gclosure_in() into its three components.
-
-    Merge the various TestGError* classes into one, to match the structure
-    of the
-    other tests.
-
- tests/test_gi.py | 59
- +++++++++++++++++++++++++-------------------------------
- 1 file changed, 26 insertions(+), 33 deletions(-)
-
-commit 8cfd596c7849bf78a74fee04630fbbb104f02080
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 4 15:16:25 2013 +0100
-
-    Fix memory leaks in property setting/getting
-
-    Do not leak GValues and string arrays, free them properly. As we
-    always free
-    the intermediate GValues, use g_value_dup_boxed() instead of
-    g_value_get_boxed() when appropriate.
-
-    Detected by test_gi.TestPropertiesObject.test_strv test case.
-
- gi/pygi-property.c | 21 ++++++++++++++++-----
- 1 file changed, 16 insertions(+), 5 deletions(-)
-
-commit eec8c3a932d42e92ccaf7f97d3d90948842e263f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 4 12:43:24 2013 +0100
-
-    Fix memory leak in pyg_flags_get_value_nicks()
-
-    Discovered by test_gi.TestKeywords.test_uppercase() test.
-
- gi/_gobject/pygflags.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-commit 002a834dd993b82508a4fe262269befcf1a6d341
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 4 12:10:03 2013 +0100
-
-    Fix memory leak in _pygi_argument_to_array()
-
-    Free the originally allocated GArray data before setting it to
-    our already
-    existing C array.
-
-    Discovered by test_gi.TestStructure.test_boxed_struct_return test
-    case.
-
- gi/pygi-argument.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit d32b410a1b1fcca6d10d75fbd771ea789999da64
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Mar 4 10:19:34 2013 +0100
-
-    Fix leaking inout C arrays
-
-    g_*_info_invoke() changes the original state->in_args and state->args
-    C arrays
-    to the output values for (inout) arguments, thus losing the pointer
-    to the
-    originally allocated array. Remember that in state->args_data,
-    so that we can
-    free it in _pygi_marshal_cleanup_from_py_array().
-
-    Reproduced by test_gi.TestArray.test_array_fixed_inout test case.
-
- gi/pygi-marshal-cleanup.c | 6 ++++++
- gi/pygi-marshal-from-py.c | 4 ++++
- 2 files changed, 10 insertions(+)
-
-commit e4098cbc28ff9324fa851bca2e423da4e51b5091
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Mar 1 15:12:31 2013 +0100
-
-    Fix leak in _PyGI_ERROR_PREFIX()
-
-    Properly clean up our allocated py_error_prefix string.
-
-    Fixes memory leak in e. g. test_gi.TestArray.test_array_fixed_int_in.
-
- gi/pygi-private.h | 1 +
- 1 file changed, 1 insertion(+)
-
-commit b388c3e87ce86d26560337c88eb33d0a95647db8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Mar 1 15:01:06 2013 +0100
-
-    Fix leaking of boxed array elements
-
-    Commit 631d8ef879a copies struct array elements, but this needlessly
-    duplicates
-    and leaks the array element for boxed types. So only do it for
-    plain structs.
-
-    This fixes the memory leak with
-    test_gi.TestGValue.test_gvalue_flat_array_out.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693402
-
- gi/pygi-marshal-to-py.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 1dc2bc9f65669417ae1964d70b85f115928b2963
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Mar 1 14:04:34 2013 +0100
-
-    Drop gi.overrides.overridefunc()
-
-    This just adds an unnecessary extra function call and is not really
-    needed.
-    Drop it from the only remaining function which uses this
-    (Gtk.main_quit) and
-    drop overridefunc().
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686835
-
- gi/overrides/Gtk.py      |  7 +++----
- gi/overrides/__init__.py | 24 ++----------------------
- 2 files changed, 5 insertions(+), 26 deletions(-)
-
-commit 1edc4ba31b3f9375ec3920aab5b71eb066ee3739
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Mar 1 14:02:02 2013 +0100
-
-    Add some tests for overridden Gdk/Gtk functions
-
-    Add tests for Gtk.main_quit, Gtk.stock_parse(), and Gdk.color_parse(),
-    as we
-    have overrides for them.
-
- tests/test_overrides_gdk.py |  7 +++++++
- tests/test_overrides_gtk.py | 15 +++++++++++++++
- 2 files changed, 22 insertions(+)
-
-commit 6f6c0ceff00fea83bc85756b10694f7c96039abc
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Mar 1 11:10:01 2013 +0100
-
-    Fix GLib.Source ref leak upon destruction
-
-    In GLib.Source.__del__(), manually unref the source if we are a
-    custom Source.
-    As we use a static binding to create it, the GI part won't unref it
-    for us,
-    leading to finalize() method not being called and the GSource
-    object leaking.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=510511
-
- gi/overrides/GLib.py |  4 ++++
- tests/test_source.py | 31 +++++++++++++++++++++++++++++++
- 2 files changed, 35 insertions(+)
-
-commit 91f76dd94fb0afc6888a821a31c3a4e2e053360e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Feb 28 15:08:56 2013 +0100
-
-    Add performance test for Gtk.ListStore.append
-
-    We are going to optimize this in various ways, so let's measure it.
-
- tests/test_overrides_gtk.py | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-commit b1ff74b085bdca72c272f019be4dd387073a991a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Feb 28 04:32:30 2013 -0800
-
-    Optimize GValue.get/set_value by setting GValue.g_type to a local
-
-    This increases performance by a factor of 2x for types later
-    in the dispatch.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=694857
-
- gi/overrides/GObject.py | 98
- +++++++++++++++++++++++++------------------------
- 1 file changed, 51 insertions(+), 47 deletions(-)
-
-commit 105e6738ee249b64904da26ae45dd273ca4eeba8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Feb 28 11:43:47 2013 +0100
-
-    Fix leak of caller-allocated boxed values
-
-    Add a new "allocated_slice" argument to _pygi_boxed_new() which
-    specifies
-    whether its "boxed" pointer was allocated using a slice (by giving
-    its size) or
-    malloc (by specifying 0), as _pygi_boxed_new cannot determine that
-    itself any
-    more.
-
-    Use this in _pygi_marshal_to_py_interface_struct() for
-    caller-allocated boxed
-    values, as _caller_alloc() uses _pygi_boxed_alloc() for those
-    (i. e. slices),
-    which would otherwise leak.
-
-    Thanks to Mike Gorse <mgorse@suse.com> for the original patch!
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=691501
-
- gi/gimodule.c           |  2 +-
- gi/pygi-argument.c      |  2 +-
- gi/pygi-boxed.c         | 14 ++++++++++----
- gi/pygi-boxed.h         |  3 ++-
- gi/pygi-marshal-to-py.c |  6 ++++--
- gi/pygi-source.c        |  3 ++-
- 6 files changed, 20 insertions(+), 10 deletions(-)
-
-commit 64bcca2d39fed1734ad1abbe291406387e901f5c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Feb 28 10:48:18 2013 +0100
-
-    Fix memory handling of caller-allocated boxed types
-
-    _pygi_marshal_to_py_interface_struct() and other places treat
-    subtypes of
-    G_TYPE_BOXED as boxed values and wrap them with _pygi_boxed_new(). Fix
-    _caller_alloc() and _cleanup_caller_allocates() to consider
-    G_TYPE_BOXED
-    subtypes as well and use the slice allocator instead of malloc()'ing
-    a struct.
-    This avoids trying to free an malloc'ed struct with g_slice_free()
-    and properly
-    cleans up the boxed values.
-
-    The leak was produced with:
-
-    G_SLICE=debug-blocks PYTHONPATH=. valgrind --tool=memcheck
-    --leak-check=full --show-possibly-lost=no \
-      python3 -c 'from gi.repository import Gtk; b=Gtk.TextBuffer();
-      (s,e) = b.get_bounds()'
-
- gi/pygi-invoke.c          | 2 +-
- gi/pygi-marshal-cleanup.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit 4f5e8b7554b6388aa2d0eb4a3b285d99499163be
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Feb 27 23:21:34 2013 +0100
-
-    Fix cleanup of GValue arrays
-
-    Commit bc1fd8 introduced a thinko: We must not change
-    item_arg_cache->from_py_cleanup, as it's a global cache. Revert
-    the original
-    change, and instead put the hack into
-    _pygi_marshal_cleanup_from_py_array(),
-    which now short-circuits
-    _pygi_marshal_cleanup_from_py_interface_struct_gvalue() to avoid
-    trying to release a slice which has never been allocated in
-    _pygi_marshal_from_py_array().
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672224
-
- gi/pygi-marshal-cleanup.c | 11 ++++++++++-
- gi/pygi-marshal-from-py.c | 10 +++-------
- 2 files changed, 13 insertions(+), 8 deletions(-)
-
-commit 70118c3840b10e1585d066a4be485c097cd23e99
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Feb 27 21:52:43 2013 +0100
-
-    Revert "Mark caller-allocated boxed structures as having a slice
-    allocated"
-
-    This is wrong after all, as it sets slice_allocated to TRUE, but
-    doesn't set a
-    corresponding size. Also, poking in internal fields from that place
-    is ugly;
-    this should rather be fixed in gi/pygi-marshal-cleanup.c
-    _cleanup_caller_allocates().
-
-    This reverts commit dc3d21173b75232f7ea0b9913f7309486456a69d.
-
- gi/pygi-marshal-to-py.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-commit a51c72c771dafc0c13d7990f1ff3e428dca729a1
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Feb 27 21:51:30 2013 +0100
-
-    Run tests with G_SLICE=debug_blocks
-
-    This will help finding regressions in slice management, like in
-    https://bugzilla.gnome.org/show_bug.cgi?id=691501
-
- tests/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 4f6ebcfe0605a7a593dc3f9dd322a4da9bd091a3
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Feb 27 18:30:23 2013 +0100
-
-     Add override helper for stripping boolean returns
-
-    Introduce a gi.overrides.strip_boolean_result() helper which checks
-    a boolean
-    return value and if True, return the remaining arguments, otherwise
-    return a
-    default. This pattern is being used by a lot of overrides, which get
-    significantly smaller and more consistent that way.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=694431
-
- gi/overrides/Gdk.py      |  27 +-------
- gi/overrides/Gtk.py      | 156
- +++++++++--------------------------------------
- gi/overrides/__init__.py |  22 +++++++
- 3 files changed, 53 insertions(+), 152 deletions(-)
-
-commit 08c97b0bd3140921f1b5c74f7764e23d3a9bf0ee
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Feb 27 15:39:23 2013 +0100
-
-    Drop obsolete pygobject_register_sinkfunc() declaration
-
-    There is no definition for this any more, nor is it being used
-    anywhere.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639849
-
- gi/_gobject/pygobject-private.h | 2 --
- 1 file changed, 2 deletions(-)
-
-commit b6fefd625b843d4fc3dabc456584a2ad27a48c8c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Feb 27 13:41:55 2013 +0100
-
-    Fix marshalling of C arrays with explicit length in signal arguments
-
-    We need _pygi_argument_to_array() from both closure marshalling
-    (where we have
-    the arguments as GIArgument array) and signal closure marshalling
-    (where we
-    have the arguments in a GValue array). Add an alternative
-    "args_values"
-    parameter to _pygi_argument_to_array() so that callers can specify
-    one or the
-    other depending on which type they have available.
-
-    This allows us to pass on the full argument list for signal closures,
-    so that
-    _pygi_argument_to_array() can access the explicit length argument
-    for an
-    array.
-
-    This fixes the GSettings:change-event signal.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=662241
-
- gi/pygi-argument.c       | 36 ++++++++++++++++++++++++++++--------
- gi/pygi-argument.h       |  1 +
- gi/pygi-closure.c        |  2 +-
- gi/pygi-info.c           |  4 ++--
- gi/pygi-signal-closure.c |  3 ++-
- tests/test_gio.py        | 18 ++++++++++++++++++
- 6 files changed, 52 insertions(+), 12 deletions(-)
-
-commit caeeeb7e4282e183eefc3c53b2d53c8c2bb7de89
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Feb 27 08:07:20 2013 +0100
-
-    Fix signedness, overflow checking, and 32 bit overflow of GFlags
-
-    GFlagsValue.value is a guint, so we must access it as unsigned
-    type. Define two
-    new macros PYGLIB_PyLong_FromUnsignedLong() and
-    PYGLIB_PyLong_AsUnsignedLong()
-    for that purpose, and consistently use them for handling flag
-    values. Use the
-    checked variant of these functions which produce OverflowErrors
-    instead
-    of the unchecked PYGLIB_PyLong_AS_LONG().
-
-    Insert zero padding after the PyLongObject in PyGFlags and
-    PyGEnum. Without
-    this, the directly adjacent GType field seems to confuse
-    PyLong_FromUnsignedLong() and includes the GType into the numeric
-    value.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693121
-
- gi/_glib/pyglib-python-compat.h |  8 +++++++
- gi/_gobject/gobjectmodule.c     |  2 +-
- gi/_gobject/pygflags.c          | 52
- +++++++++++++++++++++++++----------------
- gi/_gobject/pygobject-private.h | 10 ++++----
- gi/_gobject/pygobject.h         |  4 ++--
- gi/_gobject/pygtype.c           |  6 ++---
- tests/test_overrides_gdk.py     | 15 ++++++++++++
- 7 files changed, 67 insertions(+), 30 deletions(-)
-
-commit b3a3da37e369f3f5d434c8dc9f3c7f1e74d537ac
-Author: Chun-wei Fan <fanchunwei@src.gnome.org>
-Date:   Tue Feb 26 16:15:36 2013 +0800
-
-    gi/pygi-marshal-from-py.c: Fix build on Visual C++
-
-    Since Visual C++ does not provide the INFINITY and NAN constants
-    in its
-    math.h (they are items defined by C99), provide fallback
-    implementations
-    for it here.  The INFINITY constant can be provided with HUGE_VAL,
-    since
-    we are using INFINITY to check the value of a variable of double
-    type, and
-    we could use a rather simple workaround for NAN.
-
-    Also avoid declaring variables in the middle of the block.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=692856
-
- gi/pygi-marshal-from-py.c | 19 ++++++++++++++++++-
- 1 file changed, 18 insertions(+), 1 deletion(-)
-
-commit 5210e3d5bb7936a21b6a2c938ede505bf1d848c9
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Feb 26 16:42:19 2013 +0100
-
-    Fix some style issues with previous patch
-
- gi/pygi-cache.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 999679beaa9f5b36d9483abdbd30cd5e113b6bf6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Feb 26 10:15:22 2013 +0100
-
-    Raise DeprecationWarning on deprecated callables
-
-    Check if a callable is marked as deprecated and raise a
-    DeprecationWarning in
-    that case.
-
-    Notes:
-     - Python hides DeprecationWarning by default, you need to enable
-     them with -Wd
-     - The deprecation message is currently not in the typelib (bug
-     #694728)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=665084
-
- gi/pygi-cache.c  | 14 ++++++++++++++
- tests/test_gi.py | 10 ++++++++++
- 2 files changed, 24 insertions(+)
-
-commit 9f8258cfdcf562aa6cf37b9e66075b7f6a6ed97a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 18 00:39:45 2013 -0800
-
-    pygtkcompat: Add Widget.window, scroll_to_mark, and window methods
-
-    Fix gi.pygtkcompat attempting relative import in Python < 3.0.
-    Add Gtk.Widget.window property which uses get_window()
-    Add Gtk.TextView.scroll_to_mark with defaults
-    Add Gtk.window_list_toplevels and Gtk.window_set_default_icon_name
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=694067
-
- gi/pygtkcompat.py          |  2 ++
- pygtkcompat/pygtkcompat.py | 14 ++++++++++++++
- 2 files changed, 16 insertions(+)
-
-commit e8e2bbee7bb79039bbd9a968f7db88438bd937f9
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Dec 16 02:56:06 2012 -0800
-
-    pygtkcompat: Add Gtk.Window.set_geometry_hints which accepts keyword
-    arguments
-
-    Monkey patch a keyword argument version of set_geometry_hints onto
-    Gtk.Window.
-    This version is compatible with pygtk and takes keywords instead of a
-    Gdk.Geometry and Gdk.GeometryMask.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=694067
-
- pygtkcompat/pygtkcompat.py | 44
- ++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 44 insertions(+)
-
-commit 1ca0e142709843cdae9ca965dfa6cc292ef53ab5
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Feb 26 10:09:47 2013 +0100
-
-    tests: Fix warning behaviour
-
-    -Werror::* does not seem to do what it says on the tin, these
-    options are
-    ignored entirely apparently. Just keep -Wd to actually show all
-    warnings
-    including DeprecationWarning, which is hidden by default.
-
- tests/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e7ea6952c7a2d8da68ed8b66770d889cd756df9a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Feb 26 08:49:10 2013 +0100
-
-    Ship pygobject.doap for autogen.sh
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=694591
-
- Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 80ed803dab3ad914d7214a475e3c6ed743dfdccc
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Feb 19 03:07:19 2013 -0800
-
-    Fix crashes in various GObject signal handler functions
-
-    Fix crashes in a large amount of signal handler functions exposed
-    on the GObject module. This is possible now that the underlying
-    GObject pointer is exposed to Python as a PyCapsule which marshaling
-    can handle. The following functions in the GObject module have been
-    verified:
-
-    signal_handler_unblock
-    signal_handler_disconnect
-    signal_handler_is_connected
-    signal_stop_emission
-    signal_stop_emission_by_name
-    signal_has_handler_pending
-    signal_connect_closure
-    signal_connect_closure_by_id
-    signal_handler_find
-    signal_handlers_destroy
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=633927
-
- gi/_gobject/gobjectmodule.c |  57 ++--------------
- gi/overrides/GObject.py     | 158
- ++++++++++++++++++++++++++++++++++----------
- tests/test_signal.py        | 121 ++++++++++++++++++++++++++++++++-
- 3 files changed, 247 insertions(+), 89 deletions(-)
-
-commit e9c578c1d47375cb2249ccdd86873faad04b89e1
-Author: Olivier Crête <olivier.crete@collabora.com>
-Date:   Fri Sep 14 21:29:53 2012 -0400
-
-    pygi-closure: Protect the GSList prepend with the GIL
-
-    Signed-off-by: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=684060
-
- gi/pygi-closure.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 6e0a32f6d9febbd782dc56a619974f009e79abd9
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Feb 20 01:21:32 2013 -0800
-
-    generictreemodel: Fix bad default return type for get_column_type
-
- pygtkcompat/generictreemodel.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 8ec5c335e223bdf00c7bb6c9aac3e7ac7791e38e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Feb 19 12:23:13 2013 +0100
-
-    configure.ac: post-release bump to 3.7.91
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f2fb7f6142cd7112db9c2526d7f1c642a50cfc2a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Feb 19 12:19:35 2013 +0100
-
-    Release 3.7.90
-
- NEWS         | 17 +++++++++++++++++
- configure.ac |  2 +-
- 2 files changed, 18 insertions(+), 1 deletion(-)
-
-commit 840c871441cb215f24cc6e7ed26b9f38e5aad0df
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 18 01:46:22 2013 -0800
-
-    overrides: Fix inconsistencies with drag and drop target list API
-
-    Add support to Gtk.Widget.drag_dest_set_target_list and
-    Gtk.Widget.drag_source_set_target_list to accept iterables containing
-    mixed TargetEntry or a tuple of (target, flags, info).
-    Add support to Gtk.TreeView.enable_model_drag_source and
-    Gtk.TreeView.enable_model_drag_dest to accept a list of
-    Gtk.TargetEntry
-    items.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680640
-
- gi/overrides/Gtk.py         | 40 +++++++++++++++++++++++++++++-----------
- tests/test_overrides_gtk.py | 32 ++++++++++++++++++++++++++++++++
- 2 files changed, 61 insertions(+), 11 deletions(-)
-
-commit 62e94b0f87845bb7a1cfddf70dcdc89ff7a80bf7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 18 03:19:34 2013 -0800
-
-    tests: Add test_marshaling_object to Makefile.am
-
- tests/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-commit a10fb7216de57046d1ecacb73dd032eaadcbad09
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Wed Aug 29 03:46:23 2012 -0700
-
-    pygtkcompat: Add pygtk compatible GenericTreeModel implementation
-
-    Add Python implementation of the GenericTreeModel that was
-    available in pygtk. The implementation attempts a better job
-    than the original at ref counting by guaranteeing no leaks
-    upon deletion of the model itself. Or by using the extra "node"
-    argument to the row_deleted signal. The model is available in
-    the pygtkcompat package directly as
-    pygtkcompat.generictreemodel.GenericTreeModel or with as
-    gtk.GenericTreeModel when pygtkcompat.enable_gtk() is set.
-
-    Add file list and tree demos making use of GenericTreeModel
-    to gtk-demo.
-
-    Auto-expand gtk-demo app tree to give a better overview of
-    the demos available.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=682933
-
- .../gtk-demo/demos/Tree View/treemodel_filelist.py | 234 ++++++++++++
- .../gtk-demo/demos/Tree View/treemodel_filetree.py | 279 ++++++++++++++
- demos/gtk-demo/gtk-demo.py                         |   2 +-
- gi/pygtkcompat.py                                  |   2 +-
- pygtkcompat/Makefile.am                            |   1 +
- pygtkcompat/generictreemodel.py                    | 420
- +++++++++++++++++++++
- pygtkcompat/pygtkcompat.py                         |   3 +
- tests/Makefile.am                                  |   1 +
- tests/test_generictreemodel.py                     | 406
- ++++++++++++++++++++
- 9 files changed, 1346 insertions(+), 2 deletions(-)
-
-commit 871878c7a1e18fbdbf0744e0dd52cbcc6b610cdb
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 18 02:54:14 2013 -0800
-
-    overrides: Add support for iterables besides tuples for TreePath
-    creation
-
-    Allow Gtk.TreePath to accept any iterable for creation of the path.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=682933
-
- gi/overrides/Gtk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 93c1536b45f56c20b6d874c41c4cacd2b6cdca0a
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Feb 15 22:56:29 2013 -0800
-
-    Unify Python callable to GClosure GI marshaling code
-
-    Add pygi_marshal_from_py_gclosure which can be used for direct
-    gi method
-    call args and vfunc out args.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c        | 14 +-----------
- gi/pygi-marshal-from-py.c | 55
- ++++++++++++++++++++++++++++-------------------
- gi/pygi-marshal-from-py.h |  3 +++
- 3 files changed, 37 insertions(+), 35 deletions(-)
-
-commit 9e47afe459df942d9ffc4f71b39f1443976293df
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Feb 15 20:56:12 2013 -0800
-
-    Unify Python object to GValue GI marshaling code
-
-    Add pygi_marshal_from_py_g_value which can be used for direct
-    gi method
-    call args and vfunc out args. The new method also adds an
-    "is_allocated"
-    parameter that will be used to fix leaks in the future.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c        | 43 +++++++--------------------
- gi/pygi-marshal-from-py.c | 74
- ++++++++++++++++++++++++++++++++---------------
- gi/pygi-marshal-from-py.h |  5 ++++
- 3 files changed, 65 insertions(+), 57 deletions(-)
-
-commit 15cd7be5ad80e2411d6c13b04f5e2c33e4f5605e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Feb 15 23:07:57 2013 -0800
-
-    Rename pygi_marshal_from_py_object to make it more explicit
-
-    Rename pygi_marshal_from_py_object to pygi_marshal_from_py_gobject
-    to make it more explicit and give consistency with future refactoring.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693405
-
- gi/pygi-argument.c        |  2 +-
- gi/pygi-marshal-from-py.c | 22 +++++++++++++---------
- gi/pygi-marshal-from-py.h |  6 +++---
- 3 files changed, 17 insertions(+), 13 deletions(-)
-
-commit 84103dfabd05742d1a18729663a609e9bf7c45f8
-Author: Niklas Koep <niklas.koep@gmail.com>
-Date:   Fri Feb 15 21:23:01 2013 -0800
-
-    Prefix __module__ attribute of function objects with gi.repository
-
-    This allows gi module methods to work with pydoc and help().
-    Additionally correct typo in two docstrings of the same module.
-
-    Co-authored-by: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693839
-
- gi/overrides/__init__.py | 3 ++-
- gi/types.py              | 6 +++---
- 2 files changed, 5 insertions(+), 4 deletions(-)
-
-commit f6d4d2da676ae63d7a24dd172775b488ce665fe4
-Author: Jonathan Ballet <jon@multani.info>
-Date:   Thu Feb 14 07:50:02 2013 +0100
-
-    configure.ac: only enable code coverage when available
-
-    When building with an older gnome-common which does not yet provide
-    code
-    coverage support, disable it instead of breaking the configure script.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693328
-
- configure.ac | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-commit 42cbff60e2032f715d9be6ab280954211899e03c
-Author: Jonathan Ballet <jon@multani.info>
-Date:   Tue Feb 12 23:03:00 2013 +0100
-
-    Correctly set properties on object with statically defined properties
-
-    Fix failures in GObject.Object.set_properties() when used with
-    statically defined properties:
-
-    * Calling the method was raising a "SystemError: error return without
-    exception set" since `result` was (most of the time) still NULL at the
-    end of pygobject_set_properties()
-
-    * Calling the method with several properties would only set one of
-    the properties, since the function was exiting too early.
-
-    Signed-off-by: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693618
-
- gi/_gobject/pygobject.c | 19 +++++++++++--------
- tests/test_gi.py        |  6 ++++++
- 2 files changed, 17 insertions(+), 8 deletions(-)
-
-commit 2384769810a61d6ed08d8742b7ae976ebfaa8cb5
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Feb 11 18:08:37 2013 +0100
-
-    autogen.sh: Use gnome-autogen.sh
-
-    We depend on gnome-common now anyway, so use gnome-autogen.sh. This
-    will result
-    in a much better error message when gnome-common is not installed,
-    too.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693328
-
- autogen.sh | 30 +++++++++++++++++-------------
- 1 file changed, 17 insertions(+), 13 deletions(-)
-
-commit c107bb1f9275a748b494d3f32818f227e07cadf0
-Author: Christoph Reiter <christoph.reiter@gmx.at>
-Date:   Mon Feb 11 10:07:47 2013 +0100
-
-    GTK tests: Add and use context manager for realized widgets
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693377
-
- tests/test_overrides_gtk.py | 91
- +++++++++++++++++++++++++--------------------
- 1 file changed, 50 insertions(+), 41 deletions(-)
-
-commit e6670ee26b7682e6213f71deef813ce2e7cd6730
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Feb 11 08:55:19 2013 +0100
-
-    _pygi_marshal_from_py_array: Fix uninitialized variable
-
- gi/pygi-marshal-from-py.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a37bfdcb3d9dcc8bcdd8126ad55d80fab4729c62
-Author: Christoph Reiter <christoph.reiter@gmx.at>
-Date:   Mon Feb 11 08:34:42 2013 +0100
-
-    Skip some vfunc tests with gi 1.34
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693374
-
- tests/test_object_marshaling.py | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-commit aff2ea1b681c3019f7dbdc841c2e33de78dbb88f
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Feb 10 13:40:45 2013 -0800
-
-    Remove workaround for g_struct_info_get_size reporting incorrect size
-
-    Remove workaround for g_struct_info_get_size reporting incorrect size
-    for boxed GValues. Verified this now returns the correct size of 24.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=622711
-
- gi/pygi-boxed.c | 31 +++++++++++++------------------
- 1 file changed, 13 insertions(+), 18 deletions(-)
-
-commit 5efe2e5c8458d9f4d72329ea1209d96b5ebecfb4
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 4 20:50:10 2013 -0800
-
-    Fix reference leaks with transient floating objects
-
-    Unify and refactor caller and callee GObject argument marshalers.
-    Combine code from the large switch statement used to marshal
-    arguments to and from vfuncs/closures with the marshalers used
-    for direct calls to gi functions. This fixes a reference leak
-    when marshalling GObjects to Python with transfer=full due to
-    the diverging code paths.
-    Replace ability in gobject_new_full to optionally sink objects
-    with ability to optionaly "steal" objects. This fits the premise
-    that binding layers should always sink objects initially. The
-    steal argument is then used for marshalling arguments which are
-    transfer=full.
-    Add hacks and comments to work around GTK+ bugs 693393 and 693400.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687522
-
- gi/_gobject/gobjectmodule.c     | 10 +++++--
- gi/_gobject/pygobject-private.h |  2 +-
- gi/_gobject/pygobject.c         | 45 ++++++++++++++++++++----------
- gi/_gobject/pygobject.h         |  8 ++++--
- gi/pygi-argument.c              | 52 +++++++++++++++++------------------
- gi/pygi-marshal-from-py.c       | 61
- +++++++++++++++++++++++++++++++++++++----
- gi/pygi-marshal-from-py.h       |  6 ++++
- gi/pygi-marshal-to-py.c         | 45 +++++++++++++++---------------
- gi/pygi-marshal-to-py.h         |  5 ++++
- tests/test_object_marshaling.py | 44 ++++++++++++++---------------
- 10 files changed, 181 insertions(+), 97 deletions(-)
-
-commit bd54b8ab30fc957849e7f57e9ee4c4b41aa37013
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Feb 6 12:56:44 2013 -0800
-
-    tests: Fix spelling mistakes in new vfunc object marshalling tests
-
- tests/test_object_marshaling.py | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-commit cd96fd8b8e10add9890f36ec237bb78548de7002
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Feb 5 07:53:38 2013 +0100
-
-    configure.ac: post-release bump to 3.7.6
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 92b1404e61f46348168f32720eff4a482531e5e3
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Feb 5 07:46:46 2013 +0100
-
-    release 3.7.5.1
-
- NEWS         | 3 +++
- configure.ac | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-commit a3a30559240077194f23c4651d6f382fa59b7d63
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Feb 4 15:16:37 2013 -0800
-
-    Fix API break with pygobject.h
-
-    Move pygobject_new_full after everything in the public API table.
-    This fixes a break that went in along with bug 675726.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675726
-
- gi/_gobject/gobjectmodule.c | 5 +++--
- gi/_gobject/pygobject.h     | 2 +-
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
-commit b3ca7e27494c35620995840d777037a097082661
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Feb 4 19:53:26 2013 +0100
-
-    configure.ac: post-release bump to 3.7.6
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 77f638411314218748f349b337a36e2864eed1f4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Feb 4 19:37:14 2013 +0100
-
-    release 3.7.5
-
- NEWS | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
-commit 50da4fca1435f8c27072e15875227c5e7fb9b7e4
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Feb 3 23:56:14 2013 -0800
-
-    Fix pointer cast warning that was missed in bug 675726
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675726
-
- gi/_gobject/pygobject.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b31d8a952cd57dc92b06a381e054199660a2d570
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Jan 31 02:35:36 2013 -0800
-
-    Move various signal methods from static bindings to gi and python
-
-    Move disconnect, handler_is_connected, handler_block, handler_unblock,
-    and stop_emission from static to gi python overrides.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=692918
-
- gi/_gobject/pygobject.c | 90
- -------------------------------------------------
- gi/overrides/GObject.py | 44 +++++++++++++++++-------
- tests/test_signal.py    | 19 ++++++-----
- 3 files changed, 42 insertions(+), 111 deletions(-)
-
-commit 3a6a4a7a21a0f5e851518b7912d8ff455aa3ede4
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Fri Feb 1 21:09:26 2013 +0100
-
-    GLib overrides: Support unpacking 'maybe' variants
-
-    Automatically unpack 'maybe' variants to None or to their actual value
-    as we do for other kind of variants
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=693032
-
- gi/overrides/GLib.py         | 5 +++++
- tests/test_overrides_glib.py | 8 ++++++++
- 2 files changed, 13 insertions(+)
-
-commit 9bc3e6807f6c14fb0e132a90ff8f9984229896f6
-Author: Mike Gorse <mgorse@suse.com>
-Date:   Mon Jan 21 16:45:52 2013 -0600
-
-    Fix ref count leak when creating pygobject wrappers for input args
-
-    Only sink input references for closures and vfuncs when transfer is
-    everything. This fixes cases where incoming floating references for
-    callbacks need to maintain their floating state throughout the
-    callback so they don't leak a strong reference. Re-introduce a
-    working "sink" argument to pygobject_new_full which allows for this.
-    Change existing callers to always sink in order maintain behavior.
-
-    Co-Authored-By: Simon Feltman <sfeltman@src.gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675726
-
- gi/_gobject/gobjectmodule.c     |  5 +--
- gi/_gobject/pygobject.c         |  7 ++--
- gi/_gobject/pygobject.h         |  2 ++
- gi/pygi-argument.c              | 13 +++----
- tests/test_object_marshaling.py | 76
- +++++++++++++++++++++++++++++++++++++----
- 5 files changed, 85 insertions(+), 18 deletions(-)
-
-commit a53a9176a3f87cfb26f3ad98ea746ada0f1a39fa
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Jan 31 01:50:44 2013 -0800
-
-    Add tests for signal stop_emission, disconnect, and
-    handler_is_connected
-
-    Add tests for methods which will be moving from static bindings to gi
-    by using the new __gpointer__ attribute of GObject.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=692918
-
- tests/test_signal.py | 51
- ++++++++++++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 50 insertions(+), 1 deletion(-)
-
-commit df18f9cc3828d1bcf6b6cdf26af786fd9f36d77e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jan 30 21:37:07 2013 -0800
-
-    Add __gpointer__ property to GObject static binding
-
-    Add access to the underlying C GObject pointer by wrapping it in a
-    PyCapsule/PyCPointer and exposing it as __gpointer__.
-    Add special case marshaling for gi parameters annotated as gpointer
-    to accept a PyCapsule and extract the underlying pointer as the arg.
-    This allows usage of methods like GObject.signal_handler_disconnect
-    which we can start replacing the static bindings with.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=692918
-
- gi/_gobject/pygobject.c   | 11 +++++++++--
- gi/pygi-marshal-from-py.c |  6 +++++-
- 2 files changed, 14 insertions(+), 3 deletions(-)
-
-commit 571e0cb246baa4ef7db179b20da6b325f358fe5b
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Jan 27 01:22:37 2013 -0800
-
-    Prefix names of typeless enums and flags for GType registration
-
-    Prefix names given to g_flags_register_static and
-    g_enum_register_static
-    with "Py". This avoids conflicts with GTypes of the same name being
-    registered later by a library which does not provide a "get-type"
-    annotation.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=692515
-
- gi/gimodule.c    | 10 ++++++++--
- tests/test_gi.py |  4 ++--
- 2 files changed, 10 insertions(+), 4 deletions(-)
-
-commit 97f48f5dcabc8dad4480727a78416b1c2a220777
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Jan 30 04:35:32 2013 -0800
-
-    Add tests for vfunc object arguments and returns
-
-    Add tests which use different combinations of floating, transfer full,
-    transfer none, and held wrapper as in, out, or return arguments
-    to vfuncs.
-    Most of these are marked as skip or expectedFailure due to various
-    bugs
-    noted on the tests.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687522
-
- gi/overrides/GObject.py         |  15 +-
- tests/test_object_marshaling.py | 540
- ++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 550 insertions(+), 5 deletions(-)
-
-commit 73a83186329ede7702501d5bc49df269482461e4
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Jan 30 17:48:12 2013 +0100
-
-    Cosmetic fix to last patch
-
- gi/pygi-argument.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-commit 9e0c41509d62e8df7d0d82608a8be75f3defe05c
-Author: Chun-wei Fan <fanchunwei@src.gnome.org>
-Date:   Fri Jan 25 13:05:18 2013 +0800
-
-    gi/pygi-info.c, gi/pygi-repository.c: Deal with C99isms
-
-    Drop the array forward static declarations. They are not necessary
-    and are not
-    valid in C89.
-
-    Also move declarations of variables to the top of their respective
-    blocks.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=692856
-
- gi/pygi-info.c       | 18 ++++++++++--------
- gi/pygi-repository.c |  2 --
- 2 files changed, 10 insertions(+), 10 deletions(-)
-
-commit 2e7c458ef6377a872043634b47737ef12eed744a
-Author: Chun-wei Fan <fanchunwei@src.gnome.org>
-Date:   Fri Jan 25 13:00:48 2013 +0800
-
-    Move variable declaration to top of blocks (C99ism)
-
-    Move variable declarations to the top of their respective blocks,
-    so that these
-    code will build under C89 compilers such as Visual C++.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=692856
-
- gi/pygi-argument.c        | 10 ++++++----
- gi/pygi-closure.c         | 23 +++++++++++++++--------
- gi/pygi-invoke.c          |  3 ++-
- gi/pygi-marshal-cleanup.c |  3 ++-
- gi/pygi-property.c        |  3 ++-
- 5 files changed, 27 insertions(+), 15 deletions(-)
-
-commit 20fc5aa7514215fc7807adceb603d17f7943304a
-Author: Chun-wei Fan <fanchunwei@src.gnome.org>
-Date:   Fri Jan 25 12:58:26 2013 +0800
-
-    gi/pygobject-external.h: Remove GCCism
-
-    We can use G_GNUC_UNUSED from GLib that does the same purpose of
-    __attribute__ ( (unused)) when we are using a GCC that provides this.
-
-    The GLib headers that defines that macro should have already been
-    included
-    before this header is included (due to use of gboolean).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=692856
-
- gi/pygobject-external.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 5d2f453f3fdb167a4b4a833011ae777bfd228eb9
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jan 30 14:59:11 2013 +0100
-
-    tests: Update test_double() after e65c1248
-
-    Commit e65c1248 introduced support for NaN and Â±inf as valid
-    float values,
-    rendering the "expect ValueError on 2*double" check broken. Just
-    remove it.
-
- tests/test_everything.py | 1 -
- 1 file changed, 1 deletion(-)
-
-commit b8bf4ec6c2478275dc9c813946a90b82ded6d9ce
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jan 23 07:14:16 2013 +0100
-
-    Do not immediately initialize Gdk and Gtk on import
-
-    Raising an exception if Gdk/Gtk cannot be imported makes it
-    impossible to
-    merely import a module for e. g. nosetests without actually running
-    it.
-
-    Programs who want to provide a proper error message should check
-    Gtk.initialized explicitly after importing. Check initialized
-    status in
-    Window.__init__() instead to provide a reasonably early error message
-    for most
-    programs.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=692300
-
- gi/overrides/Gdk.py | 2 --
- gi/overrides/Gtk.py | 5 +++--
- 2 files changed, 3 insertions(+), 4 deletions(-)
-
-commit 93d5cc2986cb3d3d979694b1beb1719d2d8fed53
-Author: Chun-wei Fan <fanchunwei@src.gnome.org>
-Date:   Fri Jan 25 12:49:18 2013 +0800
-
-    gi/overrides/Glib.py: Fix running on Windows/non-Unix
-
-    The definition of self._signal_source uses a Unix-specific GLib
-    API, which
-    does not exist or have a direct equivilant on Windows.
-
-    Only define and use that variable when we aren't on Windows.
-
- gi/overrides/GLib.py | 18 ++++++++++--------
- 1 file changed, 10 insertions(+), 8 deletions(-)
-
-commit e65c124893ceaa9c97eb4c8c743fbeb756b9a6e6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jan 23 14:56:02 2013 +0100
-
-    Accept Â±inf and NaN as float and double values
-
-    Also fix the broken error message when a float value is out of range.
-    PyErr_Format() does not support float macros.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=692381
-
- gi/pygi-marshal-from-py.c | 37 +++++++++++++++++++------------------
- tests/test_gobject.py     | 14 ++++++++++++++
- 2 files changed, 33 insertions(+), 18 deletions(-)
-
-commit a52245381fab3c2aebd330cc9c5e717a93c9607d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jan 23 14:28:42 2013 +0100
-
-    Fix repr() of GLib.Variant
-
-    When using a standard constructor like GLib.Variant.new_*(), the
-    object does
-    not have a format_string property, and previously repr() would
-    crash. Fall back
-    to get_type_string() instead.
-
-    Also drop the unintended type annotations in repr().
-
- gi/overrides/GLib.py         |  6 +++++-
- tests/test_overrides_glib.py | 15 ++++++++++++++-
- 2 files changed, 19 insertions(+), 2 deletions(-)
-
-commit 2270cf15012005362dc47456213c5d9e7f6ed28a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jan 23 14:14:29 2013 +0100
-
-    Fix gtk-demo for Python 3
-
-    It was crashing with
-
-       package = __import__(packagename, globals(), locals(),
-       [modulename], -1)
-      ValueError: level must be >= 0
-
-    Using level zero works with both Python 2 and 3.
-
- demos/gtk-demo/gtk-demo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b24d07577da1e17c8e27f758fc1a23d7f2d0f668
-Author: Colin Walters <walters@verbum.org>
-Date:   Tue Jan 22 10:49:57 2013 -0500
-
-    build: Add autogen.sh to EXTRA_DIST
-
-    So downstreams that patch the autotools can use it.
-
- Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-commit ed7fb99efa81854d947ae548d41a03f5275c5884
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Jan 17 08:23:02 2013 +0100
-
-    Define GObject.TYPE_VALUE gtype constant
-
- gi/overrides/GObject.py | 4 +++-
- tests/test_gobject.py   | 4 ++++
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-commit fd32acdd97f49f086a8ad5cf2b65862c4e6ccc44
-Author: Olivier Crête <olivier.crete@collabora.com>
-Date:   Mon Sep 17 15:37:04 2012 -0400
-
-    gobject: Go through introspection on property setting
-
-    Consider introspected properties in object.set_property().
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=684062
-
- gi/_gobject/pygobject.c  | 18 +++++++++++++++++-
- tests/test_properties.py | 13 ++++++++++---
- 2 files changed, 27 insertions(+), 4 deletions(-)
-
-commit 9a2060f26c2cc2f9ef79ab6fb9f512c317004856
-Author: Mike Gorse <mgorse@suse.com>
-Date:   Tue Jan 15 20:04:46 2013 -0600
-
-    Clean up caller-allocated GValues and their memory
-
-    When space for a GValue is allocated by the caller (as in
-    gtk_tree_model_get_value), we need to free the space allocated for the
-    value along with its contents. The GValue is not needed after
-    Pyg_value_as_pyobject is called, so call _cleanup_caller_allocates and
-    have it unset the value and deallocate the memory.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=691820
-
- gi/pygi-marshal-cleanup.c | 20 ++++++++++++++++++--
- 1 file changed, 18 insertions(+), 2 deletions(-)
-
-commit 45b7975d0a3d78f01f1112ae7b3f4208f15694d8
-Author: Dmitry Shachnev <mitya57@ubuntu.com>
-Date:   Wed Jan 16 13:44:42 2013 +0400
-
-    tests: define correct unittest.skipIf for python 2.6
-
- tests/runtests.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 4706cd686ea1b25260c9ecc77abd324d6e4cf505
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jan 16 09:17:13 2013 +0100
-
-    tests: More robust tree view realization
-
-    With current GNOME git head, the Gtk.TreeViews were not realized
-    enough any
-    more to receive property values. Put them into a Gtk.Dialog now and
-    show it to
-    ensure that they are realized.
-
- tests/test_overrides_gtk.py | 16 ++++++++++------
- 1 file changed, 10 insertions(+), 6 deletions(-)
-
-commit 90c6f596df2a96f9c8059ae9157bc467a80b7574
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jan 15 10:42:49 2013 +0100
-
-    Drop deprecated g_thread_create()
-
-    Replace with g_thread_new(). This is available with glib >= 2.32,
-    and we
-    already require >= 2.34.
-
- tests/test-thread.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-commit 98504273dead9eade6e53c2297bcaec7bea6265a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jan 15 10:37:52 2013 +0100
-
-    Drop usage of deprecated GStaticPrivate
-
-    Replace with GPrivate.
-
- gi/_gobject/gobjectmodule.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 655e2eece14f5de3baf4505f524d17484b8b5a75
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jan 15 10:29:47 2013 +0100
-
-    Don't call g_type_init() with glib >= 2.35.x
-
-    This fixes a deprecation warning.
-
- gi/_gobject/gobjectmodule.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 206e736380ba798c68de09f661d75c8e27451117
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jan 15 09:47:11 2013 +0100
-
-    Use GNOME_COMPILE_WARNINGS from gnome-common
-
-    As we are now using gnome-common anyway for the code coverage macro,
-    also use
-    GNOME_COMPILE_WARNINGS, and only manually specify the extra options
-    that we
-    want beyond that.
-
-    This also enables -Wstrict-prototypes.
-
- configure.ac | 14 ++++----------
- 1 file changed, 4 insertions(+), 10 deletions(-)
-
-commit 137679426ff39507e15f08e9e6428d851fee06b7
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jan 15 09:46:01 2013 +0100
-
-    Fix function prototypes and static functions
-
-    These cause errors/warnings with -Wstrict-prototypes.
-
- gi/_glib/pyglib-python-compat.h | 2 ++
- gi/pygi-foreign.c               | 2 +-
- gi/pygi-marshal-from-py.c       | 4 ++--
- gi/pygi-marshal-to-py.c         | 4 ++--
- gi/pygi-source.c                | 2 +-
- gi/pygi-source.h                | 2 +-
- 6 files changed, 9 insertions(+), 7 deletions(-)
-
-commit d47927f1701a11aec8566425f22688c5df73d7f2
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jan 14 17:38:23 2013 +0100
-
-    configure.ac: post-release bump to 3.7.5
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit bd6da84a4aec74e47f5d70e8ed18695c37e746c6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jan 14 17:30:48 2013 +0100
-
-    release 3.7.4
-
- NEWS | 38 ++++++++++++++++++++++++++++++++++++++
- 1 file changed, 38 insertions(+)
-
-commit c90ef9dfac7dd51ec82c99c3605915996bea0f73
-Author: Simonas Kazlauskas <simonas@kazlauskas.me>
-Date:   Tue Dec 4 15:45:00 2012 +0200
-
-    Allow setting values through GtkTreeModelFilter
-
-    Previously, trying to set a value through filter throwed an exception
-    that the
-    model has no set_value() method. You had to first retrieve the
-    deepest child
-    model and set value to it.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=689624
-
- gi/overrides/Gtk.py         |  5 +++++
- tests/test_overrides_gtk.py | 11 +++++++++++
- 2 files changed, 16 insertions(+)
-
-commit b092630efc691a6f7ae94ae896193254f5a961a6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jan 14 12:37:18 2013 +0100
-
-    tests: Add (failing) test case for GParamSpec arguments
-
-    This reproduces
-    https://bugzilla.gnome.org/show_bug.cgi?id=682355
-
- tests/test_gi.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 52d84b5da7f9fd4f65faea4e6fe3d250f937a208
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jan 14 12:20:27 2013 +0100
-
-    tests: Skip struct string member tests with g-i 1.34
-
-    We still support building against gobject-introspection 1.34, so
-    skip tests
-    which do not work with that version yet.
-
- tests/test_gi.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit f9429192cb1002725a11a75a7b8f9300375b9caf
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jan 14 12:15:27 2013 +0100
-
-    Support GParamSpec signal arguments from Python
-
-    In pyg_value_from_pyobject(), recognize both the real GI
-    GObject.ParamSpec type
-    as well as the statically wrapped _gobject.GParamSpec type.
-
-    This fixes marshalling GObject.ParamSpec signal/vfunc arguments.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=683099
-
- gi/_gobject/pygtype.c    |  6 +++++-
- tests/test_signal.py     | 12 ++++++++++++
- tests/testhelpermodule.c | 13 +++++++++++++
- 3 files changed, 30 insertions(+), 1 deletion(-)
-
-commit 99f72925c7de76611f7592bce9d8217a9ff46809
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jan 14 11:48:11 2013 +0100
-
-    pygobject_emit(): Fix cleanup on error
-
-    Dot not try to unset GValues which have not been initialized yet,
-    when type
-    conversion fails for a parameter.
-
- gi/_gobject/pygobject.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit acef1d3266d11b2465d61185a55526df879a5c62
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Dec 31 19:01:57 2012 -0800
-
-    Add signal emission methods to TreeModel which coerce the path
-    argument
-
-    Override TreeModel row_changed, row_inserted, row_has_child_toggled,
-    row_deleted, and rows_reordered methods to accept python iterables as
-    the path parameter. This is for compatibility with pygtk and
-    consistency
-    with the rest of the TreeModel and TreePath overrides.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=682933
-
- gi/overrides/Gtk.py         | 31 ++++++++++++++++++++++++++++---
- tests/test_overrides_gtk.py | 27 +++++++++++++++++++++++++++
- 2 files changed, 55 insertions(+), 3 deletions(-)
-
-commit 9cfba517e1a6dced5e66786b28ed5e101b7b4a29
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jan 14 10:36:36 2013 +0100
-
-    Simplify overrides and tests using the new GObject.Value override
-
-    The previous commit added support for constructing a GObject.Value
-    with a given
-    GType and Python object conversion. Use this to simplify the Gtk
-    override and
-    the tests that construct GValues.
-
-    See https://bugzilla.gnome.org/show_bug.cgi?id=677473
-
- gi/overrides/Gtk.py         | 88
- +++------------------------------------------
- tests/test_gi.py            | 26 +++++---------
- tests/test_overrides_gtk.py |  2 +-
- tests/test_signal.py        | 12 ++-----
- 4 files changed, 17 insertions(+), 111 deletions(-)
-
-commit f62b98398177991bfdbe0b6753342e79e6cf170a
-Author: Bastian Winkler <buz@netbuz.org>
-Date:   Mon Jan 14 10:26:08 2013 +0100
-
-    Add override for GValue
-
-    Override GValue with a custom constructor and set_value()/get_value()
-    methods. This allows you to call
-
-    >>> GObject.Value(GObject.TYPE_FLOAT, 42.23)
-
-    instead of
-
-    >>> value = GObject.Value()
-    >>> value.init(GObject.TYPE_FLOAT)
-    >>> value.set_float(42.23)
-
-    This is especially useful for overrides that need to convert a Python
-    value to a expected type like G_TYPE_FLOAT.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=677473
-
- gi/overrides/GObject.py | 127
- +++++++++++++++++++++++++++++++++++++++++++++++-
- tests/test_gobject.py   |  47 +++++++++++++++++-
- 2 files changed, 172 insertions(+), 2 deletions(-)
-
-commit dc3d21173b75232f7ea0b9913f7309486456a69d
-Author: Mike Gorse <mgorse@suse.com>
-Date:   Thu Jan 10 15:48:30 2013 -0600
-
-    Mark caller-allocated boxed structures as having a slice allocated
-
-    When a C function takes a pointer and fills it with a boxed structure
-    (ie,
-    gtk_tree_store_insert_with_values), pygi should deallocate the slice
-    when the
-    box is no longer being used.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=699501
-
- gi/pygi-marshal-to-py.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-commit 0c496d230fee7fd3ada90ee9af10e0bc1e29ee12
-Author: Olivier Crête <olivier.crete@collabora.com>
-Date:   Fri Sep 14 21:31:32 2012 -0400
-
-    pygi-property: Support boxed GSList/GList types
-
-    Note that this does not yet work for construct properties.
-
-    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=684059
-
- gi/pygi-property.c | 10 ++++++++--
- tests/test_gi.py   | 21 +++++++++++++++++++++
- 2 files changed, 29 insertions(+), 2 deletions(-)
-
-commit 074f10d815453e58f4bee2f440c5db799add3876
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jan 14 07:48:31 2013 +0100
-
-    test_gio: Fix for Python 2
-
-    Python 2 does not yet take an "encoding" argument for str(), while
-    Python 3
-    requires it. Use a less fancy static test string instead.
-
- tests/test_gio.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 734979d0c8317201148a7e94a323225fba2d1635
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jan 14 07:40:10 2013 +0100
-
-    tests: Add missing backwards compat methods for Python 2.6
-
-    Define skipIf(), assertLess(), and assertLessEqual() for running
-    the tests with
-    Python 2.6.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=691646
-
- tests/runtests.py | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-commit dc0dafd1f6ca3ebbf04210768a45587387e44551
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jan 14 07:34:46 2013 +0100
-
-    tests: Stop using assertSequenceEqual()
-
-    assertSequenceEqual() does not yet exist in Python 2.6, and is
-    not necessary
-    either as assertEqual() on sequences automatically does list
-    comparison.
-
-    Part of https://bugzilla.gnome.org/show_bug.cgi?id=691646
-
- tests/test_gtype.py  | 6 ++----
- tests/test_signal.py | 6 ++----
- 2 files changed, 4 insertions(+), 8 deletions(-)
-
-commit 0a5587b6a56d417a6703e342f153596f08cd5889
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Jan 13 18:19:51 2013 -0800
-
-    Allow setting TreeModel values to None
-
-    Change TreeModel.set_value to use an empty but initialized GValue when
-    None is used as the value argument. This allows clearing of cell data
-    which was not accessible due to auto-coercion.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=684094
-
- gi/overrides/Gtk.py         | 11 ++++++++---
- tests/test_overrides_gtk.py |  8 ++++++++
- 2 files changed, 16 insertions(+), 3 deletions(-)
-
-commit 5ae129da436793478750f0dc9427a174a980e10b
-Author: Mike Gorse <mgorse@suse.com>
-Date:   Thu Jan 10 16:42:17 2013 -0600
-
-    Set clean-up handler for marshalled arrays
-
-    Arrays did not have a cleanup handler set in some cases, resulting
-    in a leak.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=691509
-
- gi/pygi-cache.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 58bd307c57d542a8f69867dea2d0a0eb51230c7b
-Author: Vadim Rutkovsky <vrutkovs@redhat.com>
-Date:   Fri Jan 11 15:41:27 2013 +0100
-
-    Support setting string fields in structs
-
-    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=678401
-
- gi/pygi-info.c   |  3 ++-
- tests/test_gi.py | 16 ++++++++++++++++
- 2 files changed, 18 insertions(+), 1 deletion(-)
-
-commit f2bcaa43c1158040a8c2cbc3a2ba5070d126a410
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jan 11 14:58:44 2013 +0100
-
-    Re-enable test_gi.TestPropertiesObject.test_char test
-
-    The gobject-introspection bug got fixed:
-    https://bugzilla.gnome.org/show_bug.cgi?id=691524
-
- tests/test_gi.py | 14 +++-----------
- 1 file changed, 3 insertions(+), 11 deletions(-)
-
-commit 9a8c49087cf400e01c1f78241fa4d74b4d15f54e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jan 11 09:46:56 2013 +0100
-
-    tests: Re-enable test_callback_scope_call_array() check
-
-    Drop the expected failure from test_callback_scope_call_array()
-    and just add
-    the explicit array length arguments. While it would look cleaner to
-    not pass
-    them, it is probably not worth breaking the API for this.
-
- tests/test_everything.py | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-commit 609636424b5f9b659e99a4bb53a48c165187c430
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jan 11 09:13:36 2013 +0100
-
-    Permit plain integers for "gchar" values
-
-    Similar to guchar/guint8, allow plain integers (withing correct
-    boundaries) as
-    values for gchar/gint8 types.
-
-    This is covered by the test_gi.TestPropertiesObject.test_char
-    test when
-    removing the "expected failure" flag.
-
- gi/_gobject/pygtype.c | 16 ++++++++++++----
- 1 file changed, 12 insertions(+), 4 deletions(-)
-
-commit a558d3d3a9274aeccfc54705bf5effdf71dee06b
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jan 11 09:09:41 2013 +0100
-
-    Allow single byte values for int8 types
-
-    When fixing gobject-introspection to consider "gchar" as signed (see
-    https://bugzilla.gnome.org/show_bug.cgi?id=691524), we must also
-    permit a
-    single-element "bytes" array as a valid value for int8, not just
-    for uint8.
-
-    This is caught by the test_overrides_gtk.TestTreeModel.test_tree_store
-    test.
-
- gi/pygi-argument.c        |  4 ++--
- gi/pygi-marshal-from-py.c | 34 +++++++++++++++++++++-------------
- 2 files changed, 23 insertions(+), 15 deletions(-)
-
-commit aa7f6cd12fe403acb2cffc7890724af7abb9b990
-Author: Mike Gorse <mgorse@suse.com>
-Date:   Thu Jan 10 14:11:56 2013 -0600
-
-    Fix invalid memory access handling errors when registering an
-    enum type
-
-    Don't free the name until we are done with it.
-
- gi/gimodule.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit ecd235959317d39b6d598662c00829e0ec717b17
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Jan 10 16:42:46 2013 +0100
-
-    Fix (out) arguments in callbacks
-
-    Do not ignore the first argument in _pygi_closure_set_out_arguments().
-    Presumably that has been done to skip over "self", but callbacks
-    are not
-    required to have a self argument. As self is never (out), we can
-    safely include
-    it in the loop.
-
- gi/pygi-closure.c | 2 +-
- tests/test_gi.py  | 4 ----
- 2 files changed, 1 insertion(+), 5 deletions(-)
-
-commit d8e241e24a816691acbd592775b73defd9aa4f44
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Jan 10 15:14:05 2013 +0100
-
-    Fix C to Python marshalling of struct pointer arrays
-
-    Do not treat an array of pointers to values like an array of values on
-    marshalling from C. This makes the test_array_boxed_struct_return()
-    test case
-    work.
-
- gi/pygi-marshal-to-py.c | 5 +++--
- tests/test_gi.py        | 2 --
- 2 files changed, 3 insertions(+), 4 deletions(-)
-
-commit 60544b02f6f98c0b212625ae83b94a4c6debddeb
-Author: Simonas Kazlauskas <simonas@kazlauskas.me>
-Date:   Tue Jan 8 23:22:54 2013 +0200
-
-    Add tests for GFile
-
-    Most notably this commit contains a test for
-    Gio.File.replace_contents_async(),
-    which currently fails. Disable the tests for now as it breaks the
-    other tests.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=690525
-
- tests/test_gio.py | 64
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 64 insertions(+)
-
-commit 118c5eaad045580455515876ba73b9537a8468b4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Jan 10 13:56:11 2013 +0100
-
-    Rename test_overrides_gio.py to test_gio.py
-
-    As we want to add more tests for non-overridden API.
-
- tests/Makefile.am                            | 2 +-
- tests/{test_overrides_gio.py => test_gio.py} | 0
- 2 files changed, 1 insertion(+), 1 deletion(-)
-
-commit 8117e6bce73581e89211371708ff7d5de7d870d4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Jan 10 12:13:16 2013 +0100
-
-    Don't let Property.setter() method names define property names
-
-    Defining property names in install_properties() is too late when using
-    @propname.setter decorators; their method names don't define a
-    property name,
-    nor are they even required to be a valid property identifier.
-
-    So change the logic to already fix the property name when using
-    a setter
-    decorator and use that instead of the member name in
-    install_properties().
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688971
-
- gi/_gobject/propertyhelper.py | 29 ++++++++++++++++++++++-------
- tests/test_properties.py      | 18 ++++++++++++++++++
- 2 files changed, 40 insertions(+), 7 deletions(-)
-
-commit c0bd060521cc1b481995648dbe286b7e2f9ecd80
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jan 9 10:39:36 2013 +0100
-
-    tests: Force UTF-8 file name encoding
-
-    The test_gi.TestFilename tests fail if the environment specifies
-    a non-UTF8
-    file name encoding. Force it to "UTF-8" for the tests.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=691355
-
- tests/runtests.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit c02a00ae9599a661076630b21b7e24e78fb88c29
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jan 8 16:56:40 2013 +0100
-
-    Use g-i stack allocation API
-
-    Where possible, i. e. when not keeping references across functions,
-    use the
-    _load_() methods instead of the _get_() ones from
-    gobject-introspection, which
-    is faster and less prone to memory leaks:
-
-      g_callable_info_get_arg () â†’ g_callable_info_load_arg ()
-      g_callable_info_get_return_type() â†’
-      g_callable_info_load_return_type ()
-      g_arg_info_get_type() â†’ g_arg_info_load_type ()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615982
-
- gi/pygi-argument.c | 16 ++++------
- gi/pygi-closure.c  | 88
- ++++++++++++++++++++++++------------------------------
- 2 files changed, 45 insertions(+), 59 deletions(-)
-
-commit 23d1f14f553069740465c82eaa937b877c41e0cb
-Author: Ray Strode <rstrode@redhat.com>
-Date:   Wed Dec 19 13:04:32 2012 -0500
-
-    pyg_value_from_pyobject: support GArray
-
-    This commit adds support for marshalling a python list (or other
-    sequence)
-    returned from signal handlers to GArray, if necessary.
-
-    This parallels the implementation written to marshal to (the now
-    deprecated)
-    GValueArray.
-
-    This fixes a crash in rhythmbox as seen downstream here:
-    https://bugzilla.redhat.com/show_bug.cgi?id=872851
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=690514
-
-    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
-
- gi/_gobject/pygtype.c    | 60
- ++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_everything.py | 22 ++++++++++++++++++
- 2 files changed, 82 insertions(+)
-
-commit 2089dbb117bae769b0303411c2630b6f86dc7d2d
-Author: Marko Lindqvist <cazfi74@gmail.com>
-Date:   Fri Jan 4 07:01:29 2013 +0100
-
-    Fix obsolete automake macros
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=691101
-
- configure.ac | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-commit 6c02ab0ad720780f176192fdc6372aaa178812fd
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Dec 31 02:53:07 2012 -0800
-
-    Change dynamic enum and flag gtype creation to use namespaced naming
-
-    Use the combination of g_base_info_get_namespace and
-    g_base_info_get_name
-    as the name for registering enum and flag types with glib through
-    g_enum_register_static and g_flags_register_static. This avoids
-    conflicts
-    with types like GLib.SeekType and Gst.SeekType. Add better exceptions
-    and memory cleanup for invalid registration problems.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=690455
-
- gi/_gobject/pygenum.c |  6 ++--
- gi/gimodule.c         | 78
- ++++++++++++++++++++++++++++++++++++++++++++-------
- tests/test_gi.py      | 35 +++++++++++++++++++++++
- 3 files changed, 106 insertions(+), 13 deletions(-)
-
-commit 692c80e11a05e2fb0515580acb22fd6fe65cede1
-Author: Dan Horák <dan@danny.cz>
-Date:   Fri Dec 28 22:12:32 2012 +0100
-
-    Fix test for GBytes.compare()
-
-    The result of the compare method is defined as equal, less than or
-    greater than zero
-    and the test must match to that. The underlaying memcmp() function
-    can return other
-    values than -1, 0 and 1. For example on architectures where it is
-    implemented directly
-    via a CPU instruction like on s390(x) where I can see -2 as a result
-    instead of the
-    "expected" -1.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=690837
-
- tests/test_gi.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 948dbcb223249a08f4398d4ad8861e92e3de0dfa
-Author: Jonathan Ballet <jon@multani.info>
-Date:   Thu Dec 27 16:04:51 2012 +0100
-
-    Fix Gtk.UIManager.add_ui_from_string() override for non-ASCII chars
-
-    The length argument is the size of the buffer in bytes, not in
-    characters.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=690329
-
-    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
-
- gi/overrides/Gtk.py         | 2 +-
- tests/test_overrides_gtk.py | 7 +++++++
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
-commit 53bc12a87da824cbfb006a4fd65731edec12ecc7
-Author: Mike Gorse <mgorse@suse.com>
-Date:   Wed Dec 19 20:51:03 2012 -0500
-
-    Don't dup strings before passing them to type registration functions
-
-    Strings passed to g_enum_register_static and g_flags_register_static
-    are
-    eventually passed to g_quark_from_string, which dups the string
-    passed to it if
-    needed and does not take ownership of it, so passing in a
-    dynamically-allocated
-    string without freeing it results in a small leak.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=690532
-
- gi/gimodule.c | 2 --
- 1 file changed, 2 deletions(-)
-
-commit 9454c01f2b1b82d43eea0f72fe9a28ef50065fc9
-Author: Carlos Garnacho <carlos@lanedo.com>
-Date:   Tue Dec 18 22:47:09 2012 +0100
-
-    Fix marshalling of arrays of boxed struct values
-
-    This fixes methods like gtk_selection_set_with_data().  In such cases
-    data is passed as an array of struct pointers, so it must be converted
-    to an array of structs.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=656312
-
-    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygi-marshal-from-py.c |  6 ++++++
- tests/test_gi.py          | 12 ++++++++++++
- 2 files changed, 18 insertions(+)
-
-commit 231d5a7cfc73518b4e2b0c926d4c1ce9a804797e
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Dec 18 02:03:41 2012 -0800
-
-    Add reference counting tests for Object.bind_property
-
-    Add tests which ensure transform callbacks and user_data
-    are propertly ref-counted.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=690397
-
- tests/test_gobject.py | 40 ++++++++++++++++++++++++++++++++++++----
- 1 file changed, 36 insertions(+), 4 deletions(-)
-
-commit c29e11812d176b1f057074c9bab22c9614ae4f8c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Dec 18 11:43:04 2012 +0100
-
-    testhelpermodule.c: Do not unref called method
-
-    In _wrap_test_gerror_exception(), do not unref the method
-    arguments. This
-    causes a crash when being run with the stricter refcounting/memory
-    checks with
-    debug-enabled Python builds.
-
- tests/testhelpermodule.c | 1 -
- 1 file changed, 1 deletion(-)
-
-commit ff0d9106bcd02a6b2c67cc3722481218c599a9f4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Dec 17 23:20:50 2012 +0100
-
-    configure.ac: post-release bump to 3.7.4
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 061b23d14386c0e54d2c3af113554231bbe85f16
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Dec 17 23:18:31 2012 +0100
-
-    release 3.7.3
-
- NEWS | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-commit a242f02823a63c9dca5d0b1ce84b031221053690
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Dec 17 23:11:29 2012 +0100
-
-    Add (failing) tests for callbacks with out arguments
-
-    Most of these fail and need marshalling fixes.
-
- tests/test_gi.py | 36 ++++++++++++++++++++++++++++++++++++
- 1 file changed, 36 insertions(+)
-
-commit 449b1ef0d94450c1e457770a093abd6d6c9e6291
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Dec 17 22:50:59 2012 +0100
-
-    Add tests for internal API
-
-    These cover functions like pygobject_new(), pyg_value_from_pyobject()
-    and
-    pyg_value_as_pyobject() that are wrapped by testhelpermodule.c. With
-    that these
-    functions can be tested in isolation without the whole GI stack
-    around them.
-
- tests/Makefile.am          |  1 +
- tests/test_internal_api.py | 73
- ++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 74 insertions(+)
-
-commit e44312139426f51e576ef9e880819542cc224383
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Dec 17 18:02:15 2012 +0100
-
-    Add support for caller-allocated GArray out arguments
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=690041
-
- gi/pygi-cache.c  |  2 +-
- gi/pygi-invoke.c | 57
- ++++++++++++++++++++++++++++++--------------------------
- tests/test_gi.py |  5 +++--
- 3 files changed, 35 insertions(+), 29 deletions(-)
-
-commit f262320ac22b48a9d007c425633f3ca426b7fb4a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Dec 17 16:18:24 2012 +0100
-
-    Add (failing) test for caller-allocated GArray return value
-
-    Call new GIMarshallingTests.garray_utf8_full_out_caller_allocated()
-    function
-    which reproduces https://bugzilla.gnome.org/show_bug.cgi?id=690041.
-
-    The test is failing and causing a segfault right now, so disable it
-    until this
-    actually works.
-
- tests/test_gi.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 1cb4c30c3cf19690210010d39b6272965f489c58
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Dec 17 15:56:44 2012 +0100
-
-    GLib overrides: Avoid calling deprecated GLib.unix_signal_add_full()
-
-    glib 2.35.x fixed the API to be GLib.unix_signal_add(). Call the
-    modern API if
-    available, but fall back to GLib.unix_signal_add_full() until we
-    depend on glib
-    2.36.
-
- gi/overrides/GLib.py | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-commit 945263a89c3adee61f95d4211cf13b254ad6d51f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 30 14:17:18 2012 +0100
-
-    Re-support calling GLib.io_add_watch with an fd or Python file
-
-    This does not strictly adhere to the GLib API, but it's very
-    convenient and
-    unlike the other modes, does not change the number or order of
-    arguments. So
-    let's keep support for this and drop the deprecation warning.
-
- gi/overrides/GLib.py | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-commit 263b9f97e748746e1d26847a82a4d6e53a42798a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 30 09:04:20 2012 +0100
-
-    Robustify test_glib.TestGLib.test_io_add_watch_pyfile
-
-    Use a longer timeout to avoid races on slow architectures, and cut
-    the main
-    loop as soon as we received all expected events.
-
- tests/test_glib.py | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit 8e4e822cb273db4eb7e6e40f4739eeebee00798a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 30 08:44:56 2012 +0100
-
-    test_overrides_gtk: Ignore GVFS warnings from FileChooserDialog
-
-    Do not cause GVFS warnings from Gtk.FileChooserDialog (which may
-    concern
-    unavailable monitor backends in the test environment) to fail
-    the tests.
-
- tests/test_overrides_gtk.py | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-commit d47283936b4c0b5e8b6ede8886c4badbf6d6e694
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Nov 29 16:45:49 2012 +0100
-
-    pygtkcompat: Work around IndexError on large flags
-
-    On 32 bit systems pygtkcompat currently fails with
-
-      File "pygtkcompat/pygtkcompat.py", line 74, in _install_enums
-        name = flag.value_names[-1].replace(modname + '_', '')
-    IndexError: cannot fit 'int' into an index-sized integer
-
-    on 32 bit systems as some flags in Gdk are too large to fit into a
-    32 bit
-    "long". Work around this crash until this gets fixed properly
-    (marked as
-    FIXME).
-
- pygtkcompat/pygtkcompat.py | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-commit 3fa31b1a7936c556e76bd8a42030567c6a867e0d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Nov 29 14:11:29 2012 +0100
-
-    Fix pyg_value_from_pyobject() range check for uint
-
-    We cannot use PYGLIB_PyLong_AsLong() for the range check, as on 32
-    bit machines
-    this overflows large uints. Use PyLong_AsLongLong() separately to
-    check for
-    negative values, and PyLong_AsUnsignedLong() for the actual
-    conversion.
-
- gi/_gobject/pygtype.c | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-commit 05d767a602571805e80099f1db47ad4164575c53
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Nov 29 13:30:56 2012 +0100
-
-    Fix tests to work with g-i 1.34.2
-
-    Do not try to call GIMarshallingTests API which isn't present
-    when running
-    against g-i 1.34.2. This can be dropped when the g-i dependency gets
-    bumped to
-    1.35.x.
-
- tests/test_gi.py | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-commit a107c928ef85b4e3b9075a408774b74879586029
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Nov 29 13:13:14 2012 +0100
-
-    Fix wrong refcount for GVariant property defaults
-
-    Drop the bogus DECREF for the GVariant default argument, as we need
-    to keep it
-    around in the class. Otherwise the refcount drops to zero, and
-    the next
-    garbage collection run causes segfaults.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=689267
-
- gi/_gobject/gobjectmodule.c | 1 -
- 1 file changed, 1 deletion(-)
-
-commit 9b7dd1318cf540d5f8d03655da03534ed72707ec
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Nov 29 11:44:22 2012 +0100
-
-    test_gi: Fix TestFilename failure under C locale
-
- tests/test_gi.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 37ab227555ba8628b4fa99aa286bd046208745ed
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Nov 29 11:16:26 2012 +0100
-
-    Fix array arguments on 32 bit
-
-    In _pygi_argument_from_object() we never put the actual element
-    GType into the
-    constructed array. The array contains GIArguments, or bytes in the
-    case of
-    passing a string as an array.
-
-    This happened to work on 64 bit machines where GIArgument and char*
-    have the
-    same size, but not on 32 bit machines
-    (test_gi.TestPropertiesObject.test_strv
-    fails there).
-
- gi/pygi-argument.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-commit 7bd852fc82f92dac8723e18b61a56ed1b1a1b81c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Nov 29 10:20:27 2012 +0100
-
-    test_gi: Disable failing check in test_module_name()
-
-    When calling this under some conditions, such as
-
-      TEST_NAMES='test_thread test_gi.TestOverrides'
-
-    then the module name of GObject.InitiallyUnowned comes out as
-    "importlib._bootstrap" instead of "gi.repository.GObject". To be
-    investigated.
-    Add a couple of other tests to ensure that it is not broken in
-    general.
-
- tests/test_gi.py | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-commit 94a6cc93a104b22dcee2ac73cae36b83a4b5d9c1
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Nov 29 09:40:32 2012 +0100
-
-    test_gdbus: Drop failure if timeout=0 works differently
-
-    In some test environments we do not actually get a timeout exceptions
-    with
-    timeout=0, but a different error message. So only ensure that we
-    get the right
-    kind of error.
-
- tests/test_gdbus.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-commit c3b2f5fee573aa03a8a9563efbbbc1bc4fa25da7
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Nov 29 09:29:05 2012 +0100
-
-    test_glib: Drop some assumptions about XDG dirs
-
-    Some directories do not exist in minimal test environments, and this
-    is not
-    important for testing that calling these GLib functions works.
-
- tests/test_glib.py | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-commit e45c690bc83b6d513887649de88965a9752e316d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 28 12:20:31 2012 +0100
-
-    Add backwards compatible API for GLib.unix_signal_add_full()
-
-    This was renamed to GLib.unix_signal_add() in
-    http://git.gnome.org/browse/glib/commit/?id=fca30c3e165
-
-    Provide a backwards compatible shim with a deprecation message.
-
- gi/overrides/GLib.py | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 00b9ea32d766ae486249f402d9dee511fd9f53a9
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 26 08:11:36 2012 +0100
-
-    Drop MININT64/MAXUINT64 workaround
-
-    g-i 1.34.2 properly handles 64 bit constants now, so bug 685022 has
-    been fixed
-    properly now. Drop the workaround in the overrides to manually
-    set these
-    constants.
-
- gi/overrides/GLib.py | 7 -------
- 1 file changed, 7 deletions(-)
-
-commit d16604f64d25d18409270d7537fc993113b65c19
-Author: Simonas Kazlauskas <simonas@kazlauskas.me>
-Date:   Fri Nov 23 19:57:56 2012 +0200
-
-    Fix maximum and minimum ranges of TYPE_(U)INT64 properties
-
-    In corner case where properties use values 2 ** 62 < Â±x < 2 ** 63 for
-    TYPE_INT64 and 2 ** 63 < x < 2 ** 64 for TYPE_UINT64 they will raise
-    warnings even tough values are valid.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688949
-
- gi/_gobject/propertyhelper.py |  6 +++---
- tests/test_properties.py      | 11 ++++-------
- 2 files changed, 7 insertions(+), 10 deletions(-)
-
-commit 93e9e309d8ba54884881cfca203e8bc355c2727e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 21 12:58:07 2012 +0100
-
-    Test virtual methods with in and out arguments
-
-    ... and both caller and callee out argument allocation.
-
-    This came up in https://bugzilla.gnome.org/show_bug.cgi?id=688783
-
- tests/test_gi.py | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-commit 25a9cfb043448efbab9168ef66f852cc34b9909b
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 20 07:00:44 2012 +0100
-
-    Ship pygi-convert.sh in tarballs
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688697
-
- Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 4a8d31e6f56a3f1360bdb880ffd9a6eb139c02d8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 19 15:25:38 2012 +0100
-
-    Post-release version bump to 3.7.3
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit d0ed62afbc4cada0bf6abc4f8754e5a8d73036e4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 19 15:13:28 2012 +0100
-
-    release 3.7.2
-
- NEWS | 47 +++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 47 insertions(+)
-
-commit 29dc7425dd7584411b52ef07b50f929ed119a000
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 19 14:37:02 2012 +0100
-
-    Fix distcheck
-
-    Commit e617f76e forgot to rename the file in EXTRA_DIST
-
- tests/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 567aae6e7c56bb89f53fcfccb1b0bc732f85b847
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 19 14:34:13 2012 +0100
-
-    tests: Fix unicode vs. str issues in Python 2
-
-    Some of the tests assumed a system default encoding of UTF-8, which
-    is not true
-    in Python 2 unless pygtkcompat is imported. Commit e617f76 uncovered
-    this.
-
- tests/test_gi.py        |  8 ++++----
- tests/test_iochannel.py | 16 +++++++++-------
- 2 files changed, 13 insertions(+), 11 deletions(-)
-
-commit 509e5ac1a6dd8504e89c33c559fe4f72156a1ddf
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 19 14:20:56 2012 +0100
-
-    tests: Fix previous commit to fail properly on test failures
-
- tests/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e617f76e5b0c301c3ae92e1091aa86792de4d8e8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 19 14:09:14 2012 +0100
-
-    tests: Run pygtkcompat tests separately
-
-    pygtkcompat changes the global namespace, in particular patching
-    Gdk and Gtk
-    overrides. Run the tests in a separate process so that the main
-    tests are not
-    potentially affected by the pygtkcompat test.
-
-    runtests.py runs all tests/test_*.py by default, so rename to
-    compat_test_pygtk.py and run that explicitly after successfully
-    running the
-    main tests.
-
-    See https://bugzilla.gnome.org/show_bug.cgi?id=688219
-
- tests/Makefile.am                                   | 3 +++
- tests/{test_pygtkcompat.py => compat_test_pygtk.py} | 0
- 2 files changed, 3 insertions(+)
-
-commit 8180b8092f99b7c9f0dee1742418efdbd23ab330
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Thu Nov 15 02:51:52 2012 -0800
-
-    Move pygtkcompat into sibling package of gi
-
-    Move the pygtkcompat module out of the gi package and into
-    a sibling package as follows:
-
-    pygobject/
-      gi/
-      pygtkcompat/
-
-    This allows for pygtkcompat to grow without affecting the gi package.
-    Add deprecation message to gi/pygtkcompat.py
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688219
-
- Makefile.am                |   2 +-
- configure.ac               |   1 +
- gi/pygtkcompat.py          | 524
- +++------------------------------------------
- pygtkcompat/Makefile.am    |  15 ++
- pygtkcompat/__init__.py    |  20 ++
- pygtkcompat/pygtkcompat.py | 501
- +++++++++++++++++++++++++++++++++++++++++++
- tests/test_pygtkcompat.py  |   6 +-
- 7 files changed, 565 insertions(+), 504 deletions(-)
-
-commit f736694d09e9d0fca4769d9f1f34ec34e6354d87
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 19 13:59:20 2012 +0100
-
-    Bump g-i dependency to >= 1.34.2
-
-    We need this for updated GLib annotations and new test API.
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f6c994c76cd8010460b76bf455e1a341348d735b
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 19 10:39:26 2012 +0100
-
-    test_gi: Fix failing tests with g-i 1.34.x
-
-    Skip tests which require g-i test API from 1.35.x when building
-    with g-i
-    1.34.x.
-
- tests/test_gi.py | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit 8ce0d028fe79e2ce52cfecbb682afba6651a7a70
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 11:57:21 2012 +0100
-
-    test_gi: Add tests for type "filename"
-
- tests/test_gi.py | 30 ++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
-
-commit 3408a151e49d9520f54ad9bc04f620c7777125ec
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 11:09:33 2012 +0100
-
-    Drop foreign GVariant registration/support
-
-    This is dead code. We have tests for GVariant in and out method
-    arguments,
-    callback arguments and return values, properties, etc to ensure that
-    this stays
-    working.
-
- gi/Makefile.am             |  2 --
- gi/pygi-foreign-gvariant.c | 63
- ----------------------------------------------
- gi/pygi-foreign-gvariant.h | 41 ------------------------------
- gi/pygi-foreign.c          |  8 +-----
- 4 files changed, 1 insertion(+), 113 deletions(-)
-
-commit 47c46d847bb69ebc139d5e0b6c609da6f27201f2
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 10:33:24 2012 +0100
-
-    test_properties.py: Fix PEP-8 errors
-
- tests/test_properties.py | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-commit 78f49e6253500bfa382ce6c07412613d8f7f9d7f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 10:14:36 2012 +0100
-
-    Add support for GVariant properties defined in Python
-
- gi/_gobject/gobjectmodule.c   | 13 +++++++
- gi/_gobject/propertyhelper.py | 11 ++++--
- tests/test_properties.py      | 81
- +++++++++++++++++++++++++++++++++++++------
- 3 files changed, 91 insertions(+), 14 deletions(-)
-
-commit f3b77f4304be20b7422c262b973f3eeb540c4bf6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 09:33:43 2012 +0100
-
-    pyg_value_from_pyobject(): Simplify GVariant type check
-
-    Use pyg_type_from_object_strict() instead of the much more expensive
-    and local
-    pyg_get_gvariant_type().
-
- gi/_gobject/pygtype.c | 23 +----------------------
- 1 file changed, 1 insertion(+), 22 deletions(-)
-
-commit 0c0fb8ef88a2c61cf95cd1cb96f6d5f296cad5fc
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 09:27:42 2012 +0100
-
-    test_everything: Add test for callback returning wrong type
-
-    This covers the "expected a GVariant, got something else" check in
-    pyg_value_from_pyobject().
-
- tests/test_everything.py | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-commit 84db7109dfbaf443758a5a4871ee385686d2703d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 08:42:53 2012 +0100
-
-    Add type checking to GVariant argument assignment
-
- gi/pygi-argument.c | 7 ++++++-
- tests/test_gi.py   | 5 ++---
- 2 files changed, 8 insertions(+), 4 deletions(-)
-
-commit e944caf5ff53143a98dd4a5578530996358013ec
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 08:22:35 2012 +0100
-
-    Add support for GVariant properties defined in C
-
-    Note that trying to assign a non-GVariant value to a GVariant property
-    currently crashes.
-
- gi/pygi-property.c |  6 +++++-
- tests/test_gi.py   | 21 +++++++++++++++++++++
- 2 files changed, 26 insertions(+), 1 deletion(-)
-
-commit 614cc9594cb34d92a6d4b00773427d4fb023c65e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 07:09:58 2012 +0100
-
-    test_unknown.py: Check property interface
-
-    NB that the property implementation in test-unknown.c does not
-    actually do
-    anything, we just want to assert that the properties are properly
-    registered.
-
- tests/test_unknown.py | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 9d7771affcf788d251cced65da56fc2773a278b3
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 07:01:24 2012 +0100
-
-    Fix previous commit for Python 2
-
- gi/pygi-foreign-cairo.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 997d4e70b2793039d916acf8921087576622152e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 06:57:04 2012 +0100
-
-    pygi-foreign-cairo.c: Use official py3cairo API
-
-    Do not clobber py3cairo's Pycairo_CAPI global variable, and use
-    import_cairo()
-    instead of our own code.
-
- gi/pygi-foreign-cairo.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit cec5d1a55347b81c1ae4ddc47ea2b4fbf964d239
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 06:47:23 2012 +0100
-
-    Drop dead code from pygi-callbacks.[hc]
-
-    _pygi_create_callback() and _pygi_scan_for_callbacks() are not
-    used anywhere.
-    _pygi_destroy_notify_create() fits better in pygi-marshal-from-py.c,
-    so move it
-    there, and drop pygi-callbacks.[hc] completely.
-
- gi/Makefile.am            |   2 -
- gi/pygi-callbacks.c       | 217
- ----------------------------------------------
- gi/pygi-callbacks.h       |  48 ----------
- gi/pygi-marshal-from-py.c |  44 ++++++++++
- gi/pygi-private.h         |   1 -
- 5 files changed, 44 insertions(+), 268 deletions(-)
-
-commit 55070cc9c98993ccda7ebcb05783fad182b2eb11
-Author: Carlos Garnacho <carlos@lanedo.com>
-Date:   Tue Nov 13 18:24:28 2012 +0100
-
-    Fix marshalling of arrays of struct pointers to Python
-
-    Fill in the pointer to the struct, not the pointer to the
-    array position. This makes the GdkAtom** argument in
-    gtk_clipboard_wait_for_targets() work.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=678620
-
- gi/pygi-marshal-to-py.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit fc021516552b1720bacc4afe6b7a610c413194c4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 14 06:27:17 2012 +0100
-
-    test_atoms.py: Add test for out array
-
-    This reproduces https://bugzilla.gnome.org/show_bug.cgi?id=678620
-
- tests/test_atoms.py | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-commit e2790d22610aae773635d4caef2458082a307283
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 13 16:38:36 2012 +0100
-
-    Fix Gdk.Atom str()/repr() fallback
-
-    Fix regression in commit 6713618: If an atom does not have a name,
-    do not
-    recursively call our own str()/repr() methods, but just print
-    "Gdk.Atom<atom_id>".
-
- gi/overrides/Gdk.py | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-commit 9879fd41a7d8d72f8db9cadf5b1ee29fc4d5d6bf
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 13 13:16:14 2012 +0100
-
-    test_gi: Stop using GLib.bytes.unref_to_array()
-
-    This method isn't safe for GI, and should be (skip)ed. Use get_data()
-    instead
-    which is safe and works fine.
-
-    See https://bugzilla.gnome.org/show_bug.cgi?id=688242
-
- tests/test_gi.py | 6 ------
- 1 file changed, 6 deletions(-)
-
-commit 671361841de797ef62b59d1d7568fc3d431898c7
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 13 12:56:11 2012 +0100
-
-    Fix Gdk.Atom to have a proper str() and repr()
-
-    Gdk.Atom is not proper GType'd class, so we cannot override the
-    whole class.
-    Just override its __str__() and __repr__() methods so that printing
-    atoms shows
-    something sensible. For nameless/invalid atoms, fall back to the old
-    <void at 0xdeadbeef> output to help with debugging.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=678620
-
- gi/overrides/Gdk.py | 21 +++++++++++++++++++++
- tests/test_atoms.py | 12 ++++++++++++
- 2 files changed, 33 insertions(+)
-
-commit 56e62858e9c2bdde3186f5cf4e83be94fb4e5306
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Nov 13 02:53:34 2012 -0800
-
-    Make sure g_value_set_boxed does not cause a buffer overrun with
-    GStrvs
-
-    Add NULL terminator to gchar** passed to g_value_set_boxed to
-    make sure it does not overrun memory in pygi_set_property_value_real.
-    Add MALLOC_CHECK_=3 to "make check" which prints an error and aborts
-    in these cases.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688232
-
- gi/pygi-property.c | 8 ++++++--
- tests/Makefile.am  | 1 +
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
-commit ca11ec124fdd3fb2b67efdeb3ac93aaeb8b3fd83
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 12 08:35:28 2012 +0100
-
-    types.py: Fix PEP-8 violation
-
- gi/types.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit df589458358d7e7bf178dff4e6ad937a70f806e3
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Nov 11 22:26:19 2012 -0800
-
-    Fix leaks with GValues holding boxed and object types
-
-    Expose read access to PyGIBoxed.free_on_dealloc.
-    Add GObject.Value.__del__ override and call unset() to
-    correctly free reference counts.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688137
-
- gi/overrides/GObject.py |  9 +++++++++
- gi/pygi-boxed.c         | 12 ++++++++++++
- tests/test_gi.py        |  2 --
- 3 files changed, 21 insertions(+), 2 deletions(-)
-
-commit c01c95b9fb3d726385efac945f6d1270ae65d109
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Nov 11 19:46:15 2012 -0800
-
-    Add expectantly failing unittests for GValue boxed/object leaks
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688137
-
- tests/test_gi.py | 80
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 80 insertions(+)
-
-commit 13629f5a9c9a7022f3521a3616d9ce8fa4a6161b
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Thu Aug 16 15:09:08 2012 -0700
-
-    Add doc strings showing method signatures for gi methods
-
-    Add signature based doc string to all methods pulled in from
-    introspection. For example: Gtk.SpinButton.get_icon_area.__doc__
-    get_icon_area(self, icon_pos:Gtk.EntryIconPosition) ->
-    icon_area:cairo.RectangleInt
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=681967
-
- gi/overrides/GIMarshallingTests.py |   1 +
- gi/pygi-info.c                     | 103
- +++++++++++++++++++++++++++++++++----
- gi/pygi-type.c                     |  60 +++++++++++++++++++++
- gi/pygi-type.h                     |   1 +
- gi/types.py                        |  92
- ++++++++++++++++++++++++++-------
- tests/test_gi.py                   |  30 +++++++++++
- 6 files changed, 259 insertions(+), 28 deletions(-)
-
-commit 7b7277f3cc099280f8e2d6cf6693490290fedc24
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Nov 9 19:17:03 2012 -0800
-
-    Set Property instance doc string and blurb to getter doc string
-
-    Assign Property getter __doc__ strings or explicit blurb parameters
-    to the Property instances __doc__ attribute. This clobbers the
-    default Property classes lengthy and unhelpful doc string in the case
-    of instances.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=688025
-
- gi/_gobject/propertyhelper.py | 10 +++++++---
- tests/test_properties.py      | 14 ++++++++++----
- 2 files changed, 17 insertions(+), 7 deletions(-)
-
-commit c5343d329ebb452d97afac30e4120ebab8477556
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 12 07:47:02 2012 +0100
-
-    tests: Fix for Python 2
-
-    Add quirks for Python 2's string handling, and disable the
-    Everything.test_array_gint8_in() as there seems to be no way of
-    creating a byte
-    array in Python 2.
-
- tests/test_everything.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-commit 964f33ca3a74bfb7d850f136d0844ac1551d36e9
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat Nov 10 15:52:15 2012 +0100
-
-    test_everything: Add tests for more Regress data and container types
-
-    Add more tests for Regress' data and container type test API.
-
-    This detects a number of bugs, which have been marked as expected
-    failure, or
-    disabled completely for the cases where they cause crashes:
-
-     * unsigned enums with values >= 0x80000000 do not work
-     * nested ghashes in return values do not work
-     * array length arguments in callbacks are passed instead of
-     suppressed
-
- tests/test_everything.py | 156
- ++++++++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 154 insertions(+), 2 deletions(-)
-
-commit 476e29d1ba3eda92cc021710017bce4ec252e5b5
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 9 18:45:22 2012 +0100
-
-    test_everything: Add tests for Regress type tests
-
-    Add tests for all the data type handling tests of g-i's Regress
-    module.
-
- tests/test_everything.py | 183
- +++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 183 insertions(+)
-
-commit 0d7974396e8379b518403983d9d13629066680d7
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 9 18:44:50 2012 +0100
-
-    Add GObject.G_MINSSIZE
-
- gi/_gobject/gobjectmodule.c | 1 +
- gi/overrides/GObject.py     | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-commit b800a6903300dbe9435ed8eb3677eb9c0536ec31
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 9 16:02:00 2012 +0100
-
-    Fix marshalling of GByteArrays
-
-    In _pygi_marshal_from_py_array(), set the array length after copying
-    the data
-    in the GI_TYPE_TAG_UINT8 case (which applies for GByteArrays),
-    otherwise it
-    will always come out as zero length.
-
-    Enable the TestGByteArray.test_bytearray_none_in() test case as that
-    works now.
-
- gi/pygi-marshal-from-py.c | 1 +
- tests/test_gi.py          | 3 +--
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit fa568949c46dd4b537357f1af74d1f675294b760
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 9 15:23:37 2012 +0100
-
-    Fix marshalling of ssize_t to smaller ints
-
-    Add missing marshalling cases for (u)int8 and (u)int16. This fixes the
-    TestArray.test_array_in test, so drop the expected failure.
-
- gi/pygi-marshal-from-py.c | 30 +++++++++++++++++++++++++++++-
- tests/test_gi.py          |  2 --
- 2 files changed, 29 insertions(+), 3 deletions(-)
-
-commit 5a5940a0a0704be8e222d4cad6cedda1ad3e0f71
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 9 09:37:00 2012 +0100
-
-    test_gi: Enable GByteArray constructor tests
-
-    GByteArray annotations have been fixed in GLib now, enable the
-    test case.
-
-    Drop the redundant disabled_test_bytearray_none_in_from_bytes()
-    test, as this
-    is the same as disabled_test_bytearray_none_in().
-
- tests/test_gi.py | 16 ++++------------
- 1 file changed, 4 insertions(+), 12 deletions(-)
-
-commit e2c545896ab08b1f1885b502a8472db83f193d08
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 9 09:11:38 2012 +0100
-
-    test_gi: Enable GBytes test cases
-
-    GBytes annotations are fixed in GLib now, enable the test case and
-    add more
-    for g_bytes_new_take() and g_bytes_{compare,equal}().
-
-    Please note that calling unref_to_array() on a GBytes object that
-    we created
-    ourselves currently causes a double free crash, so disable that part
-    for now.
-
- tests/test_gi.py | 30 +++++++++++++++++++++++++-----
- 1 file changed, 25 insertions(+), 5 deletions(-)
-
-commit 1ba4e201f86ffa28c645d7c9eea99cf31080ea43
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 9 08:26:29 2012 +0100
-
-    test_gi: Add missing data type tests from GIMarshallingTests
-
-    Add tests for types time_t, GBytes, GByteArray, and various variants
-    of passing
-    around GValues, flags, enums, arrays, and boxed structs. This tests
-    API which
-    is provided by GIMarshallingTests, but which we did not cover yet.
-
-    This detects a number of bugs in annotations and our
-    marshalling. These have
-    been marked as expected failure, or disabled completely for the
-    cases where
-    they cause crashes.
-
- tests/test_gi.py | 152
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 152 insertions(+)
-
-commit 0456d9c892b76ed79134230a4a8610a23c602964
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 9 06:44:46 2012 +0100
-
-    autogen.sh: Only enable code coverage if lcov is installed
-
-    Otherwise we break minimal build environments.
-
- autogen.sh | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-commit 76a3acebf73f930c541d0f30249f67d254f948ab
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Nov 9 06:41:58 2012 +0100
-
-    Lower autoconf dependency to 2.68 again
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f1a5f1b92d577c542d4258e63e595d4da9acd484
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Nov 8 14:54:30 2012 +0100
-
-    Add support for lcov code coverage
-
-    Use gnome-common's new code coverage flags. Default to enabling
-    code coverage
-    in autogen.sh (but not for dist).
-
-    To use this, run "make check-code-coverage" after building.
-
- .gitignore   | 1 +
- Makefile.am  | 2 ++
- autogen.sh   | 2 +-
- configure.ac | 6 ++++++
- 4 files changed, 10 insertions(+), 1 deletion(-)
-
-commit e46af4aba220cfaf4b84a9be847f3363da556993
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 7 17:14:22 2012 +0100
-
-    Update documentation files
-
-    Update AUTHORS to have the current maintainers.
-
-    Update HACKING to drop Tomeu's GNOME login (this should be set in
-    ~/.ssh/config)
-
-    Update INSTALL to current upstream version.
-
- AUTHORS |  13 ++-
- HACKING |   4 +-
- INSTALL | 380
- +++++++++++++++++++++++++++++++++++++++++++---------------------
- 3 files changed, 267 insertions(+), 130 deletions(-)
-
-commit 06f5ed0ebabce34eca6bc6de80221cba6453feec
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 7 17:08:11 2012 +0100
-
-    Quiesce automake output
-
-    Use $(AM_V_GEN) with custom $(LINK) commands, and avoid error
-    messages about
-    existing symlinks on rebuilds.
-
- gi/Makefile.am          | 2 +-
- gi/_glib/Makefile.am    | 2 +-
- gi/_gobject/Makefile.am | 2 +-
- tests/Makefile.am       | 6 +++---
- 4 files changed, 6 insertions(+), 6 deletions(-)
-
-commit 37270de8ead0b281a1824ff204a4aa9686a7225b
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 7 16:50:07 2012 +0100
-
-    Drop unused variable, fail builds on those
-
-    Build with -Werror=unused-variable, as these could hide programming
-    errors or
-    incomplete refactoring, and are not platform dependent.
-
-    Drop unused variable in pyg_type_add_interfaces().
-
- configure.ac                | 1 +
- gi/_gobject/gobjectmodule.c | 1 -
- 2 files changed, 1 insertion(+), 1 deletion(-)
-
-commit 495fd98555e0c89724bb8fa9478dc096c5d61e22
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 7 16:37:04 2012 +0100
-
-    configure.ac: Drop maintainer mode, modernize libtool declarations
-
-    Use all arguments of AC_INIT.
-
-    AM_MAINTAINER_MODE is discouraged now, drop it.
-
-    Use LT_PREREQ and LT_INIT for libtool initialization instead of
-    the older
-    declarations.
-
-    See https://live.gnome.org/GnomeGoals/ModernAutotools
-
- configure.ac | 19 ++++++-------------
- 1 file changed, 6 insertions(+), 13 deletions(-)
-
-commit 059d0cb879fe5a7b0296ec21f3bfcb64c8596cb0
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 7 16:21:13 2012 +0100
-
-    autoupdate configure.ac
-
-    Result of "autoupdate", with slight manual beautification.
-
-    See https://live.gnome.org/GnomeGoals/ModernAutotools
-
- configure.ac | 21 +++++++++------------
- 1 file changed, 9 insertions(+), 12 deletions(-)
-
-commit a932446e6648ecd98c9038298b18c6fbd36c01aa
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Mon Nov 5 14:26:05 2012 -0300
-
-    pygi-convert: remove deprecated GLib â†’ GObject conversions
-
-    Using these functions from the GObject module is deprecated now,
-    they should be
-    used from GLib.
-
- pygi-convert.sh | 5 -----
- 1 file changed, 5 deletions(-)
-
-commit 21076d4b8f3ec8e253ca236fa3b20b07fde237fe
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Nov 7 03:49:24 2012 -0800
-
-    Use hasattr when testing for __info__ when finding vfuncs
-
-    Change gi.types.find_vfunc_info_in_interface to use hasattr
-    when finding vfuncs. Using '__info__' in __dict__ was skipping
-    overridden interfaces which don't directly contain the __info__.
-
- gi/types.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 1b5c9b3d1499b3bc59afb297672abc671e175546
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Nov 7 12:05:24 2012 +0100
-
-    tests: Ensure that the fatal mask is always reset
-
-    On test case failures the fatal mask might be left in a wrong state,
-    so ensure
-    with "finally" that it is reset on failed tests as well, to avoid
-    hiding other
-    failures.
-
- tests/test_gi.py            | 11 ++++++-----
- tests/test_overrides_gtk.py | 33 +++++++++++++++++++--------------
- tests/test_pygtkcompat.py   |  6 ++++--
- tests/test_signal.py        |  6 ++++--
- 4 files changed, 33 insertions(+), 23 deletions(-)
-
-commit 463f660cd6bb78ae7f2ea7c70c0491e6b4744942
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Nov 6 21:34:06 2012 -0800
-
-    Replace GObject notify methods with introspection and python
-
-    Replace static context managers for freeze_notify and
-    handler_block with python context managers. Remove notify,
-    freeze_notify, thaw_notify static methods as the introspection
-    versions work fine.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672727
-
- gi/_gobject/pygobject.c | 173
- ++----------------------------------------------
- gi/overrides/GObject.py |  61 +++++++++++++++--
- tests/test_gobject.py   |  26 ++++++--
- tests/test_signal.py    |  13 +++-
- 4 files changed, 91 insertions(+), 182 deletions(-)
-
-commit 3fcd987272a779e5ee9173a2c3a043b4b7475842
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Oct 23 13:56:32 2012 -0700
-
-    Add support for overriding GObject.Object
-
-    Shift pygi module mechanics so the introspection generated 'Object'
-    class becomes derived from the static GObject class. Add initial
-    GObject.Object override which sets all static methods back essentially
-    leapfrogging the introspection methods. This sets the stage for having
-    the ability to remove static methods piecemeal in favor of
-    introspection/python in future commits.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672727
-
- gi/module.py             | 30 +++++++++++---------
- gi/overrides/GObject.py  | 74
- ++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygobject-external.h  | 10 +------
- gi/types.py              |  7 +++++
- tests/test_gobject.py    | 31 ++++++++++++++++----
- tests/testhelpermodule.c |  2 +-
- 6 files changed, 126 insertions(+), 28 deletions(-)
-
-commit 4da6f93d86b104941c5533c3da5edb4a00ec62e9
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 6 13:55:21 2012 +0100
-
-    Bump glib dependency to >= 2.34.2
-
-    We need 2.34.2 or 2.35.2 as we now depend on the GIOChannel annotation
-    fixes.
-
- README       | 2 +-
- configure.ac | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-commit 85c8dd7a9bc81fb5df5abc6d8a95f966955ec775
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 6 11:28:42 2012 +0100
-
-    Update README
-
-    Point to python-hackers-list instead of the old pygtk list, update
-    required
-    versions, and point to wiki page and IRC.
-
- README | 19 ++++++++++---------
- 1 file changed, 10 insertions(+), 9 deletions(-)
-
-commit 6d8b29ba56fb085948a155c75af36dcea9c71da8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 6 11:21:32 2012 +0100
-
-    Add --with-python configure option
-
-    This behaves like setting $PYTHON, but also works in build systems
-    like jhbuild
-    which do not support setting environment variables.
-
-    Update README accordingly.
-
- README       | 15 +++++++++------
- configure.ac | 43 ++++++++++++++++++++++++++++++++++---------
- 2 files changed, 43 insertions(+), 15 deletions(-)
-
-commit 4e5556a5238a3b86da9a0e40fd0e23004ed6af75
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 6 10:39:27 2012 +0100
-
-    python.m4: Add python3.3, do not prefer unversioned "python"
-
-    Add python 3.3 to the search list.
-
-    http://www.python.org/dev/peps/pep-0394/ broke the well-defined
-    meaning of
-    "python", so use that as last fallback if more specific versions do
-    not exist.
-
- configure.ac | 2 +-
- m4/python.m4 | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit e71c046ed8f5b06e6b7383ddc0fc18f06de6abee
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 6 09:48:50 2012 +0100
-
-    m4: Update py-compile to current upstream version
-
-    Update py-compile to current versions from automake 1.11.6.
-
- m4/py-compile | 81
- +++++++++++++++++++++++++++++++++++------------------------
- 1 file changed, 48 insertions(+), 33 deletions(-)
-
-commit 8406b39f4e9ff98e0d59e880dde3ddb5e5131726
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 6 09:57:00 2012 +0100
-
-    m4: Update introspection.m4 to current upstream version
-
- m4/introspection.m4 | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 4ffa61b7c39cf038440dc9acfe8d214c9b77c3a6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Nov 6 09:53:15 2012 +0100
-
-    option.py: Fix PEP-8 error
-
- gi/_glib/option.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2cbb54e79c23b96486d4a2bfa170460df5bd6c84
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Mon Nov 5 18:27:56 2012 -0800
-
-    Remove DynamicGLibModule and DynamicGObjectModule
-
-    Move final bits of _glib static binding imports directly into
-    the GLib override. Change _glib/option use the .so directly
-    rather than the staged variables in _glib/__init__.py.
-    Remove DynamicGLibModule and DynamicGObjectModule and update
-    unittest.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687488
-
- gi/_glib/__init__.py | 11 ----------
- gi/_glib/option.py   | 16 +++++++-------
- gi/importer.py       | 12 ++---------
- gi/module.py         | 60
- ----------------------------------------------------
- gi/overrides/GLib.py | 14 ++++++++++++
- tests/test_gi.py     |  9 ++------
- 6 files changed, 26 insertions(+), 96 deletions(-)
-
-commit 901c1b6e3722a9cd999e4948297e2c460f101d20
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Thu Nov 1 14:46:22 2012 +0000
-
-    Fix property lookup in class hierarchy
-
-    Commit 4bfe7972546413f46f5c36737ff03bb5612c1921 introduced a bug where
-    a Python subclass of a gi-provided base class overrides a property
-    from the
-    base class.
-
-    The new behaviour in the above commit causes pygobject to seek
-    the property
-    in the base class and try to read it from there (resulting in
-    confusion)
-    rather than noticing that the property is overridden and present
-    in the
-    Python object instance.
-
-    To provide a nicer solution here, we can exploit the fact that
-    g_object_class_find_property() will traverse the hierarchy in order to
-    find the right GParamSpec, and the returned GParamSpec can tell
-    us exactly
-    which GType introduces the property. The strategy is:
-
-     1. Find pspec with g_object_class_find_property()
-     2. Find the class that owns that property (pspec->owner_type)
-     3. See if girepository owns that class.
-     3a. If yes, get property from there.
-     3b. If not, get property "directly"
-
-    And the same for property setting.
-
-    Now that _pygi_lookup_property_from_g_type is always passed the
-    type that
-    implements the property, it no longer has to go recursing through
-    parent
-    classes, which was the original cause of confusion.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686942
-
- gi/_gobject/pygobject.c  |  92 +++++++++++++++++++++++----------
- gi/pygi-property.c       | 130
- ++++++++++++++++++++++-------------------------
- gi/pygi-property.h       |   4 +-
- gi/pygi.h                |  12 ++---
- tests/test_properties.py |  30 +++++++++++
- 5 files changed, 164 insertions(+), 104 deletions(-)
-
-commit efcb0f9fda65e24ae98438d61487d06db9eac1b1
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat Nov 3 16:14:01 2012 +0100
-
-    Move property and signal creation into _class_init()
-
-    We must not add class interfaces after g_type_class_ref() has been
-    called the
-    first time. Move signal and property creation from pyg_type_register()
-    into
-    pyg_object_class_init(), and drop the hack of registering interfaces
-    twice.
-
-    This changed class initialization order now exposes GLib's warning
-    about
-    unknown signals, so adjust
-    test_signal.TestGSignalsError.test_invalid_name() to
-    not abort on that.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686149
-
- gi/_gobject/gobjectmodule.c | 177
- ++++++++++++++++++--------------------------
- tests/test_signal.py        |   6 +-
- 2 files changed, 75 insertions(+), 108 deletions(-)
-
-commit 655a5002ffaa088b775adbc59e5125444f7bc1ca
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Sat Nov 3 13:21:52 2012 -0300
-
-    Remove unused macro definitions
-
-    PYGLIB_*_VERSION are not used anywhere any more, remove those.
-    (dropped in commit 8d52bceb1)
-
- gi/_glib/glibmodule.c | 5 -----
- 1 file changed, 5 deletions(-)
-
-commit fa054fd15b8874760bee97d9af168a2969e6ece4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 5 14:38:07 2012 +0100
-
-    testhelpermodule.c: Drop obsolete g_thread_init()
-
-    We already require a new enough glib version as we dropped
-    g_thread_init() in
-    the main code a long time ago. But for formality's sake, bump glib
-    requirement
-    to >= 2.32.
-
- configure.ac             | 4 ++--
- tests/testhelpermodule.c | 1 -
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-commit 2e57530a27a44e94927d487cf2f2d9e543777654
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 5 14:37:11 2012 +0100
-
-    pygi-source.c: Drop dead code
-
- gi/pygi-source.c | 2 --
- 1 file changed, 2 deletions(-)
-
-commit 2a24c9ccd59bff719fa817a0ec5c959f6da03e1c
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Nov 4 22:22:53 2012 -0800
-
-    Move TYPE constants from _gobject to GObject
-
-    Clear out TYPE constants from _gobject/__init__.py and move them
-    into the
-    GObject overrides. Disperse class imports among modules that use
-    them instead
-    of using _gobject/__init__.py as a staging area (e.g. GInterface).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687487
-
- gi/_gobject/__init__.py  | 30 ------------------------------
- gi/_gobject/constants.py |  2 +-
- gi/module.py             | 38 +++++++++++++++++++++++++-------------
- gi/overrides/__init__.py |  9 ++++++---
- gi/types.py              | 10 ++++++----
- 5 files changed, 38 insertions(+), 51 deletions(-)
-
-commit c2aa6f0d0ed4c4e60f081b106dc7a65513963fce
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 5 13:10:05 2012 +0100
-
-    Move G_MIN/MAX constants into GObject overrides
-
-    These really ought to come from GLib's typelib, but are not right
-    now so we
-    need to keep the static bindings for those. But drop them from
-    gi/_gobject/ and
-    move them into the overrides where they belong.
-
- gi/_gobject/__init__.py       | 17 -----------------
- gi/_gobject/constants.py      | 21 ---------------------
- gi/_gobject/propertyhelper.py |  2 +-
- gi/overrides/GObject.py       |  9 +++++++++
- tests/test_gi.py              | 32 ++++++++++++++++----------------
- 5 files changed, 26 insertions(+), 55 deletions(-)
-
-commit 12b84727edc36f686a7031b5c4c6bf662838908d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 5 11:04:54 2012 +0100
-
-    Replace static OPTION_* constants with GI
-
-    Drop static definitions of GLib.OPTION_* constants and use the ones
-    from GI
-    instead.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686765
-
- gi/_glib/__init__.py    | 13 -------------
- gi/_glib/glibmodule.c   | 32 --------------------------------
- gi/_glib/option.py      | 46
- ++++++++++++++++++++++++----------------------
- gi/overrides/GLib.py    | 13 +++++++++++++
- gi/overrides/GObject.py |  2 +-
- 5 files changed, 38 insertions(+), 68 deletions(-)
-
-commit 7372e3c9ecb8e836894c32975eab8c4107ba0b28
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Nov 5 10:14:52 2012 +0100
-
-    tests: Do not use deprecated assertRaisesRegexp()
-
-    Use assertRaisesRegex() instead and provide 2.7 compatibility in
-    tests/runtests.py.
-
- tests/runtests.py    | 3 +++
- tests/test_signal.py | 8 ++++----
- 2 files changed, 7 insertions(+), 4 deletions(-)
-
-commit da2106902eb3dabebdff1674743cb3040566a745
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Nov 4 02:57:29 2012 -0800
-
-    Move gobject static functions and constants to gi
-
-    Replace the following functions with gi and overrides:
-    type_children, type_interfaces, signal_list_ids, signal_list_names,
-    signal_lookup, signal_name, type_parent. Assign SIGNAL_* and
-    PARAM_* from gi SignalFlags and ParamFlags respectively.
-    Move module level assignments of a number of static functions to
-    the GObject.py overrides file.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687487
-
- docs/reference/pygobject-functions.xml |  25 ---
- gi/_gobject/__init__.py                |  72 +--------
- gi/_gobject/gobjectmodule.c            | 272
- ---------------------------------
- gi/overrides/GObject.py                | 208 ++++++++++++++++++++++++-
- gi/overrides/__init__.py               |   5 +-
- tests/test_signal.py                   |  11 +-
- 6 files changed, 215 insertions(+), 378 deletions(-)
-
-commit f4acd6a9d14248d459708f61fd01f6d4735f087d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Nov 4 02:52:19 2012 -0800
-
-    Make unitests for gobject functions moving to gi more strict
-
-    Add expected failure test for invalid SystemError's coming from
-    signal_lookup and signal_list_ids. Remove excessive type_name
-    tests and type_from_name tests.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687487
-
- tests/test_gtype.py  | 53
- ----------------------------------------------------
- tests/test_signal.py | 40 ++++++++++++++++++++++++---------------
- 2 files changed, 25 insertions(+), 68 deletions(-)
-
-commit 3267808318b284814e52f2803b17af56fca648ad
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat Nov 3 14:17:25 2012 +0100
-
-    [API change] Remove static filename_from_utf8() binding
-
-    Replace static GLib.filename_from_utf8() with GI. The old static
-    binding always
-    tried to convert the result to an Unicode object, which will fail
-    if the result
-    is not UTF-8 encoded (which is the whole point of this function
-    really!), so
-    return bytes now.
-
-    Although the static binding was rather useless before, this is
-    technically an
-    API break.
-
- docs/reference/pyglib-functions.xml | 32 --------------------------------
- gi/_glib/__init__.py                |  1 -
- gi/_glib/glibmodule.c               | 26 --------------------------
- gi/_gobject/__init__.py             |  1 -
- gi/overrides/GLib.py                |  8 ++++++++
- gi/overrides/GObject.py             |  3 ++-
- tests/test_glib.py                  |  8 ++++++++
- 7 files changed, 18 insertions(+), 61 deletions(-)
-
-commit 8d52bceb1e0aa0dc79cf77f36dda9f953f170459
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat Nov 3 13:14:15 2012 +0100
-
-    Drop static glib_version and pyglib_version constants
-
-    Use the GLib version from GI instead, and the already existing
-    gi.version_info.
-
- docs/reference/pyglib-constants.xml    | 50
- ----------------------------------
- docs/reference/pygobject-constants.xml | 19 -------------
- gi/_glib/__init__.py                   |  2 --
- gi/_glib/glibmodule.c                  | 21 --------------
- gi/_gobject/__init__.py                |  1 -
- gi/overrides/GLib.py                   |  8 +++++-
- gi/overrides/GObject.py                |  3 +-
- tests/test_glib.py                     | 12 ++++++++
- 8 files changed, 21 insertions(+), 95 deletions(-)
-
-commit 9f96325e75f7c5f88789ea3f74a068e73cfde1a2
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat Nov 3 12:12:44 2012 +0100
-
-    Drop static G_MININT8 and related constants
-
-    Use the introspected constants from GLib instead.
-
- gi/_gobject/__init__.py     | 12 ------------
- gi/_gobject/constants.py    | 12 ------------
- gi/_gobject/gobjectmodule.c | 18 +-----------------
- gi/overrides/GObject.py     | 17 +++++++++++++++++
- tests/test_gobject.py       |  4 ++++
- 5 files changed, 22 insertions(+), 41 deletions(-)
-
-commit 3354c4eda0f098d1a8f744264ef9a2565a38b50d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat Nov 3 11:58:40 2012 +0100
-
-    test_gobject: Add test case for min/max int constants
-
-    Related to https://bugzilla.gnome.org/show_bug.cgi?id=685022
-
- tests/test_gobject.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit d70cb32789e057fe5a16e61a0cce77d9c54a3ee1
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Sat Oct 27 15:37:32 2012 -0300
-
-    Use g_object_info_find_signal()
-
-    Replace our custom code with a call to the corresponding
-    gobject-instrospection
-    function.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687371
-
- gi/pygi-signal-closure.c | 21 ++++-----------------
- 1 file changed, 4 insertions(+), 17 deletions(-)
-
-commit ae6d0aada9587cd4dca168375527b80785b604a0
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat Nov 3 11:23:06 2012 +0100
-
-    GLib overrides: code cleanup
-
-    Factorize the logic to handle zero or multiple user_data arguments
-    into
-    user_data_varargs_shim(), and put code that handles deprecated API
-    into the
-    corresponding "then" branches, to improve readability.
-
- gi/overrides/GLib.py | 87
- ++++++++++++++++++++++++++++------------------------
- 1 file changed, 47 insertions(+), 40 deletions(-)
-
-commit d7f095b01e7208273703c880f4f0dfcc1a152a9a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat Nov 3 09:33:08 2012 +0100
-
-    Restore actual GLib API after previous fix
-
-    Re-fix the acceptance of priority as first argument for idle_add(),
-    io_add_watch() and timeout_add(), as that is the real GLib API. Ensure
-    that
-    this keeps supporting the backwards compatible API with supplying
-    multiple user
-    data arguments.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687047
-
- gi/overrides/GLib.py    | 117
- +++++++++++++++++++++++++-----------------------
- tests/test_iochannel.py |  74 +++++++++++++++++++++++++++---
- tests/test_source.py    |  30 +++++++++++++
- 3 files changed, 158 insertions(+), 63 deletions(-)
-
-commit 648b653d85bf3bc28dc59c6d309f15d388076af9
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Fri Nov 2 21:01:38 2012 -0700
-
-    Add unittests for module level type and signal functions
-
-    Add tests for the following methods: signal_list_ids,
-    signal_name, signal_lookup, signal_query, type_children,
-    type_from_name, type_name, type_is_a, and type_interfaces.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687487
-
- tests/Makefile.am    |   1 +
- tests/test_gtype.py  | 106
- +++++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_signal.py |  43 +++++++++++++++++++++
- 3 files changed, 150 insertions(+)
-
-commit 80db2a50feab9898d7c5f88ea27aadc3dfb5bec3
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Oct 30 18:33:44 2012 -0700
-
-    Fix GLib override incompatibilities with old static API
-
-    Change idle_add, timeout_add, timeout_add_seconds, and
-    io_add_watch to accept *args and **kwargs as arguments
-    to the callback functions instead of only accepting a single
-    user_data arg. This ensures the new overridden introspection
-    methods are backwards compatible with the static versions
-    they replaced.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687047
-
- gi/overrides/GLib.py    | 98
- ++++++++++++++++++++++++++++---------------------
- tests/test_iochannel.py | 37 +++++++++++++++++--
- 2 files changed, 90 insertions(+), 45 deletions(-)
-
-commit 9c6399bbf75c312b1ef4933d079712ea5b05a935
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Tue Oct 30 12:01:44 2012 -0700
-
-    Fix IOChannel unittests for python 2.7
-
-    Use __future__ unicode_literals to minimize difference
-    between python 2.7 and 3. Comparisons need to encode arguments as
-    'UTF-8' for testing readline operations.
-    Add backwards compatible "next" to support the python 2.7 iteration.
-    Change isinstance(channel, file) to hasattr(channel, 'fileno') to
-    support all python versions (and duck typing).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687047
-
- gi/overrides/GLib.py    | 4 +++-
- tests/test_iochannel.py | 1 +
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-commit 0f94a0a4ebd2bbfd06d8f9a2bb2b17dabf7678ef
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Oct 29 23:00:31 2012 +0100
-
-    Allow calling io_add_watch with a file object
-
-    The old static bindings allowed that, so we need to allow it to
-    maintain
-    backwards compatibility. Deprecate this mode as well, so that we
-    can get rid of
-    it at some point.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=687047
-
- gi/overrides/GLib.py |  7 +++++++
- tests/test_glib.py   | 26 ++++++++++++++++++++++++++
- 2 files changed, 33 insertions(+)
-
-commit 3ba67fd41944309077eb81c4c03397519ed29dc4
-Author: John Ralls <jralls@ceridwen.us>
-Date:   Mon Oct 29 14:57:22 2012 -0700
-
-    Fix duplicate symbols error on OSX
-
- gi/pygi-source.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 5a367aa067e369f2b1e713199614e3426fecc10e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun Oct 28 17:42:34 2012 +0100
-
-    Drop removed markup-escape-text() from reference documentation
-
- docs/reference/pyglib-functions.xml | 36
- ------------------------------------
- 1 file changed, 36 deletions(-)
-
-commit 057b3d3791e6f1947004f2482c0ae40529de03ae
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun Oct 28 17:41:03 2012 +0100
-
-    Drop some dead code from gi/_glib/glibmodule.c
-
- gi/_glib/glibmodule.c | 45 ---------------------------------------------
- 1 file changed, 45 deletions(-)
-
-commit 7b12803bce3418bb487127f497f022c973f35888
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun Oct 28 17:37:29 2012 +0100
-
-    Remove static get_current_time() binding
-
-    Use GLib.get_real_time() through GI instead. Deprecate the function,
-    as
-    GLib.get_real_time() should be called directly.
-
- docs/reference/pyglib-functions.xml | 26 --------------------------
- gi/_glib/__init__.py                |  1 -
- gi/_glib/glibmodule.c               | 11 -----------
- gi/_glib/pyglib.c                   | 16 ----------------
- gi/_glib/pyglib.h                   |  1 -
- gi/_gobject/__init__.py             |  1 -
- gi/overrides/GLib.py                |  8 ++++++++
- gi/overrides/GObject.py             |  2 +-
- tests/test_glib.py                  |  6 +++++-
- 9 files changed, 14 insertions(+), 58 deletions(-)
-
-commit b3dfb780b3a74f6933e3afcd2ba512b36dfbe514
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun Oct 28 17:23:23 2012 +0100
-
-    Add more tests for GLib.spawn_async()
-
-    Check spawn_async() with getting stdin/out/err pipes and specifying
-    envp.
-
- tests/test_subprocess.py | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-commit 70d78eee4a04dcaefea4615fe351e33fa717dffa
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun Oct 28 14:15:05 2012 +0100
-
-    Remove static child_add_watch() binding
-
-    Use the GLib API through GI instead, and provide override to keep
-    backwards
-    compatible API. Also allow using the actual GLib API, and deprecate
-    the old
-    static API of calling without a priority as first argument.
-
- docs/reference/pyglib-functions.xml | 61 ---------------------------
- gi/_glib/__init__.py                |  1 -
- gi/_glib/glibmodule.c               | 72 -------------------------------
- gi/_gobject/__init__.py             |  1 -
- gi/overrides/GLib.py                | 46 ++++++++++++++++++++
- gi/overrides/GObject.py             |  2 +-
- tests/test_mainloop.py              |  2 +-
- tests/test_subprocess.py            | 84
- ++++++++++++++++++++++++++++++++++---
- 8 files changed, 127 insertions(+), 142 deletions(-)
-
-commit 4b16427714b850e33c6020d8de1833bae19a3b87
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun Oct 28 13:44:23 2012 +0100
-
-    test_subprocess: Cover more child_watch_add() cases
-
-    Verify that priority is set correctly, and also test calling without
-    userdata.
-
- tests/test_subprocess.py | 24 +++++++++++++++++++-----
- 1 file changed, 19 insertions(+), 5 deletions(-)
-
-commit 83ff5938612d37d52f112867a472777dd6786d69
-Author: Colin Walters <walters@verbum.org>
-Date:   Sat Oct 27 12:22:53 2012 -0400
-
-    gi/__init__.py: Pacify pep8 style checker
-
-    It was complaining about finding only 1 blank line.  Regression
-    likely introduced by f976d05b.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686991
-
- gi/__init__.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit f976d05b04f26e733d19988e68989e340eb3a29e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Oct 26 10:39:28 2012 +0200
-
-    Use a custom deprecation warning to make them visible by default
-
-    DeprecationWarning is not shown by default, and is thus rather
-    useless for
-    developers. Use a custom PyGIDeprecationWarning class and derive
-    it from
-    RuntimeWarning to make it visible.
-
- gi/__init__.py           | 5 +++++
- gi/overrides/GLib.py     | 5 +++--
- gi/overrides/Gtk.py      | 5 +++--
- gi/overrides/__init__.py | 4 ++--
- gi/pygtkcompat.py        | 4 ++--
- tests/Makefile.am        | 2 +-
- tests/test_glib.py       | 5 +++--
- tests/test_gobject.py    | 3 ++-
- tests/test_iochannel.py  | 5 +++--
- tests/test_source.py     | 3 ++-
- 10 files changed, 26 insertions(+), 15 deletions(-)
-
-commit 366f5d2d3902c6293d0031e0b7dc5d6641a05ac7
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Oct 26 09:26:17 2012 +0200
-
-    Remove static io_add_watch() binding
-
-    Use the GLib API through GI instead, and provide override to keep
-    backwards
-    compatible API. Also allow using the actual GLib API, and deprecate
-    all other
-    variants:
-     - calling with an fd as first argument instead of an IOChannel
-     - calling without a priority as second argument
-
- docs/reference/pyglib-functions.xml | 106
- ------------------------------------
- gi/_glib/__init__.py                |   1 -
- gi/_glib/glibmodule.c               |  98
- ---------------------------------
- gi/_gobject/__init__.py             |   1 -
- gi/overrides/GLib.py                |  51 ++++++++++++++---
- gi/overrides/GObject.py             |   3 +-
- tests/test_glib.py                  |  15 ++++-
- tests/test_iochannel.py             |  70 +++++++++++++++++++++++-
- 8 files changed, 126 insertions(+), 219 deletions(-)
-
-commit 284de1eb5c37a3f6caa7d846dbd439f1eac410a2
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Oct 26 08:48:35 2012 +0200
-
-    Add tests for GLib.io_add_watch()
-
- tests/test_glib.py | 36 ++++++++++++++++++++++++++++++++++++
- 1 file changed, 36 insertions(+)
-
-commit 15e717ce2c2a26c02c913f79bc7cf6876d943e92
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Oct 25 15:55:46 2012 +0200
-
-    Remove static GIOChannel bindings
-
-    Use the GLib API through GI instead, and provide overrides to keep
-    backwards
-    compatible API, including its bugs.
-
-    We still need to keep a static wrapper around
-    g_io_channel_read_chars() until
-    we teach PyGObject to correctly handle caller allocated out array
-    arguments.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686795
-
- gi/_glib/Makefile.am    |   2 -
- gi/_glib/__init__.py    |   1 -
- gi/_glib/glibmodule.c   |   2 -
- gi/_glib/pygiochannel.c | 748
- ------------------------------------------------
- gi/_glib/pygiochannel.h |  29 --
- gi/_gobject/__init__.py |   1 -
- gi/gimodule.c           |  72 +++++
- gi/overrides/GLib.py    |  95 +++++-
- 8 files changed, 161 insertions(+), 789 deletions(-)
-
-commit 0bfa6b44b808d9f8f55199216c29c1aec96c7719
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Oct 25 12:59:46 2012 +0200
-
-    test_iochannel.py: Fix data type of IOFlags
-
-    ~GLib.IOFlags.NONBLOCK yields an int instead of a GLib.IOFlags,
-    so ensure that
-    the result is of type GLib.IOFlags again.
-
- tests/test_iochannel.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 25d12afd06863ce223a161ba1317bfe5503bca5c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Oct 25 08:24:31 2012 +0200
-
-    Add environment variable to disable pep8 checks
-
-    pep8 takes quite long for "make check". Skip it if $SKIP_PEP8 is
-    set, which
-    makes the test/fix turnaround time faster.
-
- tests/Makefile.am | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-commit e9624ed1d38c777de2b430e3b0fbae2acbf34956
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Wed Oct 24 04:31:26 2012 -0700
-
-    [API add] Add get_introspection_module for getting un-overridden
-    modules
-
-    Add gi.module.get_introspection_module to explicitly get a
-    wrapped module pulled in through introspection without static
-    and python override handling. This API is intended for python
-    overrides to use rather than having them access
-    gi.importer.modules['<name>']._introspection_module directly.
-    Replace aforementioned usage in all overrides.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686828
-
- gi/module.py                       | 38
- +++++++++++++++++++++++++++++++++++---
- gi/overrides/GIMarshallingTests.py |  4 ++--
- gi/overrides/GLib.py               |  4 ++--
- gi/overrides/Gdk.py                |  6 +++---
- gi/overrides/Gio.py                |  4 ++--
- gi/overrides/Gtk.py                |  5 +++--
- gi/overrides/Pango.py              |  4 ++--
- tests/test_overrides.py            | 29 +++++++++++++++++++++++++++++
- 8 files changed, 78 insertions(+), 16 deletions(-)
-
-commit e6e047ef9b8575c852b3cdc3f5d4dfbb548cc648
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 15:16:13 2012 +0200
-
-    test_option: Use public API
-
-    Use GLib.option, not gi._glib.option.
-
- tests/test_option.py | 42 ++++++++++++++++++++----------------------
- 1 file changed, 20 insertions(+), 22 deletions(-)
-
-commit 6a586af41b8740c4ba590591d1068d80071ff2dc
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 14:12:05 2012 +0200
-
-    Drop static SPAWN_* constants
-
-    Use the introspected constants instead, which are identical. Add
-    backwards
-    compatible aliases.
-
-    These constants are covered by tests/test_subprocess.py.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686765
-
- docs/reference/pyglib-constants.xml    | 68
- ----------------------------------
- docs/reference/pyglib-functions.xml    | 26 ++++++-------
- docs/reference/pygobject-constants.xml | 67
- ---------------------------------
- gi/_glib/__init__.py                   |  7 ----
- gi/_glib/glibmodule.c                  | 15 --------
- gi/_gobject/__init__.py                |  7 ----
- gi/overrides/GLib.py                   |  6 +++
- gi/overrides/GObject.py                |  6 ++-
- tests/test_subprocess.py               |  6 ++-
- 9 files changed, 29 insertions(+), 179 deletions(-)
-
-commit 0137a7af7bf69421e0c8e94120a1f8cff01fbeea
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 13:59:31 2012 +0200
-
-    Drop static IO_* constants
-
-    Use the introspected constants instead, which are identical. Add
-    backwards
-    compatible aliases.
-
-    These constants are covered by tests/test_iochannel.py.
-
- docs/reference/pyglib-constants.xml | 52
- -------------------------------------
- gi/_glib/__init__.py                | 19 --------------
- gi/_glib/glibmodule.c               | 32 -----------------------
- gi/_gobject/__init__.py             | 18 -------------
- gi/overrides/GLib.py                | 18 ++++++++++++-
- gi/overrides/GObject.py             |  8 +++++-
- tests/test_iochannel.py             |  1 +
- tests/test_source.py                |  2 +-
- 8 files changed, 26 insertions(+), 124 deletions(-)
-
-commit 0e1a6ccee45ae2239da1c44de1866596343165ba
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 12:50:50 2012 +0200
-
-    Fix various bugs in GLib.IOChannel
-
-    - Fix segfault when using an IOChannel as an iterator: PyIter_Next()
-    returns
-      NULL on the last element, instead of raising a StopIteration.
-
-    - The default encoding of a stream is 'UTF-8', not NULL. NULL means
-    that the
-      stream is being used in binary mode; in that case, we should not
-      attempt to
-      do any automagic conversion to an Unicode object. As this special
-      case is
-      inconsistent and has never worked anyway, and the current buggy
-      implementation breaks binary streams, just drop it without
-      replacement.
-      (Introduced in commit de9eae4dfcce8)
-
-    These bugs were uncovered by the previously committed tests.
-
- gi/_glib/pygiochannel.c | 25 +++++--------------------
- 1 file changed, 5 insertions(+), 20 deletions(-)
-
-commit a98c37937a4f7cb81a0b02c023d12097f386a22c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 12:49:04 2012 +0200
-
-    Add tests for GLib.IOChannel
-
-    This did not have any code coverage at all. The tests uncover a
-    range of bugs,
-    which will be fixed in the next commit.
-
- tests/Makefile.am       |   1 +
- tests/test_iochannel.py | 262
- ++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 263 insertions(+)
-
-commit 1b27432abf6004553e9476d5ffeb2bf603534419
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 08:50:37 2012 +0200
-
-    Remove static idle_add/timeout_add bindings
-
-    Use the GLib functions through GI instead. Add overrides to ensure
-    that default
-    arguments continue to work as before, and that callbacks are called
-    without an
-    userdata argument if it wasn't specified.
-
- docs/reference/pyglib-functions.xml | 165
- ------------------------------------
- gi/_glib/__init__.py                |   3 -
- gi/_glib/glibmodule.c               | 139 ------------------------------
- gi/_gobject/__init__.py             |   3 -
- gi/overrides/GLib.py                |  31 +++++++
- gi/overrides/GObject.py             |   3 +-
- tests/test_source.py                |  19 +++++
- 7 files changed, 52 insertions(+), 311 deletions(-)
-
-commit 2357f4a0237feabcf6886f2a448aa3f42f6781b9
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 09:14:57 2012 +0200
-
-    Add tests for priority argument of idle_add/timeout_add
-
-    There is a potential to treat the priority as user data in a call like
-    "GLib.idle_add(cb, GLib.PRIORITY_HIGH)". The current static bindings
-    force
-    using a keyword argument for the priority (but silently ignore it
-    if you
-    specify both userdata and priority as a positional argument).
-
-    Test the correct handling of priority as well.
-
- tests/test_source.py | 63
- ++++++++++++++++++++++++++++++++++++++++++++++++----
- 1 file changed, 59 insertions(+), 4 deletions(-)
-
-commit dceb4d60e210cb1531ad81935733a3f0be0c8edb
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 08:40:50 2012 +0200
-
-    Drop old ChangeLog.pre-2.18
-
-    This is ancient by now, quite sizable, and the complete history can
-    always be
-    seen in the git log.
-
- ChangeLog.pre-2.18 | 3608
- ----------------------------------------------------
- Makefile.am        |    1 -
- 2 files changed, 3609 deletions(-)
-
-commit 127ef91f1563caa346bc2ac2adb064487a84e6a0
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 08:39:05 2012 +0200
-
-    Fix PEP-8 whitespace in previous commit
-
- tests/test_source.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 0bc0b55be0dae7528c2fc7439d672ad4e417335d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 08:33:49 2012 +0200
-
-    Add tests for idle_add()/timeout_add with and without user data
-
-    This is implicitly spread over various test cases, but let's test
-    it explicitly
-    to ensure that the behaviour stays consistent when moving this to GI.
-
- tests/test_source.py | 35 +++++++++++++++++++++++++++++++++++
- 1 file changed, 35 insertions(+)
-
-commit d0a0332feb7946f4bb6b43211d6fe3ae67e7dba5
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 08:05:43 2012 +0200
-
-    tests: consitent naming style
-
-    Stop mixing camel case and underline naming, use the latter
-    consistently
-    in all tests.
-
- tests/test_gobject.py     | 64
- +++++++++++++++++++++++------------------------
- tests/test_interface.py   |  4 +--
- tests/test_option.py      | 14 +++++------
- tests/test_pygtkcompat.py | 32 ++++++++++++------------
- tests/test_signal.py      | 10 ++++----
- tests/test_source.py      | 23 ++++++++---------
- tests/test_subprocess.py  |  2 +-
- tests/test_thread.py      |  2 +-
- tests/test_unknown.py     |  2 +-
- 9 files changed, 76 insertions(+), 77 deletions(-)
-
-commit 4b460e2eb18b8340fe99252063fdb08b0c222968
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Oct 24 07:28:10 2012 +0200
-
-    Work around wrong 64 bit constants in GLib Gir
-
-    GLib's gir currently has wrong constants for MININT64 and MAXUINT64;
-    explicitly
-    set them in an override, until this gets fixed properly.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685022
-
- gi/overrides/GLib.py | 8 ++++++++
- tests/test_gi.py     | 9 +++++++++
- 2 files changed, 17 insertions(+)
-
-commit f30efd2619911c89ca873fac6bec06a1b60fab82
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Oct 23 13:32:14 2012 +0200
-
-    Mark GLib.Source.get_current_time() as deprecated
-
-    This method has been deprecated in GLib long ago. We have a workaround
-    implementation using GLib.get_real_time(), but eventually this should
-    go away.
-
- gi/overrides/GLib.py | 5 ++++-
- tests/test_source.py | 8 +++++++-
- 2 files changed, 11 insertions(+), 2 deletions(-)
-
-commit 483c86267f2623eaa88d6a9e685c96ec3ba4f121
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Oct 23 08:56:19 2012 +0200
-
-    Mark GLib API that is exposed in GObject as deprecated
-
-    A lot of API in GObject really belongs into GLib and is just there for
-    historical/backwards compatible reasons. Mark these methods as
-    deprecated so
-    that at some point we can drop them.
-
- gi/overrides/GObject.py  |  3 ++-
- gi/overrides/__init__.py | 13 +++++++++++++
- tests/test_gobject.py    | 24 ++++++++++++++----------
- 3 files changed, 29 insertions(+), 11 deletions(-)
-
-commit 191cf45af44850fc29f2392ae2f0042aed6d13a9
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Oct 19 09:55:05 2012 +0200
-
-    Remove static MainLoop, MainContext, and some GSource bindings
-
-    glib's MainLoop and MainContext are fully introspectable these days,
-    so remove
-    our static bindings. This reduces our code, as well enables GLib
-    API which
-    hasn't been available through the static bindings before.
-
-    This also requires dropping our custom static types for GLib Source,
-    Timeout,
-    and Idle. The latter two work fine with introspection and just
-    need tiny
-    overrides for a backwards compatible API. g_source_new() is not
-    introspectable,
-    though, so we need to keep our static wrappers for that. Move
-    them from
-    gi/_glib/pygsource.c to gi/pygi-source.c, so that it can use the
-    GI API.
-
-    Note that gi/_glib/pygsource.[hc] is still required for the static
-    PollFD type
-    which is used by the static IOChannel binding. Once the latter
-    goes away,
-    PollFD can be dropped as well.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686443
-
- docs/Makefile.am                      |   6 +-
- docs/reference/pyglib-classes.xml     |   2 -
- docs/reference/pyglib-constants.xml   |  53 ---
- docs/reference/pyglib-functions.xml   |  58 ---
- docs/reference/pyglib-maincontext.xml | 152 --------
- docs/reference/pyglib-mainloop.xml    | 202 -----------
- gi/Makefile.am                        |   2 +
- gi/_glib/Makefile.am                  |   4 -
- gi/_glib/__init__.py                  |  12 -
- gi/_glib/glibmodule.c                 |  45 +--
- gi/_glib/pyglib.c                     |  15 -
- gi/_glib/pyglib.h                     |   1 -
- gi/_glib/pygmaincontext.c             | 126 -------
- gi/_glib/pygmaincontext.h             |  40 ---
- gi/_glib/pygmainloop.c                | 362 -------------------
- gi/_glib/pygmainloop.h                |  36 --
- gi/_glib/pygsource.c                  | 640
- ----------------------------------
- gi/_glib/pygsource.h                  |   3 -
- gi/_gobject/__init__.py               |  13 -
- gi/gimodule.c                         |   9 +
- gi/overrides/GLib.py                  | 116 +++++-
- gi/overrides/GObject.py               |  10 +-
- gi/pygi-private.h                     |   1 +
- gi/pygi-source.c                      | 247 +++++++++++++
- gi/pygi-source.h                      |  31 ++
- tests/test_glib.py                    |  22 +-
- tests/test_gobject.py                 |   2 +
- tests/test_source.py                  |   3 -
- 28 files changed, 437 insertions(+), 1776 deletions(-)
-
-commit 326218a20681c1f2234a6eea1ed800382be57626
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Wed Sep 19 15:37:14 2012 -0700
-
-    Deprecate void pointer fields as general PyObject storage.
-
-    Complete deprecation of gpointer struct fields as general
-    PyObject storage. Only int types are now allowed.
-    Assignment of anything other than an int or None raises
-    a TypeError stating the error and  associated bug URL.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=683599
-
- gi/pygi-argument.c          | 25 ++++++++++++++++-----
- gi/pygi-info.c              | 28 ++++--------------------
- tests/test_everything.py    | 53
- +++++++++++++++++++++++++--------------------
- tests/test_overrides_gtk.py | 41 -----------------------------------
- 4 files changed, 54 insertions(+), 93 deletions(-)
-
-commit 3dba328010a4ffd9259700ffec95871c7341d491
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Oct 23 11:59:08 2012 +0200
-
-    Add some MainLoop, MainContext, and Source test cases
-
-    These cover the remaining static API and behaviour, so that we
-    have good
-    regression tests for converting them to GI.
-
-    See https://bugzilla.gnome.org/show_bug.cgi?id=686443
-
- tests/test_glib.py     | 21 +++++++++++++++++++++
- tests/test_gobject.py  | 11 +++++++++++
- tests/test_mainloop.py | 16 ++++++++++++++++
- tests/test_source.py   | 44 ++++++++++++++++++++++++++++++++++++++++++++
- 4 files changed, 92 insertions(+)
-
-commit 7635340271df0a135873459e6a2a365fd4b187a2
-Author: Steve Frécinaux <code@istique.net>
-Date:   Wed Feb 9 18:37:33 2011 +0100
-
-    [API change] Do not bind gobject_get_data() and gobject_set_data()
-
-    They will basically cause a crash if misused, and you can always use a
-    python member attribute instead.
-
-    These methods were marked as deprecated for 3.4 and throwing a
-    warning, so
-    let's remove them for good now.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=641944
-
-    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
-
- docs/reference/pygobject.xml | 63
- --------------------------------------------
- gi/_gobject/pygobject.c      | 44 -------------------------------
- 2 files changed, 107 deletions(-)
-
-commit cfec113e3b3eabf8db834f48b2f16792d1e841a3
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Oct 23 08:17:40 2012 +0200
-
-    Add test for GLib.get_current_time()
-
-    This adds a plausibility test, as well as ensuring the documented
-    return type.
-    This will be useful if/once we drop the static _glib binding.
-
- tests/test_glib.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit fb473b31054744e5ab59e9d4ed3b74571e27d3ff
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Oct 23 07:48:52 2012 +0200
-
-    Drop unnecessary static _glib bindings
-
-    Drop static pyglib bindings which have straightforward and working
-    GLib GI
-    bindings. Add tests for all dropped functions to ensure they keep
-    working.
-
- docs/reference/pyglib-constants.xml |  59 -------
- docs/reference/pyglib-functions.xml | 270 ------------------------------
- gi/_glib/__init__.py                |  24 ---
- gi/_glib/glibmodule.c               | 319
- ------------------------------------
- gi/_gobject/__init__.py             |   9 -
- gi/overrides/GLib.py                |  16 ++
- gi/overrides/GObject.py             |  32 ++++
- gi/overrides/Makefile.am            |   1 +
- tests/Makefile.am                   |   1 -
- tests/test_glib.py                  |  46 ++++++
- tests/test_gobject.py               |   4 +
- tests/test_uris.py                  |  16 --
- 12 files changed, 99 insertions(+), 698 deletions(-)
-
-commit 126a10f765af3d3a6f08ce5db7ed9f3ef647848f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Oct 23 06:12:08 2012 +0200
-
-    Fix OverflowError in source_remove()
-
-    GSource IDs are unsigned, so we must use 'I' for parsing then, not
-    'i'.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=684526
-
- gi/_glib/glibmodule.c |  2 +-
- tests/test_source.py  | 13 ++++++++++++-
- 2 files changed, 13 insertions(+), 2 deletions(-)
-
-commit 15f7442bd0c45db25073e3d8494094f1c284ffa4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Oct 22 13:38:23 2012 +0200
-
-    Fix TestSource.testSources() test case
-
-    PyGObject has established the assumption that the destruction of
-    a GLib.Source
-    Python object does not destroy the actual GSource, as shown in
-    TestSource.setup_timeout(), TestTimeout.test504337(), and
-    https://bugzilla.gnome.org/show_bug.cgi?id=504337.
-
-    So we need to explicitly destroy our MySource and Idle objects
-    after using
-    them, as their callbacks always return True and we do not want them
-    to spill
-    over into other tests.
-
-    Also fix the assertions to actually verify that MySources' callback
-    was callied
-    (pos > 0, not pos >= 0), and use the unittest comparison API instead
-    of a
-    simple assert statement.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686627
-
- tests/test_source.py | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-commit b984a5fe0d065818a153f259db4dbde79534f084
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Oct 22 17:38:56 2012 +0200
-
-    configure.ac: post-release bump to 3.7.2
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit ce0825f58c3eba6084143e430605ffb597622369
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Oct 22 17:37:17 2012 +0200
-
-    release 3.7.1
-
- NEWS | 42 ++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 42 insertions(+)
-
-commit a93763337ba7f952d787c42f45bfbb3ff02cc80d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Oct 22 17:33:12 2012 +0200
-
-    Bump version to 3.7.1
-
-    Let's follow the real GNOME versioning from now on.
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3fb13cc05a281970c3a624c2dd152996031b482c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Oct 22 11:36:49 2012 +0200
-
-    test_mainloop code cleanup
-
-    Ensure that sys.excepthook is always restored, even if the test
-    fails. Use the
-    assert{True,False,Equal} unittest API instead of simple asserts for
-    more useful
-    failure messages.
-
- tests/test_mainloop.py | 19 ++++++++++---------
- 1 file changed, 10 insertions(+), 9 deletions(-)
-
-commit 31061f20083aa60919f6763a12addbf2b052cab7
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sun Oct 21 18:55:24 2012 -0700
-
-    Change install_properties to not use getattr on classes
-
-    The usage of getattr for accessing a classes __gproperties__
-    variable can be problematic due to the potential of it returning
-    the parent classes variable when it does not exist on the sub-class.
-    Similar to the fix for
-    https://bugzilla.gnome.org/show_bug.cgi?id=686496,
-    cls.__dict__.get is used to ensure this does not happen.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686559
-
- gi/_gobject/propertyhelper.py | 2 +-
- tests/test_properties.py      | 6 ++++--
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-commit 438d3e68f19e2af5d027e18842ab05e0421d088d
-Author: Simon Feltman <sfeltman@src.gnome.org>
-Date:   Sat Oct 20 19:56:04 2012 -0700
-
-    Move property install function into propertyhelper.py
-
-    Move _install_properties() into gi/_gobject/propertyhelper.py
-    and add unittests.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686559
-
- gi/_gobject/__init__.py       | 45 +++----------------------------
- gi/_gobject/propertyhelper.py | 45 +++++++++++++++++++++++++++++++
- tests/test_properties.py      | 63
- +++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 111 insertions(+), 42 deletions(-)
-
-commit 695a9077aa8f40357e050f090caa5e2b8c5c9593
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Sat Oct 20 03:11:07 2012 -0700
-
-    Fix Signal decorator to not use base class gsignals dict
-
-    Fix install_signals to not use the parent classes __gsignals__
-    dict if one does not exist on the given class.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686496
-
- gi/_gobject/signalhelper.py |  2 +-
- tests/test_signal.py        | 43
- +++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 44 insertions(+), 1 deletion(-)
-
-commit 1ff04e846d50b948df6fa3260c548ef4f4779c58
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Oct 19 09:05:01 2012 +0200
-
-    tests: Consistently use GLib.MainLoop
-
-    ... instead of mixing GObject.MainLoop and GLib.MainLoop.
-
- tests/test_everything.py |  4 ++--
- tests/test_gdbus.py      | 11 +++++------
- 2 files changed, 7 insertions(+), 8 deletions(-)
-
-commit ff7e7401b4cf50532fef70263f7559ea513b8333
-Author: Kalev Lember <kalevlember@gmail.com>
-Date:   Wed Oct 17 18:27:14 2012 +0200
-
-    Install the .egg-info files into correct multilib directory
-
-    This makes sure the .egg-info files end up in the same python
-    top level
-    directory as the rest of the gi .py files.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686315
-
- Makefile.am | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 91e4cb2063d4e83fb1f6586a4396471d64f234f4
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Mon Oct 15 04:03:50 2012 -0700
-
-    Fix leaked vfunc return values
-
-    Simple fix to dec ref returned values from closures wrapping
-    python functions.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=686140
-
- gi/pygi-closure.c |  1 +
- tests/test_gi.py  | 21 +++++++++++++++++++--
- 2 files changed, 20 insertions(+), 2 deletions(-)
-
-commit 75e373b99c3cb66dd60b13c803e5f7eec77cc415
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Oct 15 07:42:05 2012 +0200
-
-    Skip Regress tests with --disable-cairo
-
-    We need cairo to build g-i's Regress library, gir, and typelib. Update
-    configure.ac to only require cairo if --disable-cairo was not
-    given. With
-    --disable-cairo, skip building the Regress library and skip all
-    tests which use
-    it.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685094
-
- configure.ac             |  5 ++---
- tests/Makefile.am        | 45
- +++++++++++++++++++++++++++------------------
- tests/test_everything.py | 15 +++++++++++----
- tests/test_overrides.py  |  7 ++++++-
- 4 files changed, 46 insertions(+), 26 deletions(-)
-
-commit a2ab72aa39824579d1767d1fdba7e1031341f86c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Oct 12 11:05:24 2012 +0200
-
-    _pygi_marshal_from_py_uint64: Re-fix check of negative values
-
-    Fix regression from commit 1bfcd5d94 (exposed by several test cases)
-    when using
-    Python 2.x.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685000
-
- gi/pygi-marshal-from-py.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 22c22124b787ae67638aff89796d7ce14900ea8e
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Mon Oct 8 05:54:30 2012 -0700
-
-    Fix leak with python callables as closure argument.
-
-    The fix adds an extra args_data list to the PyGIInvokeState
-    structure. This list is used to track dynamically generated
-    closures that wrap python callables. This allows the ffi closure
-    and python callable to be freed when call scope has finished.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685598
-
- gi/pygi-cache.c               |   1 +
- gi/pygi-closure.c             |  41 +++++++++----
- gi/pygi-invoke-state-struct.h |   4 ++
- gi/pygi-invoke.c              |   7 +++
- gi/pygi-marshal-cleanup.c     |  14 +++++
- gi/pygi-marshal-cleanup.h     |   4 ++
- gi/pygi-marshal-from-py.c     |  57 ++++++++++++++----
- tests/test_everything.py      | 137
- +++++++++++++++++++++++++++++++-----------
- 8 files changed, 206 insertions(+), 59 deletions(-)
-
-commit c0bc69906df2db64560f7c054277ad1956aab57f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Oct 11 17:49:30 2012 +0200
-
-    Gio overrides: Handle setting GSettings enum keys
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685947
-
- gi/overrides/Gio.py         | 9 ++++++++-
- tests/test_overrides_gio.py | 3 +++
- 2 files changed, 11 insertions(+), 1 deletion(-)
-
-commit bbbb7c9ed047a22ac3c43f2b0331d3b5ea32e812
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Oct 11 17:20:38 2012 +0200
-
-    tests: Check reading GSettings enums in Gio overrides
-
-    Also split test_override() into several smaller test cases.
-
- tests/org.gnome.test.gschema.xml |  9 +++++++++
- tests/test_overrides_gio.py      | 14 +++++++++-----
- 2 files changed, 18 insertions(+), 5 deletions(-)
-
-commit 8a2e96cd4e33b6c119a368d73a9d5504576cdccb
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Oct 11 16:08:11 2012 +0200
-
-    Fix unsigned values in GArray/GList/GSList/GHash
-
-    _pygi_hash_pointer_to_arg() needs to handle unsigned integers as well.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685860
-
- gi/pygi-argument.c |  9 +++++++++
- tests/test_gi.py   | 12 ++++++++++++
- 2 files changed, 21 insertions(+)
-
-commit d394acbb58b38e6f52ee71e8e663a892676ab9e4
-Author: Colin Walters <walters@verbum.org>
-Date:   Thu Oct 4 20:13:55 2012 -0400
-
-    build: Fix srcdir != builddir
-
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 1bfcd5d94b71edc9f03c8b3e87952a8bc8097586
-Author: Alban Browaeys <prahal@yahoo.com>
-Date:   Thu Sep 27 22:44:22 2012 +0200
-
-    _pygi_marshal_from_py_uint64(): Use correct data type in py2.7 check
-
-    Casting an unsigned to signed and checking if positive was not
-    good. Check the
-    unsigned 64 is below G_MAXUINT64 instead.
-
-    Side issue in https://bugzilla.gnome.org/show_bug.cgi?id=685000
-
- gi/pygi-marshal-from-py.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit f0870336b9fc7797895f206e0d3ef17a19efe253
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Tue Oct 2 05:30:16 2012 -0700
-
-    Install an .egg-info file
-
-    This will help easy_install and pip to figure out that PyGObject
-    is already installed.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680138
-
- Makefile.am | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-commit 4c9318d97aa34051a0460e8db2ed0f963126b7f5
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Oct 4 09:42:41 2012 +0200
-
-    PyGProps_getattro(): Fix GObjectClass leak
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685218
-
- gi/_gobject/pygobject.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-commit 2aa61520eb4f293ce94d54605d7642a39e18e03d
-Author: Olivier Crête <olivier.crete@collabora.com>
-Date:   Mon Sep 17 15:16:32 2012 -0400
-
-    pygobject.c: Don't leak GObjectClass reference
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=684062
-
- gi/_gobject/pygobject.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-commit 43d356d03d4c83e9de3c56f98a70d387b46f17af
-Author: Alban Browaeys <prahal@yahoo.com>
-Date:   Sat Sep 29 01:17:14 2012 +0200
-
-    Fix memory leak in _pygi_argument_to_array()
-
-    Length arg and type info need to be unref'ed.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685082
-
- gi/pygi-argument.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 34270a109d2af20391c80e88874ee7303eaf5c09
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Sep 28 07:42:51 2012 +0200
-
-    Fix error messages for out of range numbers
-
-    PyErr_Format() does not understand %lli and %li, it needs to be %lld
-    and %ld.
-    So we cannot use those and G_GINT64_FORMAT.
-
-    Also remove the "if (long_ < G_MININT64 || long_ > G_MAXINT64)"
-    check, as long_
-    is a gint64 which can't possibly overflow its own data type. It
-    would also have
-    an unprintable error message.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=684314
-
- gi/pygi-marshal-from-py.c | 21 ++++++++-------------
- 1 file changed, 8 insertions(+), 13 deletions(-)
-
-commit 7f1422bf929976722edd6144beb0b4c96d74391b
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Sep 28 06:59:38 2012 +0200
-
-    Kill dbus-daemon after running tests
-
-    dbus-launch does not kill the spawned dbus-daemon by itself (see
-    https://bugs.freedesktop.org/show_bug.cgi?id=39196), so do that
-    after running
-    our tests. Take care to preserve the exit code.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=685009
-
- tests/Makefile.am | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit bfd9c8fac1ea240b29fbcd4185dc1702539c1e96
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Sep 27 08:18:34 2012 +0200
-
-    GVariant overrides: Support empty tuple arrays
-
-    Implement the "empty value" branch in _create_tuple(), so that
-    _create_array()
-    can call it for parsing the element type for an empty array.
-
-    This fixes creating variants such as GLib.Variant('a(ii)', []).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=684928
-
- gi/overrides/GLib.py         | 30 +++++++++++++++++++++++-------
- tests/test_overrides_glib.py | 31 +++++++++++++++++++++++++++++++
- 2 files changed, 54 insertions(+), 7 deletions(-)
-
-commit 75d452ea5b179c3585adcf95356b4316c9180768
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Sep 27 06:50:12 2012 +0200
-
-    TestGVariant: Split creation test case into several smaller ones
-
- tests/test_overrides_glib.py | 20 ++++++--------------
- 1 file changed, 6 insertions(+), 14 deletions(-)
-
-commit 4a20bcb3f97614044d351f8e436a81d332db55ba
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Sep 25 09:10:10 2012 +0200
-
-    Fix unused variables and results
-
-    This gets rid of all warnings except the deprecated symbol ones.
-
- gi/_glib/pygiochannel.c | 9 +++------
- gi/pygi-argument.c      | 4 +---
- gi/pygi-callbacks.c     | 4 ----
- gi/pygi-ccallback.c     | 1 -
- gi/pygi-repository.c    | 3 +--
- 5 files changed, 5 insertions(+), 16 deletions(-)
-
-commit 5285f14fee93d2729d4422c40a945adc2be69c14
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Sep 25 08:56:20 2012 +0200
-
-    tests: Fix wrong return type in test_int64_callback()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=684700
-
- tests/testhelpermodule.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e14ebab6099d082466ec11ca21d44de0d6017216
-Author: Giovanni Campagna <gcampagna@src.gnome.org>
-Date:   Wed Sep 19 00:10:57 2012 +0200
-
-    Fix GValue marshalling of long and unsigned long
-
-    long can be equivalent to int64 or int32, depending on the
-    architecture,
-    and GI conflates this distinction in the typelib, but GType does
-    not, and
-    warns if the wrong accessor is used.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=684331
-
- gi/pygi-argument.c | 25 +++++++++++++++++++++----
- 1 file changed, 21 insertions(+), 4 deletions(-)
-
-commit 50571dd27d1f7c6bed8c5aaa518b504c9f4c4ab6
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Wed Sep 19 19:07:00 2012 -0700
-
-    Clean up deprecation message for assigning gpointers to objects.
-
-    The previous deprecation message was worded as if the deprecation
-    had already occurred and it has not.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=683599
-
- gi/pygi-info.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 4bfe7972546413f46f5c36737ff03bb5612c1921
-Author: Olivier Crête <olivier.crete@collabora.com>
-Date:   Tue Sep 18 08:52:02 2012 +0200
-
-    pygi-property: Lookup property in base classes of non-introspected
-    types
-
-    Look for introspection data in the base classes of non-introspected
-    gtypes.
-    This is necessary to look up introspection data for plugins.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=684058
-
- gi/pygi-property.c       | 28 ++++++++++++++--------------
- tests/test_everything.py | 12 ++++++++++++
- 2 files changed, 26 insertions(+), 14 deletions(-)
-
-commit 7aa94cc861082147b9c382b930f3257f0a842c84
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 24 09:41:10 2012 +0200
-
-    post-release bump to 3.4.1
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit fcceed3adb8d78baba68861a1408627321b2c1ef
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 24 09:35:33 2012 +0200
-
-    release 3.4.0
-
- NEWS         | 3 +++
- configure.ac | 4 ++--
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-commit 645a9d9d4712f8f0d1b63899b309bbc97eb1f216
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 24 09:27:47 2012 +0200
-
-    Bump g-i dependency to 1.33.14
-
-    To ensure we have all the Regress test APIs that we use.
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b6f4ef327fbeaa10fd74571c3df540311834d6ae
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 17 22:52:49 2012 +0200
-
-    post-release bump to 3.3.93
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7e154cf01cf0ce7a8b52c45ba4db755f73b45d1d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 17 22:48:13 2012 +0200
-
-    release 3.3.92
-
- NEWS | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-commit adbe30dc72b4d88bb31055f6ee33fddf32638af9
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 17 22:32:55 2012 +0200
-
-    release-news: Generate HTML changelog
-
-    In addition to producing a NEWS paragraph from the changelog,
-    generate a
-    changelog HTML which can be put into blog announcements.
-
-    Update HACKING to point this out, too.
-
- HACKING     |  2 +-
- Makefile.am | 22 ++++++++++++++++------
- 2 files changed, 17 insertions(+), 7 deletions(-)
-
-commit be4a0682bdd189ee908ab1961001f759a80e133c
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Sun Sep 16 17:27:25 2012 -0700
-
-    [API add] Add ObjectInfo.get_abstract method
-
-    Adds exposure of g_object_info_get_abstract to python for
-    helping with analysis of non-constructable objects from
-    within python.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675581
-
- gi/pygi-info.c   |  8 ++++++++
- tests/test_gi.py | 12 ++++++++++++
- 2 files changed, 20 insertions(+)
-
-commit 3ada408434860d0c8eee6c6a869b5a3d801cfbc8
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Thu Sep 13 20:53:22 2012 -0700
-
-    Add deprecation warning when setting gpointers to anything other
-    than int.
-
-    This is a first pass which does not change anything except add
-    a warning
-    when anything other than an int is set on a gpointer on a boxed type.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=683599
-
- gi/pygi-info.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit a047f61f26d9c78b82d22948199313e5a389e918
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 17 09:41:24 2012 +0200
-
-    test_properties: Test accessing a property from a superclass
-
-    We already cover accessing the superclass' property if that was
-    defined in
-    Python. Add a corresponding test case for a property defined in C.
-
-    See https://bugzilla.gnome.org/show_bug.cgi?id=684058
-
- tests/test_properties.py | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-commit 3e6a4000cbc4b0cb503fcd89b50202ed0b70d3a7
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 17 09:31:05 2012 +0200
-
-    test_properties.py: Consistent test names
-
-    Use underscore style method/test case names consistently. Also rename
-    some test
-    cases to better describe what they do.
-
- tests/test_properties.py | 78
- ++++++++++++++++++++++++------------------------
- 1 file changed, 39 insertions(+), 39 deletions(-)
-
-commit 4069c3d8547f35437e0cee175a5912febe25326d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Sep 12 06:51:24 2012 +0200
-
-    test_everything: Ensure TestSignals callback does get called
-
- tests/test_everything.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 4e4c87e3868948743e0446abe2ba0cf5626374c4
-Author: Nicolas Dufresne <nicolas.dufresne@collabora.com>
-Date:   Fri Sep 7 17:17:09 2012 -0400
-
-    argument: Fix 64bit integer convertion from GValue
-
-    Trying to get a 64bit integer using the wrong getter was resulting
-    in an
-    assertion and 0 being returned.
-
-    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=683596
-
- gi/pygi-argument.c       |  8 ++++++--
- tests/test_everything.py | 52
- ++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 58 insertions(+), 2 deletions(-)
-
-commit e474ce243ea7a58358af344ccadb1418f4d2c8eb
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Sep 11 12:32:10 2012 +0200
-
-    Add Simon Feltman as a project maintainer
-
-    Signed-off-By: Martin Pitt <martinpitt@gnome.org>
-    Signed-off-By: Paolo Borelli <pborelli@gnome.org>
-
- pygobject.doap | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit ee1fc78258f10e8a7872ee3da6c9ad6e7984706e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Sep 11 10:17:50 2012 +0200
-
-    test_signals.py: Drop global type variables
-
-    Just use the real types and flags from GObject instead of redefining
-    aliases
-    for them. They weren't used consistently, make the tests harder to
-    read, and we
-    really do not want global single-letter variables like "f" and "l".
-
- tests/test_signal.py | 38 ++++++++++++++++----------------------
- 1 file changed, 16 insertions(+), 22 deletions(-)
-
-commit 3688cf6efe7161585b943cfaafcfd4610b7ad768
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Sep 11 10:11:58 2012 +0200
-
-    test_signals.py: Consistent test names
-
-    Use underscore style method/test case names consistently.
-
- tests/test_signal.py | 88
- ++++++++++++++++++++++++++--------------------------
- 1 file changed, 44 insertions(+), 44 deletions(-)
-
-commit 4559247553b792db956f69c9674c12344d719c82
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Sep 11 09:43:14 2012 +0200
-
-    Add test cases for GValue signal arguments
-
-    These cover various types, (u)int(64) and string.
-
-    Keep the test case for implicit int64 GValues disabled, as this
-    currently does
-    not work and it is not clear whether it should:
-    https://bugzilla.gnome.org/show_bug.cgi?id=683775
-
- tests/test_signal.py     | 41 +++++++++++++++++++++++++++++++++++++++++
- tests/testhelpermodule.c | 17 +++++++++++++++++
- 2 files changed, 58 insertions(+)
-
-commit fddb01b0b71b68d154d130cf40fd5f38647b1a4d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Sep 11 09:31:18 2012 +0200
-
-    Add test for GValue signal return values
-
-    Another attempt to reproduce the reported error in
-    https://bugzilla.gnome.org/show_bug.cgi?id=683596
-    but this works already.
-
- tests/test_signal.py     | 13 +++++++++++++
- tests/testhelpermodule.c | 36 ++++++++++++++++++++++++++++++++++++
- 2 files changed, 49 insertions(+)
-
-commit 4f77c7798563ea436ff5b6306a987f03de50b211
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Fri Sep 7 02:32:15 2012 -0700
-
-    Improve setting pointer fields/arguments to NULL using None
-
-    Setting gi pointers will set them to the address of the python object.
-    This is good except in the case of None which should be used to NULL
-    the pointer out as a special case.
-
-    Commit 21b1d17d2a already fixed this. This improved patch
-    does that in a cleaner and safer way and adds more comments.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=683150
-
- gi/pygi-argument.c |  8 +-------
- gi/pygi-info.c     | 14 +++++++++++++-
- 2 files changed, 14 insertions(+), 8 deletions(-)
-
-commit 15046b5a11f6c58a3e5a9c50cf0ce7f31f2cd55f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 10 16:46:30 2012 +0200
-
-    Test gint64 C signal arguments and return values
-
- tests/test_signal.py     | 12 ++++++++++++
- tests/testhelpermodule.c | 14 ++++++++++++++
- 2 files changed, 26 insertions(+)
-
-commit 822d9e07a95f706a40f64335765293542787da90
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 10 16:29:32 2012 +0200
-
-    Test in/out int64 GValue method arguments.
-
-    See https://bugzilla.gnome.org/show_bug.cgi?id=683596
-
- tests/test_gi.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 2d83e52233812618493af4b165615e8741ba41c8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Sep 5 08:54:53 2012 +0200
-
-    Bump g-i dependency to 1.33.10
-
-    To ensure we have all the Regress test APIs that we use.
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6a4f4dc9a3d21c3ac8a0aa51432fb8952b4e1ebf
-Author: Thibault Saunier <thibault.saunier@collabora.com>
-Date:   Wed Aug 8 12:57:41 2012 -0400
-
-    Fix -uninstalled.pc.in file
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=683379
-
- pygobject-3.0-uninstalled.pc.in | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit d8f1398dbc7fa7803639c542a607f24f18614ad6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 22:16:47 2012 +0200
-
-    post-release bump to 3.3.92
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit ea992324b8197b2d04ff2849b9ab46f8a04b4ed7
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 22:04:01 2012 +0200
-
-    release 3.3.91
-
- NEWS | 32 ++++++++++++++++++++++++++++++++
- 1 file changed, 32 insertions(+)
-
-commit 1e1f5b2f2f15547c1f2cbc948d2b764bd0a37c44
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 21:57:00 2012 +0200
-
-    Fix exception test case for Python 2
-
-    Regression from commit 77844c5 which did not work with Python 2.
-
- tests/test_everything.py | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-commit 41bb687c058e08b05108b4b2f081cd83d4f93da8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 21:16:01 2012 +0200
-
-    Bump g-i dependency
-
-    Require at least 1.33.9, as we got a couple of bug fixes there which
-    the tests,
-    and for some cases the code, depend on. We actually require 1.33.10
-    for all
-    tests to succeed, but that hasn't been released yet.
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 77844c571ad0badc189428b93de9f2572051b67e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 17:58:38 2012 +0200
-
-    Show proper exception when trying to allocate a disguised struct
-
-    Instead of a simple "MemoryError" with no details, raise a proper
-    TypeError with a traceback and an explanation what happened.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639972
-
- gi/pygi-struct.c         |  7 +++++++
- tests/test_everything.py | 13 +++++++++++++
- 2 files changed, 20 insertions(+)
-
-commit 0d099bdb3f4bbd962e5e60b583673d9e6f5673cc
-Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-Date:   Mon Sep 3 16:47:22 2012 +0200
-
-    Support marshalling GParamSpec signal arguments
-
-    Fix marshalling GParamSpec arguments from C to Python.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=683099
-
-    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygi-argument.c   | 10 +++++++++-
- tests/test_signal.py | 14 ++++++++++++++
- 2 files changed, 23 insertions(+), 1 deletion(-)
-
-commit 69fb92c22b3f3d1d5e8c3e14134eee3242fdc5fc
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 16:06:49 2012 +0200
-
-    Add test for a signal that returns a GParamSpec
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=683265
-
- tests/test_signal.py     |  6 ++++++
- tests/testhelpermodule.c | 12 ++++++++++++
- 2 files changed, 18 insertions(+)
-
-commit a7c524219987fbf37e455a91e4c78d2b9b4db12d
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Tue Mar 20 04:33:50 2012 -0700
-
-    [API add] Add Signal class for adding and connecting custom signals.
-
-    The Signal class provides easy creation of signals and removes the
-    need for __gsignals__ in client code. The Signal class can also be
-    used as a decorator for wrapping up the custom closure. As well as
-    providing a "BoundSignal" when accessed on an instance for making
-    connections without specifying a signal name string.
-    Python3 annotations can also be used to supply closure argument and
-    return types when Signal is used as a decorator. For example:
-
-    class Eggs(GObject.GObject):
-        @GObject.Signal
-        def spam(self, count:int):
-            pass
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=434924
-
- examples/signal.py          |  34 ++++--
- gi/_gobject/Makefile.am     |   3 +-
- gi/_gobject/__init__.py     |   5 +
- gi/_gobject/signalhelper.py | 251
- ++++++++++++++++++++++++++++++++++++++++++++
- tests/test_signal.py        | 208 ++++++++++++++++++++++++++++++++++--
- 5 files changed, 482 insertions(+), 19 deletions(-)
-
-commit 96fa22369fd188465559fc904c7f76e73040e6dd
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 15:32:12 2012 +0200
-
-    Fix pygtkcompat's Gtk.TreeView.insert_column_with_attributes()
-
-    We have a proper implementation for insert_column_with_attributes()
-    now, so
-    drop pygtkcompat's empty stub for it.
-
-    Also improve test case for
-    Gtk.TreeView.insert_column_with_attributes().
-
- gi/pygtkcompat.py           |  6 ------
- tests/test_overrides_gtk.py | 16 ++++++++--------
- 2 files changed, 8 insertions(+), 14 deletions(-)
-
-commit 542cf22c9de9b2094868c4e879b0f24b15c4c012
-Author: Marta Maria Casetti <mmcasetti@gmail.com>
-Date:   Mon Sep 3 13:06:22 2012 +0200
-
-    Add override for Gtk.TreeView.insert_column_with_attributes()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=679415
-
-    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
-
- gi/overrides/Gtk.py         |  7 +++++++
- tests/test_overrides_gtk.py | 38 ++++++++++++++++++++++++++++++++++++++
- 2 files changed, 45 insertions(+)
-
-commit 1c73e845361e471b1c3a3f17e40e6a6cfa740877
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 11:09:55 2012 +0200
-
-    .gitignore: Add missing built files
-
- .gitignore | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-commit 96431f393036a688666dcf67911bf12b9824b264
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 11:07:32 2012 +0200
-
-    Ship tests/gi in tarball
-
-    Spotted by distcheck.
-
- tests/Makefile.am | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-commit dc2c6e6f60d2757462cbceef6176b0b3013904d3
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 10:18:45 2012 +0200
-
-    Fix separate build tree and distcheck
-
-    Fix regression from c7c95a79: We must set sys.path in runtests.py
-    properly and
-    cannot rely on setting $PYTHONPATH from Makefile.am only. Python
-    always
-    prepends the directory of the source file to sys.path, but that
-    points to the
-    source dir, not the build dir. The build dir has to take precedence,
-    otherwise
-    we fail to import the built libraries.
-
- tests/runtests-windows.py | 10 +++++++---
- tests/runtests.py         | 13 ++++++++-----
- 2 files changed, 15 insertions(+), 8 deletions(-)
-
-commit 2d8f48f4ff56bb75985136452b50b75895258608
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 07:57:01 2012 +0200
-
-    Split test_overrides.py
-
-    Split the huge test_overrides.py into separate files for gdk, gtk,
-    gio, glib,
-    and pango. Further split the monolithic classes for Gtk and Gio
-    into several
-    ones.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=683188
-
- tests/Makefile.am             |    5 +
- tests/test_overrides.py       | 2198
- +----------------------------------------
- tests/test_overrides_gdk.py   |  119 +++
- tests/test_overrides_gio.py   |  114 +++
- tests/test_overrides_glib.py  |  445 +++++++++
- tests/test_overrides_gtk.py   | 1517 ++++++++++++++++++++++++++++
- tests/test_overrides_pango.py |   32 +
- 7 files changed, 2234 insertions(+), 2196 deletions(-)
-
-commit 1223358e2c558dd7ac3300126f989054ec5a5b3f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Sep 3 07:17:57 2012 +0200
-
-    _pygi_argument_to_object(): Clean up array unmarshalling
-
-    The NULL case is already handled at the top, so it does not need to be
-    re-checked again.
-
-    Emit a critical if we fail to allocate a Python array of the
-    requested size.
-
- gi/pygi-argument.c | 47 ++++++++++++++++-------------------------------
- 1 file changed, 16 insertions(+), 31 deletions(-)
-
-commit 65bfbc624bc9da6e18ff2945b14099ab8eeb7601
-Author: Alban Browaeys <prahal@yahoo.com>
-Date:   Wed Aug 29 21:24:17 2012 +0200
-
-    Fix memory leak in _pygi_argument_to_object()
-
-    Avoid leaking the item_type_info when breaking out of the
-    switch in _pygi_argument_to_object() for unmarshalling arrays.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=682979
-
- gi/pygi-argument.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 21b1d17d2ada2edf4063a4262b3436c279da3dc2
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Sat Sep 1 03:40:31 2012 -0700
-
-    Fix setting pointer fields/arguments to NULL using None.
-
-    Setting gi pointers will set them to the address of the python object.
-    This is good except in the case of None which should be used to NULL
-    the pointer out as a special case.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=683150
-
- gi/pygi-argument.c      |  8 +++++++-
- tests/test_overrides.py | 41 +++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 48 insertions(+), 1 deletion(-)
-
-commit 6123e6f5001ca5eaea18123d8a53525abab31a45
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Aug 23 06:44:27 2012 +0200
-
-    Fix for python 2.6, drop support for < 2.6
-
-    Replace sys.version_info.major access to tuple access which also
-    works for
-    Python 2.6.
-
-    When building for Python 2.6, inject some missing unittest API such as
-    @unittest.skipUnless and assertGreaterEqual() into the unittest
-    module in
-    runtests.py, so that the tests have a chance to run.
-
-    As building with Python 2.5 has been broken for a long time with
-    nobody
-    complaining, and 2.5 is ancient, bump minimum Python requirement to
-    2.6. Drop
-    obsolete #ifdef paths which only apply to <= 2.5.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=682422
-
- configure.ac                    |  2 +-
- gi/_glib/pyglib-python-compat.h |  8 --------
- gi/_gobject/gobjectmodule.c     |  8 --------
- gi/module.py                    |  2 +-
- tests/runtests.py               | 27 +++++++++++++++++++++++++++
- tests/test_gi.py                |  2 +-
- 6 files changed, 30 insertions(+), 19 deletions(-)
-
-commit b1a9848a7a7255e6b1ccd98712dd62b1514078b9
-Author: Thibault Saunier <thibault.saunier@collabora.com>
-Date:   Tue Aug 21 07:54:09 2012 +0200
-
-    Allow overrides in other directories than gi itself
-
-    Use pkgutil.extend_path() for the gi and gi.overrides modules, so that
-    libraries can install overrides in a path that is different from
-    the one that
-    pygobject installs itself into. These overrides need to put this
-    into their
-    __init__.py at the top:
-
-        from pkgutil import extend_path
-        __path__ = extend_path(__path__, __name__)
-
-    and put themselves somewhere into the default PYTHONPATH.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680913
-
-    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
-    Co-Authored-By: Simon Feltman <s.feltman@gmail.com>
-
- gi/__init__.py                 |  4 ++++
- gi/overrides/__init__.py       |  4 ++++
- tests/gi/__init__.py           |  2 ++
- tests/gi/overrides/Regress.py  | 26 ++++++++++++++++++++++++++
- tests/gi/overrides/__init__.py |  2 ++
- tests/test_overrides.py        |  6 ++++++
- 6 files changed, 44 insertions(+)
-
-commit c7c95a795eee499373499ea5b771447746317bfb
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Thu Aug 23 06:03:09 2012 +0200
-
-    Clean up sys.path handling in tests
-
-    Only set sys.path once in runtests.py, not in the individual test
-    modules. This
-    reduces hidden dependencies between tests by building up a run
-    order dependent
-    search path, and also makes it easier in the future to run the
-    tests against
-    the installed system libraries.
-
-    Side issue in https://bugzilla.gnome.org/show_bug.cgi?id=680913
-
- tests/runtests-windows.py | 6 +++++-
- tests/runtests.py         | 3 +++
- tests/test_everything.py  | 1 -
- tests/test_gdbus.py       | 3 ---
- tests/test_overrides.py   | 3 ---
- tests/test_pygtkcompat.py | 3 ---
- 6 files changed, 8 insertions(+), 11 deletions(-)
-
-commit 3e3525e93d852cde0f63e835b774a9b004773c69
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Sun Aug 19 02:30:39 2012 -0700
-
-    Fix dynamic creation of enum and flag gi types for Python 3.3
-
-    Importing Gtk was crashing on instantiation of dynamic Enum and Flag
-    subclasses due to what looks to be an unsupported technique.  Change
-    tp_new() method for classes dynamically derived from PyGEnum_Type and
-    PyGFlags_Type to call PyLong_Type.tp_new() instead of attempting
-    to call
-    __new__() as a python method. This technique seems to work with all
-    versions of python so the previous python version checking also became
-    unnecessary.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=682323
-
- gi/_gobject/pygenum.c  | 29 ++++++++++++++++-------------
- gi/_gobject/pygflags.c | 21 +++++++++------------
- 2 files changed, 25 insertions(+), 25 deletions(-)
-
-commit dd31b67e821f92b5f1c2ee0382cac5edd477cd11
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Aug 22 10:45:39 2012 +0200
-
-    [API add] Override g_menu_item_set_attribute
-
-    This C utility API take a vararg, add a corresponding override that
-    takes a list of tuples
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=682436
-
- gi/overrides/Gio.py     | 10 ++++++++++
- tests/test_overrides.py | 11 +++++++++++
- 2 files changed, 21 insertions(+)
-
-commit 836902801373e386d370c44e7487aac3432f19f6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Aug 20 23:37:40 2012 +0200
-
-    post-release bump to 3.3.91
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6a629e23ff7b0d6f532184017577c7427d577e28
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Aug 20 23:05:49 2012 +0200
-
-    release 3.3.90
-
- NEWS         | 13 +++++++++++++
- configure.ac |  2 +-
- 2 files changed, 14 insertions(+), 1 deletion(-)
-
-commit 5cd18c9bd59a60b930ced0b35d728c12bb3291c7
-Author: Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
-Date:   Mon Aug 20 22:54:52 2012 +0200
-
-    Implement marshalling for GParamSpec
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=681565
-
-    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygi-marshal-to-py.c | 16 ++++++++++++----
- tests/test_gi.py        | 14 ++++++++++++++
- 2 files changed, 26 insertions(+), 4 deletions(-)
-
-commit 16462de3f025f14706ec23fa9b3653feb66ad57f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Aug 20 15:24:10 2012 +0200
-
-    Fix pep8/pyflakes invocation
-
-    Fix regression from commit 1e056e4f4a: Do fail the tests if
-    pyflakes/pep8
-    exist, but fail.
-
- tests/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 1bee194274bcda9ba5f6751fa921218a92c8ac72
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Thu Aug 16 16:05:52 2012 -0700
-
-    Fix erronous import statements for Python 3.3
-
-    Update pygobject-external.h to use GType (which is what GTypeWrapper
-    is
-    exposed as) instead of GTypeWrapper when attempting import.
-
-    Catch ImportError around attempted imports of a typelibs override file
-    which don't always exist (GObject...). This is a behavioural change in
-    Python 3.3 (http://bugs.python.org/issue15715), but let's fix
-    it anyway.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=682051
-
- gi/module.py            | 7 +++++--
- gi/pygobject-external.h | 2 +-
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-commit 1e056e4f4a19fd1139187467677c2592c2722290
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Aug 20 11:52:08 2012 +0200
-
-    Do not fail tests if pyflakes or pep8 are not installed
-
-    These tools might not be desirable in restricted build environments or
-    backports, and e. g. Fedora patches those out. So let the tests
-    work without
-    these tools.
-
- tests/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit c219fa6da89a7d55c5c111751684aae6876a9fe3
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Aug 20 11:42:47 2012 +0200
-
-    gtk-demo: Fix some PEP-8 whitespace issues
-
- demos/gtk-demo/demos/Icon View/iconviewbasics.py | 3 +--
- demos/gtk-demo/demos/dialogs.py                  | 2 +-
- demos/gtk-demo/demos/rotatedtext.py              | 3 +--
- 3 files changed, 3 insertions(+), 5 deletions(-)
-
-commit 0ac2a85cae368c046839b5619a96efc9e0b91ba3
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Aug 20 11:38:50 2012 +0200
-
-    test_overrides.py: Fix PEP8 whitespacing
-
- tests/test_overrides.py | 48
- +++++++++++++++++++++++++-----------------------
- 1 file changed, 25 insertions(+), 23 deletions(-)
-
-commit 631a9cd05cbc7dc3d0f743a84b948ef7d93c0ed4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Aug 20 11:36:19 2012 +0200
-
-    Ignore E124 pep8 error
-
-    This is "closing bracket does not match visual indentation" which
-    is really
-    stupid. We do want the closing bracket at the same indentation level
-    as the
-    opening bracket, not the indentation level of the whole statement.
-
- tests/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 266d37719bb54e6f04d23ff21bcceb9514e20ff2
-Author: David Malcolm <dmalcolm@redhat.com>
-Date:   Mon Aug 20 11:27:52 2012 +0200
-
-    Fix unmarshalling of gssize
-
-    Do not assume that the v_int union member always corresponds to a
-    gssize. This
-    is not true on big-endian 64 bit machines like ppc64, so add a new
-    gi_argument_to_gssize() and use it properly.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680693
-    https://bugzilla.redhat.com/show_bug.cgi?id=842880
-
- gi/pygi-argument.c       | 53
- +++++++++++++++++++++++++++++++++++++++++++++---
- gi/pygi-argument.h       |  1 +
- gi/pygi-closure.c        |  2 +-
- gi/pygi-info.c           |  4 ++--
- gi/pygi-signal-closure.c |  2 +-
- 5 files changed, 55 insertions(+), 7 deletions(-)
-
-commit 1c5d497d3c354f4d02f1d4570df2c61d6f47300c
-Author: David Malcolm <dmalcolm@redhat.com>
-Date:   Mon Aug 20 11:19:27 2012 +0200
-
-    Fix various endianess errors
-
-    Fix code which assumed little endian behaviour when mixing different
-    types of
-    ints, putting ints into pointers, etc.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680692
-    https://bugzilla.redhat.com/show_bug.cgi?id=841596
-
- gi/pygi-argument.c        |  64 +++++++++++++--
- gi/pygi-argument.h        |   6 ++
- gi/pygi-cache.c           |   2 +
- gi/pygi-closure.c         |  57 ++++++++++++-
- gi/pygi-marshal-from-py.c | 203
- ++++++++++++++++++++++++++++++++++++----------
- gi/pygi-marshal-from-py.h |   3 +
- gi/pygi-marshal-to-py.c   | 137 ++++++++++++++++++++++++-------
- 7 files changed, 391 insertions(+), 81 deletions(-)
-
-commit ee6da6f1aa2cd6e55834f9edc17f785613d00031
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Aug 15 13:16:11 2012 +0200
-
-    Add unit test for the TreeModelSort override
-
- tests/test_overrides.py | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 9f027daa5737107b5959964b699c0089aec8ab1e
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Thu Aug 9 03:33:06 2012 -0700
-
-    Gtk overrides: Add TreeModelSort.__init__(self, model)
-
-    This adds "model" as a required argument to TreeModelSort
-    instead of it being a hidden keyword argument. This is needed
-    because the model property is set to construct only and the
-    default value of None/NULL makes the object useless anyhow.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=681477
-
- gi/overrides/Gtk.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit c8424c2bb19356679e250e73542682dd5f4c74a5
-Author: Manuel Quiñones <manuq@laptop.org>
-Date:   Fri Aug 10 09:38:24 2012 -0300
-
-    Convert Gtk.CellRendererState in the pygi-convert script
-
-    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=681596
-
- pygi-convert.sh | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 54d829b34a0d32d852db370f61cc7f25c149f373
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Mon Aug 6 16:19:28 2012 +0200
-
-    More updates to the HACKING file
-
-    module-install has been replaced with 'ftpadmin install' and other
-    minor
-    changes
-
- HACKING | 26 ++++++++++----------------
- 1 file changed, 10 insertions(+), 16 deletions(-)
-
-commit 0788880c6cf4070d3db09896c165fe470d2ec186
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Mon Aug 6 16:00:39 2012 +0200
-
-    Post-release version bump to 3.3.6
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 664403d953c3e07077d0db90bfae3b51c7f1767c
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Mon Aug 6 15:52:22 2012 +0200
-
-    release 3.3.5
-
- NEWS | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-commit b748753a2a9af018001213e2e58c48d6c8bfadbd
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Mon Aug 6 15:44:32 2012 +0200
-
-    Update HACKING file to mention "make release-news"
-
- HACKING | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-commit 587a0c33901383b891f8eb77351c17f06af20b4f
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Mon Aug 6 15:38:23 2012 +0200
-
-    pygi-closure: remove unused variables
-
-    These variables are assigned but never actually used
-
- gi/pygi-closure.c | 8 --------
- 1 file changed, 8 deletions(-)
-
-commit dbc6df6aad7197fcf8721ade429baadd749f7069
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Aug 3 07:13:55 2012 +0200
-
-    tests: Do not break on Pango warnings
-
-    In some restricted environments (like chroots) we sometimes get
-    warnings from
-    Pango when it cannot find an appropriate font. Do not make the tests
-    fail on
-    those.
-
- tests/test_overrides.py   | 4 ++++
- tests/test_pygtkcompat.py | 6 ++++++
- 2 files changed, 10 insertions(+)
-
-commit 770e6abfd5bc5dad7d5f56a18f1ef63f9754ada9
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Aug 3 06:45:48 2012 +0200
-
-    Fix list marshalling on big-endian machines
-
-    On big endian machines we cannot simply set e. g. GIArgument.v_int8
-    and expect
-    GIArgument.v_pointer to be a correct representation. This needs to use
-    GINT_TO_POINTER/GPOINTER_TO_INT properly, so use the already existing
-    _pygi_hash_pointer_to_arg()/_pygi_arg_to_hash_pointer() methods
-    in marshalling
-    to and from GList and GSList, and handle int8 and int16 as well.
-
-    Part of porting pygobject to ppc64:
-    https://bugzilla.redhat.com/show_bug.cgi?id=842880
-    https://bugzilla.gnome.org/show_bug.cgi?id=680693
-
- gi/pygi-marshal-from-py.c | 48 ++++++++++++++++++++++++-----------------
- gi/pygi-marshal-to-py.c   | 54
- +++++++++++++++++++++++++++--------------------
- 2 files changed, 60 insertions(+), 42 deletions(-)
-
-commit b5cd13f47309ec26727b7574e33595a357602468
-Author: Colin Walters <walters@verbum.org>
-Date:   Tue Jul 31 11:47:02 2012 -0400
-
-    pygi-marshal: One more 32-bit -Werror=format fix
-
- gi/pygi-marshal-from-py.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 526bf43691cb6ed908589312b1693a6389eba00c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jul 31 17:14:37 2012 +0200
-
-    Beautify class/interface type mismatch error messages
-
-    Avoid saying "<unknown module>.int", just skip the module name
-    completely if we do not have one.
-
- gi/pygi-marshal-from-py.c | 20 ++++++++++++--------
- 1 file changed, 12 insertions(+), 8 deletions(-)
-
-commit 8fb18c62d9c7faff38df3886cb4289b618c81b85
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jul 31 13:13:21 2012 +0200
-
-    Skip instead of fail tests which need Pango, Atk, Gdk, Gtk
-
-    On initial jhbuild bootstrap or restricted environments, the Pango,
-    Atk, Gdk,
-    and Gtk typelibs might not be available. Skip tests which need these
-    instead of
-    failing the testsuite.
-
- tests/test_atoms.py       |  7 ++++++-
- tests/test_everything.py  |  9 ++++++++-
- tests/test_overrides.py   | 32 ++++++++++++++++++++++++++------
- tests/test_pygtkcompat.py | 30 ++++++++++++++++++++----------
- 4 files changed, 60 insertions(+), 18 deletions(-)
-
-commit a2e73c109f3ed6080eabc85810e624b9f984317e
-Author: Colin Walters <walters@verbum.org>
-Date:   Tue Jul 31 09:02:24 2012 -0400
-
-    pygi-argument: Fix -Wformat warning on 32 bit builds
-
- gi/pygi-argument.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 7563bb9f8ed5740f52ddf0ca59daf7839853505b
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jul 31 11:14:36 2012 +0200
-
-    Fix tests for Python 2
-
-    In Python 2 we get different error messages for a mismatching self
-    type. Fixes
-    check after commit 121b14028.
-
- tests/test_gi.py | 32 ++++++++++++++++++++------------
- 1 file changed, 20 insertions(+), 12 deletions(-)
-
-commit 5c5b066854cc0b3b7702f31d212aa3f511c62127
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jul 31 10:30:22 2012 +0200
-
-    Build with -Werror=format
-
-    This catches format string problems on particular architectures like
-    in commit
-    dea24f8e12 much more insistently.
-
- configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 6e84a3052667fdc88c2081e20cc6dc3257ec9d6c
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Mon Jul 30 02:00:16 2012 -0700
-
-    [API add] pygtkcompat: Add more pixbuf creation functions
-
-    Add the following functions:
-    pixbuf_new_from_data
-    pixbuf_new_from_file_at_scale
-    pixbuf_new_from_file_at_size
-    pixbuf_new_from_inline
-    pixbuf_new_from_stream
-    pixbuf_new_from_stream_at_scale
-    pixbuf_new_from_xpm_data
-    pixbuf_get_file_info
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680814
-
- gi/pygtkcompat.py | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-commit dea24f8e1221516b2d8ea578e55124b0409d6a76
-Author: Colin Walters <walters@verbum.org>
-Date:   Mon Jul 30 22:17:44 2012 -0400
-
-    marshal: Fix a lot of format string warnings on 32 bit
-
-    G_GUINT64_FORMAT and friends handle "%lld" portably.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680878
-
- gi/pygi-marshal-from-py.c | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-commit b630038d9a1c8cb7e5914c77fbacbed646c154d1
-Author: Colin Walters <walters@verbum.org>
-Date:   Mon Jul 30 22:30:07 2012 -0400
-
-    marshal: Fix build break on Python 2
-
-    I *think* using this wrapper function instead is right.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680879
-
- gi/pygi-marshal-from-py.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit a8338a991bbe919f0e2d9b92f7b71f89ccd2c875
-Author: Manuel Quiñones <manuq@laptop.org>
-Date:   Mon Jul 30 12:53:36 2012 -0300
-
-    Improve testcase for tree_view_column_set_attributes
-
-    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680320
-
- tests/test_overrides.py | 20 ++++++++++++++++++--
- 1 file changed, 18 insertions(+), 2 deletions(-)
-
-commit 121b1402860407fe46f7501e42447bf3607872ec
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jul 31 00:37:55 2012 +0200
-
-    Fix error messages on interface/class type mismatches
-
-    Previously, when you called a function with an argument which was not
-    compatible with the expected class/interface type, you got an
-    error message
-    like
-
-      TypeError: Expected Gtk.TreeViewColumn, but got GObjectMeta
-
-    which had the wrong (and useless) class name for the actual type,
-    and did not
-    tell you which argument caused the problem. With this it says e. g.
-
-      TypeError: argument column: Expected Gtk.TreeViewColumn, but
-      got Gtk.Button
-
-    instead.
-
- gi/pygi-marshal-from-py.c | 41 ++++++++++++++++++++++++++--------
- tests/test_gi.py          | 57
- ++++++++++++++++++++++++++++++++++++++++++++++-
- 2 files changed, 88 insertions(+), 10 deletions(-)
-
-commit 8f31e85db1392eb7222593fc0d05144c2bca06a3
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Sun Jul 29 23:36:25 2012 -0700
-
-    Fix crash when returning (False, None) from
-    Gtk.TreeModel.do_get_iter()
-
-    Add a Py_None check before attempting memcpy().
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680812
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygi-closure.c       | 10 +++++++---
- tests/test_overrides.py |  9 +++++++++
- 2 files changed, 16 insertions(+), 3 deletions(-)
-
-commit 94e5d58e7794de91d3291e0e51c42070da4fc92b
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jul 30 11:58:24 2012 +0200
-
-    Add test case for Gtk.TextIter.forward_search()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=679415
-
- tests/test_overrides.py | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-commit aae4e77482c02e21154ab02b159f380f5f0f74be
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jul 27 23:06:39 2012 +0200
-
-    Add missing static declarations
-
-    This fixes a lot of -Wmissing-prototype warnings.
-
-    Also remove _pygi_marshal_cleanup_closure_unref() which is not
-    used anywhere.
-
- gi/_gobject/gobjectmodule.c |  4 ++--
- gi/_gobject/pygobject.c     |  2 +-
- gi/pygi-cache.c             |  2 +-
- gi/pygi-foreign-cairo.c     | 24 ++++++++++++------------
- gi/pygi-foreign.c           |  2 +-
- gi/pygi-marshal-cleanup.c   |  9 ---------
- tests/test-unknown.c        |  2 +-
- tests/testhelpermodule.c    |  4 ++--
- 8 files changed, 20 insertions(+), 29 deletions(-)
-
-commit 5f88d3017f853c4ff5e9fd89ef39e4569a9b9c16
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jul 27 23:01:08 2012 +0200
-
-    Fix more missing #includes
-
-    Add missing includes which caused -Wmissing-prototypes warnings.
-
- gi/_gobject/pygenum.c      | 2 ++
- gi/_gobject/pyginterface.c | 2 ++
- 2 files changed, 4 insertions(+)
-
-commit 97b5184c6650964ae8a7616353f5ce8e3ca19af3
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jul 27 22:59:21 2012 +0200
-
-    Make some warnings fatal
-
-    Add -Werror for some warnings which are real errors in the source
-    which we
-    really want to avoid. This includes -Wmissing-prototypes, but that
-    currently
-    breaks on building g-i's regress.c.
-
- configure.ac | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit c2ee8c550199de59dd220561ed028ec6fb8e1daf
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jul 27 22:08:47 2012 +0200
-
-    Fix missing #includes
-
-    Add missing includes which caused -Wmissing-prototypes warnings.
-
- gi/_glib/pygiochannel.c | 2 ++
- gi/_glib/pygspawn.c     | 2 ++
- 2 files changed, 4 insertions(+)
-
-commit 8bc98fc6665ebab763ee92361929139a0ebe66b5
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jul 27 20:52:00 2012 +0200
-
-    pygi-info.c: Robustify pointer arithmetic
-
-    In _wrap_g_field_info_{get,set}_value(), use explicit char* casts
-    to point out
-    that we are using byte offsets. Fixes warnings:
-
-    pygi-info.c:1277:43: warning: pointer of type 'void *' used in
-    arithmetic [-Werror=pointer-arith]
-
- gi/pygi-info.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit d0a561057b727ebcc1fd06fa6a3b48f2a1f8338e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jul 27 20:50:30 2012 +0200
-
-    pyglib.c: Remove some dead code
-
-    Drop unused pyglib_gil_state_ensure_py23() and
-    pyglib_gil_state_release_py23().
-
- gi/_glib/pyglib.c | 18 ------------------
- 1 file changed, 18 deletions(-)
-
-commit a46d165d906d0ac7613f4d946542423e979f39d5
-Author: Manuel Quiñones <manuq@laptop.org>
-Date:   Fri Jul 20 10:37:04 2012 -0300
-
-    Add set_attributes() override to Gtk.TreeViewColumn
-
-    Looking at the C code, gtk_tree_view_column_set_attributesv just calls
-    gtk_cell_layout_clear_attributes and then
-    gtk_cell_layout_add_attribute for each (name, value) passed.  This
-    patch makes the same in the overrides.
-
-    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/overrides/Gtk.py     | 7 +++++++
- tests/test_overrides.py | 6 ++++++
- 2 files changed, 13 insertions(+)
-
-commit 4df676e10a5ea595a0d491af10268f557dd722d7
-Author: Daniel Narvaez <dwnarvaez@gmail.com>
-Date:   Tue Jul 24 13:49:15 2012 +0200
-
-    Drop git.mk
-
-    The autogenerated gitignores was missing several files. So we
-    was using a manual .gitignore at the root. But since it's
-    enough to add a couple of entries to it to cover the whole
-    tree, there is no much point in using git.mk at all.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=678192
-
- Makefile.am               |   3 -
- docs/Makefile.am          |   2 -
- examples/Makefile.am      |   3 -
- gi/Makefile.am            |   3 -
- gi/_glib/Makefile.am      |   3 -
- gi/_gobject/Makefile.am   |   2 -
- gi/overrides/Makefile.am  |   2 -
- gi/repository/Makefile.am |   2 -
- git.mk                    | 200
- ----------------------------------------------
- tests/Makefile.am         |   2 -
- 10 files changed, 222 deletions(-)
-
-commit 0d729c1534c7f3226b492f549d8f6ad3bb3ac8b7
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Fri Jul 20 19:55:46 2012 -0700
-
-    Gtk overrides: Add TreePath.__getitem__()
-
-    Use pythons sub-script operator for indexing into TreePaths
-    as was the case in PyGtk. Also changed __iter__ to use
-    TreePath.get_indices as opposed to formatting and re-parsing
-    a string for getting an index list.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680353
-
- gi/overrides/Gtk.py     | 5 ++++-
- tests/test_overrides.py | 4 ++++
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
-commit affc7faa3fa7250e2e8c2c65e6860906f6fbc4fb
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Fri Jul 20 21:34:33 2012 -0700
-
-    Fix property type mapping from int to TYPE_INT for python3.
-
-    Python3 does not have a long type, however, propertyhelper.py was
-    using long_ = int; to get things working. Type mapping code
-    was then checking for long_ first and always returning TYPE_LONG.
-    Additional refactoring was done to move large if/elif statements
-    into dictionary lookups and usage of tuples instead of lists
-    for simple 'in' list of items tests.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=679939
-
- gi/_gobject/propertyhelper.py | 117
- +++++++++++++++++++-----------------------
- tests/test_properties.py      |  55 +++++++++++++++-----
- 2 files changed, 96 insertions(+), 76 deletions(-)
-
-commit 6fddba5bc5ea02938677a89ffeb0cfc53229b894
-Author: Manuel Quiñones <manuq@laptop.org>
-Date:   Thu Jul 19 12:11:34 2012 -0300
-
-    Convert Gtk.DestDefaults constants in pygi-convert.sh script
-
-    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680259
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit d58c3553062fd8704a81a8233b4a1563a6611718
-Author: Manuel Quiñones <manuq@laptop.org>
-Date:   Thu Jul 19 12:04:03 2012 -0300
-
-    Convert all Gdk.WindowState constants in pygi-convert.sh
-
-    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680257
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit a3aae2e152c0b955037b7b85e16d14d00881d870
-Author: Joe R. Nassimian <placidrage@gmail.com>
-Date:   Thu Jul 19 15:48:20 2012 +0200
-
-    [API add] Add API for checking pygobject's version
-
-    Add a gi.__version__ attribute for the textual version, and
-    gi.version_info for
-    a version triple similar to sys.version_info.
-
-    Also add a gi.require_version(<minimum_version>) which raises an
-    exception if
-    the pygobject version is older.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680176
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/__init__.py   | 16 ++++++++++++++++
- tests/test_gi.py | 16 ++++++++++++++++
- 2 files changed, 32 insertions(+)
-
-commit a2d9b71d84f0fcb7aaf5ce483ffee3b3a1ccaca1
-Author: Manuel Quiñones <manuq@laptop.org>
-Date:   Mon Jul 16 17:14:46 2012 -0300
-
-    pygi-convert.sh: Add some missing Gdk.CursorTypes
-
-    This patch adds WATCH, ARROW and CLOCK.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680050
-
-    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- pygi-convert.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 0b08c01414ac73a4604acd9a846e7af09574929f
-Author: Manuel Kaufmann <humitos@gmail.com>
-Date:   Tue Jul 17 09:05:27 2012 -0300
-
-    pygi-convert.sh: convert rsvg.Handle(data=...)
-
-    Replace rsvg.Handle(data=data) with Rsvg.Handle.new_from_data(data)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680092
-
-    Signed-off-by: Manuel Kaufmann <humitos@gmail.com>
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- pygi-convert.sh | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 975855d0fff7f2042fe1f0e843f96b9a37cc6b79
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jul 16 17:35:38 2012 +0200
-
-    configure.ac: post-release bump to 3.3.5
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 126842b7227fcc1381dc158acdc5a96d0a465515
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jul 16 17:33:08 2012 +0200
-
-    release 3.3.4
-
- NEWS | 28 ++++++++++++++++++++++++++++
- 1 file changed, 28 insertions(+)
-
-commit 079b73b3eb9083bd53e06d095f9dccc02acf2a6e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jul 16 17:29:22 2012 +0200
-
-    test_gi: Fix for Python 2
-
- tests/test_gi.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-commit 30935fe31bfe201bbfdb7734f09fdd2bbaf80e08
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jul 16 16:35:33 2012 +0200
-
-    pygi-convert.sh: Drop bogus filter_new() conversion
-
-    my_tree_model.filter_new() is still a method on GtkTreeModel, not a
-    constructor, so do not try to convert it to a constructor call.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=679999
-
- pygi-convert.sh | 1 -
- 1 file changed, 1 deletion(-)
-
-commit c0607d970fc59528ca27d518282cf2871b92e909
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jul 16 16:00:40 2012 +0200
-
-    Fix help() for GI modules
-
-    Derive DynamicModule from types.ModuleType, so that the inspect
-    modules'
-    ismodule() actually succeeds on those and generates useful help on
-    a GI
-    repository module.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=679804
-
- gi/module.py     |  3 ++-
- tests/test_gi.py | 15 +++++++++++++++
- 2 files changed, 17 insertions(+), 1 deletion(-)
-
-commit 3235f1a397c334de5a7570f5ceed4da709fe1714
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jul 16 15:53:31 2012 +0200
-
-    Skip gi.CallbackInfo objects from a module's dir()
-
-    Skip gi.CallbackInfo items from IntrospectionModule's __dir__(),
-    as we do not
-    implement __getattr__ for those.
-
-    Add a test case that dir() works on GI modules, contain expected
-    identifiers,
-    and that all identifiers in dir() can actually be retrieved.
-
-    Prerequisite for https://bugzilla.gnome.org/show_bug.cgi?id=679804
-
- gi/module.py     |  7 +++++--
- tests/test_gi.py | 14 ++++++++++++++
- 2 files changed, 19 insertions(+), 2 deletions(-)
-
-commit f6cc039e014448a553d626aac4020ee69717edab
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jul 16 15:38:05 2012 +0200
-
-    Fix __path__ module attribute
-
-    get_typelib_path() returns bytes, not strings, so in Python 3 we
-    need to decode
-    it to get a proper __path__ attribute.
-
- gi/module.py     | 17 +++++++++++++++++
- tests/test_gi.py | 10 ++++++++++
- 2 files changed, 27 insertions(+)
-
-commit 858048f7cec78129aa914e2341ab80aac0e95cc5
-Author: Joe R. Nassimian <placidrage@gmail.com>
-Date:   Mon Jul 16 15:02:10 2012 +0200
-
-    pygi-convert.sh: Fix some child â†’ getChild() false positives
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=680004
-
- pygi-convert.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a31fabdc12f1da301c8df0af319ca3f4181671ee
-Author: Mikkel Kamstrup Erlandsen <mikkel.kamstrup@canonical.com>
-Date:   Thu Jul 12 09:19:42 2012 +0200
-
-    Fix array handling for interfaces, properties, and signals
-
-    Fix lots of corner cases where arrays are not handled properly.
-    _pygi_argument_to_object() now has the documented expectation of
-    getting arrays
-    packed in GArrays. This was implicit before and not correctly done
-    on most call
-    sites.
-
-    The helper _pygi_argument_to_array() has been improved to work on
-    any kind of
-    array. Fix all call sites of _pygi_argument_to_object() to do the
-    array conversion appropriately before calling
-    _pygi_argument_to_object().
-
-    Adds a test case that implements a GInterface with a method that
-    takes an array
-    of variants as input.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=667244
-
- gi/pygi-argument.c       | 156
- ++++++++++++++++++++++++++++++++---------------
- gi/pygi-argument.h       |   4 +-
- gi/pygi-closure.c        |  11 ++++
- gi/pygi-info.c           |  20 ++++--
- gi/pygi-property.c       |   1 +
- gi/pygi-signal-closure.c |  14 ++++-
- tests/test_gi.py         |  18 ++++++
- 7 files changed, 167 insertions(+), 57 deletions(-)
-
-commit bb80d124269ee2389c04d03a478475868fd9ff7b
-Author: Manuel Quiñones <manuq@laptop.org>
-Date:   Wed Jul 11 22:05:41 2012 -0300
-
-    Add conversion of the Gdk.PropMode constants to pygi-convert.sh script
-
-    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=679775
-
- pygi-convert.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit e3a63eefa5fb2abeabd210790e12642e577363c8
-Author: Manuel Quiñones <manuq@laptop.org>
-Date:   Wed Jul 11 13:18:16 2012 -0300
-
-    Add the same rules for pack_start to convert pack_end
-
-    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=679760
-
- pygi-convert.sh | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit b4bef457c2d0ca6899e06a021f1f06252a37e326
-Author: Dave Malcolm <dmalcolm@redhat.com>
-Date:   Wed Jul 11 08:21:27 2012 +0200
-
-    Add error-checking for the case where _arg_cache_new() fails
-
-    This can happen when a typelib and its underlying library are
-    out-of-sync. This
-    converts the segfault into a more helpful traceback.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=678914
-
- gi/pygi-cache.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 41287d8a439c656e4ac60361fddec643c713234c
-Author: Manuel Quiñones <manuq@laptop.org>
-Date:   Wed Jul 11 11:13:38 2012 -0300
-
-    Add conversion of the Gdk.NotifyType constants to pygi-convert.sh
-    script
-
-    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=679754
-
- pygi-convert.sh | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit 5403149b900d1b73cbc78767dc43be2eb344c836
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Tue Jul 10 19:07:32 2012 -0700
-
-    Fix PyObject_Repr and PyObject_Str reference leaks
-
-    Fix all calls to PyObject_Repr() and PyObject_Str() to be properly
-    DECREF'd.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675857
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/_glib/glibmodule.c       | 10 +++++++--
- gi/_gobject/gobjectmodule.c | 17 ++++++++++-----
- gi/_gobject/pygobject.c     | 53
- ++++++++++++++++++++++++++++++---------------
- gi/pygi-marshal-from-py.c   |  9 +++++---
- 4 files changed, 62 insertions(+), 27 deletions(-)
-
-commit 0ddfecf3bf0a5d7893cd02cff41503d810ef6ce8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jul 4 08:46:30 2012 +0200
-
-    [API add] Gtk overrides: Add TreePath.__len__()
-
-    Use the path depth as length of a Gtk.TreePath object.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=679199
-
- gi/overrides/Gtk.py     | 3 +++
- tests/test_overrides.py | 4 ++++
- 2 files changed, 7 insertions(+)
-
-commit e1e849d1a9af77c29ee35971db8d439bac60d573
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jul 4 08:35:16 2012 +0200
-
-    GLib.Variant: Fix repr(), add proper str()
-
-    Fix the GLib.Variant override's repr() after commit 16280d6985. Also
-    add a
-    proper __str__() method, and tests for both.
-
-    Thanks to Rul Matos for spotting this!
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=679336
-
- gi/overrides/GLib.py    | 6 +++++-
- tests/test_overrides.py | 5 +++++
- 2 files changed, 10 insertions(+), 1 deletion(-)
-
-commit af20d7c929b9c1888454b52932a308d346e1c12b
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Jun 28 06:51:22 2012 +0200
-
-    m4/python.m4: Update Python version list
-
-    Thanks to Dieter Verfaillie for pointing  this out.
-
- m4/python.m4 | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-commit a96a26234e2aaa157837d26094864e3ad9b63edf
-Author: Micah Carrick <micah@quixotix.com>
-Date:   Mon Jun 25 09:05:59 2012 -0700
-
-    Remove "label" property from Gtk.MenuItem if it is not set
-
-    The Gtk.MenuItem will not render as a separator if the "label" or
-    "user-underline" properties have been accessed. The constructor
-    for Gtk.MenuItem override should not pass the "label" property
-    as an argument if it is None since that will still result in an
-    empty label widget which breaks Gtk.SeparatorMenuItem.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=670575
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/overrides/Gtk.py | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit afa12faf339efb4f7780168e884ecf49b630644a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jun 25 16:36:31 2012 +0200
-
-    configure.ac: Post-release bump to 3.3.4.
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 198066effc0ca44ccb897e9f0738ab627e8b3275
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jun 25 16:35:49 2012 +0200
-
-    release 3.3.3.1
-
- NEWS         | 3 +++
- configure.ac | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-commit cb70ae0aa52ab7624b2b8c30297d8a52a7db7f44
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jun 25 16:32:45 2012 +0200
-
-    Do not escape enum and flag names that are Python keywords
-
-    These are translated to upper case, and thus can never be
-    keywords. This broke
-    existing API such as Gtk.ShadowType.IN.
-
- gi/module.py     | 2 +-
- gi/pygi-info.c   | 7 +++++++
- tests/test_gi.py | 3 +++
- 3 files changed, 11 insertions(+), 1 deletion(-)
-
-commit f2524a982b0b8ba7cdbb77003372416af0b7a978
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jun 25 15:39:50 2012 +0200
-
-    configure.ac: Post-release version bump to 3.3.4
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit fe56faa346c8e8f9fd5915602424778d458a776d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jun 25 15:36:37 2012 +0200
-
-    release 3.3.3
-
- NEWS | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit 299a2fd726f0aceaf67b1cec7a0ef8b21ff7bcbc
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jun 25 15:35:19 2012 +0200
-
-    Bring back ChangeLog make target
-
-    This is being used by "make dist".
-
- Makefile.am | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit 760118e4ed73de2f022706ef897fcc848e90c005
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jun 25 15:31:14 2012 +0200
-
-    Remove obsolete ChangeLog and release-tag make targets
-
- Makefile.am | 23 -----------------------
- 1 file changed, 23 deletions(-)
-
-commit e92278692bb51679d6e957c2ac36db64498a7c73
-Author: Simon Schampijer <simon@schampijer.de>
-Date:   Fri Jun 15 16:11:21 2012 +0200
-
-    Do not do any python calls when GObjects are destroyed after the
-    python interpreter has been finalized
-
-    This happens when pygobject_data_free () function is called after
-    the python
-    interpreter shuts down, we can't do python calls after that.
-
-    Benzea did the findings because of a bug in Sugar, and commented
-    in this
-    SugarLabs ticket: http://bugs.sugarlabs.org/ticket/3670
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=678046
-
-    Signed-off-by: Benjamin Berg <benzea@sugarlabs.org>
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/_gobject/pygobject.c | 27 ++++++++++++++++++++++-----
- 1 file changed, 22 insertions(+), 5 deletions(-)
-
-commit de4aa426002eeb09a060f8fd70bd6cb25a17766a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jun 25 15:06:47 2012 +0200
-
-    Do not change constructor-only "type" Window property
-
-    When reading a Gtk.Window subclass from a GtkBuilder object,
-    the object's
-    properties are already set at __init__ time. Do not try to set it
-    again, to
-    avoid a warning.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=678510
-
- gi/overrides/Gtk.py     |  8 +++++++-
- tests/test_overrides.py | 36 ++++++++++++++++++++++++++++++++++++
- 2 files changed, 43 insertions(+), 1 deletion(-)
-
-commit 16280d6985f2cf4db9cf062e857650e620fd9da8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Jun 25 09:40:38 2012 +0200
-
-    Escape identifiers which are Python keywords
-
-    Add a trailing underscore to identifiers which are Python keywords.
-
-    We use a per-major-version static identifier list derived from
-    keyword.kwlist
-    instead of calling out to Python's keyword.iskeyword(). This is
-    much faster,
-    and also allows us to tweak the result. For example, Python 3 dropped
-    "print"
-    as a keyword, but we still want to escape that to avoid breaking
-    the API
-    between different Python versions.
-
-    Error out when building with a major Python version not covered yet,
-    so that we
-    do not forget to update the list in the future.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=676746
-
- gi/pygi-info.c   | 38 +++++++++++++++++++++++++++++++++++++-
- tests/test_gi.py | 17 +++++++++++++++++
- 2 files changed, 54 insertions(+), 1 deletion(-)
-
-commit 3864d7a3b7def035ee2daf22ba717371c8d261de
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jun 22 13:13:37 2012 +0200
-
-    Ignore E123 in pep8 tests
-
-    This is "closing bracket does not match indentation of opening
-    bracket's line",
-    but it really looks better to have the closing bracket on the
-    indentation level
-    of the opening bracket instead of the indentation level of the
-    line that
-    contains the opening bracket.
-
- tests/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit fb436dd6d3b40b3f2a8ba6f402e2987752ad1902
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jun 22 13:08:34 2012 +0200
-
-    PEP8: Fix indentation
-
-    Spotted by current pep8 checker.
-
- demos/gtk-demo/demos/Entry/entry_buffer.py     |  6 +--
- demos/gtk-demo/demos/Entry/entry_completion.py |  6 +--
- demos/gtk-demo/demos/Entry/search_entry.py     |  4 +-
- demos/gtk-demo/demos/appwindow.py              |  2 +-
- demos/gtk-demo/demos/clipboard.py              |  8 +--
- demos/gtk-demo/demos/colorselector.py          |  6 +--
- demos/gtk-demo/demos/rotatedtext.py            |  8 +--
- demos/gtk-demo/gtk-demo.py                     |  6 +--
- examples/option.py                             | 29 ++++++-----
- examples/signal.py                             |  3 +-
- gi/_glib/option.py                             |  6 +--
- gi/_gobject/propertyhelper.py                  | 18 +++----
- gi/module.py                                   | 14 +++---
- gi/overrides/GLib.py                           |  2 +-
- gi/overrides/Gio.py                            | 11 +++--
- gi/overrides/Gtk.py                            | 16 +++---
- gi/pygtkcompat.py                              |  7 ++-
- gi/types.py                                    | 17 ++++---
- tests/runtests.py                              |  2 +-
- tests/test_gdbus.py                            | 55 +++++++++++----------
- tests/test_gi.py                               | 15 +++---
- tests/test_gobject.py                          | 18 +++----
- tests/test_option.py                           | 26 +++++-----
- tests/test_overrides.py                        | 67
- +++++++++++++-------------
- tests/test_properties.py                       | 30 ++++++------
- tests/test_signal.py                           |  2 +-
- tests/test_uris.py                             |  9 ++--
- 27 files changed, 200 insertions(+), 193 deletions(-)
-
-commit 129462ccc4a2191ecbb42247030c91bd0f1454f6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jun 22 12:36:54 2012 +0200
-
-    PEP8: Use isinstance() instead of direct type comparisons
-
-    Spotted by current pep8 checker.
-
- gi/overrides/GLib.py     | 2 +-
- gi/overrides/__init__.py | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit 50e45a624e6301e65c150e137aad6d092f203f3f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jun 22 12:30:10 2012 +0200
-
-    PEP8: Fix continuation lines
-
-    Spotted by current pep8 checker.
-
- demos/gtk-demo/demos/Entry/search_entry.py |  6 +++---
- gi/__init__.py                             |  6 +++---
- gi/_gobject/__init__.py                    |  6 ++----
- gi/module.py                               |  6 +++---
- tests/test_overrides.py                    | 11 +++--------
- 5 files changed, 14 insertions(+), 21 deletions(-)
-
-commit ef06548b0dc6aee0e8ab208a78966dc1d5d917ee
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jun 22 12:24:32 2012 +0200
-
-    PEP8: Consistent comparisons against True, False, and None
-
-    Spotted by current pep8 checker.
-
- demos/gtk-demo/demos/clipboard.py   | 4 ++--
- demos/gtk-demo/demos/drawingarea.py | 4 ++--
- demos/gtk-demo/gtk-demo.py          | 8 ++++----
- gi/overrides/Gdk.py                 | 2 +-
- gi/overrides/Gtk.py                 | 2 +-
- tests/test_gi.py                    | 4 ++--
- tests/test_overrides.py             | 3 +--
- 7 files changed, 13 insertions(+), 14 deletions(-)
-
-commit 379c1474a071292a1e8da413af2f5438cff09fc8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jun 20 12:23:12 2012 +0200
-
-    Fix crash in GLib.find_program_in_path()
-
-    We need to handle a NULL return value properly.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=678119
-
- gi/_glib/glibmodule.c | 10 ++++++++--
- tests/Makefile.am     |  1 +
- tests/test_glib.py    | 15 +++++++++++++++
- 3 files changed, 24 insertions(+), 2 deletions(-)
-
-commit 73531fd7820bd1922347bd856298d68205a27877
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Jun 20 11:16:39 2012 +0200
-
-    Revert "Do not bind gobject_get_data() and gobject_set_data()"
-
-    We should have some deprecation period for this, so bring back
-    these two
-    methods and add deprecation warnings.
-
-    This reverts commit 24cc09a7105299805fcc5bc151f53ac69958d728.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=641944
-
- gi/_gobject/pygobject.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 44 insertions(+)
-
-commit a0daa843801658929ffee5bcb9eb67d955dc7921
-Author: David Keijser <keijser@gmail.com>
-Date:   Mon Jun 18 15:09:34 2012 +0200
-
-    GVariant: Raise proper TypeError on invalid tuple input
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=678317
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/overrides/GLib.py    | 4 ++--
- tests/test_overrides.py | 1 +
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-commit fb39ba934180e1e48fd15774e69d1cecf47a4c84
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jun 5 19:11:38 2012 +0200
-
-    configure.ac: Post-release bump to 3.3.3
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7f0995e7fa865ebde7490d0570a7135a2f962cdf
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jun 5 19:09:12 2012 +0200
-
-    Release 3.3.2
-
- NEWS | 44 ++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 44 insertions(+)
-
-commit 8209c1ae1632c77768699481e574d5d378956e71
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Jun 5 19:04:49 2012 +0200
-
-    Fix "release-news" make target
-
-    Actually list changes since the previous release, not since 3.1.92.
-
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b21f66d2a399b8c9a36a1758107b7bdff0ec8eaa
-Author: Bastian Winkler <buz@netbuz.org>
-Date:   Wed May 9 19:04:01 2012 +0200
-
-    foreign: Register cairo.Path and cairo.FontOptions foreign structs
-
-    They are rarely used, but they are used at least by Gdk, PangoCairo
-    and
-    Clutter.
-
-    clutter.Path is not used by any API that the test suite uses, so
-    leave that
-    without a test for now.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=677388
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygi-foreign-cairo.c  | 85
- ++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_everything.py |  8 +++++
- 2 files changed, 93 insertions(+)
-
-commit 635a7d1b48d99ddd1ea123797c493b18b0cdfd45
-Author: Marien Zwart <marien.zwart@gmail.com>
-Date:   Wed May 23 01:51:46 2012 +0200
-
-    Check types in GBoxed assignments
-
-    Check if the Python value is GBoxed instead of assuming it is.
-    Without this, the following segfaults:
-
-    from gi.repository import Soup
-
-    msg = Soup.Message()
-    msg.props.uri = 'http://www.gnome.org'
-
-    as we assume the new property is a GBoxed while it is actually a
-    string.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=676603
-
-    Co-authored-by: Martin Pitt <martinpitt@gnome.org>
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygi-argument.c | 10 +++++++---
- tests/test_gi.py   | 19 +++++++++++++++++++
- 2 files changed, 26 insertions(+), 3 deletions(-)
-
-commit 2305dcd7e8841f87dc2fc683390df78453a5dc2a
-Author: Bastian Winkler <buz@netbuz.org>
-Date:   Sat May 12 14:08:51 2012 +0200
-
-    [API add] Gtk overrides: Add TreeModelRow.get_previous()
-
-    TreeModelRow has get_next() and a next property, it should also have
-    get_previous() and previous.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=677389
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/overrides/Gtk.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 5501fba534696974899f2591929bff9e1b6ecd65
-Author: Bastian Winkler <buz@netbuz.org>
-Date:   Sat May 12 13:50:02 2012 +0200
-
-    [API add] Add missing GObject.TYPE_VARIANT
-
-    Add TYPE_VARIANT to constants to make it accessible as
-    GObject.TYPE_VARIANT.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=677387
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/_gobject/__init__.py  | 1 +
- gi/_gobject/constants.py | 1 +
- 2 files changed, 2 insertions(+)
-
-commit 4c51a5411092f8ab6f8f6e9692a9b49692f621a7
-Author: Jasper St. Pierre <jstpierre@mecheye.net>
-Date:   Fri Jun 1 02:53:13 2012 -0400
-
-    Fix boxed type equality
-
-    Each boxed type has its own Python type, not PyGBoxed_Type. Use
-    PyObject_IsInstance instead of comparing against PyGBoxed_Type
-    directly.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=677249
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/_gobject/pygboxed.c   | 3 ++-
- tests/test_everything.py | 8 ++++++++
- 2 files changed, 10 insertions(+), 1 deletion(-)
-
-commit dc8eef26906753fcb3ce057b23ca110137897fa5
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Fri Jun 1 13:43:38 2012 +0200
-
-    Fix TestProperties.testBoxed test
-
-    A typo was preventing the test from being run.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=676644
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- tests/test_properties.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 853e6a71234ebd66af5a64dfb296e323c2c905a6
-Author: Carlos Garnacho <carlos@lanedo.com>
-Date:   Thu May 17 17:09:15 2012 +0200
-
-    Fix handling of by-reference structs as out parameters
-
-    When marshalling back from python, copy the result of by-reference
-    structs into the memory expected by the native caller, instead of
-    attempting to handle it as a pointer.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=653151
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygi-closure.c | 17 +++++++++++++++++
- tests/test_gi.py  |  5 +++++
- 2 files changed, 22 insertions(+)
-
-commit bac9d526f6a9774821d1c9c0e7b35cc6db942975
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jun 1 12:28:53 2012 +0200
-
-    tests: Add more vfunc checks for GIMarshallingTestsObject
-
- tests/test_gi.py | 25 +++++++++++++++++++++++++
- 1 file changed, 25 insertions(+)
-
-commit e1aaf4a48453be0e69e7f3a70a2e7a790871a4d2
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jun 1 12:02:55 2012 +0200
-
-    Test caller-allocated GValue out parameter
-
-    This came up as a side issue in
-    https://bugzilla.gnome.org/show_bug.cgi?id=653151
-
- tests/test_gi.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit edc17e703e1a05e20545d3df9167ceb076450443
-Author: Bastian Winkler <buz@netbuz.org>
-Date:   Wed May 16 11:13:05 2012 +0200
-
-    GObject.bind_property: Support transform functions
-
-    Add support for optional transformation functions to
-    pygobject_bind_property(). It uses a custom PyGClosure to marshal the
-    return value correctly.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=676169
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/_gobject/pygobject.c | 130
- +++++++++++++++++++++++++++++++++++++++++++++---
- tests/test_gobject.py   |  59 ++++++++++++++++++++++
- 2 files changed, 181 insertions(+), 8 deletions(-)
-
-commit 07a08b49aae83a297e2f91240448314e4663f724
-Author: Carlos Garnacho <carlos@lanedo.com>
-Date:   Mon May 14 15:31:14 2012 +0200
-
-    Fix lookup of vfuncs in parent classes
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672864.
-
-    As subclasses implemented in python override the attribute for the
-    vfunc, __mro__ has to be used so subclasses of the subclass overriding
-    methods may find the corresponding VFuncInfo.
-
-    Co-Authored-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/types.py      |  6 +++---
- tests/test_gi.py | 27 +++++++++++++++++++++++++++
- 2 files changed, 30 insertions(+), 3 deletions(-)
-
-commit b965ee15bac6cd28d16d32205d96d2b1bdd3f0e1
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Fri Jun 1 08:18:40 2012 +0200
-
-    tests/test_properties.py: Fix whitespace
-
-    The pep8 check failed on this.
-
- tests/test_properties.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 274d60a7c08d74a299f4b83d8054c00eadb4bdbd
-Author: Jasper St. Pierre <jstpierre@mecheye.net>
-Date:   Wed May 30 16:45:53 2012 -0400
-
-    gi: Support zero-terminated arrays with length arguments
-
-    Sometimes, you may see (array zero-terminated=1 length=length)
-    annotations.
-    Don't expose the length argument to the user in this case.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=677124
-
- gi/pygi-cache.c  | 13 ++++---------
- tests/test_gi.py |  3 +++
- 2 files changed, 7 insertions(+), 9 deletions(-)
-
-commit 62c2e962a225ec2527aa3d7406aa0dae232a0886
-Author: Jasper St. Pierre <jstpierre@mecheye.net>
-Date:   Fri May 25 17:09:55 2012 -0400
-
-    Fix build
-
-    libregress now needs cairo-gobject
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 9477f0f2f17a6d9b97e5ee08378bc009b8d4c30a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon May 14 15:48:34 2012 +0200
-
-    Fix comment in previous commit
-
- tests/test_gobject.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6610428394d0c65987de5021bf2c38641cdb7116
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Tue May 8 20:04:09 2012 -0700
-
-    [API add] Add GObject.bind_property method
-
-    This adds the "bind_property" method for binding two gobject
-    properties
-    together. The method returns a weak reference to a GBinding object.
-    The BindingWeakRef object is used to manage GBinding objects within
-    python
-    created through GObject.bind_property. It is a sub-class
-    PyGObjectWeakRef so
-    that we can maintain the same reference counting semantics between
-    Python
-    and GObject Binding objects. This gives explicit direct control of the
-    binding lifetime by using the "unbind" method on the BindingWeakRef
-    object
-    along with implicit management based on the lifetime of the source or
-    target objects.
-
-    Note this does not yet include support for converter closures. This
-    can come
-    later after the initial implementation is accepted.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675582
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/_gobject/pygobject.c | 104
- +++++++++++++++++++++++++++++++++++++++++++++++-
- tests/test_gobject.py   |  90 +++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 193 insertions(+), 1 deletion(-)
-
-commit 88babe7377402f6e6f912a8b83615aab848eae81
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Fri May 11 19:08:47 2012 -0300
-
-    pygtkcompat: Correctly set flags
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675911
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygtkcompat.py         | 5 ++---
- tests/test_pygtkcompat.py | 1 +
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-commit 3f712b56397296bca2f5358cd52977b1a2011964
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Fri May 11 12:39:05 2012 -0300
-
-    Gtk overrides: Implement __delitem__ on TreeModel
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675892
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/overrides/Gtk.py     | 16 ++++++++++++----
- tests/test_overrides.py |  9 +++++++++
- 2 files changed, 21 insertions(+), 4 deletions(-)
-
-commit 9a1a07742ec0b1821d469603f9996a2b7d832f40
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Sun May 6 18:10:39 2012 -0700
-
-    Gdk Color override should support red/green/blue_float properties
-
-    Added red_float, green_float, and blue_float properties to Color.
-    Also added Color.from_floats, RGBA.to_color, and RGBA.from_color.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675579
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/overrides/Gdk.py     | 44 ++++++++++++++++++++++++++++++++++++++++++++
- tests/Makefile.am       |  2 +-
- tests/test_overrides.py | 17 +++++++++++++++++
- 3 files changed, 62 insertions(+), 1 deletion(-)
-
-commit d9608c332d9592f03545b110cfac8105453ea035
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat May 5 12:42:42 2012 -0700
-
-    Support marshalling of GVariants for closures
-
-    Add GVariant handling to pyg_value_{as,from}_pyobject(), so that
-    closures can
-    be called with GVariant arguments and return GVariant.
-
-    Unmark the corresponding test case as "expected failure", and also
-    add cases
-    for None values and type mismatches.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=656554
-
- gi/_gobject/pygtype.c    | 47
- +++++++++++++++++++++++++++++++++++++++++++++--
- tests/test_everything.py | 16 ++++++++++++----
- 2 files changed, 57 insertions(+), 6 deletions(-)
-
-commit e7a909c16dc1c625ab11e270f23d540f15c71767
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Mon May 7 10:33:40 2012 -0300
-
-    Require gobject-introspection 1.33.0
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 9e8239684433631e0d1650d25416e4d7bf92a058
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun May 6 18:28:23 2012 -0700
-
-    NEWS: Add API additions since 3.2.0
-
- NEWS | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-commit d1a2bf51eb25b54028fbf496d20dfad9546bcb5e
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun May 6 18:25:23 2012 -0700
-
-    NEWS: Mark API changes since 3.2.0
-
- NEWS | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit a3329539291bd8ea9aa6cb184a05ea7c21f8885a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun May 6 18:19:35 2012 -0700
-
-    Fix commit 168a087 for Python 3
-
-    Simplify the type check and use the already existing one. Fix the
-    string check
-    to work with both Python 2 and 3.
-
- gi/pygi-argument.c | 42 +++++++++---------------------------------
- 1 file changed, 9 insertions(+), 33 deletions(-)
-
-commit 42c717ed77613e02f3c8ef2685bc071462b87d73
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun May 6 18:08:57 2012 -0700
-
-    pygtkcompat.py: Typo fix
-
-    Was missing a space around operator, causing the PEP8 check to fail.
-
- gi/pygtkcompat.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 168a08753cec1ff77ccca5d81b9a5fd2af5d3720
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun May 6 18:02:04 2012 -0700
-
-    _pygi_argument_from_object(): Check for compatible data type
-
-    Verify that the passed PyObject actually matches the expected type
-    of the
-    argument. With this, trying to assign a wrong type to a property
-    will now raise
-    a proper TypeError.
-
- gi/pygi-argument.c | 39 +++++++++++++++++++++++++++++++++++++++
- gi/pygi-property.c |  3 +++
- tests/test_gi.py   | 40 ++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 82 insertions(+)
-
-commit 5948b62ba3e08ea943e6965ee38c94c363186226
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun May 6 17:59:57 2012 -0700
-
-    pygtkcompat: Fix color conversion
-
-    gtk_style_context_get_background_color() returns a GdkRGBA value,
-    which has
-    float values between 0 and 1. However, we construct a GdkColor
-    object from
-    that, so we need to scale to 0..65535 and round to int.
-
- gi/pygtkcompat.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 6af74c501bc604559f8b5b4e0d856d022ed882bb
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun May 6 06:02:31 2012 -0700
-
-    test_gi: Check setting properties in constructor
-
- tests/test_gi.py | 33 +++++++++++++++++++++++++++++++++
- 1 file changed, 33 insertions(+)
-
-commit 9f50fd214e4214f83959b2883a0c667f7f157c97
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun May 6 05:50:00 2012 -0700
-
-    Support getting and setting GStrv properties
-
- gi/pygi-property.c | 36 ++++++++++++++++++++++++++++++++++++
- tests/test_gi.py   | 11 +++++++++++
- 2 files changed, 47 insertions(+)
-
-commit 8321af2c7df499291e664c676376f149a0c3dcac
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat May 5 13:58:29 2012 -0700
-
-    Support defining GStrv properties from Python
-
- gi/_gobject/propertyhelper.py | 10 ++++++--
- tests/test_properties.py      | 58
- +++++++++++++++++++++++++++++++++++++++++--
- 2 files changed, 64 insertions(+), 4 deletions(-)
-
-commit f2494526e1c579c41babfe7ff67deef0f6966adf
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat May 5 13:21:20 2012 -0700
-
-    Add GObject.TYPE_STRV constant
-
- gi/_gobject/__init__.py  | 1 +
- gi/_gobject/constants.py | 1 +
- tests/test_everything.py | 2 +-
- tests/test_signal.py     | 2 +-
- 4 files changed, 4 insertions(+), 2 deletions(-)
-
-commit 8c7306e4d6355ca45f8f1b4adf7d0595b4e8bcf8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat May 5 09:28:36 2012 +0200
-
-    Unref GVariants when destroying the wrapper
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675472
-
- gi/overrides/GLib.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit d6c091d87c86c8ccc7cb54347fbceccedac61633
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat May 5 09:23:55 2012 +0200
-
-    Fix TestArrayGVariant test cases
-
-    test_array_gvariant_container_in() and test_array_gvariant_full_in()
-    called
-    GIMarshallingTests.array_gvariant_none_in(), presumably a copy&paste
-    error.
-    Actually do what they mean to do now and call the corresponding
-    GIMarshallingTests methods.
-
- tests/test_gi.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit fda8a069d503e63c76a6b1ba285a181822549059
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Sat May 5 08:52:41 2012 +0200
-
-    pygtkcompat: Add gdk.pixbuf_get_formats compat code
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675489
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygtkcompat.py         | 20 ++++++++++++++++++++
- tests/test_pygtkcompat.py |  8 ++++++++
- 2 files changed, 28 insertions(+)
-
-commit 2b49c5f58bb841de7a9077eeeaf996eb9851dab3
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Mon Apr 30 13:44:19 2012 -0300
-
-    pygtkcompat: Add some more compat functions
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675489
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygtkcompat.py | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-commit 16fbb17a9fd17eeb9f886af99e89a214d328dae1
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu May 3 12:25:04 2012 +0200
-
-    Fix tests for Python 3
-
-    cmp() does not exist any more in Python 3, replace with comparison
-    operators.
-
-    GIMarshallingTests.array_in_nonzero_nonlen() expects a guint8 array,
-    so we
-    can't pass a str (which is an Unicode object in Python 3). Pass a
-    byte array
-    instead.
-
- tests/test_gi.py        | 2 +-
- tests/test_overrides.py | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit fd7f8eefbe8aba0b29d80e3eb9d985d33a268c8a
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu May 3 09:38:56 2012 +0200
-
-    Fix building with --disable-cairo
-
-    Build gobject-introspection's regress.c against cairo, not
-    pycairo/py3cairo. We
-    always need cairo to build, so unconditionally check for this in
-    configure.ac.
-
-    In test_everything.py, gracefully handle the absence of the "cairo"
-    Python
-    module, which we do not have when building without cairo support.
-
- configure.ac             | 3 +++
- tests/Makefile.am        | 4 ++--
- tests/test_everything.py | 8 +++++++-
- 3 files changed, 12 insertions(+), 3 deletions(-)
-
-commit 1c5634e6d98c8b67b37a2747951c66f5d8f1907d
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu May 3 09:28:51 2012 +0200
-
-    tests: Fix deprecated assertions
-
-    assertAlmostEquals â†’ assertAlmostEqual
-    assertNotEquals â†’ assertNotEqual
-
- tests/test_everything.py |  4 ++--
- tests/test_gi.py         | 12 ++++++------
- tests/test_overrides.py  | 10 +++++-----
- 3 files changed, 13 insertions(+), 13 deletions(-)
-
-commit 07f312e66c07357168098d3f96813d2c997e8dc7
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed May 2 12:08:19 2012 +0200
-
-    Run tests with MALLOC_PERTURB_
-
-    We mostly use the glib allocation functions, but this might
-    help to uncover access to already freed or uninitialized memory in
-    a few edge
-    cases.
-
- tests/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-commit b0740d386c2cbbd153878209b584b568968e4d98
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Apr 30 16:26:57 2012 +0200
-
-    configure.ac: Post-release bump to 3.3.2
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit d3977266faadacd3d05705497c1cf51a01a6606f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Apr 30 16:08:09 2012 +0200
-
-    Release 3.3.1
-
- NEWS | 66
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 66 insertions(+)
-
-commit a8e222f04aac3bcf7e4421c4da8d080eeb8b5f56
-Author: Giovanni Campagna <gcampagna@src.gnome.org>
-Date:   Sun Apr 29 23:55:15 2012 +0200
-
-    GSettings: allow extra keyword arguments
-
-    All GObject constructors are expected to accept any construct
-    property as keyword argument, and overrides should respect that.
-    In particular, not doing this for GSettings prevents using a custom
-    GSettingsSchema.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675105
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/overrides/Gio.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 592c67482c254f65817c1a1b5c5de5dfcaab31b4
-Author: Jose Rostagno <joserostagno@vijona.com.ar>
-Date:   Sun Apr 29 12:56:50 2012 -0300
-
-    pygtkcompat: Correct Userlist module use
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=675084
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygtkcompat.py         | 2 +-
- tests/test_pygtkcompat.py | 4 ++++
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-commit 3551462a429ef30274fa01fc8111da5025f9c342
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun Apr 29 20:17:47 2012 +0200
-
-    Add release-news make rule
-
-    This produces a commit log since the previous release in our
-    current NEWS
-    format. This does not currently wrap long lines automatically, though.
-
-    Do include bug numbers from now on, as they are very useful.
-
- Makefile.am | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-commit fe79ef612a7853f024b73c7997b8ec89015ae94c
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Apr 25 13:07:59 2012 +0200
-
-    Add "make check.nemiver" target
-
-    Similar to "check.gdb", but invokes nemiver.
-
- Makefile.am       | 3 +++
- tests/Makefile.am | 3 +++
- 2 files changed, 6 insertions(+)
-
-commit 3090cc70a7ce8df38dd6cf6c17350417a7367c0b
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Apr 24 13:24:00 2012 +0200
-
-    Test flags and enums in GHash values
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=637466
-
- tests/test_everything.py | 18 ++++++++++++------
- 1 file changed, 12 insertions(+), 6 deletions(-)
-
-commit 88d189ec3e3d900a96496a50c1d6e76615b19558
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Apr 24 13:03:36 2012 +0200
-
-    tests: Activate test_hash_in and apply workaround
-
-    Work around pygobject's current inability to produce a GStrv object
-    from a
-    string array by explicitly producing a GStrV object, and reactivate
-    test case.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=666636
-
- tests/test_everything.py | 24 +++++++++++++-----------
- 1 file changed, 13 insertions(+), 11 deletions(-)
-
-commit 8ee21619b3cfc179cf114813478470d9aa3f6fb8
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Apr 23 12:33:09 2012 +0200
-
-    Add special case for Gdk.Atom array entries from Python
-
-    Gdk.Atom pretends to be a struct pointer, but is really just an
-    int wrapped
-    into a pointer. So we must not dereference it directly, nor free
-    it, but
-    instead just copy the pointer value.
-
-    Also add a few other test cases for "single Atom return", "single
-    Atom argument
-    in", and Atom GList return", which already work fine.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=661709
-
- gi/pygi-marshal-from-py.c | 18 ++++++++++++++----
- tests/Makefile.am         |  1 +
- tests/test_atoms.py       | 41 +++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 56 insertions(+), 4 deletions(-)
-
-commit b9f24b4fbc2ca9f9b94b86f029c59b2fc3e8590f
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Apr 23 20:09:43 2012 +0200
-
-    test_gdbus: Call GetConnectionUnixProcessID() with correct signature
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=667954
-
- tests/test_gdbus.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3ae38d7519524288a57e5d522954b9d6725f0185
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Apr 23 18:47:34 2012 +0200
-
-    Add test case for Gtk.ListStore custom sort
-
-    This works in Python 2, but crashes in Python 3, another case of
-    the segfaults
-    we get when C calls a Python callback in Python 3.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=674475
-
- tests/test_overrides.py | 31 +++++++++++++++++++++++++++++++
- 1 file changed, 31 insertions(+)
-
-commit c12b10ca0feaaf61f23354c7b6631a9ef3635c36
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Apr 23 17:40:23 2012 +0200
-
-    GTK overrides: Add missing keyword arguments
-
-    Add missing **kwargs to overridden __init__() constructors, to
-    allow specifying
-    arbitrary widget properties.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=660018
-
- gi/overrides/Gtk.py     | 34 ++++++++++++++++++----------------
- tests/test_overrides.py |  6 ++++++
- 2 files changed, 24 insertions(+), 16 deletions(-)
-
-commit d37680bb9390426f7f58ea3d352c3e5e2106e978
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Apr 23 15:24:04 2012 +0200
-
-    Add missing override for TreeModel.iter_previous()
-
-    This should behave like the override for TreeModel.iter_next().
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=660018
-
- gi/overrides/Gtk.py     | 6 ++++++
- tests/test_overrides.py | 4 ++++
- 2 files changed, 10 insertions(+)
-
-commit e03284f852f0e404cc91374f3e2e42b0ac1977b4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sun Apr 22 16:45:06 2012 +0200
-
-    pygi-convert.py: Drop obsolete drag method conversions
-
-    Drop conversion of drag_source_unset() and drag_dest_{,un}set(). These
-    were
-    fixed a while ago to be proper Widget methods again.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=652860
-
- pygi-convert.sh | 3 ---
- 1 file changed, 3 deletions(-)
-
-commit f82eca6006dec21624796074af8ffe9b2256f7a4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Sat Apr 21 14:00:50 2012 +0200
-
-    tests: Replace deprecated assertEquals() with assertEqual()
-
- tests/test_everything.py  | 144 ++++++-------
- tests/test_gi.py          | 502
- +++++++++++++++++++++++-----------------------
- tests/test_gobject.py     |  58 +++---
- tests/test_option.py      |   6 +-
- tests/test_overrides.py   | 352 ++++++++++++++++----------------
- tests/test_properties.py  |  18 +-
- tests/test_pygtkcompat.py |  42 ++--
- 7 files changed, 561 insertions(+), 561 deletions(-)
-
-commit ddb0bf01e694585d58af52673a21796e7c9578ea
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Apr 21 12:02:54 2012 +0200
-
-    Plug tiny leak in constant_info_get_value
-
-    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=642754
-
- gi/pygi-info.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 9c48a561c5ee010410df7d6e430353b41d5fbd88
-Author: Bastian Winkler <buz@netbuz.org>
-Date:   Thu Apr 12 20:30:05 2012 +0200
-
-    Fix len_arg_index for array arguments
-
-    Don't set len_arg_index for arrays without the length annotation
-    given.
-    This fixes methods like Clutter.Texture.set_from_rgb_data() and
-    Clutter.Image.set_data()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=674271
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/pygi-cache.c           | 4 +++-
- gi/pygi-marshal-cleanup.c | 4 ++--
- tests/test_gi.py          | 3 +++
- 3 files changed, 8 insertions(+), 3 deletions(-)
-
-commit 71246ca0568bf3e9b81e88dd13b6d29e9417e313
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Apr 19 13:11:56 2012 +0200
-
-    Support defining GType properties from Python
-
-    Commit 84e3471 fixed the handling of GType properties for properties
-    that are
-    defined in the C library already. Add the missing support for
-    defining such
-    properties in Python as well.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=674351
-
- gi/_gobject/gobjectmodule.c   |  5 ++++-
- gi/_gobject/propertyhelper.py |  9 ++++++---
- tests/test_properties.py      | 42
- +++++++++++++++++++++++++++++++++++++++---
- 3 files changed, 49 insertions(+), 7 deletions(-)
-
-commit 2158ecd05a2770d6538bae67d01d1f718855a7d4
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Apr 19 16:12:29 2012 +0200
-
-    Fix typo in previous commit
-
-    In the test case, actually assign the newly created object, so that
-    we test the
-    properties of the right object.
-
- tests/test_everything.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 84e3471ba4595534cbe6875f1c8b77776e1d1814
-Author: Bastian Winkler <buz@netbuz.org>
-Date:   Wed Apr 18 21:44:08 2012 +0200
-
-    Handle GType properties correctly
-
-    Fix conversion from/to properties of type G_TYPE_GTYPE
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=674351
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/_gobject/pygtype.c    |  9 +++++++--
- tests/test_everything.py | 15 +++++++++++++++
- 2 files changed, 22 insertions(+), 2 deletions(-)
-
-commit d1362451e070e156d2f49c9cde930cc38befb12b
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Thu Apr 19 07:27:10 2012 +0200
-
-    Add missing GObject.TYPE_GTYPE
-
- gi/_gobject/__init__.py  | 1 +
- gi/_gobject/constants.py | 1 +
- 2 files changed, 2 insertions(+)
-
-commit d3225f1540e09719caa73e52d402e946da3add24
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Apr 10 12:44:00 2012 +0200
-
-    Fix test_mainloop.py for Python 3
-
- tests/test_mainloop.py | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-commit 903283119896f3e054694484da4147788b02ce60
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Mon Apr 9 15:20:39 2012 +0200
-
-    Make callback exception propagation test stricter
-
-    Propagating Python exceptions from callbacks through the C context
-    back to the
-    original caller does not currently happen, is nontrivial/unsafe
-    to implement,
-    and not desirable at this point any more as by now we have established
-    the
-    current behaviour. So remove the catching of ZeroDivisionError in
-    the tests.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616279
-
- tests/test_everything.py | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-commit 0fd900d351c8d7d57dc6a1b049ee05f342f6ab1d
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Sun Mar 18 15:59:58 2012 -0700
-
-    Add context management to freeze_notify() and handler_block().
-
-    These methods now return a context manager object. Within the
-    __exit__ method
-    thaw_notify() and handler_unblock() are called respectively. This
-    allows
-    statements like the following:
-
-    with obj.freeze_notify():
-        obj.props.width = 100
-        obj.props.height = 100
-        obj.props.opacity = 0.5
-
-    This does not affect standard usage of these methods.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672324
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/_gobject/pygobject.c | 138 +++++++++++++++++++++++++++++++++++++++---
- tests/test_gobject.py   | 158
- ++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 288 insertions(+), 8 deletions(-)
-
-commit c0922589964c1d8bffe5a56d2f56df96eedfac10
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Apr 4 19:08:54 2012 +0200
-
-    Add support for GFlags properties
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620943
-
- gi/_gobject/propertyhelper.py |  9 +++++++--
- tests/test_properties.py      | 28 +++++++++++++++++++++++++++-
- 2 files changed, 34 insertions(+), 3 deletions(-)
-
-commit d4054be9de3b7e4ed64c8172ebbde0a697462c79
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Apr 4 17:54:52 2012 +0200
-
-    Wrap GLib.Source.is_destroyed() method
-
-    Based on original patch from Bryan Silverthorn.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=524719
-
- gi/_glib/pygsource.c | 15 +++++++++++++++
- tests/test_source.py | 24 ++++++++++++++++++++++++
- 2 files changed, 39 insertions(+)
-
-commit 05030a95a4d3090162ed5f510a26d69bbb152942
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Wed Apr 4 15:59:24 2012 +0200
-
-    Fix error message when trying to override a non-GI class
-
-    Based on original patch by Juanje Ojeda <jojeda@emergya.es>.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=646667
-
- gi/overrides/__init__.py |  7 ++++---
- tests/test_overrides.py  | 13 +++++++++++++
- 2 files changed, 17 insertions(+), 3 deletions(-)
-
-commit 96f14989baea76fe8692f10c1a37e2dfc45fecbf
-Author: Steve Frécinaux <code@istique.net>
-Date:   Wed Apr 4 15:30:55 2012 +0200
-
-    Fix segfault when accessing __grefcount__ before creating the GObject
-
-    When creating a new instance using Type() and trying to access
-    __grefcount__ before calling the subclass's __init__ function, there
-    used to be a segmentation fault because we were trying to access the
-    not yet created object. Now raise a proper exception instead.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640434
-
-    Co-authored-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/_gobject/pygobject.c |  4 ++++
- tests/test_gobject.py   | 11 +++++++++++
- 2 files changed, 15 insertions(+)
-
-commit 24cc09a7105299805fcc5bc151f53ac69958d728
-Author: Steve Frécinaux <code@istique.net>
-Date:   Wed Feb 9 18:37:33 2011 +0100
-
-    Do not bind gobject_get_data() and gobject_set_data()
-
-    They will basically cause a crash if misused, and you can always use a
-    python member attribute instead.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=641944
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/_gobject/pygobject.c | 40 ----------------------------------------
- 1 file changed, 40 deletions(-)
-
-commit 2a5a33a9c9c170830c98c2e32fa8dcea3c35f2e6
-Author: Martin Pitt <martinpitt@gnome.org>
-Date:   Tue Apr 3 22:26:34 2012 +0200
-
-    Add test case for multiple GLib.MainLoop instances
-
-    Commit 832f16f9 fixed a lockup with multiple GLib.MainLoops. Add
-    corresponding
-    test case.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=663068
-
- tests/test_mainloop.py | 25 ++++++++++++++++++++++++-
- 1 file changed, 24 insertions(+), 1 deletion(-)
-
-commit d03696c1aaa7e66f8f16554cf4a4b97addb5aea1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Feb 21 15:13:42 2012 +0100
-
-    Add a ccallback type which is used to invoke callbacks passed to
-    a vfunc
-
-    Used when overriding methods like gtk_container_forall wich pass in a
-    callback that needs to be executed on internal children:
-        def do_forall(self, callback, userdata):
-            callback(self.custom_child, userdata)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=644926
-
-    Co-authored-by: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-    Co-authored-by: Simon Schampijer <simon@laptop.org>
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- gi/Makefile.am                |   2 +
- gi/gimodule.c                 |   1 +
- gi/module.py                  |   5 +++
- gi/pygi-argument.c            |  12 +----
- gi/pygi-cache.c               |  28 ++++++++++--
- gi/pygi-cache.h               |   9 ++--
- gi/pygi-ccallback.c           | 100
- ++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-ccallback.h           |  41 +++++++++++++++++
- gi/pygi-closure.c             |  50 ++++++++++++++++++++-
- gi/pygi-invoke-state-struct.h |   2 +
- gi/pygi-invoke.c              |  73 ++++++++++++++++++++----------
- gi/pygi-invoke.h              |   3 ++
- gi/pygi-private.h             |   1 +
- gi/pygi.h                     |  10 +++++
- tests/test_gi.py              |  16 +++++++
- 15 files changed, 312 insertions(+), 41 deletions(-)
-
-commit db7e1d078db16b6f11dee51aa97525c451346632
-Author: Alberto Mardegan <alberto.mardegan@canonical.com>
-Date:   Tue Mar 27 17:34:48 2012 +0200
-
-    Regression test: marshalling GValues in GHashTable
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=668903
-
-    Signed-off-by: Martin Pitt <martinpitt@gnome.org>
-
- tests/test_everything.py | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-commit 7c0017c30129a8db391f902ed592782200d69c64
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Mar 26 17:55:41 2012 +0200
-
-    Bump version to 3.3.1
-
-    3.2.x is built from the pygobject-3-2 branch now, and 3.2.0 is
-    released. So
-    continue with 3.3.x on master.
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 8309f305e5ce508fc5f6411c8153bea2cee5f741
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Mar 26 17:51:37 2012 +0200
-
-    Update .gitignore
-
-    - Ignore *.o, backup files, and generated Makefiles in all
-    subdirectories
-    - Ignore *.pyc files.
-    - Do not ignore .gitignore, we actually want to track this.
-
- .gitignore | 61
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 61 insertions(+)
-
-commit 81de788a72b40acd2f857718d78bdeea01d12eb1
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Mar 26 17:45:08 2012 +0200
-
-    Fix "distcheck" and tests with out-of-tree builds
-
-    - Symlink *.py files from srcdir into builddir during build, as
-    Python does not
-      accept the extensions and modules in different paths.
-    - "make clean" should remove *.pyc files
-    - tests/runtests.py: Look for tests in srcdir, not in builddir
-
- Makefile.am               |  6 ++++--
- gi/Makefile.am            | 13 +++++++++++--
- gi/_glib/Makefile.am      | 12 ++++++++++--
- gi/_gobject/Makefile.am   | 12 ++++++++++--
- gi/overrides/Makefile.am  | 10 ++++++++++
- gi/repository/Makefile.am | 11 +++++++++++
- tests/runtests.py         |  6 ++++--
- 7 files changed, 60 insertions(+), 10 deletions(-)
-
-commit f83d95e6fff572bda659a48e309b4524dafa4e83
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 11:14:03 2012 -0300
-
-    Add a pep8 check to the makefile
-
-    Also reorganize the pyflakes check, since target dependencies do not
-    take the exit status of the shell command into account.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- tests/Makefile.am | 9 ++++-----
- 1 file changed, 4 insertions(+), 5 deletions(-)
-
-commit d1f5474c6c50163aefe660e0689dc7f30e6cd48b
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:56:59 2012 -0300
-
-    PEP8: Remaining whitespace fixes
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- demos/gtk-demo/demos/Icon View/iconviewedit.py |  7 +++----
- demos/gtk-demo/demos/Tree View/liststore.py    | 28
- +++++++++++++-------------
- demos/gtk-demo/demos/appwindow.py              | 10 ++++-----
- demos/gtk-demo/demos/rotatedtext.py            |  2 +-
- examples/cairo-demo.py                         |  4 ++--
- tests/test_gi.py                               | 12 +++++------
- tests/test_overrides.py                        |  2 +-
- 7 files changed, 32 insertions(+), 33 deletions(-)
-
-commit 032fcce2bf6070a9001cbb780e90403051e303b1
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:56:03 2012 -0300
-
-    PEP8: Add spaces before #
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- demos/gtk-demo/demos/drawingarea.py |  6 +++---
- demos/gtk-demo/demos/images.py      | 10 +++++-----
- demos/gtk-demo/demos/rotatedtext.py |  2 +-
- gi/__init__.py                      |  2 +-
- gi/_glib/option.py                  |  2 +-
- gi/_gobject/__init__.py             |  2 +-
- gi/overrides/GLib.py                | 12 ++++++------
- gi/types.py                         |  4 ++--
- tests/runtests.py                   |  2 +-
- tests/test_gdbus.py                 |  4 ++--
- 10 files changed, 23 insertions(+), 23 deletions(-)
-
-commit 6a58edbf11c612e9a14347b1556d1e0dd2ec1823
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:52:05 2012 -0300
-
-    PEP8: Add missing whitespace after : and ,
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- demos/gtk-demo/demos/Tree View/liststore.py |  2 +-
- demos/gtk-demo/demos/appwindow.py           |  2 +-
- tests/test_everything.py                    | 23 +++++++++--------------
- tests/test_gi.py                            |  2 +-
- tests/test_overrides.py                     |  2 +-
- 5 files changed, 13 insertions(+), 18 deletions(-)
-
-commit a8d361e66b2a0e09cfa5dbade4725074b0cc2fd1
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:49:52 2012 -0300
-
-    PEP8: Remove too whitespace before }
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- tests/test_overrides.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2b8eb9fa5b9ca454d7130b3eec15a982fee1bdc9
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:49:27 2012 -0300
-
-    PEP8: Remove too many blank lines
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- demos/gtk-demo/demos/rotatedtext.py | 1 -
- tests/test_overrides.py             | 1 -
- 2 files changed, 2 deletions(-)
-
-commit 03e597cb8f3b075efae556ee51a598695a883ad3
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:48:59 2012 -0300
-
-    PEP8: Fix whitespace around operators
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- demos/gtk-demo/demos/images.py |  2 +-
- examples/cairo-demo.py         |  8 ++++----
- tests/test_gi.py               |  4 ++--
- tests/test_overrides.py        |  8 ++++----
- tests/test_properties.py       | 14 +++++++-------
- tests/test_signal.py           |  2 +-
- 6 files changed, 19 insertions(+), 19 deletions(-)
-
-commit 21aeb19107b718293116e51ecd6479d4d7198b8f
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:46:17 2012 -0300
-
-    PEP8: Remove whitespace before (
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- demos/gtk-demo/demos/Entry/entry_buffer.py     |  2 +-
- demos/gtk-demo/demos/Entry/entry_completion.py |  2 +-
- demos/gtk-demo/demos/Entry/search_entry.py     | 12 ++---
- demos/gtk-demo/demos/Icon View/iconviewedit.py |  4 +-
- demos/gtk-demo/demos/Tree View/liststore.py    |  2 +-
- demos/gtk-demo/demos/dialogs.py                | 12 ++---
- demos/gtk-demo/demos/pickers.py                |  8 ++--
- demos/gtk-demo/demos/pixbuf.py                 |  4 +-
- demos/gtk-demo/demos/printing.py               |  8 ++--
- demos/gtk-demo/demos/rotatedtext.py            |  2 +-
- demos/gtk-demo/gtk-demo.py                     |  4 +-
- gi/module.py                                   |  4 +-
- gi/overrides/Pango.py                          |  2 +-
- gi/pygtkcompat.py                              |  4 +-
- tests/test_everything.py                       |  4 +-
- tests/test_overrides.py                        | 62
- +++++++++++++-------------
- 16 files changed, 68 insertions(+), 68 deletions(-)
-
-commit b04d209930ab01bae6563b0d714aec829739bdc6
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:40:46 2012 -0300
-
-    PEP8: Remove whitespace around {}
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- tests/test_signal.py | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-commit 725483a5dc36739dc7836716b5d6d48091564bf8
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:38:59 2012 -0300
-
-    PEP8: run via --fix from craigds fork
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- demos/gtk-demo/demos/Entry/entry_buffer.py       |  1 +
- demos/gtk-demo/demos/Entry/entry_completion.py   |  1 +
- demos/gtk-demo/demos/Entry/search_entry.py       |  3 +-
- demos/gtk-demo/demos/Icon View/iconviewbasics.py |  1 +
- demos/gtk-demo/demos/Icon View/iconviewedit.py   |  2 +
- demos/gtk-demo/demos/Tree View/liststore.py      |  3 ++
- demos/gtk-demo/demos/appwindow.py                | 13 +++++-
- demos/gtk-demo/demos/assistant.py                |  1 +
- demos/gtk-demo/demos/builder.py                  |  1 +
- demos/gtk-demo/demos/button_box.py               |  1 +
- demos/gtk-demo/demos/clipboard.py                |  2 +-
- demos/gtk-demo/demos/colorselector.py            |  1 +
- demos/gtk-demo/demos/combobox.py                 |  4 +-
- demos/gtk-demo/demos/dialogs.py                  |  2 +
- demos/gtk-demo/demos/drawingarea.py              |  1 +
- demos/gtk-demo/demos/expander.py                 |  4 +-
- demos/gtk-demo/demos/images.py                   | 10 +++--
- demos/gtk-demo/demos/infobars.py                 |  2 +
- demos/gtk-demo/demos/links.py                    |  2 +
- demos/gtk-demo/demos/menus.py                    |  2 +
- demos/gtk-demo/demos/pickers.py                  |  2 +
- demos/gtk-demo/demos/pixbuf.py                   |  2 +
- demos/gtk-demo/demos/printing.py                 |  5 ++-
- demos/gtk-demo/demos/rotatedtext.py              |  4 +-
- demos/gtk-demo/demos/test.py                     |  1 +
- demos/gtk-demo/gtk-demo.py                       |  9 ++--
- examples/cairo-demo.py                           | 57
- ++++++++++++++----------
- examples/option.py                               |  1 -
- examples/properties.py                           |  1 +
- examples/signal.py                               |  4 ++
- gi/__init__.py                                   |  2 +
- gi/_glib/option.py                               |  4 +-
- gi/_gobject/__init__.py                          |  1 +
- gi/_gobject/propertyhelper.py                    |  5 ++-
- gi/module.py                                     |  3 ++
- gi/overrides/GIMarshallingTests.py               |  2 +
- gi/overrides/GLib.py                             | 12 +++--
- gi/overrides/Gdk.py                              |  9 ++++
- gi/overrides/Gio.py                              |  4 ++
- gi/overrides/Gtk.py                              | 56
- ++++++++++++++++++++---
- gi/overrides/Pango.py                            |  2 +
- gi/overrides/__init__.py                         |  5 ++-
- gi/pygtkcompat.py                                | 16 +++++--
- gi/types.py                                      |  4 ++
- tests/test_everything.py                         | 30 +++++++++----
- tests/test_gdbus.py                              |  1 +
- tests/test_gi.py                                 | 30 +++++++------
- tests/test_gobject.py                            |  3 +-
- tests/test_mainloop.py                           |  1 +
- tests/test_option.py                             |  1 +
- tests/test_overrides.py                          | 55
- ++++++++++++-----------
- tests/test_properties.py                         | 11 ++++-
- tests/test_signal.py                             | 32 ++++++++++++-
- tests/test_source.py                             |  1 +
- tests/test_subprocess.py                         |  1 +
- tests/test_thread.py                             |  1 +
- tests/test_uris.py                               |  1 +
- tests/testmodule.py                              |  1 +
- 58 files changed, 326 insertions(+), 111 deletions(-)
-
-commit 917275d4aa81db39ccaca34fa514032fb80a3187
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:33:29 2012 -0300
-
-    PEP8: Remove spaces around = for keyword arguments
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- demos/gtk-demo/demos/appwindow.py     |  8 ++++----
- demos/gtk-demo/demos/colorselector.py |  4 ++--
- demos/gtk-demo/gtk-demo.py            | 24 ++++++++++++------------
- examples/option.py                    |  4 ++--
- gi/_glib/option.py                    |  2 +-
- gi/overrides/Gtk.py                   |  2 +-
- tests/test_gi.py                      | 26 +++++++++++++-------------
- tests/test_option.py                  |  2 +-
- tests/test_overrides.py               |  8 ++++----
- 9 files changed, 40 insertions(+), 40 deletions(-)
-
-commit 0c85656f95d3cb31becff10bbee7faae7b0b875b
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:28:28 2012 -0300
-
-    PEP8: Remove trailing ;
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672627
-
- demos/gtk-demo/demos/appwindow.py |  4 ++--
- demos/gtk-demo/demos/dialogs.py   | 30 +++++++++++++++---------------
- demos/gtk-demo/demos/links.py     |  2 +-
- demos/gtk-demo/demos/pixbuf.py    |  2 +-
- demos/gtk-demo/demos/printing.py  |  8 ++++----
- gi/overrides/Gtk.py               |  4 ++--
- tests/test_everything.py          | 22 +++++++++++-----------
- tests/test_gi.py                  |  2 +-
- tests/test_overrides.py           |  8 ++++----
- 9 files changed, 41 insertions(+), 41 deletions(-)
-
-commit 32cc594ab6dfbd4843f3db5ec8338d31ad5df6c6
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 22 10:24:40 2012 -0300
-
-    Remove all tabs and fix indentation
-
-    By running the whole source tree via the indent.py script found
-    in the Python distribution.
-
- demos/gtk-demo/demos/Entry/search_entry.py     |   4 +-
- demos/gtk-demo/demos/Icon View/iconviewedit.py |  41 +++----
- demos/gtk-demo/demos/Tree View/liststore.py    |   8 +-
- demos/gtk-demo/demos/appwindow.py              |  18 +--
- demos/gtk-demo/demos/dialogs.py                |  26 ++---
- demos/gtk-demo/demos/expander.py               |   6 +-
- demos/gtk-demo/demos/images.py                 |   2 +-
- demos/gtk-demo/demos/links.py                  |   2 +-
- demos/gtk-demo/demos/rotatedtext.py            |  20 ++--
- gi/_glib/option.py                             |   2 +-
- gi/_gobject/constants.py                       |   1 -
- gi/importer.py                                 |   1 -
- gi/module.py                                   |  10 +-
- gi/overrides/GLib.py                           |  11 +-
- gi/overrides/Gdk.py                            |  30 ++---
- gi/overrides/Gio.py                            |   4 +-
- gi/overrides/Gtk.py                            | 150
- ++++++++++++-------------
- gi/overrides/Pango.py                          |   1 -
- gi/overrides/__init__.py                       |  10 +-
- gi/pygtkcompat.py                              |   2 +-
- tests/compathelper.py                          |   2 +-
- tests/runtests.py                              |  19 ++--
- tests/test_everything.py                       |  22 ++--
- tests/test_gdbus.py                            |  11 +-
- tests/test_gi.py                               |  38 +++----
- tests/test_gobject.py                          |   2 +-
- tests/test_interface.py                        |   1 -
- tests/test_option.py                           |   1 -
- tests/test_overrides.py                        |  78 ++++++-------
- tests/test_properties.py                       |   2 +-
- tests/test_uris.py                             |   1 -
- 31 files changed, 255 insertions(+), 271 deletions(-)
-
-commit c375e3136f0f48eb8a6717c0053155db088b329d
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Mar 22 10:32:43 2012 +0100
-
-    tests: Replace deprecated Python API
-
-    failIf â†’ assertFalse, failUnless â†’ assertTrue
-
-    Caught by the previous commit of making deprecations fatal.
-
- tests/test_option.py      | 10 +++----
- tests/test_overrides.py   | 66
- +++++++++++++++++++++++------------------------
- tests/test_properties.py  | 14 +++++-----
- tests/test_pygtkcompat.py | 18 ++++++-------
- tests/test_signal.py      |  4 +--
- 5 files changed, 56 insertions(+), 56 deletions(-)
-
-commit 32525e565cc48454cdacbc44ad3fd751b81cb7e3
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Mar 22 10:31:22 2012 +0100
-
-    Fail tests if they use or encounter deprecations
-
- tests/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 65762243a34af014950527c323a51a29d40fb3e1
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Mar 22 10:15:16 2012 +0100
-
-    Do not run tests in two phases any more
-
-    As we dropped the static bindings a while ago, there is no need any
-    more to run
-    the tests in two phases (static/GI). Now just run them all in one go,
-    simplifying tests/Makefile.am.
-
-    As this changes the order of the tests, defining $GSETTINGS_SCHEMA_DIR
-    now
-    needs to happen even further, so move it from tests/test_overrides.py
-    to
-    tests/runtests.py.
-
- tests/Makefile.am       | 33 ++++++++++++---------------------
- tests/runtests.py       |  7 +++++++
- tests/test_overrides.py |  6 ------
- 3 files changed, 19 insertions(+), 27 deletions(-)
-
-commit 3b4ae83a0ece8e3aed1de5452e2acd32841e629a
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Mar 22 09:58:21 2012 +0100
-
-    test_overrides: Find local gsettings schema with current glib
-
-    With current glib, gsettings now fails to find the gschemas.compiled
-    during the
-    tests. Move the setting of $GSETTINGS_SCHEMA_DIR before the module
-    import,
-    which makes this work again.
-
- tests/test_overrides.py | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-commit 927f7877ffa5e16c4cabcecbc05656ee0ec6a167
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Mar 21 21:09:24 2012 +0100
-
-    Add GtkComboBoxEntry compatibility
-
-    This widget has been removed in Gtk+ 3, add a small wrapper to the
-    compat module to make at least basic pygtk programs that use it work.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672589
-
- gi/pygtkcompat.py         | 19 +++++++++++++++++++
- tests/test_pygtkcompat.py | 22 ++++++++++++++++++++++
- 2 files changed, 41 insertions(+)
-
-commit b322d6a1f6d44bace4eefb98558cfe94a73a727c
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Wed Mar 21 16:01:35 2012 -0300
-
-    Correct review comments from Martin
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672578
-
- tests/test_everything.py  |  4 ++--
- tests/test_pygtkcompat.py | 18 ++++++++++++++++++
- 2 files changed, 20 insertions(+), 2 deletions(-)
-
-commit c8bc6ae10cfe8b2eff4204ec2175907a6eb0585a
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Wed Mar 21 14:45:53 2012 -0300
-
-    Correct pyflakes warnings/errors
-
-    And add a target to make check that runs pyflakes.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672578
-
- demos/gtk-demo/demos/Entry/entry_buffer.py       |   2 +-
- demos/gtk-demo/demos/Entry/entry_completion.py   |   2 +-
- demos/gtk-demo/demos/Entry/search_entry.py       |  12 +-
- demos/gtk-demo/demos/Icon View/iconviewbasics.py |   2 +-
- demos/gtk-demo/demos/Icon View/iconviewedit.py   |   2 +-
- demos/gtk-demo/demos/Tree View/liststore.py      |   3 +-
- demos/gtk-demo/demos/appwindow.py                |  13 +-
- demos/gtk-demo/demos/assistant.py                |   4 +-
- demos/gtk-demo/demos/builder.py                  |   4 +-
- demos/gtk-demo/demos/button_box.py               |   2 +-
- demos/gtk-demo/demos/clipboard.py                |   2 +-
- demos/gtk-demo/demos/colorselector.py            |   2 +-
- demos/gtk-demo/demos/combobox.py                 |   4 +-
- demos/gtk-demo/demos/dialogs.py                  |   4 +-
- demos/gtk-demo/demos/drawingarea.py              |   2 +-
- demos/gtk-demo/demos/expander.py                 |   4 +-
- demos/gtk-demo/demos/images.py                   |   8 +-
- demos/gtk-demo/demos/infobars.py                 |   2 +-
- demos/gtk-demo/demos/links.py                    |   2 +-
- demos/gtk-demo/demos/menus.py                    |   5 +-
- demos/gtk-demo/demos/pickers.py                  |   2 +-
- demos/gtk-demo/demos/pixbuf.py                   |   2 +-
- demos/gtk-demo/demos/printing.py                 |   3 +-
- demos/gtk-demo/demos/rotatedtext.py              |   6 +-
- demos/gtk-demo/gtk-demo.py                       |   9 +-
- examples/cairo-demo.py                           |   2 +-
- gi/__init__.py                                   |   4 +
- gi/_glib/__init__.py                             | 101 ++++++++++-
- gi/_glib/option.py                               |   1 +
- gi/_gobject/__init__.py                          | 203
- ++++++++++++++++++++---
- gi/_gobject/constants.py                         |   2 -
- gi/_gobject/propertyhelper.py                    |   4 +-
- gi/importer.py                                   |   2 +-
- gi/module.py                                     |   1 -
- gi/overrides/Gtk.py                              |   1 -
- gi/overrides/__init__.py                         |   1 -
- gi/pygtkcompat.py                                |   2 +
- gi/types.py                                      |   3 +
- tests/Makefile.am                                |   5 +
- tests/test_everything.py                         |   6 +-
- tests/test_gi.py                                 |   8 +-
- tests/test_option.py                             |  10 +-
- tests/test_overrides.py                          |  30 ++--
- tests/test_properties.py                         |  12 +-
- tests/test_pygtkcompat.py                        |   4 -
- tests/test_signal.py                             |   4 +-
- tests/test_source.py                             |   6 +-
- 47 files changed, 377 insertions(+), 138 deletions(-)
-
-commit 39650906559fcc39b4be406fa7e25c4788d349a3
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Mar 21 16:59:33 2012 +0100
-
-    Make tests fail on CRITICAL logs, too, and apply to all tests
-
-    Instead of setting warnings/criticals to fatal in individual test
-    modules, do
-    it in runtests.py, so that it applies to all tests.
-
-    We currently have some tests which are known to generate CRITICALs
-    (now marked
-    with FIXME), and some WARNINGs (as they test behaviour with known-bad
-    values).
-    For these, warnings/criticals are now explicitly permitted.
-
- tests/runtests.py        |  1 +
- tests/test_gi.py         |  7 ++++++-
- tests/test_overrides.py  | 14 +++++++-------
- tests/test_properties.py | 36 +++++++++++++++++++++---------------
- 4 files changed, 35 insertions(+), 23 deletions(-)
-
-commit efcb4b0b32c4dda06c3eeec83802fc0f302f0d27
-Author: Alberto Mardegan <alberto.mardegan@canonical.com>
-Date:   Tue Mar 20 14:55:07 2012 +0400
-
-    Support marshalling GI_TYPE_TAG_INTERFACE
-
-    Marshalling of interfaces got broken with commit
-    7746d2188ac4933c2c9011d84525d1e62fc18953.
-
-    Also, do not abort on unsupported types, but log a critical failure
-    and
-    continue.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=668903
-
- gi/pygi-marshal-from-py.c | 3 ++-
- gi/pygi-marshal-to-py.c   | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-commit 8d85d6639778ec6364235071d272d67e7aae49ae
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Mar 21 14:34:36 2012 +0100
-
-    Fix warnings on None values in added tree/list store rows
-
-    Commit bf8c95836e1c changed the List/TreeStore overrides to use
-    insert_with_valuesv(), but supplied all columns instead of just
-    those which are
-    not None. With this, None values cause warnings like
-
-    (runtests.py:12375): Gtk-WARNING **:
-    /build/buildd/gtk+3.0-3.3.20/./gtk/gtkliststore.c:851: Unable to
-    convert from (null) to gboolean
-
-    Update the tests to make warnings fatal, to catch this better.
-
-    Change _convert_row() to skip the None entries and return the list
-    of not-None
-    columns, and use the latter instead of a simple range(n_columns). This
-    matches
-    the behaviour before bf8c95836e1c, where columns with None values
-    were skipped
-    as well.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672463
-
- gi/overrides/Gtk.py     | 26 ++++++++++++++------------
- tests/test_overrides.py |  5 +++++
- 2 files changed, 19 insertions(+), 12 deletions(-)
-
-commit 38aecc481741fd3a319a76a0ec8bf5329a483876
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Mar 21 15:21:02 2012 +0100
-
-    pygtkcompat test: Properly clean up PixbufLoader
-
-    Tests currently give
-
-    (runtests.py:15072): GdkPixbuf-WARNING **: GdkPixbufLoader finalized
-    without calling gdk_pixbuf_loader_close() - this is not allowed. You
-    must explicitly end the data stream to the loader before dropping
-    the last reference.
-
-    Fix this by calling close().
-
- tests/test_pygtkcompat.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 5e0e5e72a4436badd09f0aa07f62960afcdca8c6
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Mar 19 16:58:22 2012 +0100
-
-    post-release bump
-
-    Use 3.1.93 for now, this will most likely become 3.2.0 as it is.
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 88924e399d7ccf7af2e9a78720e0c508cd6080d8
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Mar 19 16:41:17 2012 +0100
-
-    Release 3.1.92
-
- NEWS | 46 ++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 46 insertions(+)
-
-commit b41e6139befb984c0b78bcefe2630ab1393b4b40
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Mar 19 16:14:54 2012 +0100
-
-    README: Update current maintainers
-
-    Also update Martin's email address.
-
- README         | 10 ++++++----
- pygobject.doap |  2 +-
- 2 files changed, 7 insertions(+), 5 deletions(-)
-
-commit 45e27ba7e447552057a2950fc768c63ff2e6612e
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Mar 19 16:11:22 2012 +0100
-
-    Bump version to 3.1.92, in sync with GNOME
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 77d358f8c5f524259249ea686899e3a4da05562e
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Mon Mar 19 11:54:07 2012 -0300
-
-    Correct Gtk.TreePath.__iter__ to work with Python 3
-
- gi/overrides/Gtk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 1f18bcb37bdc42368ad9a07c7f348f736c2f665d
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Mar 19 15:54:13 2012 +0100
-
-    Fix pygtkcompat.py to work with Python 3
-
- gi/pygtkcompat.py | 20 +++++++++++++++-----
- 1 file changed, 15 insertions(+), 5 deletions(-)
-
-commit 96a9f92da801989464fbcedf6d849819f6dbea64
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Mar 19 15:32:22 2012 +0100
-
-    Fix test_everything.TestSignals.test_object_param_signal test case
-
-    The callback gets two arguments, not one. This short-circuited
-    the actual
-    assertions. Fix the arguments and update the refcount check, as it
-    is not
-    exactly two at the moment.
-
- tests/test_everything.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit ba00afb1e50759b2b321f16e05a15946053cdafa
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Mon Mar 19 10:58:09 2012 -0300
-
-    pygtkcompat: Remove first argument for get_origin()
-
- gi/pygtkcompat.py         | 5 +++++
- tests/test_pygtkcompat.py | 5 +++++
- 2 files changed, 10 insertions(+)
-
-commit 65499246a862ce6a82bc3b0cc74fe8ff82dde687
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Fri Mar 16 16:08:44 2012 -0300
-
-    GtkViewport: Add a default values for the adjustment constructor
-    parameters
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672260
-
- gi/overrides/Gtk.py     | 10 ++++++++++
- tests/test_overrides.py | 11 +++++++++++
- 2 files changed, 21 insertions(+)
-
-commit 43c761d9f35252dcb58b9cf2278016d841eea4ec
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Fri Mar 16 16:08:23 2012 -0300
-
-    GtkIconSet: Add a default value for the pixbuf constructor parameter
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672260
-
- gi/overrides/Gtk.py     | 11 +++++++++++
- tests/test_overrides.py |  6 ++++++
- 2 files changed, 17 insertions(+)
-
-commit 116d3712251b1b8aa2d4f4a9e40e22f5b9fcbe4f
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Fri Mar 16 16:07:30 2012 -0300
-
-    PangoLayout: Add a default value for set_markup()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672260
-
- gi/overrides/Pango.py   | 3 +++
- tests/test_overrides.py | 4 ++++
- 2 files changed, 7 insertions(+)
-
-commit a3ca47b086b7fcf084282be788c5d737dde847ac
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Fri Mar 16 16:06:37 2012 -0300
-
-    Gtk[HV]Scrollbar: Add a default value for the adjustment constructor
-    parameter
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672260
-
- gi/overrides/Gtk.py     | 15 +++++++++++++++
- tests/test_overrides.py | 14 ++++++++++++++
- 2 files changed, 29 insertions(+)
-
-commit 458dab08c78cb730dd95bcd67af20a0d73a3af2f
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Fri Mar 16 16:06:12 2012 -0300
-
-    GtkToolButton: Add a default value for the stock_id constructor
-    parameter
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672260
-
- gi/overrides/Gtk.py     | 10 ++++++++++
- tests/test_overrides.py |  9 ++++++++-
- 2 files changed, 18 insertions(+), 1 deletion(-)
-
-commit 2f7789a5a1f55ec38c5ff0f96bc5c9023679a333
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Fri Mar 16 16:05:55 2012 -0300
-
-    GtkIconView: Add a default value for the model constructor parameter
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672260
-
- gi/overrides/Gtk.py     |  3 +++
- tests/test_overrides.py | 11 +++++++++++
- 2 files changed, 14 insertions(+)
-
-commit 2dd9dadd1bd92c3324e9de209ba8205a9d4106d6
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 15 15:22:46 2012 -0300
-
-    Add a default value for column in Gtk.TreeView.get_cell_area()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672260
-
- gi/overrides/Gtk.py     | 5 +++++
- tests/test_overrides.py | 3 +++
- 2 files changed, 8 insertions(+)
-
-commit bf8c95836e1cc1e1629937cbc69ea3027fb82746
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Mar 15 09:48:10 2012 +0100
-
-    Atomic inserts in Gtk.{List,Tree}Store overrides
-
-    Gtk.{List,Tree}Store's overrides provide append(), insert()
-    etc. methods which
-    take an optional data row array. If this is given, use
-    insert_with_valuesv()
-    instead of creating a new iter and then filling it with data. The
-    latter sent a
-    row-added signal, at which time the row was still empty, and a
-    subsequent
-    row-changed signal. With this we only get a single row-added
-    signal with
-    complete row data.
-
-    Note that this does not change insert_{before,after}(), as there is no
-    counterpart of insert_with_valuesv() which takes a TreeIter instead
-    of a
-    position. For those you will still get two signals, and have to deal
-    with None
-    values.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=671610
-
- gi/overrides/Gtk.py     | 81
- ++++++++++++++++++++++++++++++-------------------
- tests/test_overrides.py | 74 ++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 124 insertions(+), 31 deletions(-)
-
-commit f7db4eaf8148f2dd8bf1718152a1dcae509470c7
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Sun Mar 18 16:07:26 2012 +0100
-
-    Fix Gtk.Button constructor to accept use_stock parameter
-
-    Thanks to kalanzun@googlemail.com!
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672318
-
-    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
-
- gi/overrides/Gtk.py     | 4 +---
- tests/test_overrides.py | 6 ++++++
- 2 files changed, 7 insertions(+), 3 deletions(-)
-
-commit 466337cf2fd091738eeab12c10d250a9d0827284
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Fri Mar 16 16:55:47 2012 -0300
-
-    Correct bad rebase, remove duplicate Window
-
- gi/overrides/Gtk.py | 7 -------
- 1 file changed, 7 deletions(-)
-
-commit c60d5ee3c88bd8e1c68ea97f079947cf79d5bb7d
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Mar 15 15:42:28 2012 -0300
-
-    Add a PyGTK compatibility layer
-
-    This module tries quite a bit harder to maintain compatibility
-    with PyGTK, module names, enums, flags and some API.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=653462
-
- gi/Makefile.am            |   3 +-
- gi/pygtkcompat.py         | 421
- ++++++++++++++++++++++++++++++++++++++++++++++
- tests/Makefile.am         |   3 +-
- tests/test_pygtkcompat.py |  77 +++++++++
- 4 files changed, 502 insertions(+), 2 deletions(-)
-
-commit 680a2e04ac4f80ad16e820d3f753519477c988aa
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Wed Mar 14 15:20:53 2012 -0300
-
-    Add bw-compatible arguments to Gtk.Adjustment
-
-    The argument used to be called page/step_incr, if they
-    are found map them to the existing properties for extra
-    compatibility.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672087
-
- gi/overrides/Gtk.py | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-commit fbd21ee7176bc1b70547ea464b512c8ffd674187
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Wed Mar 14 17:13:04 2012 -0300
-
-    GtkTreePath: make it iterable
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672093
-
- gi/overrides/Gtk.py     | 3 +++
- tests/test_overrides.py | 2 ++
- 2 files changed, 5 insertions(+)
-
-commit a7b08cb75541612c78d123b1d968be7874e3c481
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Wed Mar 14 13:32:31 2012 -0300
-
-    Add a default argument to TreeModelFilter.set_visible_func()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672081
-
- gi/overrides/Gtk.py | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-commit 02950cabb38b1b3c9378c42c069eefdbccbce17d
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Wed Mar 14 13:31:41 2012 -0300
-
-    Add a default argument to Gtk.TreeView.set_cursor
-
-    And also make sure that the path is a Gtk.TreePath.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672081
-
- gi/overrides/Gtk.py     |  4 ++++
- tests/test_overrides.py | 10 ++++++++++
- 2 files changed, 14 insertions(+)
-
-commit 7245bd0ae3f6243c79fa8543a0ed1e50e5015844
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Wed Mar 14 13:31:06 2012 -0300
-
-    Add a default argument to Pango.Context.get_metrics()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672081
-
- gi/overrides/Pango.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit bc1fd8814df6c1e85b586d0fb943c89f7e2b78b5
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Fri Mar 16 13:27:56 2012 +0100
-
-    Fix double-freeing GValues in arrays
-
-    When marshalling a GValue array to C, the GValue items are copied
-    into a C
-    GValue array, not a C GValue pointer
-    array. _pygi_marshal_from_py_array()
-    already calls the cleanup_func for the original item;
-    _pygi_marshal_cleanup_from_py_array() must not do it again, as this
-    would try
-    to g_slice_free the array item.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672224
-
- gi/pygi-marshal-from-py.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-commit a906b7d1947ba905f959d3f738eb6c29b02f96e7
-Author: Simon Feltman <s.feltman@gmail.com>
-Date:   Fri Mar 16 00:29:31 2012 -0700
-
-    Renamed "property" class to "Property"
-
-    Renamed to match the rest of the class names in GObject and also
-    not clobber the builtin python property.
-
-    Keep the old "property" identifier for backwards compatibility
-    for now.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672168
-
-    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
-
- examples/properties.py        |  6 +--
- gi/_gobject/__init__.py       |  7 ++--
- gi/_gobject/propertyhelper.py | 12 +++---
- tests/test_interface.py       |  4 +-
- tests/test_properties.py      | 94
- +++++++++++++++++++++----------------------
- 5 files changed, 62 insertions(+), 61 deletions(-)
-
-commit d7d28d717e38c0546529b09b8b571a5cc631c5b5
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Mar 14 22:52:47 2012 +0100
-
-    Fix Python to C marshalling of GValue arrays
-
-    For GValues we cannot just copy the GValue memory in
-    _pygi_marshal_from_py_array(), as the from_py_cleanup() function
-    clears and
-    releases the GValue and with it its v_pointer. Use g_value_copy()
-    to copy by
-    value instead.
-
-    This uncovered another bug in _pygi_marshal_cleanup_from_py_array():
-    It always
-    assumed that C arrays contained pointers, but this is not the case
-    for GValue
-    arrays: these are actual struct arrays, not struct pointer arrays
-    (cf. their
-    construction in _pygi_marshal_from_py_array()). Check if an array
-    contains
-    pointers or values and compute the correct array item pointer for
-    both cases.
-
-    Also add a corresponding test case for marshalling GValue arrays
-    from C back to
-    Python, which works fine.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672065
-
- gi/pygi-marshal-cleanup.c | 19 ++++++++++++++-----
- gi/pygi-marshal-from-py.c | 13 ++++++++++++-
- tests/test_gi.py          |  8 ++++++++
- 3 files changed, 34 insertions(+), 6 deletions(-)
-
-commit 27ac9c1de6487035b18ef4511c155d251cb6d39d
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Fri Mar 16 09:59:57 2012 +0100
-
-    Correct the Gtk.Window hierarchy
-
-    We need to make sure that all Gtk.Dialog subclasses inherit from
-    the overridden Window class. For that to be done automaticly we need
-    to create the Window class before the Dialog class.
-
-    Now when it's inherited properly we need to avoid calling the Window
-    constructor twice as it passes in a construct-only parameter. So add
-    **kwargs to the Window constructor to allow us to pass in any kind
-    of GObject property to it and refactor the Dialog subclasses to pass
-    in all properties to the same constructor.
-
-    Also adds a bunch of tests to make sure that the hiearchy is correct.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672158
-
-    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
-
- gi/overrides/Gtk.py     | 56
- ++++++++++++++++++++++++-------------------------
- tests/test_overrides.py | 35 +++++++++++++++++++++++++++++--
- 2 files changed, 61 insertions(+), 30 deletions(-)
-
-commit 77ab27ab8a580d98f76730f075e083e1e870f55e
-Author: simon <simon@gerty>
-Date:   Tue Mar 13 01:41:53 2012 -0700
-
-    Renamed getter/setter instance attributes to fget/fset respectively.
-
-    The python 'property' class allows for decoration of methods using
-    .getter and .setter. These were added as methods to the
-    GObject.property
-    class to match that of the python property class and allow for
-    decoratored
-    setter methods.
-
-    In addition, __call__ was added to allow an instantiated decorator
-    with
-    args to also decorate a method:
-
-    class C(GObject.GObject):
-        _value = 0
-        @GObject.property(type=int, default=0)
-        def propInt(self):
-            return self._value
-        @propInt.setter
-        def propInt(self, value):
-            self._value = value
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=586181
-
-    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
-
- gi/_gobject/__init__.py       | 10 ++++----
- gi/_gobject/propertyhelper.py | 59
- +++++++++++++++++++++++++++++++------------
- tests/test_properties.py      | 41 ++++++++++++++++++++++++++++++
- 3 files changed, 89 insertions(+), 21 deletions(-)
-
-commit 174a61fb3149c07dab5cc35e64825922cdefcb95
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Tue Mar 13 17:10:13 2012 -0300
-
-    Add Gtk.Arrow/Gtk.Window constructor override
-
-    Adds argument that makes them compatible with PyGTK.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=672045
-
- gi/overrides/Gtk.py | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-commit 7746d2188ac4933c2c9011d84525d1e62fc18953
-Author: Michel Dänzer <michel@daenzer.net>
-Date:   Fri Mar 9 12:26:53 2012 +0100
-
-    Fix marshalling to/from Python to work on big endian machines.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=668903
-
-    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
-
- gi/pygi-argument.c        | 25 ++++++++++++++++---------
- gi/pygi-marshal-from-py.c | 32 +++++++++++++++++++++++++-------
- gi/pygi-marshal-to-py.c   | 19 +++++++++++++++++++
- 3 files changed, 60 insertions(+), 16 deletions(-)
-
-commit 0591cc6f160ae6e9d8c3970934ae105ef340d7d3
-Author: Michel Dänzer <michel@daenzer.net>
-Date:   Thu Mar 8 12:21:28 2012 +0100
-
-    Use gi_cclosure_marshal_generic instead of duplicating it.
-
-    Bump gobject-introspection dependency to ensure that we have the
-    corresponding
-    changes in g-i.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=668903
-
-    Signed-off-by: Michel Dänzer <michel@daenzer.net>
-    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
-
- configure.ac                 |   3 +-
- gi/_gobject/Makefile.am      |   7 +-
- gi/_gobject/ffi-marshaller.c | 194
- -------------------------------------------
- gi/_gobject/ffi-marshaller.h |  31 -------
- gi/_gobject/gobjectmodule.c  |  12 +--
- 5 files changed, 4 insertions(+), 243 deletions(-)
-
-commit 8ca828825a2c47080055c5f986979aac8da9a93f
-Author: René Stadler <rene.stadler@collabora.co.uk>
-Date:   Mon Mar 5 21:10:55 2012 +0100
-
-    Override Gtk.TreeView.get_visible_range to fix return
-
-    Just like IconView.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=671409
-
- gi/overrides/Gtk.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 4824ceaa77b59788325a2c1ee0f994d4e74d7a1c
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Mar 4 16:41:18 2012 +0100
-
-    Plug memory leak in _is_union_member
-
-    When we found the member, unref the objects before breaking out of the
-    loop.
-
- gi/pygi-marshal-from-py.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-commit c6ae29ac157978a61b11cc2de9e8485d8a175105
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Tue Feb 21 15:37:18 2012 +0100
-
-    tests: Split TestInterfaces into separate tests
-
- tests/test_gi.py | 36 +++++++++++++++++++-----------------
- 1 file changed, 19 insertions(+), 17 deletions(-)
-
-commit de3299818ae5fdf1c7abbe05a36bfd5cdface7b8
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Feb 20 19:37:32 2012 +0100
-
-    Post release version bump to 3.1.2
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit fd020e783c0dacea3320225b4ddd57d6a0fce7ea
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Feb 20 19:33:56 2012 +0100
-
-    Prepare 3.1.1 release
-
- NEWS | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-commit 99485d96811667ef7a7a393b68b7361733157d61
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Feb 18 00:38:05 2012 +0100
-
-    Don't use C99 style
-
- gi/pygi-cache.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 0739c39f6282d95fc17ee406fa1151d074b0450d
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Feb 16 16:42:53 2012 +0100
-
-    Add test for GPtrArray with transfer full
-
-    This complements the already existing test for a "transfer container"
-    return
-    array. We can't verify the internal refcount as these arrays get
-    marshalled
-    internally, but at least we can verify that it does not crash due to
-    double-free.
-
- tests/test_everything.py | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-commit 087a104f66793a981a0c02f1c7ab9cc1cf659da3
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Feb 15 13:36:39 2012 +0100
-
-    Drop obsolete g_thread_init()
-
-    Not necessary any more since glib 2.24, and we depend on 2.31.
-
- gi/_glib/pyglib.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-commit 66fb610e45912a7def29e5848577d280ef55643a
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Feb 15 13:35:33 2012 +0100
-
-    Fix deprecated g_source_get_current_time()
-
-    Use g_get_real_time() instead as recommended by the
-    documentation. This also
-    simplifies the code.
-
- gi/_glib/pygsource.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-commit 18342edded05d3d9cccf648ed92bc1cac95c51eb
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Feb 15 13:31:23 2012 +0100
-
-    Fix deprecated g_value_[gs]et_char()
-
-    Replace with _schar(). We depend on glib >= 2.31 already.
-
- gi/_gobject/ffi-marshaller.c | 2 +-
- gi/_gobject/pygtype.c        | 6 +++---
- gi/pygi-argument.c           | 2 +-
- 3 files changed, 5 insertions(+), 5 deletions(-)
-
-commit 3dfb8dcbe7cf09dc170433fc48d3273c6ea9448e
-Author: Simon Schampijer <simon@schampijer.de>
-Date:   Thu Feb 2 19:06:01 2012 +0100
-
-    Make pygiconvert.sh correctly convert gtk.gdk.x11_*
-
-    Looking at the gir file gtk.gdk.x11_* should get converted to
-    GdkX11.x11_*. Fixing pygiconvert.sh to do so.
-
- pygi-convert.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3af5016978df598d5fd1c225cc49bb2c04dc4e35
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Fri Feb 10 13:29:41 2012 +0100
-
-    Raise required glib version to 2.31 because of g_value_(get|set)_schar
-
-    Commit ee62df4d2fc0cc63c2f29d3ad9b47b875dbd5f89 introduced both calls
-
- configure.ac | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 50c3b1bad3ea79750649f4b48fce0adbfaba5268
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Feb 10 09:28:36 2012 +0100
-
-    Fix cset_first typo
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=649267
-
- gi/_gobject/pygparamspec.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6ab542fb3ec1031922ba65664d77bbaac0df453e
-Author: Bastian Winkler <buz@netbuz.org>
-Date:   Mon Nov 14 14:41:08 2011 +0100
-
-    pygi-convert: Handle Clutter and Cogl
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=664496
-
- pygi-convert.sh | 76
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 76 insertions(+)
-
-commit 4aeb27efc43e131de5d0bc0f60dca7c1d34c3d45
-Author: Cédric Krier <cedric.krier@b2ck.com>
-Date:   Fri Feb 10 09:04:18 2012 +0100
-
-    Provide access to gpointer struct values
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=668356
-
-    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
-
- gi/pygi-argument.c       |  3 ++-
- gi/pygi-info.c           | 13 +++++++++++++
- tests/test_everything.py | 21 +++++++++++++++++++++
- 3 files changed, 36 insertions(+), 1 deletion(-)
-
-commit 5c0b20cc1a261cb7430a5251dffe60da698033b5
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Thu Feb 9 18:15:42 2012 +0100
-
-    Add some GType tests
-
-    Use what was recently added in g-i
-
- tests/test_gi.py | 17 +++++++++++++++--
- 1 file changed, 15 insertions(+), 2 deletions(-)
-
-commit ea7778f6f37a6fc38f88d89d4b6cae8be0ed9753
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Thu Feb 9 18:14:52 2012 +0100
-
-    Split GStrv and array variant tests in their own classes
-
-    Also tidy up the spacing a bit
-
- tests/test_gi.py | 29 +++++++++++++++++++++++------
- 1 file changed, 23 insertions(+), 6 deletions(-)
-
-commit db7f9be319d3cf52aef300fbac60cabb7ff57276
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Feb 8 22:23:30 2012 +0100
-
-    Add unit test for builder's connect_after
-
- tests/test_overrides.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit 671f9b0dd73ac41a84caf9d1f04cec351bc01b47
-Author: Ryan Lortie <desrt@desrt.ca>
-Date:   Wed Feb 8 16:06:22 2012 -0500
-
-    fix GtkBuilder signal connection 'after' logic
-
-    All GtkBuilder signals are presently being connected 'after', ignoring
-    what is specified in the builder XML.  This is due to an obvious logic
-    error.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=669705
-
- gi/overrides/Gtk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 1d23d8006be98b77a0134fddd23b76df05e489fa
-Author: Patrick Welche <prlw1@cam.ac.uk>
-Date:   Tue Feb 7 11:49:58 2012 +0000
-
-    test(1) uses '=' to test if strings are identical
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=669598
-
- m4/python.m4 | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 945fd18e531c2131440af93dcd89f6c63abbfd7c
-Author: Ryan Lortie <desrt@desrt.ca>
-Date:   Tue Feb 7 13:42:19 2012 -0500
-
-    pygspawn: improve error checking
-
-    gspawn 'argv' and 'envp' parameters expect sequences of strings.  This
-    is enforced by checking that the passed argument is a sequence
-    and that
-    each item returned from it is a string.
-
-    We do now, however, verify that each item can be successfully
-    taken from
-    the sequence.  'os.environ' is an example of an object that passes
-    PySequence_Check() but fails to return objects from PySequence_ITEM().
-
-    Add a simple NULL check to avoid the crash.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=669594
-
- gi/_glib/pygspawn.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 8fc969c45d6d720400dc6c9ef391d0ca93f14b5a
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Feb 6 19:15:53 2012 +0100
-
-    Post release version bump to 3.1.1
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f76b2fe6d37be76bf129ee2adee90b2cc0eee56e
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Feb 6 19:11:52 2012 +0100
-
-    Prepare 3.1.0 release
-
- NEWS | 34 ++++++++++++++++++++++++++++++++++
- 1 file changed, 34 insertions(+)
-
-commit c09d0dffc5a570d5ae4df1ae07b2e5594c3ca1bf
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Feb 6 19:04:41 2012 +0100
-
-    Updated DOAP file to only include people currently actively working
-    on the project
-
-    Removed obsolete MAINTAINERS file
-
- MAINTAINERS    | 19 -------------------
- pygobject.doap | 44 +++++++++++++++-----------------------------
- 2 files changed, 15 insertions(+), 48 deletions(-)
-
-commit 0285e107be581c4d594127dc06cd05df1f02fb3f
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Feb 6 18:57:01 2012 +0100
-
-    Revert "Convert all strings to utf-8 encoding when retrieving from
-    TreeModel"
-
-    This reverts commit 654711d0f940d7480d0f1cdb25a3dc9996f7a706.
-
-    Due to this commit breaking backwards compatability, we decided to
-    revert this change
-
- gi/overrides/Gtk.py     | 15 ---------------
- tests/compathelper.py   |  2 --
- tests/test_overrides.py | 31 +------------------------------
- 3 files changed, 1 insertion(+), 47 deletions(-)
-
-commit 0e921cd26ed5a6e3bc6ef5f553e8b22b862d72a6
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sun Feb 5 13:47:10 2012 +0100
-
-    tests: Fixed issues with python3
-
- tests/test_gi.py | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-commit ee62df4d2fc0cc63c2f29d3ad9b47b875dbd5f89
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sun Feb 5 11:59:51 2012 +0100
-
-    Properly distinguish between different integer types for properties
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=664150
-
- gi/pygi-property.c | 48 ++++++++++++++++++++++++++++++++++++++----
- tests/test_gi.py   | 62
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 106 insertions(+), 4 deletions(-)
-
-commit c329bf2aee8d75ce452638db75e09197ff2b9b65
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sun Feb 5 11:46:21 2012 +0100
-
-    Distinguish between GArray and GPtrArray when cleaning up
-
-    This fixes a crash in test_gi.TestGPtrArray and makes sure
-    memory is free'd correctly
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=669393
-
- gi/pygi-marshal-cleanup.c | 32 +++++++++++++++++++++++---------
- 1 file changed, 23 insertions(+), 9 deletions(-)
-
-commit 4ea37c606f67df843788261b2c8acd6bac4c1e0c
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Feb 5 18:51:53 2012 +0100
-
-    Add null_gerror_callback unit test
-
-    This models the case where the callback is successful and does not set
-    an error.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=669415
-
- tests/test_everything.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit a41984780ee49dcf02c718ca1be87bba747472e5
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Feb 6 09:34:28 2012 +0100
-
-    pyglib_error_check: Re-add missing NULL check
-
-    Commit adcfe96d49b09bc accidentally dropped the check if *error is
-    NULL, i. e.
-    any error is actually set. Due to that, pyglib_error_check()
-    always returned
-    TRUE. Reintroduce the check.
-
-    Thanks to Alberto Mardegan for spotting this!
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=669415
-
- gi/_glib/pyglib.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 2c797c17913999379e277788d5e4cce8d68cebb0
-Author: Michael Culbertson <michael.culbertson@gmail.com>
-Date:   Sat Feb 4 16:11:34 2012 +0100
-
-    Add tests/runtests-windows.py to source tarball
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=663288
-
- tests/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-commit d6a899cdf70e978534326155e3fad75a705f4b20
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Feb 4 15:55:55 2012 +0100
-
-    Don't issue a depreciation warning for GtkDialog's NO_SEPARATOR flag,
-    even when unused
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=665553
-
- gi/overrides/Gtk.py | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-commit 534ec71c575a279ff1c05da20a8858bb1145b4d0
-Author: Nirbheek Chauhan <nirbheek@gentoo.org>
-Date:   Sat Feb 4 15:42:36 2012 +0100
-
-    Fix bool() operations on GLib.Variant objects
-
-    Defines __nonzero__ (python2) and __bool__ (python3) for GLib.Variant
-
-    Also adds some tests for boolean comparisons.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=647723
-
- gi/overrides/GLib.py    | 18 ++++++++++++++++++
- tests/test_overrides.py | 45
- +++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 63 insertions(+)
-
-commit 8d6a127df5dd1e5f26faeba8f977074b4496b24f
-Author: Nirbheek Chauhan <nirbheek@gentoo.org>
-Date:   Sat Feb 4 15:41:08 2012 +0100
-
-    Fix hash() and __eq__() for GLib.Variant objects
-
-    Define __hash__, __eq__, __ne__ for GLib.Variant so that objects can
-    be used in sets, dicts, and can be compared using == and != easily.
-
-    Also adds some tests for this.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=647725
-
- gi/overrides/GLib.py    | 23 ++++++++++++++++++++
- tests/test_overrides.py | 56
- +++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 79 insertions(+)
-
-commit f82404034be042bf2026bbb7f1e33b11d6e17a6f
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jan 25 07:01:06 2012 +0100
-
-    Fix method names of callback tests
-
-    Change test_everything.TestCallbacks.* test names from camelCase
-    to the
-    standard PEP-8 underscore_style. This is now consistent with all
-    other test
-    case names.
-
- tests/test_everything.py | 30 +++++++++++++++---------------
- 1 file changed, 15 insertions(+), 15 deletions(-)
-
-commit e37ee78fbf0aa72159a40da4165a26bea065faf1
-Author: Will Thompson <will.thompson@collabora.co.uk>
-Date:   Mon Jan 23 13:10:30 2012 +0000
-
-    Cairo: add missing braces around array-of-struct definition
-
-    This triggered a -Wmissing-braces warning.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=668497
-
- gi/pygi-foreign-cairo.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit db24865d6b60351d72f5b8f47103d6d0a6c63b2e
-Author: Will Thompson <will.thompson@collabora.co.uk>
-Date:   Mon Jan 23 13:06:41 2012 +0000
-
-    g_instance_init: cast to PyGObject * as needed
-
-    This squashes a compiler warning.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=668497
-
- gi/_gobject/gobjectmodule.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a8408cfd68cd5e7cdb0b8a83e107d9a0d828e4bd
-Author: Will Thompson <will.thompson@collabora.co.uk>
-Date:   Mon Jan 23 13:01:27 2012 +0000
-
-    Fix a few set-but-not-used warnings.
-
-    In a couple of cases, the variable in question was set to a value
-    spelled out again later in the function.
-
-    The 'sequence_cache' variable is re-declared five lines below.
-
-    The return value of 'read' was previously completely ignored. The
-    'gssize ret' variable was in fact added to squash an unused-result
-    warning.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=668497
-
- gi/_glib/pygiochannel.c   | 2 +-
- gi/_glib/pygmainloop.c    | 3 +--
- gi/_gobject/pygobject.c   | 2 +-
- gi/pygi-marshal-cleanup.c | 2 --
- 4 files changed, 3 insertions(+), 6 deletions(-)
-
-commit 29a30490ed51e347e8f57d2bf9af69400734eee8
-Author: Stefano Facchini <stefano.facchini@gmail.com>
-Date:   Thu Jan 19 18:09:07 2012 +0100
-
-    pygmainloop: allow for extra arguments in 'quit' method
-
-    To allow for the common syntax:
-
-        object.connect('signal-name', main_loop.quit)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=668288
-
- gi/_glib/pygmainloop.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 557a61c12c01137a0d7c679c4b053973df09d445
-Author: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date:   Mon Dec 26 00:44:56 2011 -0500
-
-    Fix bytearray test compatibility with python3
-
-    https://bugs.gentoo.org/show_bug.cgi?id=321879
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=666852
-
- tests/test_gi.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit d69e5b3c7bdb9113382fd125c256b12bff4c24d2
-Author: Alberto Mardegan <mardy@users.sourceforge.net>
-Date:   Mon Jan 23 12:37:26 2012 +0200
-
-    Respect transfer-type when demarshalling GErrors
-
-    The marshaller previously ignored "transfer full" on GError*
-    arguments, causing
-    crashes due to double-freeing them. This causes the
-    testCallbackUserdata() test
-    case to crash after the previous GError/GHashTable marshalling fix.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=666270
-
- gi/pygi-argument.c | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-commit 77f32d9110bfeb6dad8457f565b4c70b5998fef6
-Author: Alberto Mardegan <mardy@users.sourceforge.net>
-Date:   Thu Dec 15 16:12:01 2011 +0200
-
-    Support GHashTable and GError as callback/closure arguments
-
-    Marshalling of these types from C is already implemented, let's
-    take it
-    into use for calbacks and closures too.
-
-    Add corresponding test cases.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=666270
-
-    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
-
- gi/pygi-closure.c        |  2 ++
- tests/test_everything.py | 35 +++++++++++++++++++++++++++++++++++
- 2 files changed, 37 insertions(+)
-
-commit 4b9dc03d0e49e9a1f4bf0f2df503bdff00d13a2b
-Author: Will Thompson <will.thompson@collabora.co.uk>
-Date:   Mon Jan 23 13:56:02 2012 +0000
-
-    Don't leak when marshalling GErrors to C
-
-    Python-land GLib.GErrors are supposed to have three attributes:
-    "message", "domain" and "code". If those attributes are missing,
-    or they
-    have the wrong types, the C GError is filled in with a message
-    describing the error. The present-but-ill-typed code paths did not
-    DECREF the ill-typed values.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=666098
-
- gi/_glib/pyglib.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit adcfe96d49b09bcc550653d73de196610fd5144d
-Author: Will Thompson <will.thompson@collabora.co.uk>
-Date:   Fri Jan 20 16:20:10 2012 +0000
-
-    Support functions which return GError
-
-    GStreamer has the following method:
-
-      void gst_message_parse_error (
-          GstMessage *message,
-          GError **error,
-          gchar **debug_message);
-
-    With this patch, we marshal the GError out parameter as a
-    GObject.GError
-    exception, but return it rather than throwing it. The test cases cover
-    two variations on the theme of the function above (one with (transfer
-    full), as in GStreamer, and another with (transfer none)) as well as a
-    function with return type GError *.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=666098
-
- gi/_glib/pyglib.c       | 46
- +++++++++++++++++++++++++++++++++++-----------
- gi/_glib/pyglib.h       |  1 +
- gi/pygi-marshal-to-py.c | 16 +++++++++++++---
- tests/test_gi.py        | 32 ++++++++++++++++++++++++++++++++
- 4 files changed, 81 insertions(+), 14 deletions(-)
-
-commit 09f003729eac9d553a208c343c2a14d253b77d9a
-Author: Alberto Mardegan <mardy@users.sourceforge.net>
-Date:   Mon Jan 23 12:42:21 2012 +0200
-
-    Fix indentation of _pygi_argument_to_object()
-
-    Side issue in https://bugzilla.gnome.org/show_bug.cgi?id=666270
-
-    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
-
- gi/pygi-argument.c | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-commit c71c010be01d706f90bc200194325fd82f4071b2
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Jan 14 14:24:23 2012 +0100
-
-    Avoid C99 syntax.
-
- gi/gimodule.c | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-commit c299d058c22385ececaec64c872d1dd1bc1ae17a
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Fri Jan 6 13:39:31 2012 +0100
-
-    Connect to first action of a radio group.
-
- gi/overrides/Gtk.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit dee2f179037902a3883bd0e61ff1c350e1fd8a4f
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Jan 4 16:40:51 2012 +0100
-
-    Use g_slist_free_full in pygi-closure.
-
- gi/pygi-closure.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-commit 2bee4207ab6f07dc9c0952affe72f0e304cfb624
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Jan 4 15:24:13 2012 +0100
-
-    Avoid O(n^2) behavior when marshalling lists
-
-    Appending requires walking the list every time: just prepend and
-    reverse
-    the list at the end.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=667261
-
- gi/pygi-marshal-from-py.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit d68455e99b1a9ebba31209b17a11317b1958678b
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Tue Jan 3 16:57:40 2012 +0100
-
-    Handle NULL as a valid case of a char** array
-
-    Treat NULL as an empty array and add the corresponding testcase
-
- gi/pygi-marshal-to-py.c | 9 +++++----
- tests/test_gi.py        | 3 +++
- 2 files changed, 8 insertions(+), 4 deletions(-)
-
-commit e3451b8e6018bb76e9992fb6af24a71725de5cfd
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-Date:   Fri Dec 23 12:01:43 2011 +0100
-
-    Branching, bump version to 3.1.0
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 8d1a36cc73f5f4df091ecb289c8a7b38ec2ab605
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-Date:   Mon Dec 12 18:35:30 2011 +0100
-
-    Add notes about branching to HACKING
-
- HACKING | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 00030bc6f0fb961c716ed692144cd8e4bb9be7d0
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Dec 10 12:51:45 2011 +0100
-
-    Fixed bug where GObject.property did not respect minimum and maximum
-    values
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=664864
-
- gi/_gobject/propertyhelper.py |  2 +-
- tests/test_properties.py      | 31 +++++++++++++++++++++++++++++++
- 2 files changed, 32 insertions(+), 1 deletion(-)
-
-commit 7b78abc6c399abd0daa4c11c644d107e1bb7b452
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-Date:   Mon Dec 12 17:00:24 2011 +0100
-
-    Remove mention of removed option --enable-docs
-
- HACKING | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 4cba52f5b5e79b7b6212cb0795e8976a9da9f21d
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-Date:   Mon Dec 12 17:00:03 2011 +0100
-
-    Fix sebp's name in NEWS
-
- NEWS | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 8c95981d0ba224a577f87998030c384b3dae3d80
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-Date:   Mon Dec 12 16:20:09 2011 +0100
-
-    Release 3.0.3
-
- NEWS | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit 58e47fd28c5d75bb78042c8f9eb5aae84de9c64d
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-Date:   Mon Dec 12 16:16:44 2011 +0100
-
-    Pre-release version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 884468d4816fc976c0c0c72651e7f81d13f3f78b
-Author: Manuel Quiñones <manuq@laptop.org>
-Date:   Thu Dec 1 11:50:38 2011 -0300
-
-    Convert all modifier constants to Gdk.ModifierType
-
-    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-
- pygi-convert.sh | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-commit 654711d0f940d7480d0f1cdb25a3dc9996f7a706
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Tue Nov 8 12:38:12 2011 +0100
-
-    Convert all strings to utf-8 encoding when retrieving from TreeModel
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=663610
-
- gi/overrides/Gtk.py     | 15 +++++++++++++++
- tests/compathelper.py   |  2 ++
- tests/test_overrides.py | 31 ++++++++++++++++++++++++++++++-
- 3 files changed, 47 insertions(+), 1 deletion(-)
-
-commit 4f637212f13b197a95c824967a58496b9e3b877c
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Nov 2 14:51:24 2011 -0400
-
-    add test for bytearray variants
-
- tests/test_gi.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 20ca3f129d6cc662285cce8c732b55596016aefa
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Nov 2 14:50:42 2011 -0400
-
-    handle NULL arrays correctly for each array type
-
- gi/pygi-marshal-to-py.c | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-commit ce2f780bffe44b1d4de617dcbce4b90c58b03c18
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Nov 2 14:17:21 2011 -0400
-
-    Revert "Revert "Fix array termination and size calculation""
-
-    This reverts commit cfda820e8d9604c5ef2ad1161c22b20080d5daf4.
-
- gi/pygi-marshal-from-py.c | 6 +++++-
- gi/pygi-marshal-to-py.c   | 8 +++++++-
- 2 files changed, 12 insertions(+), 2 deletions(-)
-
-commit 832f16f96815adc22cc3acbeb3fa969631795a29
-Author: Owen W. Taylor <otaylor@fishsoup.net>
-Date:   Sun Oct 30 18:08:57 2011 -0400
-
-    pygmainloop: avoid lockups if multiple glib.MainLoop exist
-
-    If multiple glib.MainLoop() sources exist, then we will add multiple
-    watches, and when python writes a byte to the wakeup pipe, all of the
-    sources will try to read it; only one will succeed and the others
-    will block. Set both ends of the pipe nonblocking to avoid this.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=663068
-
- gi/_glib/pygmainloop.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit 2fd3aa9d4ca0906a5e609845ee500ba72e358f94
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-Date:   Sat Oct 29 15:08:03 2011 +0200
-
-    Properly chain up to the class that implements a given vfunc.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=662994
-
- gi/types.py      | 22 +++++++++++++---------
- tests/test_gi.py | 20 ++++++++++----------
- 2 files changed, 23 insertions(+), 19 deletions(-)
-
-commit cfda820e8d9604c5ef2ad1161c22b20080d5daf4
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-Date:   Wed Nov 2 14:54:21 2011 +0100
-
-    Revert "Fix array termination and size calculation"
-
-    This reverts commit eef35b2df8023ffff2d195ee16c084f5cfcb6ba3.
-
- gi/pygi-marshal-from-py.c | 6 +-----
- gi/pygi-marshal-to-py.c   | 8 +-------
- 2 files changed, 2 insertions(+), 12 deletions(-)
-
-commit eef35b2df8023ffff2d195ee16c084f5cfcb6ba3
-Author: Holger Berndt <hb@gnome.org>
-Date:   Sun Oct 30 16:36:32 2011 +0100
-
-    Fix array termination and size calculation
-
-    When creating an array of element type uint8 and setting it directly
-    with
-    memcpy(), make sure that zero-termination is respected.
-
-    When calculating the length of a zero-terminated array of type uint8,
-    fall back to strlen() instead of g_strv_length().
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=662550
-
- gi/pygi-marshal-from-py.c | 6 +++++-
- gi/pygi-marshal-to-py.c   | 8 +++++++-
- 2 files changed, 12 insertions(+), 2 deletions(-)
-
-commit 4c1d9f01b8fa6702f73b290180f934250e179caa
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Sun Oct 30 09:20:45 2011 +0000
-
-    pygi-convert: fix for Pango.Alignment
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit e3abd76096cc9f335681c7225f452c286b9c59e2
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Sun Oct 30 07:06:57 2011 +0000
-
-    pygi-convert: fix for Gtk.Orientation
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 52b82c5f78ef3755388457fa9440c36ccd2dfbbf
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Oct 27 07:16:24 2011 +0200
-
-    Add tests for calling closures
-
-    Add checks for correct handling of closure calls.
-    Regress.test_closure_one_arg() is working fine and should continue
-    to do so.
-    Regress.test_closure_variant() is known to not work yet, so mark
-    this as EXFAIL
-    for now. (See https://bugzilla.gnome.org/show_bug.cgi?id=656554)
-
- tests/test_everything.py | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
-commit c7aa0e79dfb4c1092c51ae1464b8414083b4f3fc
-Author: Mikkel Kamstrup Erlandsen <mikkel.kamstrup@canonical.com>
-Date:   Tue Oct 4 12:28:26 2011 +0200
-
-    fix marshaling of arrays of GVariants
-
-    Add unit tests for marshaling of arrays of variants with all
-    transfer modes. Requires latest gobject-introspection.
-
-    Plug potential leaks of GArray data members
-
-    Fix calling of wrong cleanup_from_py for arrays
-
-    Simplify and fix logic for cleaning up arrays both in from_py()
-    and to_py() code paths.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=638915
-
-    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
-
- gi/pygi-cache.c           |  2 +-
- gi/pygi-marshal-cleanup.c | 81
- ++++++++++++++++++++++++++++++-----------------
- gi/pygi-marshal-from-py.c | 10 ++++--
- gi/pygi-marshal-to-py.c   | 13 ++++++--
- tests/test_gi.py          | 14 +++++++-
- 5 files changed, 85 insertions(+), 35 deletions(-)
-
-commit c2ec4d8eb46ae2e6ee4372b2a4f9d5df0e5d82f3
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Sat Oct 22 00:20:57 2011 +0200
-
-    Release 3.0.2
-
- NEWS | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit 5c24760b797e985721f7fe51d52252e4dd54a417
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Fri Oct 21 17:31:41 2011 +0200
-
-    Fix "Returns: (skip)" method calls without (out) arguments
-
-    When we have a method call with a skipped return value, but no
-    other out
-    arguments, we previously returned NULL to Python, which causes
-    "SystemError:
-    error return without exception set". Return None instead.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=662383
-
- gi/pygi-invoke.c         | 10 ++++++++++
- tests/test_everything.py |  8 ++++++++
- 2 files changed, 18 insertions(+)
-
-commit 585222915dc98b0e375de3db4771466278a32e81
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Oct 18 00:39:16 2011 -0400
-
-    Do union member checks for unions that are parameters
-
-    * before we were only doing checks if the union was an instance
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=661673
-
- gi/pygi-marshal-from-py.c | 121
- ++++++++++++++++++++++++++--------------------
- 1 file changed, 68 insertions(+), 53 deletions(-)
-
-commit 8deaec6b9abd87f02060c9feec773d4693e89028
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Oct 19 14:35:11 2011 +0200
-
-    Gdk overrides: Unbreak for Gdk-2.0
-
-    Fix regression from commit 31db3ed: Gdk 2.0 did not yet have
-    atom_intern(), so
-    only do this for Gdk >= 3.0.
-
-    https://launchpad.net/bugs/875399
-
- gi/overrides/Gdk.py | 95
- +++++++++++++++++++++++++++--------------------------
- 1 file changed, 48 insertions(+), 47 deletions(-)
-
-commit f395fb131caf7ca550acd17138d8061926ef4f92
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Oct 14 17:19:45 2011 -0400
-
-    unit test for checking ref count of object param in signals
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=661359
-
- tests/test_everything.py | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-commit 611f58b99851328653af4930f188c33eccaa9f6f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Oct 14 16:42:32 2011 -0400
-
-    when converting an object with transfer none, make sure the wrapper
-    owns a ref
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=661359
-
- gi/pygi-argument.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 0f1eb9fa0e7aa5e7c22dabc709c0dfb469e404f1
-Author: Timo Vanwynsberghe <timovwb@gmail.com>
-Date:   Tue Oct 4 11:13:43 2011 +0200
-
-    Allow GBoxed types as property
-
-    Add the GBoxed type as valid type to the gobject property helper
-    https://bugzilla.gnome.org/show_bug.cgi?id=660798
-
- gi/_gobject/propertyhelper.py | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-commit bef8d385117dd0295c9ba7567710d76fc2bb729a
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Mon Oct 10 11:24:42 2011 +0200
-
-    Add tests for boxed properties.
-
- tests/test_properties.py | 20 ++++++++++++++++++--
- 1 file changed, 18 insertions(+), 2 deletions(-)
-
-commit 77123ffeb1585837033848f4d5a90cfa63fdaee0
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Fri Sep 30 20:21:07 2011 +0200
-
-    Post release bump version
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f5ccfec0a1bc4c999bfa49d75383ea06d3a068c4
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Fri Sep 30 20:19:46 2011 +0200
-
-    Release 3.0.1
-
- NEWS         | 5 +++++
- configure.ac | 2 +-
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-commit 56ac9339eb1d6950623dc4d8c3b9972874e7fa86
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 22 19:03:20 2011 -0400
-
-    when checking instances union members are same type as parent
-
-    * this is so we can support sending Gdk.Event members in place of
-      the Event union into methods
-    * we only support this if the union member has a type of GI_INTERFACE
-    for now
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=659879
-
- gi/pygi-marshal-from-py.c | 60
- +++++++++++++++++++++++++++++++++++++++++++----
- 1 file changed, 56 insertions(+), 4 deletions(-)
-
-commit 311a4f8035a95b41bc3c0a836c32b7a5bf2d9959
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Sep 21 21:50:48 2011 -0400
-
-    add a floating flag to pygobjects
-
-    * this allows us to correctly refcount when custom gobjects are
-    instantiated
-      via g_object_new
-
- gi/_gobject/gobjectmodule.c     |  5 +++++
- gi/_gobject/pygobject-private.h |  3 +++
- gi/_gobject/pygobject.c         | 27 ++++++++++++++++++++++++++-
- gi/_gobject/pygobject.h         |  3 ++-
- 4 files changed, 36 insertions(+), 2 deletions(-)
-
-commit d2d29ae5845217254b9336fd8629f369cb119b25
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Sep 21 21:13:22 2011 -0400
-
-    Revert "Fix refcount bug by not creating python wrapper during
-    gobject init stage"
-
-    This reverts commit f6fa5dd8f39af1b8a52d7600d257400b0983e8c5.
-
- gi/_gobject/gobjectmodule.c | 32 +++++++++++++++++---------------
- 1 file changed, 17 insertions(+), 15 deletions(-)
-
-commit a24c10b779f2a1b0425d56d03d59c393389cad98
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Sep 21 21:10:00 2011 -0400
-
-    make sure to commit the NEWS file
-
- NEWS | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 2eed2940c9be099fb6305288d895265e6b35d3d2
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Sep 19 13:19:57 2011 -0400
-
-    prep for 3.0 release
-
- configure.ac | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit fbd58b70c2c3c1128f95a87eb4cc8313b6a401b8
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Sep 16 14:19:15 2011 -0400
-
-    up version required of gobject-introspection to 1.29.0
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 225f21117b6b3546989abe22538c784291e86b2a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Sep 16 12:26:10 2011 -0400
-
-    fix most warnings
-
-    * remove some unused vars
-    * correctly cast vars
-    * handle deprecated enums in switch statments by using default:
-    * unused wanrings still remain in some places
-
- gi/pygi-argument.c        |  2 +-
- gi/pygi-cache.c           |  7 ++-----
- gi/pygi-info.c            |  6 ++++++
- gi/pygi-invoke.c          |  2 +-
- gi/pygi-marshal-from-py.c | 17 +++++++++--------
- gi/pygi-marshal-to-py.c   |  3 +--
- 6 files changed, 20 insertions(+), 17 deletions(-)
-
-commit 9a70f01288e1b049206d25d67938907f1b38a490
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Sep 16 12:24:38 2011 -0400
-
-    post release bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3ec4020205e909ee4400650434f9ae7b89c2bde8
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 15 18:12:01 2011 -0400
-
-    edit HACKING file to show correct tag format
-
- HACKING | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2e864fd05bc0adf48df9f65ab72785ebb1d0d3f0
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 15 18:10:33 2011 -0400
-
-    update NEWS file to prep for release
-
- NEWS | 35 +++++++++++++++++++++++++++++++++++
- 1 file changed, 35 insertions(+)
-
-commit 0da687fa699aba4f42c42a924d6754e2bd47df50
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 15 17:59:31 2011 -0400
-
-    fix typo s/lenth/length
-
- gi/overrides/Gtk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 0e4861abaff64d8e7e8d1aeedf9dd1e80de8aab2
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 15 17:48:58 2011 -0400
-
-    fix typo in docstring
-
- gi/_gobject/propertyhelper.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e7fcc326d64def610e5a1003cf6c7ca97023814d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 15 17:46:46 2011 -0400
-
-    do not pass in len(str) to the length argument of
-    gtk_test_buffer_insert* apis
-
-    * in python 3 len(str) returns the number of characters while
-    the length
-      parameter is expecting the number of bytes.  It also excepts -1
-      for null
-      terminated string.  Since all of our strings are null terminated,
-      just
-      set length to that.
-
- gi/overrides/Gtk.py | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-commit 6f380153afb3390f7da9f4b8befb1c4ee224da17
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Sep 12 21:07:20 2011 +0200
-
-    Switch tarball compression format to tar.xz only.
-
-    See
-    http://mail.gnome.org/archives/gnome-announce-list/2011-September/msg00031.html
-    for more information.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=659140
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 11c45ac6dcb6ffad766d03bfc77f45a6d703a90d
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Thu Sep 15 14:18:57 2011 +0200
-
-    Remove pygtk_version attribute from internal gi._gobject module.
-
-    This used to be provided for backwards compatibility with older PyGTK
-    versions. As PyGObject3 no longer provides support for static bindings
-    like PyGTK, the pygtk_version attribute has become obsolete.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=659142
-
- gi/_gobject/gobjectmodule.c | 4 ----
- gi/_gobject/pygobject.h     | 2 --
- 2 files changed, 6 deletions(-)
-
-commit 7e48fd6dfd86b7082c3fd35d25d9693c56c9665a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 15 15:52:18 2011 -0400
-
-    remove overridesdir from the .pc file and add it to the gi module
-
-    * having the variable in the .pc file caused issues parallel
-    installing
-      for different versions of python
-    * putting it into the module allows us to give the correct directory
-      based on which version of python you run the script from
-    * access the var as such:
-        import gi
-        installdir = gi._overridesdir
-
- gi/__init__.py      |  2 ++
- pygobject-3.0.pc.in | 10 +++++++++-
- 2 files changed, 11 insertions(+), 1 deletion(-)
-
-commit beea7072a5a989be47a755ac46647380d4dbd6b4
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 15 00:11:09 2011 -0400
-
-    fix tests to correctly construct a dummy Gtk.TargetEntry
-
-    * structs are sometimes a pain in gi.  Simply constructing them
-    using the
-       the standard constructor (e.g. Gtk.TargetEntry()) will malloc
-       the struct
-       but not correctly initialize the fields which can cause a crash.
-     * tests didn't crash before because they were sending in bogus
-     data that
-       somehow did not trigger the issue
-     * now with the C struct array marshallers doing the right thing,
-     the incorrect
-       use of TargetEntry was causing a crash
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627236
-
- tests/test_overrides.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 46ba7f04ef3df08e07ddda5c10f0c98bec5fa183
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 15 00:08:31 2011 -0400
-
-    we now assume that C arrays of structs are flat so memcpy them
-    when marshalling
-
-    * there is no way in GI to tell if a C array is flat or an array
-    of pointers
-      so we assume that all arrays of simple structs and gvalues are
-      flat and
-      all arrays of objects and boxed structs are pointer arrays.
-    * this will be removed once GI gets the ability to annotate level
-    of indirection
-      for arrays
-    https://bugzilla.gnome.org/show_bug.cgi?id=627236
-
- gi/pygi-marshal-from-py.c | 35 ++++++++++++++++++++++++++++++++---
- tests/test_gi.py          | 29 +++++++++++++++++++++++++++++
- 2 files changed, 61 insertions(+), 3 deletions(-)
-
-commit e30a41592baa942188574e5c9f99572963e2e387
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 15 00:02:34 2011 -0400
-
-    only update the arg counts once if child arg comes before parent arg
-
-    * if the child arg comes before the parent arg we need to update the
-       argument counts and take the child arg out of the marshalling lists
-       since it is handled by the parent
-     * when two parents reference the same child arg as is the case with
-       two arrays which have a single length argument we only want
-       to update
-       the count once
-     * to do this we introduce the PYGI_META_ARG_CHILD_NEEDS_UPDATE
-     meta type
-       and only do the count update if this is set
-     * APIs should keep in mind that this take extra processing so
-     child args
-       should really come after their parents
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627236
-
- gi/pygi-cache.c | 30 ++++++++++++++++++++----------
- gi/pygi-cache.h |  9 +++++++--
- 2 files changed, 27 insertions(+), 12 deletions(-)
-
-commit f6fa5dd8f39af1b8a52d7600d257400b0983e8c5
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Sep 14 20:26:15 2011 -0400
-
-    Fix refcount bug by not creating python wrapper during gobject
-    init stage
-
-    * This only applys to python subclasses of GObject which are
-    instantiated
-       using GObject.new
-     * Because we were creating the wrapper when the gobject is
-     initialized
-       and then again calling pygobject_new_full the wrapper would get
-       ref'ed twice.
-     * we could not simply Py_DECREF the wrapper due to the fact that
-       non-subclassed objects (e.g. GObject.Object) instantiated via
-       new do not run the same initialization code and would not have the
-       extra ref
-     * solution was to simply not create the wrapper during initialization
-       because if it doesn't exist when pygobject_new_full is called
-       it gets created and registered there
-     * move the call to __init__ into pyg_object_new
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657403
-
- gi/_gobject/gobjectmodule.c | 32 +++++++++++++++-----------------
- 1 file changed, 15 insertions(+), 17 deletions(-)
-
-commit 61b64a65beee9011f8e4ed20f0a83e6630ba154f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Sep 13 18:08:04 2011 -0400
-
-    don't destroy just created wrapper when object is created via
-    g_object_new
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657403
-
- gi/_gobject/gobjectmodule.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 93e12cc2eb7e7f2c18971da86e9c9452d3f566b7
-Author: Steve Frécinaux <code@istique.net>
-Date:   Fri Aug 26 11:22:09 2011 +0200
-
-    Remove deprecated API from pygobject.h
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657416
-
- gi/_gobject/pygobject.h | 19 +------------------
- 1 file changed, 1 insertion(+), 18 deletions(-)
-
-commit e1c71092af6e2cffa36248519adfceac1874051d
-Author: Marcin Owsiany <marcin@owsiany.pl>
-Date:   Wed Aug 31 09:43:28 2011 +0100
-
-    Convert gtk.TRUE/FALSE to Python True/False.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657785
-
- pygi-convert.sh | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 3ace5c2e2268285a5dcb39889fcb2a71bc1063bd
-Author: Steve Frécinaux <code@istique.net>
-Date:   Fri Sep 2 08:37:15 2011 +0200
-
-    Drop legacy __gobject_init__ method of GObject.Object.
-
-    This method was used in gobject initialization at some point, but now
-    using GObject.__init__() is sufficient, so let's not keep this old
-    method around and let people misuse it.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658032
-
- examples/signal.py      |  2 --
- gi/_gobject/pygobject.c | 11 -----------
- 2 files changed, 13 deletions(-)
-
-commit fcd457d1d1d8a813acb2ebfe5ee0e9aab2c9c88c
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Sep 13 12:05:30 2011 +0200
-
-    AM_CHECK_PYTHON_LIBS does not work for lib64
-
-    But on Windows, Python extension modules need to be explicitly
-    linked to libpython.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658856
-
- configure.ac            |  4 +++-
- gi/Makefile.am          |  9 ++++++---
- gi/_glib/Makefile.am    | 10 ++++++++--
- gi/_gobject/Makefile.am |  8 +++++++-
- 4 files changed, 24 insertions(+), 7 deletions(-)
-
-commit 863c087911203a8f3ebaa8e77622a3437a7cd320
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Sep 12 23:03:05 2011 +0200
-
-    Remove common_ldflags from Makefile.am as it is no longer used.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658856
-
- Makefile.am | 6 ------
- 1 file changed, 6 deletions(-)
-
-commit 24b920f9922e367bdb8b3e56c2f61e0c8f5cdb66
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Sep 13 16:20:48 2011 -0400
-
-    cast params for PyObject_IsInstance to suppress warnings
-
- gi/_gobject/pygobject-private.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 861369ec59b17f67151813dc2e87c6e86126b954
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Sep 13 16:04:31 2011 -0400
-
-    check if object is actually a PyGFlag before trying to access g_type
-
-     * we are lucky this bit of code worked for as long as it did but when
-       checking if an object is a PyGFlag we can't just rely on looking
-       at the g_type field because if a regular gobject is passed in
-       as is the case when you compare a long to a gflag, the gobject
-       will not have a g_type field.  Accessing a non-existant field
-       could at best give you a false positive and at worse read
-       memory beyond the bounds of the actual structure passed in
-
- gi/_gobject/pygobject-private.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit eea93e89fb064253bd8903c8b453daf4b3c87c2c
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Sep 13 16:03:02 2011 -0400
-
-    fix regression - add instance type checks since Py3 no longer does
-    this for us
-
- gi/pygi-marshal-from-py.c | 21 +++++++++++++++++++--
- 1 file changed, 19 insertions(+), 2 deletions(-)
-
-commit a4e4318b50a24a688e32579273fbcfa51d1b422a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Sep 2 18:39:51 2011 -0400
-
-    refactor in/out marshalling to be to_py/from_py
-
-    * in/out make sense from a C perspective but when you get to the
-       python layers it makes more sense to label them as to_py and
-       from_py to denote which way we are marshalling
-     * this helps clear up the difference between callbacks which
-       call into python and invoked functions which call into C
-     * in the callback case we marshal in values to Python objects
-       and out values to C types but in the invoke case we do the
-       reverse.  Dealing with to_py/from_py makes the code much more
-       resuable and consistant
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658362
-
- gi/Makefile.am                                   |   8 +-
- gi/pygi-cache.c                                  | 673
- ++++++++++++-----------
- gi/pygi-cache.h                                  |  62 ++-
- gi/pygi-invoke.c                                 | 144 ++---
- gi/pygi-marshal-cleanup.c                        | 168 +++---
- gi/pygi-marshal-cleanup.h                        | 128 ++---
- gi/{pygi-marshal-in.c => pygi-marshal-from-py.c} | 372 ++++++-------
- gi/pygi-marshal-from-py.h                        | 186 +++++++
- gi/pygi-marshal-in.h                             | 186 -------
- gi/pygi-marshal-out.h                            | 144 -----
- gi/{pygi-marshal-out.c => pygi-marshal-to-py.c}  | 278 +++++-----
- gi/pygi-marshal-to-py.h                          | 144 +++++
- 12 files changed, 1267 insertions(+), 1226 deletions(-)
-
-commit 45b0fcff9e948c65a3903c32a3957802034c5e47
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Sep 9 16:50:25 2011 +0200
-
-    Examples: fix cairo-demo.py imports
-
- examples/cairo-demo.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 3ca19fc13e6024fd04851e6f269020a92b09fa17
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Sep 9 15:08:27 2011 +0200
-
-    Fix paths and add missing overridesdir variable used in uninstalled
-    pkgconfig file
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658654
-
- pygobject-3.0-uninstalled.pc.in | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-commit 6e773175b9d2f46b3df5075ec952a8c5aff3c607
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Sep 9 15:08:04 2011 +0200
-
-    Remove no longer used variables from pkgconfig files
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658654
-
- pygobject-3.0-uninstalled.pc.in | 6 ------
- pygobject-3.0.pc.in             | 5 +----
- 2 files changed, 1 insertion(+), 10 deletions(-)
-
-commit 81d388780311311d8dc4a027a59d114edf9a00fc
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Sep 9 14:57:58 2011 +0200
-
-    docs/Makefile.am and m4/python.m4: Python3 portability fixes
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658652
-
- docs/Makefile.am | 2 +-
- m4/python.m4     | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit 7e692ee061406e48e4862b98a0829650b1d6d585
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Sep 9 14:57:46 2011 +0200
-
-    Refactor and clean Makefile.am files
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658652
-
- Makefile.am               |   2 -
- gi/Makefile.am            |  81 +++++++++++++++++++++++--------------
- gi/_glib/Makefile.am      | 100
- ++++++++++++++++++++++++++++++----------------
- gi/_gobject/Makefile.am   |  85 ++++++++++++++++++++-------------------
- gi/overrides/Makefile.am  |   4 +-
- gi/repository/Makefile.am |   4 +-
- 6 files changed, 162 insertions(+), 114 deletions(-)
-
-commit 3dd59b07d1f4a93ee1f65d6a64e1afb6f5e84232
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Sep 9 14:57:36 2011 +0200
-
-    Remove all PLATFORM_VERSION = 2.0 traces
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658652
-
- gi/Makefile.am            | 2 --
- gi/overrides/Makefile.am  | 1 -
- gi/repository/Makefile.am | 1 -
- 3 files changed, 4 deletions(-)
-
-commit db1e484bfa157967de55ee2e0e18a82b8e388b61
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Sep 9 14:57:25 2011 +0200
-
-    Remove gi/tests/ directory as all the tests now live in tests/
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658652
-
- gi/tests/Makefile.am | 24 ------------------------
- gi/tests/runtests.py | 21 ---------------------
- 2 files changed, 45 deletions(-)
-
-commit b0ecbf00138ef1147e478ebf3c66f0e9b3f85dfc
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Sep 9 14:55:25 2011 +0200
-
-    autogen.sh: Use autoreconf instead of a custom script and honor
-    ACLOCAL_FLAGS
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658652
-
- Makefile.am |  2 +-
- autogen.sh  | 95
- +++++++------------------------------------------------------
- 2 files changed, 12 insertions(+), 85 deletions(-)
-
-commit 4671f5397003f376f00830e3fd1c214de594619f
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Sep 9 14:55:01 2011 +0200
-
-    use improved python.m4 macros to search for Python headers and libs
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=658652
-
- configure.ac |  3 ++-
- m4/python.m4 | 47 +++++++++++++++++++++++++++++++++++++----------
- 2 files changed, 39 insertions(+), 11 deletions(-)
-
-commit 2c9fd09da196d35db968bff4ae63fcce2d891e69
-Author: Javier Jardón <jjardon@gnome.org>
-Date:   Fri Sep 9 15:38:22 2011 +0100
-
-    Make maintiner mode enabled by default
-
-    See
-    http://blogs.gnome.org/desrt/2011/09/08/am_maintainer_mode-is-not-cool/
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b24dcb415406668931e02a1f669ef9861bb3a660
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Aug 24 09:58:10 2011 +0200
-
-    Disable documentation for now since they are completely wrong for GI.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657054
-
- Makefile.am  |  2 +-
- configure.ac | 25 -------------------------
- 2 files changed, 1 insertion(+), 26 deletions(-)
-
-commit ecea2358a379c8ff44dff2f8f9c30a9092af1681
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Sep 7 10:38:28 2011 +0200
-
-    Fix documentation installation directory
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657054
-
- docs/Makefile.am | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-commit 8d3125c8ce9890c70400dd8a3ac273b590fe6a31
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Sep 6 22:22:11 2011 +0200
-
-    Remove distutils based build system.
-
-    The only reason this might be brought back to life again is when
-    the whole stack can be built with Visual Studio (including
-    gobject-introspection) again. Building with MinGW/MSYS can now
-    be done with the usual autogen.sh/configure/make/make install dance.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657054
-
- MANIFEST.in              |   7 -
- Makefile.am              |  25 +--
- README.win32             |  21 --
- dsextras.py              | 509
- -----------------------------------------------
- pygobject_postinstall.py |   9 -
- setup.py                 | 351 --------------------------------
- 6 files changed, 7 insertions(+), 915 deletions(-)
-
-commit b82d916635aa0b732840548088a3fcfcb2e41bc4
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Sep 7 10:40:36 2011 +0200
-
-    [gtk-demo] Fix syntax highlighter encoding issue
-
-    With Python 3, Gtk.TextBuffer.get_text returns a str (not bytes), with
-    Python 2 however we get a str (not unicode). So with Python 2 the
-    tokenizer returned bogus data when ran over a demo that contains real
-    UTF-8 codepoints (like rotatedtext.py for example).
-
-    This patch thus fixes the "Gtk-CRITICAL **:
-    gtk_text_iter_set_line_offset:
-    assertion `char_on_line <= chars_in_line` failed" assertions when
-    selecting
-    the rotated text demo in the treeview.
-
- demos/gtk-demo/gtk-demo.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 31db3ed3d233bd495c3a2f99b3fa51031bfa30c6
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Tue Sep 6 22:13:54 2011 +0200
-
-    overrides: add constants for atoms
-
- gi/overrides/Gdk.py | 49
- +++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 49 insertions(+)
-
-commit 81861bc2d664eb38d46e5c38ff755d436f040f63
-Author: Steve Frécinaux <code@istique.net>
-Date:   Wed Aug 31 14:18:56 2011 +0200
-
-    Drop pygobject_construct() from public API.
-
-    These functions were introduced in 2005 because python objects
-    could not
-    "just" be instantiated using g_object_new(), but this is not true
-    anymore since the introduction of new-style constructors. Hence
-    this API
-    has no reason to be there anymore.
-
-    Nowadays, people who want to construct GObjects defined in python
-    should
-    just use g_object_new().
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657814
-
- gi/_gobject/gobjectmodule.c     | 118
- +++++++++-------------------------------
- gi/_gobject/pygobject-private.h |   3 -
- gi/_gobject/pygobject.h         |   8 ---
- 3 files changed, 26 insertions(+), 103 deletions(-)
-
-commit c4c55a98ccf9e39ed0d10ed49b66a76dc7d7c509
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Wed Aug 31 18:00:44 2011 +0200
-
-    post release version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit ac5a0f46242abdd3cd98ec5f9f2bf8e5b05f3845
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Wed Aug 31 17:58:37 2011 +0200
-
-    Release 2.90.3
-
- NEWS | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-commit 429569abddada5a3bad554de707ddf35b349936e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Aug 25 13:57:53 2011 -0400
-
-    support skip annotation for return values
-
-    * this is used for things like skiping gboolean returns that are
-      useful is C but useless in python
-
-    * cleans up after skipped returns that are also marked transfer
-      full
-    https://bugzilla.gnome.org/show_bug.cgi?id=650135
-
- gi/pygi-cache.c          |  1 +
- gi/pygi-cache.h          |  1 +
- gi/pygi-invoke.c         | 48
- ++++++++++++++++++++++++++++++------------------
- tests/test_everything.py |  8 ++++++++
- 4 files changed, 40 insertions(+), 18 deletions(-)
-
-commit 7a234b185b131f3eb6a6e8a8c717ddf4d508b15e
-Author: Xavier Claessens <xclaesse@gmail.com>
-Date:   Tue Aug 2 12:05:12 2011 +0200
-
-    Test GPtrArray regression
-
- tests/test_everything.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 42fc9fa437102c882844a0e70a081ab08de92658
-Author: Steve Frécinaux <code@istique.net>
-Date:   Fri Aug 26 10:53:43 2011 +0200
-
-    Drop support for old constructor style.
-
-    Bindings don't write their own constructors anymore, and the old style
-    has been deprecated for ages, so let's just drop them now and make
-    pygobject simpler.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657413
-
- gi/_gobject/gobjectmodule.c     | 20 --------------------
- gi/_gobject/pygobject-private.h |  1 -
- gi/_gobject/pygobject.c         |  1 -
- gi/_gobject/pygobject.h         |  2 --
- gi/gimodule.c                   | 28 ----------------------------
- gi/types.py                     |  2 --
- tests/testhelpermodule.c        |  5 -----
- 7 files changed, 59 deletions(-)
-
-commit 3961a405e1bddef22e1a5a0c7aa3ae55e4ec09ad
-Author: Steve Frécinaux <code@istique.net>
-Date:   Fri Aug 26 10:45:59 2011 +0200
-
-    Drop support for sink functions.
-
-    Sink functions were meant to deal with floating references in a custom
-    way. They are not useful anymore with the dynamic bindings.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642233
-
- gi/_gobject/gobjectmodule.c |  1 -
- gi/_gobject/pygobject.c     | 53 ----------------------------------------
- gi/_gobject/pygobject.h     |  4 ---
- tests/test-floating.c       | 59
- +++++++--------------------------------------
- tests/test-floating.h       | 42 +++++++++-----------------------
- tests/test_gobject.py       | 13 +++-------
- tests/testhelpermodule.c    | 32 +++++++-----------------
- 7 files changed, 32 insertions(+), 172 deletions(-)
-
-commit 631d8ef879a13492945a3e30b3df9863a4ba2f44
-Author: Mike Gorse <mgorse@novell.com>
-Date:   Wed Aug 24 17:30:09 2011 -0500
-
-    Reinstate copying of in-line structs in arrays
-
-    For arrays of in-line, non-boxed structures with (transfer full),
-    _pygi_marshal_free_out_array eventually gets called and frees
-    the array
-    data, so we should copy it (IE, BGO#653588).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657120
-
- gi/pygi-marshal-out.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-commit f38511f251602e18551c04617cc2e2d42e812e1e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Aug 23 14:18:43 2011 -0400
-
-    fix inline struct array handling
-
-    * we now assume any non-boxed structs are inline in an array since
-    there is
-       no way to check in GI and this is the most common use for an
-       array of
-       non-boxed structs
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=657120
-
- gi/pygi-marshal-out.c | 23 +++++++++--------------
- tests/test_gi.py      |  8 ++++++++
- 2 files changed, 17 insertions(+), 14 deletions(-)
-
-commit d92846a5446b0dd2e69c813f56224a1966ab1a33
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Aug 23 11:30:41 2011 +0200
-
-    [gtk-demo] printing.py: set print and error dialog transient parent
-
- demos/gtk-demo/demos/printing.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 1aebc1565752840075027b9452fe2a67217bf53b
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Aug 23 11:28:05 2011 +0200
-
-    [gtk-demo] printing.py: exit Gtk mainloop when done and correctly
-    handle printing errors
-
- demos/gtk-demo/demos/printing.py | 14 ++++++++++----
- 1 file changed, 10 insertions(+), 4 deletions(-)
-
-commit 1f9e4486c5b84209ce0038887738fc16a4ef7da3
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Aug 23 08:05:43 2011 +0200
-
-    [gtk-demo] show "activated" demo's in italic font in the TreeView
-
- demos/gtk-demo/gtk-demo.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-commit 971d063f7a36e13ef6621db7002b00af52f6292a
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Aug 22 14:52:28 2011 +0200
-
-    [gtk-demo] source colorizer: Python3 does not have the BACKQUOTE
-    token, so simply remove it
-
- demos/gtk-demo/gtk-demo.py | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-commit c2979a37d6d505095b6e55789150a6498d95819d
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Aug 22 14:22:18 2011 +0200
-
-    [gtk-demo] In Python3, GLib.file_get_contents returns a bytes object
-    but Gtk.TextBuffer.insert expects a string.
-
-    Fixed by using codes.open() as hinted in
-    http://docs.python.org/dev/howto/pyporting.html#text-files
-    section "If pre-2.6 compatibility is needed" (because configure.ac
-    is still happy with Python 2.5.2).
-
- demos/gtk-demo/gtk-demo.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-commit 9ea56535f35abbea4cd977dea4c89247e4b01694
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Aug 22 12:30:24 2011 +0200
-
-    [gtk-demo] images.py: fix 'Insensitive 'button mnenomic
-
- demos/gtk-demo/demos/images.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7829dae1cdb8697a19c2b5e158ef0e08f6c2558b
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Aug 22 10:38:04 2011 +0200
-
-    [gtk-demo] printing.py: fix Pango.EllipsizeType > Pango.EllipsizeMode
-    & get_pixel_size
-
- demos/gtk-demo/demos/printing.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 07f0274301d77d9bf62b49a14b059d9a52afb445
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Aug 22 10:37:08 2011 +0200
-
-    [gtk-demo] printing.py: fix text file loading
-
- demos/gtk-demo/demos/printing.py | 32 ++++++++++++++++----------------
- 1 file changed, 16 insertions(+), 16 deletions(-)
-
-commit 135148a4c35aac1d132b0b8fa3adbf1fdcdb3a24
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Aug 22 10:20:35 2011 +0200
-
-    [gtk-demo] pixbuf.py: fix image loading
-
- demos/gtk-demo/demos/pixbuf.py | 25 +++++++++++--------------
- 1 file changed, 11 insertions(+), 14 deletions(-)
-
-commit a93cae2c80e30a408f86e7e6c4d15a538011a189
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Aug 22 10:10:02 2011 +0200
-
-    [gtk-demo] images.py: fix logo loading
-
- demos/gtk-demo/demos/images.py | 70
- +++++++++++++++++-------------------------
- 1 file changed, 29 insertions(+), 41 deletions(-)
-
-commit eddc0824e0e4c156fca5de05bdeb600c534d4b24
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Aug 24 12:19:21 2011 +0200
-
-    [gtk-demo] appwindow.py: set AboutDialog parent
-
- demos/gtk-demo/demos/appwindow.py | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-commit 7fe10a5b33148b1f029f3d34f76b7f880c1c2e7a
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Aug 22 07:58:25 2011 +0200
-
-    [gtk-demo] appwindow.py: fix logo loading
-
- demos/gtk-demo/demos/appwindow.py | 10 +++-------
- 1 file changed, 3 insertions(+), 7 deletions(-)
-
-commit 62fda288c1c37167c589e8e9d49ed625f770a98a
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Aug 22 07:57:31 2011 +0200
-
-    [gtk-demo] appwindow.py: fix callback signatures
-
- demos/gtk-demo/demos/appwindow.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 87e9ab4d3a0aac4f4710aa0f8af0a1736f781ad9
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Aug 22 07:48:28 2011 +0200
-
-    [gtk-demo] fix glib vs GLib usage
-
- demos/gtk-demo/demos/Icon View/iconviewbasics.py | 2 +-
- demos/gtk-demo/demos/appwindow.py                | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit d29cad6976a80862e1fc590d3e7d190e8a234866
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Aug 24 12:19:02 2011 +0200
-
-    [gtk-demo] iconviewedit.py: fix for Gdk.color_parse API breakage
-    caused by improved GDK overrides
-
- demos/gtk-demo/demos/Icon View/iconviewedit.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit f29d3a85a275a39e8481484779264b0dea1160ab
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Mon Aug 22 07:25:32 2011 +0200
-
-    [gtk-demo] optimize source colorizer by only preparing iters for
-    known colorized tokens
-
- demos/gtk-demo/gtk-demo.py | 20 +++++++++++++++-----
- 1 file changed, 15 insertions(+), 5 deletions(-)
-
-commit ecd1eb00b19733da3f2e3d7935792378f34cab19
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Aug 19 18:31:20 2011 +0200
-
-    [gtk-demo] small formatting fixes
-
- demos/gtk-demo/demos/Entry/entry_buffer.py       | 1 +
- demos/gtk-demo/demos/Entry/entry_completion.py   | 1 +
- demos/gtk-demo/demos/Icon View/iconviewbasics.py | 8 ++++----
- demos/gtk-demo/demos/assistant.py                | 1 +
- demos/gtk-demo/demos/builder.py                  | 4 +++-
- demos/gtk-demo/demos/button_box.py               | 1 +
- demos/gtk-demo/demos/clipboard.py                | 1 +
- demos/gtk-demo/demos/colorselector.py            | 1 +
- demos/gtk-demo/demos/combobox.py                 | 1 +
- demos/gtk-demo/demos/drawingarea.py              | 4 +++-
- demos/gtk-demo/demos/test.py                     | 2 ++
- 11 files changed, 19 insertions(+), 6 deletions(-)
-
-commit c42cb4da399ff5732f4ca732b85134de796a60fa
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Aug 19 18:30:50 2011 +0200
-
-    [gtk-demo] remove "is_fully_bound" from demos
-
- demos/gtk-demo/demos/Entry/entry_buffer.py     | 2 --
- demos/gtk-demo/demos/Entry/entry_completion.py | 2 --
- demos/gtk-demo/demos/appwindow.py              | 3 ---
- demos/gtk-demo/demos/assistant.py              | 2 --
- demos/gtk-demo/demos/builder.py                | 2 --
- demos/gtk-demo/demos/button_box.py             | 2 --
- demos/gtk-demo/demos/clipboard.py              | 2 --
- demos/gtk-demo/demos/colorselector.py          | 2 --
- demos/gtk-demo/demos/combobox.py               | 2 --
- demos/gtk-demo/demos/drawingarea.py            | 2 --
- demos/gtk-demo/demos/test.py                   | 1 -
- 11 files changed, 22 deletions(-)
-
-commit cad6a62c63f455f0b1315465a9cd71c0f02b12a5
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Aug 19 18:26:31 2011 +0200
-
-    [gtk-demo] add source colorizer loosely based on PyGTK's pygtk-demo
-    and GTK+'s gtk-demo code
-
- demos/gtk-demo/gtk-demo.py | 116
- +++++++++++++++++++++++++++++++++++++++------
- 1 file changed, 101 insertions(+), 15 deletions(-)
-
-commit 250c36f4a8352ff1b31c1c85b156d3e803d4b8ef
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Aug 19 15:08:15 2011 +0200
-
-    [gtk-demo] remove C-isms
-
- demos/gtk-demo/gtk-demo.py | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
-
-commit cf35fe8e259e786d0fa21b08b1f5c64c9bb0a84e
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Aug 19 14:54:39 2011 +0200
-
-    [gtk-demo] fix text on info tab to be more like GTK+'s gtk-demo
-
- demos/gtk-demo/gtk-demo.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 241827208e25c72a990d8edd95a3b879470d6409
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Aug 19 14:40:56 2011 +0200
-
-    [gtk-demo] remove duplicate storage of demos by only storing them
-    in a TreeStore subclass
-
-    This also moves demos loading code into the TreeStore subclass and
-    demo loading code into the Demo class
-
- demos/gtk-demo/gtk-demo.py | 151
- +++++++++++++++++++++------------------------
- 1 file changed, 70 insertions(+), 81 deletions(-)
-
-commit 58797c355a08a35375988881a17958bb42ad54bb
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Aug 19 14:40:00 2011 +0200
-
-    [gtk-demo] make GtkDemoApp a Gtk.Window subclass and adapt main()
-    to demonstrate the GLib.MainLoop
-
- demos/gtk-demo/gtk-demo.py | 43
- ++++++++++++++++++++++++++-----------------
- 1 file changed, 26 insertions(+), 17 deletions(-)
-
-commit 1e4fc1ea54527cff78f6c633db39e9a0bd3c64d2
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Aug 19 11:46:17 2011 +0200
-
-    [gtk-demo] correctly load demo code when cwd != demos/gtk-demo/
-
- demos/gtk-demo/gtk-demo.py | 39 +++++++++++++++++++++++----------------
- 1 file changed, 23 insertions(+), 16 deletions(-)
-
-commit 6ffc999fbd4c9990fb5bde53ddd46d139b53245e
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Aug 19 11:02:35 2011 +0200
-
-    [gtk-demo] drawingarea: fix labels
-
- demos/gtk-demo/demos/drawingarea.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 9fd3986affe11cbc5a816adcccdc56d0592f3618
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Aug 19 09:57:31 2011 +0200
-
-    [gtk-demo] fix imports
-
- demos/gtk-demo/demos/Icon View/iconviewbasics.py | 6 ++++--
- demos/gtk-demo/demos/appwindow.py                | 9 ++++++---
- demos/gtk-demo/gtk-demo.py                       | 8 ++++----
- 3 files changed, 14 insertions(+), 9 deletions(-)
-
-commit 9f314babfdee3b82799e00ea003972b0bbe6a8d5
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Aug 19 10:07:14 2011 +0200
-
-    [gtk-demo] fix shebang
-
- demos/gtk-demo/gtk-demo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 01142060ae7d71a8a1f7d3e9bbc6f52e65f01c8d
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Fri Aug 19 12:27:04 2011 +0200
-
-    Added support for __setitem__ to TreeModel and support for slices
-    to TreeModelRow
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=656891
-
- gi/overrides/Gtk.py     | 26 ++++++++++++++++++++--
- tests/test_overrides.py | 57
- +++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 81 insertions(+), 2 deletions(-)
-
-commit d6da96c65b2ed3cda238886990a624fbc31f6987
-Author: Olav Vitters <olav@vitters.nl>
-Date:   Wed Aug 24 16:31:12 2011 +0200
-
-    Convert ACCEL_* constants into Gtk.AccelFlags.
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 0841d41698302abb5d987849a5874252564ed428
-Author: Olav Vitters <olav@vitters.nl>
-Date:   Wed Aug 24 16:22:17 2011 +0200
-
-    Convert TREE_VIEW_DROP_* constants into Gtk.TreeViewDropPosition
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 37b0d0f9dc3d485829cae6e50da369fdea91a2d1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Aug 18 14:06:32 2011 -0400
-
-    post commit version bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e51efc50835a14e0418cc27cc928c52d1aa6a3cf
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Aug 18 14:02:30 2011 -0400
-
-    release 2.90.2
-
- NEWS | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 74c727b53fcf64f465ee77b5a1ea04a69ca90968
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Aug 18 13:50:51 2011 -0400
-
-    remove tests that were removed from gi
-
- tests/test_gi.py | 11 -----------
- 1 file changed, 11 deletions(-)
-
-commit 11ea24dd30d8eeca11c8433c6bd75b06e52ae1ef
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Aug 18 13:48:57 2011 -0400
-
-    don't calculate item_size using is_pointer
-
-     * is_pointer is poorly defined and cacluating item_size for
-       arrays causes a crash in the tests because of this
-     * disregaurd is_pointer when cacluating item sizes
-
- gi/pygi-info.c | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-commit 493b4a21dd162d78cf572b548b58ba6a9ff22971
-Author: Timo Vanwynsberghe <timovwb@gmail.com>
-Date:   Wed Jul 6 01:50:31 2011 +0200
-
-    Updated signal example to use GObject introspection
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=654162
-
- examples/signal.py | 9 ++++-----
- 1 file changed, 4 insertions(+), 5 deletions(-)
-
-commit 0332010e704e253380e993874eab9dd122e59a7e
-Author: Timo Vanwynsberghe <timovwb@gmail.com>
-Date:   Wed Jul 6 01:54:50 2011 +0200
-
-    Updated properties example to use GObject introspection
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=654162
-
- examples/properties.py | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-commit c39f4555ebd703651eca6f978ed9870655b737f0
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Fri Aug 12 22:55:02 2011 +0200
-
-    Add override for GLib.Variant.split_signature()
-
-    This is useful for e. g. iterating over method parameters which are
-    passed as a
-    single Variant. In particular we will need it for automatically
-    generating
-    introspection XML for exported DBus server objects.
-
- gi/overrides/GLib.py    | 50
- +++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_overrides.py | 22 ++++++++++++++++++++++
- 2 files changed, 72 insertions(+)
-
-commit 735f98d83c1c19df7457aa32a378e8c80cf2831f
-Author: Timo Vanwynsberghe <timovwb@gmail.com>
-Date:   Mon Aug 15 18:58:31 2011 +0200
-
-    [pygi-convert.sh] Handle the import of pygtk and require Gtk 3.0
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=654001
-
- pygi-convert.sh | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit d0a96a0a75f2bc969522abce2d326ef440cf143a
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Mon Aug 15 13:12:49 2011 +0200
-
-    Install pygobject.h again.
-
-    This is needed by libpeas.
-
- gi/_gobject/Makefile.am         | 5 ++++-
- pygobject-3.0-uninstalled.pc.in | 4 ++--
- pygobject-3.0.pc.in             | 6 +++---
- 3 files changed, 9 insertions(+), 6 deletions(-)
-
-commit 081dc2eb03b677eac9f08d3ad05deecc7c51554c
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Aug 14 11:20:15 2011 -0400
-
-    update the doap file
-
- pygobject.doap | 26 ++++++++++++++------------
- 1 file changed, 14 insertions(+), 12 deletions(-)
-
-commit 762a36d2343bc39a502507d600fd1b9db9649dae
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Aug 14 11:13:25 2011 -0400
-
-    prerelease bump
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit d3f85a61ec4b1a1d04838f73dc8d862258150048
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Aug 14 10:13:37 2011 -0400
-
-    get things ready for release
-
- NEWS | 194
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 194 insertions(+)
-
-commit ffd057649380d4249c1c52e1225e3646f3994bc6
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Aug 14 05:26:18 2011 -0400
-
-    pass exta keywords to the Box constructor
-
- gi/overrides/Gtk.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit cadbd4142bd0045368b5123d4b0a1876bdd5d798
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Aug 13 11:03:07 2011 -0400
-
-    add (Tree|List)Store set method override
-
- gi/overrides/Gtk.py     |  50 ++++++++++++++++++++++++
- tests/test_overrides.py | 102
- ++++++++++++++++++++++++++++++++++++++++++++++--
- 2 files changed, 149 insertions(+), 3 deletions(-)
-
-commit 9ee9b22bd95e44bd2eca26e7bf3b0a9a988700c5
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Aug 13 09:19:29 2011 -0400
-
-    add test for object arrays
-
- tests/test_everything.py | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit c9d9ffd0380878792cbdb13dec4e53be897e5fbc
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Aug 13 08:46:18 2011 -0400
-
-    only support C pointer arrays for structs and objects
-
-    * There is no way to know if an array of structs or objects are
-    pointer arrays
-      or flat arrays.  Since pointer arrays are the most useful and
-      prevelant
-      it has been decided to only support those arrays
-
- gi/pygi-marshal-out.c | 2 +-
- tests/test_gi.py      | 8 --------
- 2 files changed, 1 insertion(+), 9 deletions(-)
-
-commit b12379de1790b72d51883bf7b63c892639a892e7
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Aug 13 06:31:52 2011 -0400
-
-    revert Gtk.Window override because it causes issues with subclasses
-
- gi/overrides/Gtk.py | 9 ---------
- 1 file changed, 9 deletions(-)
-
-commit 3e64a62d6d7f9e9d2820aad54187ef9c34710a1f
-Author: Jonathan Matthew <jonathan@d14n.org>
-Date:   Thu Apr 7 21:05:32 2011 +1000
-
-    take GIL in _pygi_invoke_closure_free (bug #647016)
-
- gi/pygi-closure.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit f8de9b8615f5dc30f492781d792aef5fc1e9ab73
-Author: Johan Dahlin <jdahlin@litl.com>
-Date:   Mon Jun 27 00:41:24 2011 -0300
-
-    Add a default parameter to GtkTreeModel.filter_new
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=653462
-
- gi/overrides/Gtk.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 583d0b3c6b53712128d7c2d5f075000a2a76ae5f
-Author: Johan Dahlin <jdahlin@litl.com>
-Date:   Mon Jun 27 00:40:12 2011 -0300
-
-    Add vbox/action_area properties
-
-    Accessing vbox/action_area directly creates segmentation fault,
-    avoid that by mapping the fields to their getters for PyGTK
-    API compatibility
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=653462
-
- gi/overrides/Gtk.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 017fdfc1dd06259006719e02ffa48883cee01ffd
-Author: Johan Dahlin <jdahlin@litl.com>
-Date:   Mon Jun 27 00:39:41 2011 -0300
-
-    Add a couple of constructors
-
-    This is for PyGTK compatibility, so that gtk.HBox(True, 2) etc
-    works.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=653462
-
- gi/overrides/Gtk.py | 40 ++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 40 insertions(+)
-
-commit af8bc9d5cdba48a7ee728ccb7ea9039df3ecceba
-Author: Johan Dahlin <jdahlin@litl.com>
-Date:   Mon Jun 27 00:38:30 2011 -0300
-
-    Do not always pass in user_data to callbacks.
-
-    This keeps API compatibility with PyGTK and avoids sending
-    in user_data if it's None.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=653462
-
- gi/overrides/Gtk.py | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
-commit 7914d814350af1a18bdeda64f049c8e9a68d1d18
-Author: Johan Dahlin <jdahlin@litl.com>
-Date:   Mon Jun 27 00:38:20 2011 -0300
-
-    Add a default detail value for Widget.render_icon
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=653462
-
- gi/overrides/Gtk.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 5b1c875269b7979caae97e84919a690a34d92f29
-Author: Johan Dahlin <jdahlin@litl.com>
-Date:   Mon Jun 27 00:36:20 2011 -0300
-
-    Add an override for Gdk.color_parse()
-
-    Change Gdk.color_parse() to not return a tuple, instead just
-    return the created color or None if it wasn't possible to parse
-    the name into a color.
-
-    This keeps compatibility with PyGTK but breaks the current API.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=653462
-
- gi/overrides/Gdk.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit 187a2932bbf1e724f759ff3ed3392fc7341c6aa8
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Mon Aug 8 12:06:18 2011 +0200
-
-    Support function calling with keyword arguments in invoke.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625596
-
- gi/pygi-cache.c          |  39 ++++++++++++
- gi/pygi-cache.h          |   4 ++
- gi/pygi-invoke.c         | 162
- +++++++++++++++++++++++++++++++++++++++++++++--
- gi/types.py              |  12 ++--
- tests/test_everything.py |   2 +-
- tests/test_gi.py         |  58 +++++++++++++++++
- 6 files changed, 265 insertions(+), 12 deletions(-)
-
-commit e5df32ffbf37481dbb6a70c4d4e7b7b9778c5549
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Aug 13 04:13:28 2011 -0400
-
-    remove references to deprecated GI_INFO_TYPE_ERROR_DOMAIN
-
- gi/pygi-info.c | 5 -----
- 1 file changed, 5 deletions(-)
-
-commit 745001178fc72be5626c7211366d694f41162987
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Aug 11 15:11:42 2011 +0200
-
-    Fix gobject vs. gi.repository warning
-
-    Check the warning earlier and fix the operator, so that it actually
-    works. Also
-    update the warning to explain how to fix the problem.
-
- gi/_gobject/__init__.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 25d2d05cba05414cd4551e0e06f6286a9b97a509
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 22 15:46:31 2011 -0400
-
-    make GObject and GLib able to take overrides
-
-    * derive directly from DynamicModule instead of InterfaceModule
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- gi/importer.py |  11 +++---
- gi/module.py   | 118
- ++++++++++++++++++++++++++++-----------------------------
- 2 files changed, 64 insertions(+), 65 deletions(-)
-
-commit 698b2284e29c0f699198cf6a22eeb0e399daba6e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 22 15:45:09 2011 -0400
-
-    avoid dependency issue by importing the internal gobject
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- gi/__init__.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7b068ebe59884ebd9aeb4425dc80cdff73a66fb1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 22 14:13:02 2011 -0400
-
-    fix tests to use the new GLib module
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- tests/test_mainloop.py   |  7 +++----
- tests/test_option.py     |  3 ++-
- tests/test_source.py     | 24 +++++++++++-------------
- tests/test_subprocess.py | 12 +++++-------
- tests/test_thread.py     | 10 ++++------
- tests/test_uris.py       |  4 ++--
- 6 files changed, 27 insertions(+), 33 deletions(-)
-
-commit 191ef79315f8a5641699536fde58da18e23ef904
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 22 14:11:53 2011 -0400
-
-    add DynamicGLibModule which works like DynamicGObjectModule
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- gi/importer.py |  7 +++++--
- gi/module.py   | 32 +++++++++++++++++++++++++++++---
- 2 files changed, 34 insertions(+), 5 deletions(-)
-
-commit fbd4a8263260c187211799454c08b1e55e2cb998
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 22 12:27:41 2011 -0400
-
-    refactor, add objects and types to the correct internal module
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- gi/_glib/pygiochannel.c     | 38 +++++++++++++++++++-------------------
- gi/_glib/pygmaincontext.c   |  2 +-
- gi/_glib/pygmainloop.c      |  4 ++--
- gi/_glib/pygoptioncontext.c |  4 ++--
- gi/_glib/pygoptiongroup.c   |  4 ++--
- gi/_glib/pygsource.c        | 14 +++++++-------
- gi/_glib/pygspawn.c         | 14 +++++++-------
- 7 files changed, 40 insertions(+), 40 deletions(-)
-
-commit 7431b49a161df9178c55b814d3adff992ac2d722
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 22 12:26:32 2011 -0400
-
-    rename the pyglib shared library so we don't load the old one
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- gi/Makefile.am          |  2 +-
- gi/_glib/Makefile.am    | 10 +++++-----
- gi/_gobject/Makefile.am |  2 +-
- 3 files changed, 7 insertions(+), 7 deletions(-)
-
-commit b8700451acd4a19b59b64fc8641fca748d2189e2
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 22 11:20:09 2011 -0400
-
-    refactor tests to only use PyGObject 3 syntax
-
-    * for PyGObject 3 we want to discourage the use of legacy
-       interfaces
-     * Using interfaces like from gi.repository import GObject makes
-       sure that the internal _gobject module is loaded and not
-       PyGObject 2's gobject module which would cause the application
-       to not work correctly
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- tests/runtests-windows.py |   4 +-
- tests/test_gdbus.py       |  12 ++---
- tests/test_gi.py          |   4 +-
- tests/test_gobject.py     |  31 ++++++------
- tests/test_interface.py   |  16 +++---
- tests/test_mainloop.py    |   3 +-
- tests/test_overrides.py   |   8 +--
- tests/test_properties.py  | 124
- +++++++++++++++++++++++-----------------------
- tests/test_signal.py      |  98 ++++++++++++++++++------------------
- tests/test_source.py      |   5 +-
- tests/test_subprocess.py  |   3 +-
- tests/test_thread.py      |   5 +-
- tests/test_unknown.py     |   8 +--
- tests/testhelpermodule.c  |   2 +-
- tests/testmodule.py       |  10 ++--
- 15 files changed, 169 insertions(+), 164 deletions(-)
-
-commit c980dae21468fe073cc8782608148c346bb90ad7
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 22 11:16:00 2011 -0400
-
-    refactor the internal _glib module to import correct modules
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- gi/_glib/__init__.py  |  3 ++-
- gi/_glib/glibmodule.c | 10 +++++-----
- gi/_glib/option.py    |  4 ++--
- gi/_glib/pyglib.c     | 18 +++++++++---------
- 4 files changed, 18 insertions(+), 17 deletions(-)
-
-commit 65ac35cca8d24f4c133991e1c6ac02f49416a9a4
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 22 11:10:46 2011 -0400
-
-    refactor to use the new internal _glib and _gobject modules
-
-    * use relative imports instead of aboslute
-     * fix the C imports to import the internal _gobject libs
-     * add a check to see if the PyGObject 2 gobject module
-       was already imported
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- gi/_gobject/__init__.py       | 20 +++++++++++++-------
- gi/_gobject/constants.py      |  3 +--
- gi/_gobject/gobjectmodule.c   |  2 +-
- gi/_gobject/propertyhelper.py | 11 +++++------
- gi/_gobject/pygobject.c       | 16 ++++++++--------
- gi/_gobject/pygobject.h       |  2 +-
- 6 files changed, 29 insertions(+), 25 deletions(-)
-
-commit 59ed1289f76bc287443b3974710ea0da3e2cc8cc
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 22 11:07:10 2011 -0400
-
-    refactor gi module to import and use internal _gobject module
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- gi/importer.py           |  2 --
- gi/module.py             | 31 ++++++++++++++++---------------
- gi/overrides/Gtk.py      |  2 +-
- gi/overrides/__init__.py |  6 +++---
- gi/pygobject-external.h  |  2 +-
- gi/types.py              | 12 ++++++------
- 6 files changed, 27 insertions(+), 28 deletions(-)
-
-commit 6b9d738d78c6ac45d49f00402c89356887555069
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 22 11:02:49 2011 -0400
-
-    move the static bits internal to gi and refactor build files
-
-    * the glib module now becomes the gi._glib module
-    * the gobject module now becomes the gi._gobject module
-    * we do this so we can install in parallel with PyGObject 2
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- Makefile.am                                  |  2 +-
- configure.ac                                 |  6 +++---
- gi/Makefile.am                               |  8 +++++---
- {glib => gi/_glib}/Makefile.am               |  5 +----
- {glib => gi/_glib}/__init__.py               |  0
- {glib => gi/_glib}/glibmodule.c              |  0
- {glib => gi/_glib}/option.py                 |  0
- {glib => gi/_glib}/pygiochannel.c            |  0
- {glib => gi/_glib}/pygiochannel.h            |  0
- {glib => gi/_glib}/pyglib-private.h          |  0
- {glib => gi/_glib}/pyglib-python-compat.h    |  0
- {glib => gi/_glib}/pyglib.c                  |  0
- {glib => gi/_glib}/pyglib.h                  |  0
- {glib => gi/_glib}/pygmaincontext.c          |  0
- {glib => gi/_glib}/pygmaincontext.h          |  0
- {glib => gi/_glib}/pygmainloop.c             |  0
- {glib => gi/_glib}/pygmainloop.h             |  0
- {glib => gi/_glib}/pygoptioncontext.c        |  0
- {glib => gi/_glib}/pygoptioncontext.h        |  0
- {glib => gi/_glib}/pygoptiongroup.c          |  0
- {glib => gi/_glib}/pygoptiongroup.h          |  0
- {glib => gi/_glib}/pygsource.c               |  0
- {glib => gi/_glib}/pygsource.h               |  0
- {glib => gi/_glib}/pygspawn.c                |  0
- {glib => gi/_glib}/pygspawn.h                |  0
- {gobject => gi/_gobject}/Makefile.am         | 10 ++++------
- {gobject => gi/_gobject}/__init__.py         |  0
- {gobject => gi/_gobject}/constants.py        |  0
- {gobject => gi/_gobject}/ffi-marshaller.c    |  0
- {gobject => gi/_gobject}/ffi-marshaller.h    |  0
- {gobject => gi/_gobject}/gobjectmodule.c     |  0
- {gobject => gi/_gobject}/propertyhelper.py   |  0
- {gobject => gi/_gobject}/pygboxed.c          |  0
- {gobject => gi/_gobject}/pygboxed.h          |  0
- {gobject => gi/_gobject}/pygenum.c           |  0
- {gobject => gi/_gobject}/pygenum.h           |  0
- {gobject => gi/_gobject}/pygflags.c          |  0
- {gobject => gi/_gobject}/pygflags.h          |  0
- {gobject => gi/_gobject}/pyginterface.c      |  0
- {gobject => gi/_gobject}/pyginterface.h      |  0
- {gobject => gi/_gobject}/pygobject-private.h |  0
- {gobject => gi/_gobject}/pygobject.c         |  0
- {gobject => gi/_gobject}/pygobject.h         |  0
- {gobject => gi/_gobject}/pygparamspec.c      |  0
- {gobject => gi/_gobject}/pygparamspec.h      |  0
- {gobject => gi/_gobject}/pygpointer.c        |  0
- {gobject => gi/_gobject}/pygpointer.h        |  0
- {gobject => gi/_gobject}/pygtype.c           |  0
- {gobject => gi/_gobject}/pygtype.h           |  0
- tests/Makefile.am                            |  2 +-
- 50 files changed, 15 insertions(+), 18 deletions(-)
-
-commit f0d2ddcf7e61c36f79a9adf8ccc53bf3db9349d3
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jul 18 18:46:31 2011 -0400
-
-    remove pygtk.py
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- Makefile.am |  5 ----
- pygtk.py    | 95
- -------------------------------------------------------------
- 2 files changed, 100 deletions(-)
-
-commit 75e9f7d80d9224c05e6063b88479f1baee48c489
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jul 18 18:41:41 2011 -0400
-
-    introspection is no longer optional
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- Makefile.am         |  8 +-------
- configure.ac        | 43 +++++++++++++++++--------------------------
- gi/pygi.h           | 37 -------------------------------------
- gobject/Makefile.am |  5 +----
- tests/Makefile.am   |  7 +------
- 5 files changed, 20 insertions(+), 80 deletions(-)
-
-commit d862168d6a82edd59547d39f5b0ab8279b1e511c
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jul 18 18:28:50 2011 -0400
-
-    up platform version to 3.0
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642048
-
- Makefile.am                                                        | 2 +-
- configure.ac                                                       |
- 4 ++--
- pygobject-2.0-uninstalled.pc.in => pygobject-3.0-uninstalled.pc.in | 0
- pygobject-2.0.pc.in => pygobject-3.0.pc.in                         | 0
- 4 files changed, 3 insertions(+), 3 deletions(-)
-
-commit 5189b360ccddbbaee267ce857968fbf1aafdd07a
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Aug 11 09:53:15 2011 +0200
-
-    [gi] Handle GVariants from callback return values
-
-    Callbacks still use GIArgument, add missing GVariant support for
-    return types.
-
- gi/pygi-argument.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-commit 18a240cc492d2e5ebe2709a0d7155e27c8ff9e63
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Aug 10 14:11:10 2011 +0200
-
-    Handle GVariants for callback arguments
-
-    Callbacks still use GIArgument, add missing GVariant support. This
-    is the
-    equivalent of what commit 9d5604220bd56 did for pygi_marshall_*().
-
- gi/pygi-argument.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit aa820d6ce2fee83e61e3e9de7c6b7d2452e2847d
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Mon Aug 8 01:58:10 2011 +0200
-
-    [gi] Fix crash: check return value of
-    _invoke_state_init_from_callable_cache() before continuing.
-
- gi/pygi-invoke.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-commit eaad9f3c71cedfe28ff2d2bb05ea6c64e323715f
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Fri Aug 5 21:03:33 2011 +0200
-
-    [gi] Pass gtype as first parameter to vfuncs (instead of using
-    kwargs).
-
- gi/pygi-invoke.c | 32 ++++++++++++++++++--------------
- gi/types.py      |  2 +-
- 2 files changed, 19 insertions(+), 15 deletions(-)
-
-commit 76edfd0d5776f61c92c84fd9fb8dcc246c580e93
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jul 18 18:21:51 2011 -0400
-
-    remove codegen
-
- Makefile.am                      |    2 +-
- codegen/Makefile.am              |   33 -
- codegen/README.defs              |  351 --------
- codegen/__init__.py              |   16 -
- codegen/argtypes.py              | 1043 -----------------------
- codegen/code-coverage.py         |   44 -
- codegen/codegen.py               | 1722
- --------------------------------------
- codegen/createdefs.py            |   17 -
- codegen/definitions.py           |  575 -------------
- codegen/defsconvert.py           |  132 ---
- codegen/defsgen.py               |  737 ----------------
- codegen/defsparser.py            |  153 ----
- codegen/docextract.py            |  461 ----------
- codegen/docextract_to_xml.py     |  142 ----
- codegen/docgen.py                |  766 -----------------
- codegen/h2def.py                 |  631 --------------
- codegen/mergedefs.py             |   26 -
- codegen/missingdefs.py           |   17 -
- codegen/mkskel.py                |   89 --
- codegen/override.py              |  285 -------
- codegen/pygobject-codegen-2.0.in |   11 -
- codegen/reversewrapper.py        |  912 --------------------
- codegen/scanvirtuals.py          |   54 --
- codegen/scmexpr.py               |  143 ----
- configure.ac                     |    5 -
- pygobject-2.0-uninstalled.pc.in  |    1 -
- pygobject-2.0.pc.in              |    1 -
- 27 files changed, 1 insertion(+), 8368 deletions(-)
-
-commit bf284c7c47c3e52ab4d8700327a170903e9ebad2
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jul 18 11:04:58 2011 -0400
-
-    remove some left over ifdefs to complete merge of the invoke-rewrite
-    branch
-
- gi/pygi-cache.h   | 2 --
- gi/pygi-info.c    | 2 --
- gi/pygi-private.h | 5 +----
- gi/pygi.h         | 2 --
- 4 files changed, 1 insertion(+), 10 deletions(-)
-
-commit 8c653ec3033fab47c4bb4071b5732a349357141f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jul 18 10:59:45 2011 -0400
-
-    rename pygi-invoke-ng to pygi-invoke
-
- gi/Makefile.am                         | 3 ++-
- gi/{pygi-invoke-ng.c => pygi-invoke.c} | 0
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-commit 62d59fa2c2b31d7a3cac8996d58234d4b13bb19f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jul 18 10:56:36 2011 -0400
-
-    make invoke-ng the only invoker
-
- configure.ac     |   11 -
- gi/Makefile.am   |   10 +-
- gi/pygi-invoke.c | 1030
- ------------------------------------------------------
- 3 files changed, 1 insertion(+), 1050 deletions(-)
-
-commit 2937cfe5bb7122dd3783c7919294d6a34a3dfc05
-Merge: 519e556d 917ea2df
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jul 18 10:45:18 2011 -0400
-
-    Merge branch 'master' into invoke-rewrite
-
-commit 519e556dc1e5874e1668bad93043fb9258c7ee79
-Merge: bab7e882 38cca3c1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jul 18 10:37:20 2011 -0400
-
-    Merge branch 'master' into invoke-rewrite
-
-commit bab7e88251bffcd360186c6dedc26be8eb077084
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jul 18 10:35:10 2011 -0400
-
-    split the marshalling routines into two source files
-
-    * update copy and paste copyright info to list the correct owner
-
- gi/Makefile.am                           |   6 +-
- gi/pygi-cache.c                          |   3 +-
- gi/{pygi-marshal.c => pygi-marshal-in.c} | 739
- +----------------------------
- gi/{pygi-marshal.h => pygi-marshal-in.h} | 117 -----
- gi/pygi-marshal-out.c                    | 767
- +++++++++++++++++++++++++++++++
- gi/pygi-marshal-out.h                    | 144 ++++++
- 6 files changed, 920 insertions(+), 856 deletions(-)
-
-commit 917ea2dfa2d097e563233145003a66b3e4423287
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Jul 14 11:21:10 2011 +0200
-
-    Ship tests/te_ST@nouppera in release tarballs for tests to succeed
-
- tests/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-commit e024e832ab9c82d3e299cc6e1cb427de44f2d16e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jul 13 15:43:02 2011 -0400
-
-    [invoke] break out caller_allocates allocating into its own function
-
- gi/pygi-invoke-ng.c | 78
- +++++++++++++++++++++++++++++++++--------------------
- 1 file changed, 49 insertions(+), 29 deletions(-)
-
-commit fc8b8ce768ac780f7ed9edc63b70dd35194153c0
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jul 13 15:42:26 2011 -0400
-
-    [invoke] missed a bit when removing constructor_class usage
-
- gi/pygi-invoke-ng.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit c94bcf4ae7e36f90c356c89712b00609f9f849bd
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jul 13 15:16:17 2011 -0400
-
-    [invoke] don't hold on to the constructor class, just add a TODO
-
- gi/pygi-invoke-ng.c           | 11 +++++------
- gi/pygi-invoke-state-struct.h |  1 -
- 2 files changed, 5 insertions(+), 7 deletions(-)
-
-commit c11d3195f324ea41e86e3da7ff99b55425c2faec
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jul 13 10:40:25 2011 +0200
-
-    [gi] Port test_properties from static gio to GI Gio
-
-    As we ripped out the static gio bindings a while ago, this test case
-    was using
-    the system installed gio bindings with Python 2, and now fails
-    completely with
-    Python 3. Rewrite it to use gi.repository.Gio.
-
- tests/test_properties.py | 38 +++++++++++++++++++-------------------
- 1 file changed, 19 insertions(+), 19 deletions(-)
-
-commit 8f89ff24fcac627ce15ca93038711fded1a7c5ed
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jul 13 08:42:22 2011 +0200
-
-    [python3] Fix maketrans import
-
-    Python3 moved the maketrans() function from the string module to a
-    str method.
-    This unbreaks gi/module.py for Python 3 again.
-
- gi/module.py | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-commit 20aea4b052126fa0bface3e6e0dccfd77f9505b1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 8 14:39:22 2011 -0400
-
-    [caching] remove all inline compiler flags
-
- gi/pygi-cache.c | 96
- ++++++++++++++++++++++++++++-----------------------------
- 1 file changed, 48 insertions(+), 48 deletions(-)
-
-commit bf7bb79b66ad406063fb443e7452d830c55986ef
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 8 14:35:20 2011 -0400
-
-    [caching] refactor function names to be less confusing
-
- gi/pygi-cache.c | 307
- +++++++++++++++++++++++++++-----------------------------
- 1 file changed, 150 insertions(+), 157 deletions(-)
-
-commit c167a9345b01c070bd5a84b4a4b3a53baf9e217d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 8 11:24:09 2011 -0400
-
-    [overrides] deprecate the use of type keyword MessageDialog
-    constructor
-
-    * pygtk used type to determine the "type" of message dialog to
-    display but we
-      use the proper property name "message_type" since we should not be
-      overriding a reserved word
-    * to keep compat with pygtk we check the kwds hash for the key
-    'type' and
-      assign it to message_type while throwing a deprecation warning
-    * also add a deprication warning when trying to use the depricated
-    NO_SEPARATOR
-      flag
-
- gi/overrides/Gtk.py | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-commit 367e4ededd4a45125157050bcc9e4e685fd4a82d
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Fri Jul 8 10:15:53 2011 +0200
-
-    gdbus tests: Fix hang if test case fails
-
-    In the TestGDBusClient.test_native_calls_async() test case, the main
-    loop was
-    never quit when the call failed.
-
- tests/test_gdbus.py | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-commit 11b578400cbf9f7c270b662a5e8953ccd466e5ef
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jul 7 19:30:11 2011 -0400
-
-    use an enum instead of booleans to denote function type
-
- gi/pygi-cache.c     | 85
- ++++++++++++++++++++++++++++++-----------------------
- gi/pygi-cache.h     | 18 +++++++++---
- gi/pygi-invoke-ng.c |  8 ++---
- 3 files changed, 67 insertions(+), 44 deletions(-)
-
-commit 10e31005baec26f61c0f8fca2b5c0337b0be6c70
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jul 7 15:18:03 2011 -0400
-
-    rename aux arguments to child arguments to make their purpose clearer
-
- gi/pygi-cache.c     | 64
- ++++++++++++++++++++++++++---------------------------
- gi/pygi-cache.h     | 29 ++++++++++++++++--------
- gi/pygi-invoke-ng.c | 10 ++++-----
- gi/pygi-marshal.c   | 12 +++++-----
- 4 files changed, 63 insertions(+), 52 deletions(-)
-
-commit b4ad91c40f713ebdc278ce40b011e4adf9ddbbd7
-Author: Timo Vanwynsberghe <timovwb@gmail.com>
-Date:   Thu Jul 7 10:59:08 2011 +0200
-
-    Fixed the cairo example
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=653844
-
- examples/cairo-demo.py | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-commit a606bab1ddc605167f2e9dc7c46c8f929fdce23b
-Author: Adam Dingle <adam@yorba.org>
-Date:   Tue Jul 5 14:28:20 2011 -0700
-
-    Add override binding for Gtk.ListStore.prepend().
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=654056
-
- gi/overrides/Gtk.py     |  8 ++++++++
- tests/test_overrides.py | 13 ++++++++++++-
- 2 files changed, 20 insertions(+), 1 deletion(-)
-
-commit fc5c869486c7f6929e285ea7a86623ec41ecd9bd
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Jul 7 13:39:19 2011 +0200
-
-    Fix crash in Gtk.TextIter overrides
-
-    With commit 17cd0fb3 Gtk.TextIter.{forward,backward}_search()
-    returns undefined
-    pointers when the search was unsuccessful. Actually check the
-    "success" return
-    value; if it is False return None, just like PyGTK used to.
-
-    Thanks to Michael Vogt for discovering this and writing the test case!
-
-    Test case:
-
-    -------------- 8< -----------------
-    from gi.repository import Gtk
-
-    win = Gtk.Window.new(Gtk.WindowType.TOPLEVEL)
-    textview = Gtk.TextView()
-    buffer = textview.get_buffer()
-    buffer.set_text("hello world")
-    win.add(textview)
-
-    win.show_all()
-
-    iter = buffer.get_start_iter()
-    end = buffer.get_end_iter()
-    ret = iter.forward_search("foo",
-                              Gtk.TextSearchFlags.VISIBLE_ONLY,
-                                                        end)
-    print "this is my return value"
-    print ret
-    print "now I crash"
-    print ret[0].get_offset()
-
-    Gtk.main()
-    -------------- 8< -----------------
-
- gi/overrides/Gtk.py | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-commit 5c04fc5b2ca7e262c052426d5863d69d0c4a24da
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jul 5 15:57:23 2011 -0400
-
-    use gssize instead of int for arg indexes
-
- gi/pygi-cache.c           | 24 ++++++++++++------------
- gi/pygi-cache.h           |  6 +++---
- gi/pygi-invoke-ng.c       |  6 +++---
- gi/pygi-marshal-cleanup.c |  6 +++---
- 4 files changed, 21 insertions(+), 21 deletions(-)
-
-commit ecc09749c34cd4eabf47cc722d768b042dc0be9f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jul 5 14:17:30 2011 -0400
-
-    [cache] remove refrence to default value as it is not implemented yet
-
- gi/pygi-cache.h | 1 -
- 1 file changed, 1 deletion(-)
-
-commit 433e0fb259047d8c81e5949a31abb5e0feefd27b
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Thu May 12 18:53:06 2011 +0200
-
-    Handle arguments that are flags correctly
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=647581
-
- gi/pygi-argument.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 38cca3c14e79fbc383e3fc65a120bee03714b99f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 1 05:19:15 2011 -0400
-
-    correctly initialize the _gi_cairo_functions array to be zero filled
-
- gi/pygi-foreign-cairo.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 9ae43fdbcc547eb1e3c61bf9545da40555b2e2c6
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 1 05:19:15 2011 -0400
-
-    correctly initialize the _gi_cairo_functions array to be zero filled
-
- gi/pygi-foreign-cairo.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit d3ee40b36b1718e6fb4544dbe07e291138ea1eb9
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jun 29 18:14:40 2011 -0400
-
-    pass in the address of the gerror, not the gerror itself
-
- gi/pygi-argument.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 49dc98eb9339ea64355cd752ca000c79da56f3a2
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jun 29 18:01:44 2011 -0400
-
-    [gi] handle marshalling gerrors arguments for signals
-
- gi/pygi-argument.c | 18 ++++++++++++++++--
- 1 file changed, 16 insertions(+), 2 deletions(-)
-
-commit db9419fcef628e9ffee10591156007ea9c0bc1f0
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jun 29 12:12:29 2011 -0400
-
-    [gi-invoke-ng] fix NULL check to check before we access the cache
-    struct
-
- gi/pygi-cache.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 9027e1a20fd06df5c26edcec1893ef0814ec938a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 28 18:21:55 2011 -0400
-
-    [gi-tests] add test for PyGObject->PyObject TreeModel storage
-
-      * make sure we can store a custom GObject as a PyObject inside of
-      a TreeModel
-
- tests/test_overrides.py | 26 +++++++++++++++-----------
- 1 file changed, 15 insertions(+), 11 deletions(-)
-
-commit b6842e4b2a28733e143d4022864041ca82e91f7a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 28 18:13:38 2011 -0400
-
-    [gtk-overrides] special case TreeModel columns of PYGOBJECT types
-
-     * box the PYGOBJECT in a GValue so we can store PyGObjects in a
-     TreeModel row
-
- gi/overrides/Gtk.py | 7 ++++---
- gobject/pygtype.c   | 7 ++++---
- 2 files changed, 8 insertions(+), 6 deletions(-)
-
-commit 7fc9d45860210fd9d333fd3769c6cf93a6a20eb6
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 28 17:32:29 2011 -0400
-
-    [gi-invoke-ng] copy structs when transfer is full for array
-
- gi/pygi-marshal.c | 21 ++++++++++++++++++---
- 1 file changed, 18 insertions(+), 3 deletions(-)
-
-commit 8d60c0bc7b327aa757a8727f1146f02cc0b78af8
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 28 13:54:48 2011 -0400
-
-    [gtk-override] print warning if user imports Gtk 2.0
-
-     * this is needed because people file bugs not realizing they are
-     importing 2.0
-       which is not supported
-
- gi/overrides/Gtk.py | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-commit 7c589c0c1de1a786e00685afd5292b6fb1f93ed3
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 28 13:08:49 2011 -0400
-
-    [gtk-overrides] allow the message_type keyword to be used for
-    MessageDialogs
-
-     * for pygtk compat we use the type keyword for message type but
-     we prefer
-       the use of message_type because it is more descriptive and does
-       not clash
-       with a python reserved word
-     * if you passed message_type into a MessageDialog constructor you
-     would get
-       an error because we also convert type to message_type when
-       calling the
-       parent constructor
-     * this patch looks to see if message_type was passed in as a
-     keyword and
-       assigns it to type while removing message_type from the keywords
-       dict
-       to avoid name clashing
-
- gi/overrides/Gtk.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 2aa12267bee91aa696633a0cea2a0accae09250a
-Author: Johan Dahlin <jdahlin@litl.com>
-Date:   Mon Jun 27 10:56:20 2011 -0300
-
-    Add support for enums in gobject.property
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=653488
-
- gobject/propertyhelper.py | 23 ++++++++++++++++-------
- tests/test_properties.py  | 40 ++++++++++++++++++++++++++++++++++++----
- 2 files changed, 52 insertions(+), 11 deletions(-)
-
-commit dc62e67b447ef526a6f2d1aa8648ad101d95024b
-Author: Johan Dahlin <jdahlin@litl.com>
-Date:   Mon Jun 27 10:56:20 2011 -0300
-
-    Add support for enums in gobject.property
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=653488
-
- gobject/propertyhelper.py | 23 ++++++++++++++++-------
- tests/test_properties.py  | 40 ++++++++++++++++++++++++++++++++++++----
- 2 files changed, 52 insertions(+), 11 deletions(-)
-
-commit 50cfccb5801c1b9a0a42ffe2826cd245f21fd88d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jun 24 14:17:24 2011 -0400
-
-    [gi-invoke-ng] use g_slice for allocating GValues that are caller
-    allocated
-
- gi/pygi-invoke-ng.c       | 2 ++
- gi/pygi-marshal-cleanup.c | 2 ++
- 2 files changed, 4 insertions(+)
-
-commit eff65cd2ce490296865441c3c78b7846f380459c
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jun 24 11:49:05 2011 -0400
-
-    [gi-invoke-ng] Convert Overflow errors to ValueErrors when marshalling
-    integers
-
- gi/pygi-marshal.c | 56
- +++++++++++++++++++++++++++++++++++++++++++------------
- 1 file changed, 44 insertions(+), 12 deletions(-)
-
-commit 05ed688d54e3ff04e961b60d0b5d3ed0b97c771d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jun 22 12:26:39 2011 -0400
-
-    [gi-invoke-ng] only cache caller allocates for interfaces as some
-    API are broken
-
- gi/pygi-cache.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-commit 4fd957a5de364c0588168dee15e1e61d4f12e173
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jun 17 17:07:56 2011 -0400
-
-    [gi-invoke-ng] handle in pointer array marshalling
-
- gi/pygi-marshal.c | 28 ++++++++++++++++++++++------
- 1 file changed, 22 insertions(+), 6 deletions(-)
-
-commit df3911ad2ce83af9bf9679ed1b221847b23ba2de
-Author: Alex Eftimie <alex@eftimie.ro>
-Date:   Fri Jun 10 08:44:04 2011 +0300
-
-    Adding GPtrArray tests
-
- tests/test_gi.py | 43 ++++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 42 insertions(+), 1 deletion(-)
-
-commit e32c2be53175014399d89e1e85c9afc6e53c94be
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jun 17 11:32:28 2011 -0400
-
-    [gi-invoke-ng] fix array element offset calculations
-
-    * use pointer arithmetic to calculate based on element size instead of
-      relying on the size of GIArgument
-    * special case GPtrArrays
-
- gi/pygi-marshal.c | 27 +++++++++------------------
- 1 file changed, 9 insertions(+), 18 deletions(-)
-
-commit 6e8dc28cb261cafbfed40fc0797a0dd5f91f497b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jun 15 12:46:03 2011 -0400
-
-    [gi] don't clean up arguments that weren't yet processed during in
-    arg failure
-
- gi/pygi-marshal-cleanup.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit af7c93ea98b7f492eef265e58c8b3c878805524f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jun 15 12:06:47 2011 -0400
-
-    [gi-overrides] use new instead of init when constructing a
-    GLib.VariantBuilder
-
-    * init is now skipped in the gir
-
- gi/overrides/GLib.py    | 18 ++++++++----------
- tests/test_overrides.py |  6 ++----
- 2 files changed, 10 insertions(+), 14 deletions(-)
-
-commit c6112307f29f9a850e6e9efa5f55d5d4a363c6b0
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jun 15 11:42:45 2011 -0400
-
-    [gi-invoke-ng] actual code to import overrides
-
- gi/pygi-cache.c | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-commit 902575d857beffb14e56821ea8a52f705385f6bb
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jun 15 11:25:10 2011 -0400
-
-    [gi-invoke-ng] import pytypes so we get overrides
-
- gi/pygi-marshal.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-commit 9d5604220bd56ae2708e9b74122c14208e0a30b4
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 14 16:13:37 2011 -0400
-
-    [gi-invoke-ng] handle gvariants now that they are not foreign
-
- gi/pygi-marshal.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-commit c1f5651062687e800a52b5d8d16c88c0acde2934
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 14 16:12:43 2011 -0400
-
-    [gi-invoke-ng] do not try to clean up NULL arguments
-
- gi/pygi-marshal-cleanup.c | 24 ++++++++++++++++--------
- 1 file changed, 16 insertions(+), 8 deletions(-)
-
-commit fbf5382fbc1aed49ed491d2255d616a1643a45fc
-Merge: 499b68d6 1491f622
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jun 13 17:28:23 2011 -0400
-
-    Merge branch 'master' into invoke-rewrite
-
-commit 499b68d6c9040cffc6e43dc87789d68446564a92
-Merge: 4c9bcedb 426c7109
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jun 13 17:26:37 2011 -0400
-
-    Merge branch 'master' into invoke-rewrite
-
-commit 1491f6225b9906bd369b5a42e6369ab6884736b7
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Fri Jun 10 14:01:32 2011 +0200
-
-    closure: avoid double free crash
-
- gi/pygi-closure.c | 12 ++++--------
- 1 file changed, 4 insertions(+), 8 deletions(-)
-
-commit 929f4236f2b8601e7960a4a7b0a860d976ad83c6
-Author: Jason Siefken <siefkenj@gmail.com>
-Date:   Fri Jun 3 23:11:17 2011 -0700
-
-    Added __eq__ method for Gdk.Color and Gdk.RGBA
-
-    Call Gdk.Color.equal and Gdk.RGBA.equal when
-    == equality testing is used.
-
- gi/overrides/Gdk.py     | 6 ++++++
- tests/test_overrides.py | 4 ++++
- 2 files changed, 10 insertions(+)
-
-commit dff5961ba229c7c34bd7b0a18a446b56bbe39e3a
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Wed Jun 8 19:13:48 2011 +0200
-
-    closure: Check the out arg is not null. Fixes bug #651812
-
- gi/pygi-closure.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit d7d178206bfbb0858556fcfd6c9ca8eefda3fdf5
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jun 8 09:47:20 2011 +0200
-
-    Use constants instead of literals
-
- tests/test_overrides.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit fe386a0ad548a23e30e9cb947bfa2198fb48ef29
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jun 6 19:07:22 2011 +0200
-
-    GVariant has now a GType, take that into account
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=647509
-
- gi/pygi-argument.c |  8 ++++----
- gi/pygi-invoke.c   | 20 +++++++++++++-------
- 2 files changed, 17 insertions(+), 11 deletions(-)
-
-commit bd7b8d96a7420522c1fdc127ef8cfb7d6e8a1b31
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jun 6 19:05:07 2011 +0200
-
-    GVariantType is a boxed struct
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=647509
-
- gi/gimodule.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2d73012e5dbcc45a5782a6c119dfb272c14b5a61
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jun 6 17:38:21 2011 +0200
-
-    Use _gi.Struct to wrap fundamentals
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=647509
-
- gi/module.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-commit d82e6c8d1d9f2fc48fdcc15b7d2a97e4f24cf3bf
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jun 6 17:24:28 2011 +0200
-
-    Merge gi/HACKING into /HACKING
-
- HACKING    | 16 ++++++++++++++++
- gi/HACKING | 26 --------------------------
- 2 files changed, 16 insertions(+), 26 deletions(-)
-
-commit 92aca4416a7930e5870b8d1a4016bae8140462ee
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Fri Jun 3 16:59:15 2011 +0100
-
-    Fix GC-related crash during PyGObject deallocation
-
-    Python-2.7.1's GC source has the following comment:
-
-            /* Python's cyclic gc should never see an incoming refcount
-             * of 0:  if something decref'ed to 0, it should have been
-             * deallocated immediately at that time.
-             * Possible cause (if the assert triggers):  a tp_dealloc
-             * routine left a gc-aware object tracked during its teardown
-             * phase, and did something-- or allowed something to
-             happen --
-             * that called back into Python.  gc can trigger then, and may
-             * see the still-tracked dying object.  Before this assert
-             * was added, such mistakes went on to allow gc to try to
-             * delete the object again.  In a debug build, that caused
-             * a mysterious segfault, when _Py_ForgetReference tried
-             * to remove the object from the doubly-linked list of all
-             * objects a second time.  In a release build, an actual
-             * double deallocation occurred, which leads to corruption
-             * of the allocator's internal bookkeeping pointers.  That's
-             * so serious that maybe this should be a release-build
-             * check instead of an assert?
-             */
-
-    As shown in a backtrace at
-    https://bugzilla.redhat.com/show_bug.cgi?id=640972 , pygobject
-    is making
-    this exact mistake. Before untracking its object, pygobject_dealloc
-    calls PyObject_ClearWeakRefs() which can call back into python, create
-    new allocations, and trigger the GC.
-
-    This is causing Sugar (based on pygobject2 + pygtk2 static bindings)
-    to
-    crash on a regular basis while interacting with widgets or launching
-    applications.
-
-    Fix this by untracking the object early. Also fix the same issue
-    spotted
-    in the GSource wrapper.
-
-    Thanks to Bernie Innocenti for initial diagnosis.
-
- glib/pygsource.c    | 6 ++++--
- gobject/pygobject.c | 8 +++++++-
- 2 files changed, 11 insertions(+), 3 deletions(-)
-
-commit 4c9bcedb4e11ad66a4b86174e2425c7afcafc473
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue May 31 16:59:41 2011 -0400
-
-    [gi-invoke-ng] enable invoke-ng by default
-
- configure.ac | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 2e4cfb85a55ff205e263591d573ee5ecf0ffff3e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue May 31 16:37:21 2011 -0400
-
-    [gi-invoke-ng] add code to clean up when input values fail to marshal
-
- gi/pygi-marshal-cleanup.c | 30 +++++++++++++++++++++++++-----
- 1 file changed, 25 insertions(+), 5 deletions(-)
-
-commit 508b1b6ca1b143f1e123a3ddb83e8ce146758dfc
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue May 31 16:01:03 2011 -0400
-
-    [gi-invoke-ng] add hash cleanup routines
-
- gi/pygi-cache.c           |  2 ++
- gi/pygi-marshal-cleanup.c | 64
- +++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-marshal-cleanup.h | 10 ++++++--
- 3 files changed, 74 insertions(+), 2 deletions(-)
-
-commit 1954c75b94a74259b4e5d28f5ff8d76aa4610832
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue May 31 14:47:30 2011 -0400
-
-    [gi-invoke-ng] handle arrays with transfers of GI_TRANSFER_CONTAINER
-
- gi/pygi-marshal-cleanup.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit b626c46b4a95602c7bf1278c2a39aacb7f5027d9
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue May 31 14:40:49 2011 -0400
-
-    [gi-invoke-ng] add list cleanup routines
-
- gi/pygi-cache.c           |  8 ++---
- gi/pygi-marshal-cleanup.c | 84
- +++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-marshal-cleanup.h |  8 +++++
- 3 files changed, 96 insertions(+), 4 deletions(-)
-
-commit 2e542c327cd52c1f77af28905557dd25c64175d8
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu May 26 16:10:13 2011 -0400
-
-    indentation fix
-
- gi/pygi-marshal.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 601aec11c49e821fe97dd30a2187fe3c75844712
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu May 26 16:09:38 2011 -0400
-
-    [gi-invoke-ng] add out array cleanup
-
- gi/pygi-cache.c           |  2 +-
- gi/pygi-marshal-cleanup.c | 24 ++++++++++++++++++++++++
- gi/pygi-marshal.c         | 37 +++++++++++++++++++++++++++++++------
- 3 files changed, 56 insertions(+), 7 deletions(-)
-
-commit e9ad4428b769f8c9ace1cdc973c684de84fb1a5e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu May 26 13:22:38 2011 -0400
-
-    [gi-invoke-ng] do not allocate null terminator for garray
-
-    * We are simply setting our own array so we don't want any allocate
-    null byte
-
- gi/pygi-marshal.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a986b2b8e5ee37f2a330f5aabc85c73ebb0de508
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu May 26 13:21:55 2011 -0400
-
-    [gi-invoke-ng] add array cleanup for in arrays
-
- gi/pygi-cache.c           |  2 +-
- gi/pygi-marshal-cleanup.c | 72
- ++++++++++++++++++++++++++++++++++++++++++++++-
- gi/pygi-marshal-cleanup.h |  9 ++++++
- gi/pygi-marshal.c         | 13 +++++++--
- 4 files changed, 91 insertions(+), 5 deletions(-)
-
-commit 990c60805c8ef718eb29e2e1b24f057552c6159e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon May 23 17:06:30 2011 -0400
-
-    [gi-invoke-ng] remove remaining bits of the invoke stage state machine
-
- gi/pygi-invoke-ng.c           |  7 +------
- gi/pygi-invoke-state-struct.h | 14 --------------
- 2 files changed, 1 insertion(+), 20 deletions(-)
-
-commit dbbcf4a0e76fb572d85843ee31c3798df5cd5cc5
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon May 23 16:59:57 2011 -0400
-
-    [gi-invoke-ng] revamp cleanup framework to be orthogonal to cache
-    setup
-
-    * cleanup now has symmetry with setup so there are now in and out
-    cleanups
-      for each type that needs to be cleaned up
-    * no longer use state machine but instead call different cleanup
-    functions at
-      different stages of invoke, making it easier to understand what
-      happens at
-      each stage
-
- gi/pygi-cache.c               |  19 ++-
- gi/pygi-cache.h               |   7 +-
- gi/pygi-invoke-ng.c           |  10 +-
- gi/pygi-invoke-state-struct.h |   2 +
- gi/pygi-marshal-cleanup.c     | 301
- +++++++++++++++++-------------------------
- gi/pygi-marshal-cleanup.h     |  45 ++++---
- gi/pygi-marshal.c             |  15 +--
- 7 files changed, 174 insertions(+), 225 deletions(-)
-
-commit 198714dc4585f7463f38929f1ca4e4b60a27dadb
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu May 12 17:29:20 2011 -0400
-
-    [gi-invoke-ng] stub out a cleaner way of cleaning up after ourselves
-
-    * The state machine concept of cleaning up was getting a bit messy.
-      It was like we took a big bowl of spaghetti code and dumped it.
-    * Now we call specific cleanup functions at the point of failure (or
-      successful completion of a marshalling stage)
-
- gi/pygi-invoke-ng.c       | 59 +++++++++++++++++++++++++++++++-------
- gi/pygi-marshal-cleanup.c | 72
- +++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-marshal-cleanup.h | 14 +++++++++
- 3 files changed, 135 insertions(+), 10 deletions(-)
-
-commit c1389dadbf35afee3f28d90ef637efd8c1f071a5
-Author: José Alburquerque <jaalburqu@svn.gnome.org>
-Date:   Thu May 12 11:53:40 2011 -0400
-
-    Doc Extractor: Correct the logic of the --no-since option.
-
-            * codegen/docextract.py (process_final_sections): If the
-            --no-since
-            option has been specified and a "Since:" is encountered
-            during the
-            processing of the final sections, simply don't append the
-            "Since: ..."
-            instead of reading the next line.  This preserves the logical
-            flow of
-            processing.
-
- codegen/docextract.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 303d8e8ab9e60cb554de7fc0e8592cd9b2c50843
-Author: José Alburquerque <jaalburqu@svn.gnome.org>
-Date:   Mon May 9 17:32:09 2011 -0400
-
-    Doc Extractor: Add a --no-since option.
-
-            * codegen/docextract.py:
-            * codegen/docextract_to_xml.py: Modified so that if a
-            --no-since
-            option is specified at the command line, the "Since:
-            ..." portion of
-            the gtkdoc function block is omitted.  This is useful for
-            C++ modules
-            such as gstreamermm where this information would not be
-            useful as long
-            as the C API is still unstable.
-
- codegen/docextract.py        | 15 ++++++++++++++-
- codegen/docextract_to_xml.py |  9 ++++++---
- 2 files changed, 20 insertions(+), 4 deletions(-)
-
-commit 4f615c6e300d6f2d7551b640efa301060206ab58
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu May 5 14:04:34 2011 -0400
-
-    [gi-invoke-ng] tweek cleanup routines
-
- gi/pygi-cache.c           |  5 +++
- gi/pygi-marshal-cleanup.c | 87
- +++++++++++++++++++++++++++++++++++------------
- gi/pygi-marshal-cleanup.h |  6 ++--
- gi/pygi-marshal.c         | 11 ++----
- 4 files changed, 76 insertions(+), 33 deletions(-)
-
-commit 63c7f17c224821cb7136d06e8ef87eab7291848d
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon May 2 15:49:52 2011 +0200
-
-    Fix symbol names to be locale independent
-
-    We currently use upper() to present enum values, which are usually
-    defined in
-    lower case in the typelib, in upper cases. However, upper() is locale
-    dependent, so that e. g. in tr_TR.UTF-8, "invalid" becomes "iNVALiD"
-    because Turkish has some extra variants of "i".
-
-    Use a local ASCII-only translate() call instead to avoid this. Thanks
-    to Nils
-    Philippsen for the idea!
-
-    This also adds a test locale "te_ST@nouppera" which defines
-    toupper('a') == 'a'.
-    Run the Enum tests under this locale to reproduce the bug and verify
-    the fix.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=649165
-
- gi/module.py         |  9 ++++++++-
- tests/te_ST@nouppera | 50
- ++++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_gi.py     | 30 ++++++++++++++++++++++++++++++
- 3 files changed, 88 insertions(+), 1 deletion(-)
-
-commit b5e150da76c3d4de1a75f58d03c3a761e9005a63
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed May 4 08:35:27 2011 +0200
-
-    [gi] pygi-convert.sh: Convert gtk.gdk.CROSSHAIR
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit fcc5ea201ab25da6db94ea8a37364a1d3c4d7c65
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Apr 29 17:41:08 2011 -0400
-
-    [gi-invoke-ng] handle filename cleanup with the utf8 cleanup function
-
- gi/pygi-cache.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit dbe8c4fabc8ac19415a3be0e854d3a54c2317e0b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Apr 29 17:40:13 2011 -0400
-
-    [gi-invoke-ng] handle caller allocates cleanup
-
- gi/pygi-invoke-ng.c       |   5 ++-
- gi/pygi-marshal-cleanup.c | 104
- ++++++++++++++++++++++++++++++++++++----------
- gi/pygi-marshal-cleanup.h |   7 ++--
- 3 files changed, 90 insertions(+), 26 deletions(-)
-
-commit cdbf57f3b1f041a06cf545a5557424f701ed1ec7
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Apr 28 19:16:02 2011 -0400
-
-    [gi-invoke-ng] refactor the cleanup code and add utf8 cleanup as
-    initial test
-
- gi/pygi-cache.c               | 15 ++-----------
- gi/pygi-invoke-ng.c           |  8 +++----
- gi/pygi-invoke-state-struct.h |  2 ++
- gi/pygi-marshal-cleanup.c     | 51
- ++++++++++++++++++++++++++++++++++++++++++-
- gi/pygi-marshal-cleanup.h     |  3 +++
- 5 files changed, 60 insertions(+), 19 deletions(-)
-
-commit d1f1f4ccc55f9ecab73b7c0ee78762c4039b2c79
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Apr 27 15:47:19 2011 -0400
-
-    use PyCapsule when importing pycairo/require pycairo 1.10.0 for
-    python3 builds
-
-    * PyCObject is deprecated and pycairo 1.10.0 is first release to
-    fix this issue
-
- configure.ac            | 15 +++++++++++----
- gi/pygi-foreign-cairo.c |  2 +-
- 2 files changed, 12 insertions(+), 5 deletions(-)
-
-commit 83b7823a510b0b391560c6deaf9d15d8303c7b14
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Thu Apr 21 16:52:20 2011 +0200
-
-    [python3] fix build. PYcairo_IMPORT doesn't exists anymore
-
- gi/pygi-foreign-cairo.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-commit 3e933784df423757e591d703614cb700adb0bbe0
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Apr 18 18:36:25 2011 +0200
-
-    Updated DOAP file
-
- pygobject.doap | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit 399d06b4b20685eb38acfd7e43226e06737ab7d2
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Apr 16 16:02:05 2011 +0200
-
-    [gi] Don't create variant twice
-
- gi/overrides/GLib.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 8d8a84ea23d28d25851c5870f261c020d762cef4
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Fri Apr 15 16:14:43 2011 +0200
-
-    pygi-convert.sh: Make sure the uppercase GObject module is imported
-    instead of the lowercase
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=647736
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 3b51d6426d0f59b2dd7e0dcdcded4bed43d6b9d8
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Fri Apr 15 15:58:53 2011 +0200
-
-    [gi] Removed hack to avoid using GLib.Variant.new_variant.
-
-    The bug in the annotations of GLib is fixed now.
-    https://bugzilla.gnome.org/show_bug.cgi?id=639952
-    https://bugzilla.gnome.org/show_bug.cgi?id=647796
-
- gi/overrides/GLib.py | 14 +-------------
- 1 file changed, 1 insertion(+), 13 deletions(-)
-
-commit bb4dce14ba666969815d4e56adbc38f0ac4f7ff7
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Fri Apr 15 15:58:31 2011 +0200
-
-    [gi] Added additional test case for GVariant handling
-
- tests/test_overrides.py | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit 138df2778543409752e229a09828a805f68a420d
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Apr 11 18:34:31 2011 +0200
-
-    [gi] Added support for GVariant arguments
-
-    This is required in order for the "g-signal" signal of GDBusProxy
-    to work properly and thus to properly receive DBus signals with any
-    type of argument.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=647477
-
- gi/pygi-argument.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 985f239d891c7697d76ccecb797b189669ae6ee1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 22 18:46:28 2011 -0400
-
-    fix static ABI for setting string gvalues from python objects
-
-     * the static bindings used to be able to set a string gvalue to
-     any python
-       object that implemented __str__, for instance when setting a
-       treemodel column
-     * this restores that code while still keeping unicode and python 3
-       compatability
-
- gobject/pygtype.c        | 28 +++++++++++++++++++---------
- tests/test_properties.py |  8 ++++++++
- 2 files changed, 27 insertions(+), 9 deletions(-)
-
-commit 58cfc3cd1152b4448b56a6ff597f954d8450b83e
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Mar 22 20:47:51 2011 +0100
-
-    dsextras.py: ensure eol characters are preserved when writing template
-    files (so \n does not become \r\n)
-
- dsextras.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 629d267478982c426ba61a639d5c9603fed856e6
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Mar 22 11:35:44 2011 +0100
-
-    dsextras.py: remove \r as wel as \n character
-
- dsextras.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 426c7109d4c0dbf0d56cc075f97f33b3451f79a8
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Apr 27 15:47:19 2011 -0400
-
-    use PyCapsule when importing pycairo/require pycairo 1.10.0 for
-    python3 builds
-
-    * PyCObject is deprecated and pycairo 1.10.0 is first release to
-    fix this issue
-
- configure.ac            | 15 +++++++++++----
- gi/pygi-foreign-cairo.c |  2 +-
- 2 files changed, 12 insertions(+), 5 deletions(-)
-
-commit 4e5833d0c2fe548617e5ea510f05920fd0caf73b
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Thu Apr 21 16:52:20 2011 +0200
-
-    [python3] fix build. PYcairo_IMPORT doesn't exists anymore
-
- gi/pygi-foreign-cairo.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-commit 91ec337359720839862d3f5a8a0ea98f760a0752
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Apr 18 18:36:25 2011 +0200
-
-    Updated DOAP file
-
- pygobject.doap | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit 05c766044c83340c44564d0097514bfc1d1d9df7
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Apr 16 16:02:05 2011 +0200
-
-    [gi] Don't create variant twice
-
- gi/overrides/GLib.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit eb8f212e3687af30407cf01fcdfbf530257bcddb
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Fri Apr 15 16:14:43 2011 +0200
-
-    pygi-convert.sh: Make sure the uppercase GObject module is imported
-    instead of the lowercase
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=647736
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit af31729573de24161ee90563e5738187c749783c
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Fri Apr 15 15:58:53 2011 +0200
-
-    [gi] Removed hack to avoid using GLib.Variant.new_variant.
-
-    The bug in the annotations of GLib is fixed now.
-    https://bugzilla.gnome.org/show_bug.cgi?id=639952
-    https://bugzilla.gnome.org/show_bug.cgi?id=647796
-
- gi/overrides/GLib.py | 14 +-------------
- 1 file changed, 1 insertion(+), 13 deletions(-)
-
-commit 070f6688be4afb926656038dcceac4c8b8ed97c7
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Fri Apr 15 15:58:31 2011 +0200
-
-    [gi] Added additional test case for GVariant handling
-
- tests/test_overrides.py | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit 65aa040e86d94ee6bb227a2bce09668b60208027
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Apr 12 14:51:35 2011 -0400
-
-    [gi-invoke-ng] fix prototype
-
- gi/pygi-cache.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 12aa4e6376366ca9d758434f6544c9c70a1e5df8
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Apr 12 14:48:16 2011 -0400
-
-    [gi-invoke-ng] create new framework for cleaning up args
-
-    * we now have a state machine so we know what point in the marshalling
-    process
-      we are and which args need to be cleaned up
-    * call the cleanup functions after invoking the gi callable, after
-    marshalling
-      the out parameters and at any time an error occures
-
- gi/Makefile.am                |  4 ++-
- gi/pygi-cache.c               | 25 +++++++------
- gi/pygi-cache.h               |  5 ++-
- gi/pygi-invoke-ng.c           | 34 ++++++++++++++----
- gi/pygi-invoke-state-struct.h | 13 +++++++
- gi/pygi-marshal-cleanup.c     | 81
- +++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-marshal-cleanup.h     | 43 +++++++++++++++++++++++
- gi/pygi-marshal.c             |  1 +
- 8 files changed, 187 insertions(+), 19 deletions(-)
-
-commit 0463295cd046bd6382ad9dc71ea1518858d63c5f
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Apr 11 18:34:31 2011 +0200
-
-    [gi] Added support for GVariant arguments
-
-    This is required in order for the "g-signal" signal of GDBusProxy
-    to work properly and thus to properly receive DBus signals with any
-    type of argument.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=647477
-
- gi/pygi-argument.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 1d64c3d3db2ec17b9a48df55271f712db6c07060
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Mar 30 16:40:31 2011 -0400
-
-    [gi-invoke-ng] fix marshal header that is no longer part of
-    pygi-arguments.h
-
- gi/pygi-marshal.h | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 3580cd1c7222022ebeef3476f9e609c8045f12a3
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Mar 30 15:53:13 2011 -0400
-
-    [gi-invoke-ng] code style space fixes
-
- gi/pygi-cache.c     | 420 +++++++++++++++++++-------------------
- gi/pygi-invoke-ng.c | 145 +++++++-------
- gi/pygi-marshal.c   | 565
- ++++++++++++++++++++++++++--------------------------
- 3 files changed, 566 insertions(+), 564 deletions(-)
-
-commit 81662fcd09f112bfffcdc5b7f01a5537b84cd9d4
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 29 16:54:44 2011 -0400
-
-    [gi-invoke-ng] don't decref value taken from a dict as it is borrowed
-
- gi/pygi-invoke-ng.c | 1 -
- 1 file changed, 1 deletion(-)
-
-commit a456fc0adc1f8a0754bf59cde8924f905bfc7dc1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 29 15:23:06 2011 -0400
-
-    [gi-invoke-ng] return None when appropriate so we don't crash
-
- gi/pygi-marshal.c | 18 +++++++++++++++++-
- 1 file changed, 17 insertions(+), 1 deletion(-)
-
-commit e8c8c37e5587dc7ff62519df336988a12e6f5d0a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 29 15:21:41 2011 -0400
-
-    [gi-invoke-ng] fix aux value caching
-
- gi/pygi-cache.c | 15 ++++++++++-----
- 1 file changed, 10 insertions(+), 5 deletions(-)
-
-commit 4e4c1847c713a4eb4ab34d04488e94dac24d9167
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Mar 28 20:25:46 2011 -0400
-
-    [gi-invoke-ng] backport handling flags with no gtype
-
- gi/pygi-marshal.c | 25 ++++++++++++++++++++++++-
- 1 file changed, 24 insertions(+), 1 deletion(-)
-
-commit fd76423e655b3711e1ffbf9b61ea4e2c94040234
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Mar 28 18:32:00 2011 -0400
-
-    [gi-invoke-ng] backport raw gvalue handling
-
- gi/pygi-marshal.c | 23 ++++++++++++++++++-----
- 1 file changed, 18 insertions(+), 5 deletions(-)
-
-commit 507b5051c83f70ceae79e0fa693c86e5cbb9f442
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Mar 28 18:30:31 2011 -0400
-
-    [gi-invoke-ng] marshal instances seperately since they differ slightly
-    from other args
-
- gi/pygi-cache.c   |  2 +-
- gi/pygi-marshal.c | 38 ++++++++++++++++++++++++++++++++++++++
- 2 files changed, 39 insertions(+), 1 deletion(-)
-
-commit 726a27c0e74ace3ff23d9cc4d393ae53e57f1fac
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Mar 28 18:26:09 2011 -0400
-
-    [gi-invoke-ng] refactor FunctionCache to be more generic CallableCache
-
- gi/pygi-cache.c     | 392
- +++++++++++++++++++++++++++-------------------------
- gi/pygi-cache.h     |  12 +-
- gi/pygi-info.c      |   2 +-
- gi/pygi-invoke-ng.c |  40 +++---
- gi/pygi-marshal.c   | 140 +++++++++----------
- gi/pygi-marshal.h   | 159 +++++++++------------
- gi/pygi.h           |   2 +-
- 7 files changed, 362 insertions(+), 385 deletions(-)
-
-commit 3d5d9ff5c18a850650992bdd52e8e4c722b23396
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Mar 28 15:01:12 2011 -0400
-
-    [gi-invoke-rewrite] backport glib error handling
-
- gi/pygi-invoke-ng.c | 14 ++++++--------
- 1 file changed, 6 insertions(+), 8 deletions(-)
-
-commit 37b14b28a5f2aec16ac7f321efbf07e1403e9531
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Mar 25 18:48:42 2011 -0400
-
-    [gi-invoke-ng] backport closure passing from invoke
-
- gi/pygi-marshal.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-commit cf7f97eabc9c49773c2916929b8c43ef453d0652
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Mar 25 18:47:36 2011 -0400
-
-    [gi-invoke-ng] handle vfuncs and fix cosntrutors
-
- gi/pygi-cache.c               |  9 +++++++
- gi/pygi-cache.h               |  2 ++
- gi/pygi-invoke-ng.c           | 56
- ++++++++++++++++++++++++++++++++-----------
- gi/pygi-invoke-state-struct.h |  2 ++
- 4 files changed, 55 insertions(+), 14 deletions(-)
-
-commit af2ce400fcf771ee6c9bc01aecfb59467be5a0ce
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Mar 25 18:39:06 2011 -0400
-
-    [gi-invoke-ng] handle foreign types correctly
-
- gi/pygi-cache.c   | 22 ++++++----------------
- gi/pygi-marshal.c |  3 +++
- 2 files changed, 9 insertions(+), 16 deletions(-)
-
-commit 482553ae5d863ca523be3bd1eededa5d02a4f87e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Mar 25 13:14:01 2011 -0400
-
-    [gi] remove the class parameter from the argument list of constructors
-
-     * constructors pass in their class to be constructed.  Since we
-     use GI
-       and g_object_new to do the construction we ignore this for now but
-       keep it around in the state for future use.
-
- gi/pygi-invoke-ng.c           | 46
- +++++++++++++++++++++++++++++++++++++------
- gi/pygi-invoke-state-struct.h |  1 +
- 2 files changed, 41 insertions(+), 6 deletions(-)
-
-commit 0534eb0e843cdf09611143da184052f7e549e4dc
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 22 18:46:28 2011 -0400
-
-    fix static ABI for setting string gvalues from python objects
-
-     * the static bindings used to be able to set a string gvalue to
-     any python
-       object that implemented __str__, for instance when setting a
-       treemodel column
-     * this restores that code while still keeping unicode and python 3
-       compatability
-
- gobject/pygtype.c        | 28 +++++++++++++++++++---------
- tests/test_properties.py |  8 ++++++++
- 2 files changed, 27 insertions(+), 9 deletions(-)
-
-commit 5f0e130026a663a57ed1317e0fa0e1f78f9e6e0a
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Mar 22 20:47:51 2011 +0100
-
-    dsextras.py: ensure eol characters are preserved when writing template
-    files (so \n does not become \r\n)
-
- dsextras.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 62a6274105003ef386ddfe9ef38e8afa8c43d124
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Mar 22 11:35:44 2011 +0100
-
-    dsextras.py: remove \r as wel as \n character
-
- dsextras.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 86c436978c933f6ebe17627abe98325ce66f6baa
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 22 16:13:58 2011 -0400
-
-    [gi] make new invoke-ng codepath compile correctly
-
- configure.ac        |    4 +
- gi/Makefile.am      |    5 +-
- gi/pygi-cache.c     |    2 +-
- gi/pygi-invoke-ng.c |  841 ----------------------
- gi/pygi-marshal.c   | 1962
- +--------------------------------------------------
- gi/pygi-private.h   |    4 +-
- 6 files changed, 9 insertions(+), 2809 deletions(-)
-
-commit 35619fec43f4df85edf5456f3fc9733b16f2ba90
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 22 15:40:02 2011 -0400
-
-    [gi] conditionalize invoke code paths
-
- configure.ac      |  7 +++++++
- gi/Makefile.am    | 20 +++++++++++++++-----
- gi/pygi-cache.h   |  2 ++
- gi/pygi-info.c    |  4 +++-
- gi/pygi-private.h |  9 +++++++--
- gi/pygi.h         |  4 +++-
- 6 files changed, 37 insertions(+), 9 deletions(-)
-
-commit 83c51bd2bb6ca24ce610c04cff1527bcd2689d90
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 22 15:37:24 2011 -0400
-
-    [gi] revert back to the type.py from master
-
- gi/types.py | 21 +++++++++++++++------
- 1 file changed, 15 insertions(+), 6 deletions(-)
-
-commit cb30d00d1c92e73d9bfb08cc7b600a5aa70f2fc0
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 22 14:46:29 2011 -0400
-
-    [gi] revert pygi-argument.h and move the invoke-ng code to
-    pygi-marshal.h
-
- gi/pygi-argument.h | 268 +-----------------------------------------
- gi/pygi-marshal.h  | 336
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 337 insertions(+), 267 deletions(-)
-
-commit 17cb714cfdaf45b6d7dd627b0189bd24e6578f74
-Merge: 7332a1b9 01596a9b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 22 13:34:36 2011 -0400
-
-    Merge branch 'master' into invoke-rewrite
-
-    Conflicts:
-            gi/Makefile.am
-            gi/pygi-argument.c
-            gi/pygi-foreign-cairo.c
-            gi/pygi-foreign-gvariant.c
-            gi/pygi-foreign-gvariant.h
-            gi/pygi-foreign.c
-            gi/pygi-foreign.h
-            gi/pygi-private.h
-            gi/pygi.h
-
-commit 01596a9b7cc0ceef3904da5b96939140ee0732fd
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 22 13:20:54 2011 -0400
-
-    [gi] foreign types now take interface infos instead of type infos
-
-     * this is a prep for the invoke-rewrite branch
-     * when marshalling foreign structs we may not have the type info but
-       we will always have the interface info to pass
-     * this simplifies the code because we were simply converting the
-       type info back to an interface info anyway so there is less
-       refcounting to keep track of
-     * also fixes a bug where we were leaking PyNone ref counts
-
- gi/pygi-argument.c         |  4 ++--
- gi/pygi-foreign-cairo.c    | 16 ++++++++--------
- gi/pygi-foreign-gvariant.c | 12 ++++++------
- gi/pygi-foreign.c          | 32 +++++++++++++-------------------
- gi/pygi-foreign.h          |  8 ++++----
- gi/pygi-invoke.c           |  6 +++---
- gi/pygi.h                  | 12 ++++++------
- 7 files changed, 42 insertions(+), 48 deletions(-)
-
-commit fbabc1fdafa1dcbd1f6aaea7b821bd1c64a546ab
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Mar 22 15:04:01 2011 +0100
-
-    Fix GSchema tests for separate build tree
-
-    When using a separate build tree, the compiled GSettings schema will
-    be in the
-    build tree, but as the test scripts are only in the source tree they
-    won't find
-    the compiled schema. Pass the build dir as environment variable and
-    prefer it
-    over test_overrides.py's directory.
-
- tests/Makefile.am       | 3 ++-
- tests/test_overrides.py | 4 +++-
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-commit 7332a1b99775519fdc5500cab6628b713e946a8c
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Mar 21 19:03:29 2011 -0400
-
-    [gi] start of merge from master
-
-    * move some of the modified files that will cause merge conflicts
-    to their
-      own, nonconflicting files
-    * copy the old files out of master
-
- gi/pygi-argument.c  | 2101 +++------------------------
- gi/pygi-invoke-ng.c | 1179 ++++++++++++++++
- gi/pygi-invoke.c    |  421 ++----
- gi/pygi-marshal.c   | 3916
- +++++++++++++++++++++++++++++++++++++++++++++++++++
- 4 files changed, 5389 insertions(+), 2228 deletions(-)
-
-commit 62b49dae97441953452d097cb1751df14302547a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Mar 16 17:34:18 2011 -0400
-
-    [gi] marshal raw closures
-
-    * before we were able to marshal python callables into methods
-    that took
-      GClosures but we had no way to take a GClosure returned from one
-      method and pass it to another - this enables that usecase
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=644757
-
- gi/pygi-argument.c | 17 ++++++++++-------
- tests/test_gi.py   |  4 ++++
- 2 files changed, 14 insertions(+), 7 deletions(-)
-
-commit 1e70957c5470a0f4bceba38ca66a4e4274fdc8d8
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Sun Mar 6 23:41:01 2011 +1300
-
-    pygi-convert.sh add GObject.xxx and webkit
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=644347
-
- pygi-convert.sh | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 2292673c96e7973a0732ca15bbd5b0bf7a9c7dcf
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Sun Mar 6 23:41:30 2011 +1300
-
-    pygi-convert.sh remove gobject tests, GObject works now
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=644347
-
- pygi-convert.sh | 28 ----------------------------
- 1 file changed, 28 deletions(-)
-
-commit d26e5cc45f277f6b7edb32aa416520bb53bff9c2
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Mar 11 14:09:02 2011 -0500
-
-    [gi-demos] add pickers demo
-
- demos/gtk-demo/demos/pickers.py | 74
- +++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 74 insertions(+)
-
-commit b8d926a458ed7d7e92719e41b5bc1c36f68882b3
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Mar 10 18:12:50 2011 -0500
-
-    [gi-demos] add menu demo
-
- demos/gtk-demo/demos/menus.py | 122
- ++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 122 insertions(+)
-
-commit 9baec8ed1c5d99c1677a75eaa1d38912f41f0b2d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Mar 9 13:02:50 2011 -0500
-
-    [gi-overrides] fix exception block so it works in Python 2.5
-
- gi/overrides/Gio.py | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit 5ac534ac3ceee3cc19fe2297e3cd009817ed726f
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Mar 21 13:19:58 2011 +0100
-
-    Revert "Deduce PYTHON_LIBS in addition to PYTHON_INCLUDES"
-
-    This reverts commit fc7d7f7f153d57ff3866b7bfd5e6479d702cc4d9.
-
-    This introduces additional libpython dependencies, which breaks
-    distributions
-    which support multiple Python versions, and also causes the python
-    interpreter
-    to be in memory twice in some cases.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620215
-
- gi/Makefile.am    | 4 +---
- glib/Makefile.am  | 2 +-
- m4/python.m4      | 7 ++-----
- tests/Makefile.am | 2 +-
- 4 files changed, 5 insertions(+), 10 deletions(-)
-
-commit cd01f8ce1373f28b1427dd847bef44f747f1e6b3
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Mar 18 17:06:08 2011 +0100
-
-    setup.py: fix user_access_control option
-
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2da60baec4f43c41f43527cbfde4e21e0eea728c
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Mar 16 10:22:35 2011 +0100
-
-    [gi] Respect the MessageType for Gtk.MessageDialog
-
-    Don't just ignore the type argument, actually pass it on. Thanks
-    to Tualatrix
-    Chou for spotting this!
-
- gi/overrides/Gtk.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 029a79d1af1e0998aa6bc88ce1c1f48ce0ccd2a0
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Mar 15 10:22:39 2011 +0100
-
-    [gi] Do not require signature for D-BUS methods without arguments
-
-    Calling methods on DBusProxy objects usually requires specifying
-    the signature
-    as first argument. However, if the D-BUS method does not take any
-    arguments,
-    specifying the empty '()' signature does not give any additional
-    information,
-    so allow the caller to just call the proxy method without any
-    arguments.
-
-    Also ensure that passing a non-string signature raises a
-    comprehensible
-    exception, instead of crashing deep in the GVariant leaf constructor.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=644260
-
- gi/overrides/Gio.py | 16 +++++++++++++++-
- tests/test_gdbus.py | 13 +++++++++++++
- 2 files changed, 28 insertions(+), 1 deletion(-)
-
-commit 5bf66ce79267b25bcc80251f9170498fa1d765f6
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Sun Mar 6 23:05:33 2011 +1300
-
-    [gi-overrides] TreeViewColumn.set_cell_data_func func_data can be None
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=644343
-
- gi/overrides/Gtk.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 8e4f86e17a1de533a93b0748fd8de3cbfa70ba62
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Sun Mar 6 17:48:04 2011 +1300
-
-    [gi-demos] dont try and run demos that represent directories
-
- demos/gtk-demo/gtk-demo.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 097e5efab29d3d2d91d0b9fc75bf00219e9b7810
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Mar 7 18:09:18 2011 -0500
-
-    [gi-demos] some python 3 compat fixes
-
- demos/gtk-demo/demos/Icon View/iconviewbasics.py | 6 ++++++
- demos/gtk-demo/demos/Tree View/liststore.py      | 2 +-
- demos/gtk-demo/demos/rotatedtext.py              | 4 ++--
- demos/gtk-demo/gtk-demo.py                       | 4 ++--
- 4 files changed, 11 insertions(+), 5 deletions(-)
-
-commit fd5d5ef3abc947d3c6066eea6378514f87b7f0ce
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Feb 22 15:07:40 2011 -0500
-
-    [gi-demos] add liststore demo
-
- demos/gtk-demo/demos/Tree View/__init__.py  |   0
- demos/gtk-demo/demos/Tree View/liststore.py | 205
- ++++++++++++++++++++++++++++
- 2 files changed, 205 insertions(+)
-
-commit 09de5cf99474fc8a34b5f4a61cede1fb47353ebb
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Mar 7 18:08:40 2011 -0500
-
-    [gi-demos] catch the correct error class
-
- demos/gtk-demo/demos/images.py | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-commit 7284d2d4622978fc9ddfd00f2714b3a572b7ab56
-Author: Steve Frécinaux <code@istique.net>
-Date:   Sun Mar 6 21:18:36 2011 +0100
-
-    Do not leak python references when using the gobject.property()
-    helper.
-
-    Since this helper was storing plain references in a long-lived
-    dict, the
-    refcount for the instances would never drop to zero, and so they would
-    never get finalized.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=644039
-
- gobject/propertyhelper.py |  5 ++---
- tests/test_properties.py  | 23 +++++++++++++++++++++++
- 2 files changed, 25 insertions(+), 3 deletions(-)
-
-commit 618dbb0ee15b47e5e7cb16a34ffce0937d7fa26d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Mar 4 12:25:49 2011 -0500
-
-    handle uchar as bytes, not strings in python 3
-
-    * This worked in Python2 because bytes and strings are equivilant
-    and the macro
-      PYGLIB_PyString_FromStringAndSize evaluated to a PyString
-    * In Python 3 PYGLIB_PyString_FromStringAndSize evaluates to
-    a PyUnicode
-    * PYGLIB_PyBytes_FromStringAndSize evaluates to a PyString in Python 2
-      and a PyBytes object in Python 3
-
- gobject/pygtype.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7e9483ff75b7a63ddda0fa9a9847f9f22ad71240
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Mar 4 12:24:35 2011 -0500
-
-    [gi-overrides] handle unichar gvalues when setting treemodels
-
- gi/overrides/Gtk.py | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 6367bffa006e94dc667d7008fccad8d47d8d3646
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Mar 4 11:43:51 2011 -0500
-
-    [gi-overrides] special case python 2 keywords that crept in
-
- gi/overrides/Gtk.py     | 6 +++++-
- tests/test_overrides.py | 8 ++++----
- 2 files changed, 9 insertions(+), 5 deletions(-)
-
-commit 83b0f8a37d5f3236780d87a1ca466c5e44ae2bc0
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Mar 4 11:10:16 2011 -0500
-
-    check for the py3 _thread module in configure.ac if thread is
-    not found
-
- configure.ac | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-commit 4645af87d3c587f535404867dab56608719e5c7b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Mar 4 00:39:23 2011 -0500
-
-    [gi-demos] add iconview demo
-
- demos/gtk-demo/demos/Icon View/iconviewbasics.py | 212
- +++++++++++++++++++++++
- 1 file changed, 212 insertions(+)
-
-commit 761dcb516a04f7a89b3c7d68e88fff23055e2a80
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Mar 3 18:39:16 2011 -0500
-
-    [gi] wrap the keyword argument in a dict so we don't break Python 2.5
-
-    * python < 2.6 does not allow sending in keyword litterals after
-    sending in
-      *args.  You can only send in **kwds.
-
- gi/types.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f9604e90af12a1b9dbe7d7f311308e87cd0ed7dd
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Mar 3 18:30:40 2011 -0500
-
-    [gi-demos] add the combobox with string ids section to the demos
-
- demos/gtk-demo/demos/combobox.py | 49
- +++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 48 insertions(+), 1 deletion(-)
-
-commit b70f4daf071cf77a4561b57f5521eb928f66d1ce
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Mar 3 16:47:51 2011 -0500
-
-    [gi-overrides] add an override for Gdk.RGBA
-
- gi/overrides/Gdk.py     | 18 ++++++++++++++++++
- tests/test_overrides.py | 10 ++++++++++
- 2 files changed, 28 insertions(+)
-
-commit ee2b63f60f350332ed21927721ed9ddff3a8034e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Mar 3 16:10:17 2011 -0500
-
-    [gi-demos] fix up search-entry to reflect annotations fixed in Gtk+
-    master
-
- demos/gtk-demo/demos/Entry/search_entry.py | 23 +++++++++--------------
- 1 file changed, 9 insertions(+), 14 deletions(-)
-
-commit cd046e4c355706ead5f512b810a2a48317f8c32e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Mar 2 18:13:43 2011 -0500
-
-    [gi-demos] add search entry demo
-
- demos/gtk-demo/demos/Entry/search_entry.py | 257
- +++++++++++++++++++++++++++++
- 1 file changed, 257 insertions(+)
-
-commit d5ddaa92e6349c2f52b67317326060973cb69661
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Mar 2 15:37:27 2011 -0500
-
-    [gi] wrap map in a list for Python 3 compat
-
- gi/types.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3e5ab72a2e1fa2d8c4c2864137c6251f264ff4af
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 1 14:52:00 2011 -0500
-
-    [gi-demos] fix up the validation combobox
-
- demos/gtk-demo/demos/combobox.py | 21 +++++++++++++++------
- 1 file changed, 15 insertions(+), 6 deletions(-)
-
-commit 08af5f99f0838b3584f6a3b210d0a0304811e8ff
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Mar 1 12:31:35 2011 -0500
-
-    add overridesdir variable in the .pc file for 3rd party overrides
-
- pygobject-2.0.pc.in | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 4a6b14a92a687a2311516b2c16c355216b5270a7
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Feb 11 17:14:11 2011 +0100
-
-    setup.py: Set bdist_wininst user-access-control property
-
- setup.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit ad3ab659b83cb985730e19a83651da319d4bcb9c
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Mar 2 16:29:00 2011 +0100
-
-    Fix uninitialized variable in gi.require_version()
-
- gi/__init__.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 6e7606ee8830f6f51b777f41f6df2f6ea1784e89
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Mar 1 23:26:07 2011 +0100
-
-    Run tests with LC_MESSAGES="C"
-
-    Some tests, such as tests/test_gdbus.py check parts of error messages
-    or other
-    visible strings. Ensure that these do not get translated in the
-    test suite.
-
- tests/runtests.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 0461e05174637ae02f34029b85ba217d5ae48c53
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 28 18:21:43 2011 -0500
-
-    [gi-overrides] override Gtk.stock_lookup to not return success
-
- demos/gtk-demo/demos/combobox.py | 2 +-
- gi/overrides/Gtk.py              | 9 +++++++++
- 2 files changed, 10 insertions(+), 1 deletion(-)
-
-commit 40decf3501823004a6e4d3acbbf204c4d4d0a7ec
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 28 14:16:00 2011 -0500
-
-    update NEWS to reflect changes in the 2.27.91 release (PYGOBJECT_2_28
-    branch)
-
- NEWS | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 50 insertions(+)
-
-commit c2d5122b8e3cf51ec52418f90f1788895b842b6a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 28 14:08:05 2011 -0500
-
-    [gi-tests] use Gdk.test_simulate_button instead of emitting event
-    ourselves
-
-     * this function is available specifically so we can test events so
-     use this
-       instead of creating our own button press event
-
- tests/test_overrides.py | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-commit 1be1a2ea2787dffeb71ab4a38233fb71e761bd21
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Thu Feb 24 19:30:32 2011 +0100
-
-    [gi-tests] tests for EventButton override.
-
-     * John (J5) Palmieri - fixed up original patch so that we actually
-       emit the event instead of just creating a Gdk.ButtonEvent object
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642554
-
- tests/test_overrides.py | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
-commit 99044a4860dd65c97f52b41b7cd3f216f4a97cd4
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Feb 23 18:43:27 2011 -0500
-
-    [gi-overrides] Add event methods to all event union members
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642554
-
- gi/overrides/Gdk.py | 70
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 70 insertions(+)
-
-commit 6e30c69d38fd382414eb820097c297a80be547ac
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Feb 23 14:14:16 2011 -0500
-
-    [gi] check to see if object is a member of a union when validating
-    paramaters
-
-    * union members are not subclasses of the union they belong to so
-    if an
-       inteface requires you pass a union but you pass one of its members
-       there will be a type error
-     * this patch checks to see if the type you are passing is a member
-     of the
-       union and passes the checks if it is
-     * this works in python 3 but in python 2 methods do their own
-     isinstance
-       check on the instance parameter (e.g. self) so we need to figure
-       out how to override that for union methods
-       (e.g. Gdk.Event.get_state)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642554
-
- gi/pygi-argument.c | 38 ++++++++++++++++++++++++++++++++++++++
- 1 file changed, 38 insertions(+)
-
-commit 525f21d1365c24488b768955362085bf82512dee
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Feb 16 09:44:12 2011 +0100
-
-    Skip interfaces when checking for conflicts in the MRO
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642437
-
- gi/types.py             | 40 ++++++++++++++++++++++++++++++++++++++++
- gobject/gobjectmodule.c |  9 +++++++--
- tests/test_gi.py        | 16 ++++++++++++++++
- 3 files changed, 63 insertions(+), 2 deletions(-)
-
-commit da212024772a7a0c32f04f3589bfb24d2eb5706f
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Thu Feb 24 18:46:15 2011 +0100
-
-    [gi] Remove DyanmicModule.load() to _load() to prevent overriding
-    GI attrs.
-
- gi/importer.py | 2 +-
- gi/module.py   | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit 2ce6b58c7427cf67ba4f55731ba0a4c04703e495
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Wed Feb 23 12:05:03 2011 +0100
-
-    Test case with John's fix for crash with C arrays and a GError is set.
-
-    I have added a test case, and made a few fixes to John's patch,
-    but the
-    solution is the same his.
-
-    Workaround a bug when freeing C array types
-
-     * This is a hack and there is really no way around it without
-     ripping out
-        the current array handling code which spans between pygi-invoke.c
-        and
-        pygi-argument.c and completely rewriting it.
-      * The is no time before our stable release
-      * This patch trades a segfault for a leak in the very unusual
-      case where
-        an error occures inside an interface that takes one or more C
-        arrays. Since
-        we wrap C arrays in GArrays internally but have to unwrap them
-        to send them
-        to the introspected C function, there is a period of time where
-        an error
-        can occure with the C array in an unknown state (some being true
-        C arrays
-        and others still wrapped in a GArray)
-      * This patch adds a c_arrays_are_wrapped state to signal that it
-      is safe to
-        free them.  However since c_arrays_are_wrapped can only track
-        arrays
-        as a group, not individually, if it is set to FALSE we can
-        not assume
-        that every array is a pure C array, so instead we will simply
-        leak them
-        to avoid incorrectly freeing one and causing a segfault.
-      * This issue is fixed in the invoke rewrite branch as it treats
-      C arrays and
-        GArrays separately, however that branch is not yet ready to be
-        merged and
-        won't be until the next release.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642708
-
- gi/pygi-invoke.c | 54
- ++++++++++++++++++++++++++++++++++++++++++++++++++----
- tests/test_gi.py |  9 +++++++++
- 2 files changed, 59 insertions(+), 4 deletions(-)
-
-commit 702a89beca92cab6b0142829b20281b9245f28b8
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Feb 23 15:11:59 2011 -0500
-
-    [gi-overrides] fix setting rows in treeview to accept None as a value
-
-     * as done in PyGTK None indicates the column should not be set
-
- gi/overrides/Gtk.py     |  3 +++
- tests/test_overrides.py | 18 +++++++++++++-----
- 2 files changed, 16 insertions(+), 5 deletions(-)
-
-commit 498f0d9c903131aca5efe27ffaad7620e40f72ea
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Wed Feb 23 14:23:19 2011 +0100
-
-    [gi] Add value_name for enum and flags from introspection
-    "c:identifier" (if attr is available).
-
- gi/gimodule.c    | 22 ++++++++++++++++++----
- tests/test_gi.py | 36 ++++++++++++++++++++++++++++++++++++
- 2 files changed, 54 insertions(+), 4 deletions(-)
-
-commit 824aeb7fab17d6590e5babf2d1f64298f2d0e16b
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Wed Feb 23 11:40:55 2011 +0100
-
-    Fix flags with multiple names for the same value.
-
-    Flags constructs a dict __flags_values__ and uses it to cache
-    instances. However some flags in Glib such as G_IO_FLAG_MASK and
-    G_IO_FLAG_GET_MASK are aliases for the same int value, and will
-    override each other's place in the dictionary.
-
-    The dict length check is not necessary. It only reduces the number
-    of duplicate instances we keep, because if an instance is not
-    found in the dict, a new one is created anyway.
-
- gobject/pygflags.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3afbebeee486e14fd3f48552368903eb78f6b10c
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Tue Feb 22 21:37:33 2011 +0100
-
-    Don't force loading of DynamicModule until set in sys.modules
-
-    This fixes Tomeu's previous commit, which removed lazy loading.
-    Forcing the loading of a module before it is installed in sys.modules
-    prevents some overrides from being registered (namely Gtk.main_quit).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642305
-
- gi/importer.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2a9cbfb435b47dc646e2c6ffe630464b560229a6
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 21 17:20:57 2011 -0500
-
-    use GValue support to marshal GtkTreeModel values correctly
-
-    * needs patch from https://bugzilla.gnome.org/show_bug.cgi?id=642914
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642921
-
- gi/overrides/Gtk.py     | 37 ++++++++++++++++++---
- tests/test_overrides.py | 87
- +++++++++++++++++++++++++++++++++++++++++--------
- 2 files changed, 107 insertions(+), 17 deletions(-)
-
-commit 9e4ce7dc0f03ea407654c4af028122f57cbc4c5e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 21 16:14:20 2011 -0500
-
-    [gi] pass raw GValues instead of trying to marshal them
-
-    * Right now GValues are transparent to the user but this leave us no
-       way to describe fundimental types other than those supported
-       directly
-       by python (e.g. int, str, etc)
-     * If an interface is expecting a uint or other GValue type a user
-     can now use
-       the raw GValue interfaces and expect paramaters that take
-       GValues to
-       marshal them correctly e.g.:
-           value = GObject.Value()
-           value.int(GObject.TYPE_UINT)
-           value.set_uint(1234)
-     * The objective here is to not for users to use this API but for
-     overrides
-       to be able to utilize them.  For instance in the TreeModel API
-       we can
-       get the expected type for a column and them create a GValue with
-       the correct
-       type so that he underlying python object is marshalled correctly.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642914
-
- gi/pygi-argument.c | 24 ++++++++++++++++++------
- tests/test_gi.py   |  9 ++++++++-
- 2 files changed, 26 insertions(+), 7 deletions(-)
-
-commit b458f6f3424a04f6ceece09d443009372d70544c
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Feb 19 19:42:41 2011 -0500
-
-    [gi-demos] add icon view edit and drag-and-drop demo
-
- demos/gtk-demo/demos/Icon View/__init__.py     |   0
- demos/gtk-demo/demos/Icon View/iconviewedit.py | 101
- +++++++++++++++++++++++++
- 2 files changed, 101 insertions(+)
-
-commit 7b47289e25d1dd57ce15556ccfbb3ede1c4bfe8b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Feb 19 17:26:42 2011 -0500
-
-    [gi-demos] add info bars demo
-
- demos/gtk-demo/demos/infobars.py | 99
- ++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 99 insertions(+)
-
-commit 76758efb6579752237a0dc4d56cf9518de6c6e55
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Feb 16 11:53:18 2011 +0100
-
-    Load typelibs at import time, add gi.require_version()
-
-    also adds Repository.get_loaded_namespaces()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642305
-
- gi/__init__.py       | 29 ++++++++++++++++++++++++++++-
- gi/importer.py       |  1 +
- gi/module.py         | 21 ++++-----------------
- gi/pygi-repository.c | 23 +++++++++++++++++++++++
- 4 files changed, 56 insertions(+), 18 deletions(-)
-
-commit 96f7d1aed732db09a74cd463ed894b7347dbcb15
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Sat Feb 19 23:11:25 2011 +0100
-
-    [gi] Register GType for non-GType enums and flags at runtime.
-
-    Note: rebuild of gobject-introspection is required for new tests.
-
-    Previously non-GType enums used a separate type implemented in
-    Python, and non-GType flags had no implementation at all. This
-    removes the separate type for enums, and registers a new GType at
-    runtime if there isn't one.
-
-    This allows non-GType enums and flags to use the same Python type
-    as GType enums and flags. This removes duplication of code, and
-    make both kinds behave identically.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642607
-
- gi/gimodule.c      | 117
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- gi/module.py       |  24 ++++++-----
- gi/pygi-info.c     |  15 +++++++
- gi/types.py        |  16 --------
- gobject/pygflags.c |  13 ++++--
- tests/test_gi.py   |  35 ++++++++++++++++
- 6 files changed, 191 insertions(+), 29 deletions(-)
-
-commit 63a60bcc20e724f96ea8d565ee0cf13a228b72b9
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Feb 8 15:38:21 2011 +0100
-
-    [gi] Add Pythonic gdbus method invocation
-
-    Provide a wrapper for Gio.DBusProxy for calling D-Bus methods like
-    on a normal
-    Python object. This will handle the Python object <-> GVariant
-    conversion, and
-    optional keyword arguments for flags, timeout, and a result handler
-    for
-    asynchronous calls.
-
-    Require specifying the input argument signature as the first argument
-    of each
-    method call. This ensures that the types of e. g. integers are
-    always correct,
-    and avoids having to do expensive D-Bus introspection for each call.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640181
-
- gi/overrides/Gio.py |  99
- ++++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_gdbus.py | 102
- ++++++++++++++++++++++++++++++++++++++++++++++++++--
- 2 files changed, 199 insertions(+), 2 deletions(-)
-
-commit ed5cdbb6f52bdbd13521a814516b15687955d6f7
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Fri Feb 18 22:48:59 2011 +0100
-
-    Skip GError out parameters in Python closure.
-
-    Python code should have never have to explicitely return a GError.
-    Once we are able to marshal exceptions the Python code should
-    throw an exception instead. Until then, set GError to NULL, and
-    don't complain if a Python function doesn't return an arg for it.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=642715
-
- gi/pygi-closure.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit 5a5ee3877e22939a697772a7f0630ef8cae3d52f
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Fri Feb 18 10:15:59 2011 +0100
-
-    Fix runtests.py to work with Python3 (print function syntax error).
-
- tests/runtests.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit ad5d3fccff9433e2dadac89d731dac5cafb0eac3
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Feb 17 19:46:49 2011 -0500
-
-    [gi-demos] added rotate text demo
-
-    * needs some Pango Attr fixes to be 100% done, See FIXME
-
- demos/gtk-demo/demos/rotatedtext.py | 196
- ++++++++++++++++++++++++++++++++++++
- 1 file changed, 196 insertions(+)
-
-commit 9ac11c3c3b1c0399c85ece57c0983ed60d419d7a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Feb 17 17:25:00 2011 -0500
-
-    [gi-demos] add images demo
-
-     * needs annotation fix from GdkPixbuf for ImageLoader to work
-
- demos/gtk-demo/demos/images.py | 311
- +++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 311 insertions(+)
-
-commit 13b06170b89b3468e6255be32af4833ffc675c9d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Feb 17 14:48:24 2011 -0500
-
-    [gi-demos] add pixbuf demo
-
- demos/gtk-demo/demos/pixbuf.py | 183
- +++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 183 insertions(+)
-
-commit 7abcfd5b4db99bb0f50c5a47d346a2de3836f994
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Feb 17 14:47:12 2011 -0500
-
-    [gi-demos] remove fixmes from print demo, fixed in pango
-
- demos/gtk-demo/demos/printing.py | 10 +++-------
- 1 file changed, 3 insertions(+), 7 deletions(-)
-
-commit 9b13f49356da7d71c69b82da2a59d92f456a6913
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Feb 16 19:39:30 2011 -0500
-
-    [gi-demos] add printing demo
-
-    * needs some annotations for pango before it is 100% useful
-
- demos/gtk-demo/demos/printing.py | 177
- +++++++++++++++++++++++++++++++++++++++
- 1 file changed, 177 insertions(+)
-
-commit 6025b62ee662af347e48b6752e6d5be74b4a8215
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Feb 16 17:52:38 2011 -0500
-
-    [gi-overrides] add cursor overrides
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=635947
-
- gi/overrides/Gdk.py     | 41 +++++++++++++++++++++++++++++++++++++++++
- tests/test_overrides.py | 23 +++++++++++++++++++++++
- 2 files changed, 64 insertions(+)
-
-commit 03c0aa498470037ef2aa6a8233198ff521f8d42f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Feb 16 16:18:24 2011 -0500
-
-    [gi-demos] add the links demo
-
- demos/gtk-demo/demos/links.py | 74
- +++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 74 insertions(+)
-
-commit 79ecddf8d54b3f4f8b5ef05d302675152622c832
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Feb 16 15:48:40 2011 -0500
-
-    [gi-demos] add expander demo
-
- demos/gtk-demo/demos/expander.py | 60
- ++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 60 insertions(+)
-
-commit 76cdb13ab872f91f8384d26b0f2932087a746117
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Feb 16 15:14:35 2011 -0500
-
-    [gi-overrides] use pop instead of del and add extra tests for
-    Gtk.Table kwargs
-
- gi/overrides/Gtk.py     | 6 ++----
- tests/test_overrides.py | 8 ++++++++
- 2 files changed, 10 insertions(+), 4 deletions(-)
-
-commit 6ef83c049735689c42f085ca9d7b8e1f251c410f
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Tue Feb 15 20:07:42 2011 +0100
-
-    [tests] Separate processes for GI and static binding tests.
-
-    Importing and using both static gobject bindings and
-    introspection GObject bindings in the same process can cause
-    conflicts with types which otherwise wouldn't be there.
-
-    This patch changes "make check" to call runtests.py twice -- once
-    for each set of tests.
-
-    In the case of a test failure, runtests.py now sets the exit code
-    so that make does not continue. Otherwise you might miss the
-    failures from the first batch of tests in the scrollback.
-
- tests/Makefile.am | 19 +++++++++++--------
- tests/runtests.py |  4 +++-
- 2 files changed, 14 insertions(+), 9 deletions(-)
-
-commit e0896b45f60f37097ec521f1bc38778383b78dd8
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Feb 15 14:47:10 2011 -0500
-
-    [gi-demos] add dialogs demo
-
- demos/gtk-demo/demos/dialogs.py | 153
- ++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 153 insertions(+)
-
-commit 2dea743e82f6b18697950c34f116b2d0f1d6b1dd
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Feb 15 14:46:41 2011 -0500
-
-    [gi-overrides] fix typo in GtkTable constructor
-
- gi/overrides/Gtk.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 9c277e1782c5a9d672d91fabf5289c5415891682
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Feb 15 13:26:38 2011 -0500
-
-    [gi-demos] keep popup menu from destroying itself by holding a ref
-    in app class
-
- demos/gtk-demo/demos/clipboard.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 18800c4db0e1faea38fd84f635d26a7ded5d10de
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Feb 15 13:25:13 2011 -0500
-
-    [gi-overrides] add a Gtk.Menu override for the popup method
-
- gi/overrides/Gtk.py | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit ad93386ba9f73ef4c3826544b3868cf03c01225e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Feb 15 13:24:33 2011 -0500
-
-    [gi-demos] fix the about dialog in appwindow demo
-
- demos/gtk-demo/demos/appwindow.py | 22 +++++++++-------------
- 1 file changed, 9 insertions(+), 13 deletions(-)
-
-commit d0c45c80974f05b6adfd3bb01d785be268a53a98
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Feb 15 11:21:13 2011 -0500
-
-    [gi-demos] fix clipboard demo so DnD works
-
-    * menu popups don't work because the API takes a callback without
-    a destroy
-      notify
-
- demos/gtk-demo/demos/clipboard.py | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-commit 02d0327508234ab2e3b7dc6de506d70e6fcaaa17
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Feb 15 10:18:53 2011 -0500
-
-    [gi-demos] fix clipboard demo to reflect new API
-
- demos/gtk-demo/demos/clipboard.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit aa006cad6990eff0cbb68fa9550e428f2bc96473
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 14 18:17:20 2011 -0500
-
-    [gi-demo] Fix color dialog demo to run with new draw, style and
-    color apis
-
- demos/gtk-demo/demos/colorselector.py | 44
- ++++++++++++++---------------------
- 1 file changed, 17 insertions(+), 27 deletions(-)
-
-commit f94a96c53e9432ac085bd05acee7ebdd2803fbad
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 14 17:58:25 2011 -0500
-
-    [gi-demos] fix most of the combobox app
-
-    * Still having some issues with filtering the ComboBoxText widget
-
- demos/gtk-demo/demos/combobox.py | 17 ++++++++---------
- 1 file changed, 8 insertions(+), 9 deletions(-)
-
-commit 3606eb20ad1651af621bf1aa429ec102082565eb
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Mon Feb 14 19:36:27 2011 +0100
-
-    Use PyGI type conversion (to fix foreign types) for signal callbacks.
-
-    First attempt at patch to fix foreign types in signal callbacks.
-    Tests are not implemented yet.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=637601
-
- gi/Makefile.am           |   2 +
- gi/gimodule.c            |   1 +
- gi/pygi-argument.c       |  91 ++++++++++++++++++
- gi/pygi-argument.h       |   2 +
- gi/pygi-private.h        |   1 +
- gi/pygi-signal-closure.c | 245
- +++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-signal-closure.h |  46 +++++++++
- gi/pygi.h                |  28 ++++++
- gobject/pygobject.c      |  24 ++++-
- 9 files changed, 436 insertions(+), 4 deletions(-)
-
-commit 2e39d5e8f96be2253acb2f34a0d0b5b9c9adb8ff
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 14 16:47:03 2011 -0500
-
-    [gi-demos] fix drawingarea app to use the new draw api
-
- demos/gtk-demo/demos/drawingarea.py | 144
- +++++++++++++-----------------------
- 1 file changed, 50 insertions(+), 94 deletions(-)
-
-commit 8385afbbc5df295d9b7cd3b5d19c90faa1f7ea8e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 14 16:43:35 2011 -0500
-
-    [gi-overrides] for Gtk 3 alias Gdk.Rectangle to cairo.RectangleInt
-
-    * note this is the introspected gobject-cairo boxed type not the
-    static cairo
-      bindings
-    * we alias this so people do not get confused
-
- gi/overrides/Gdk.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit d491c369e049ab726f09002af0462391d5c2f3ec
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 14 15:07:11 2011 -0500
-
-    [gi-overrides] let user set the proper property names in Gtk.Table
-
-    * the old override added a columns and rows parameters to the Table
-    constuctor
-      to be in sync with PyGtk.
-    * The GTK properties are n_columns and n_rows
-    * support both
-
- gi/overrides/Gtk.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit 95bc2b2b025d659725d701c3b759c0c4d9681a36
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 14 15:06:38 2011 -0500
-
-    [gi-demos] get appwindow demo working again
-
- demos/gtk-demo/demos/appwindow.py | 24 ++++--------------------
- 1 file changed, 4 insertions(+), 20 deletions(-)
-
-commit 015185f502c498c21cb108d3bb288c5b6dbf202f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Feb 14 15:05:44 2011 -0500
-
-    [gi-demos] fixed use of tree_iter_get
-
- demos/gtk-demo/gtk-demo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 0c20977e4598e5447dd07c069e91226efacb1160
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Fri Feb 11 22:02:03 2011 +0100
-
-    Remove last GIO-related bits
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=638899
-
- PKG-INFO.in                     |  2 +-
- README                          |  3 +-
- configure.ac                    |  3 --
- examples/gio/directory-async.py | 33 ------------------
- examples/gio/downloader.py      | 77
- -----------------------------------------
- pygobject.doap                  |  2 +-
- 6 files changed, 3 insertions(+), 117 deletions(-)
-
-commit e4ebbd7de5570af1abf41bdf9469d4ce3edd48cb
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Fri Feb 11 18:38:27 2011 +0100
-
-    Remove GIO documentation
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=638899
-
- docs/Makefile.am                              |   82 +-
- docs/reference/pygio-appinfo.xml              |  894 -----
- docs/reference/pygio-applaunchcontext.xml     |  194 --
- docs/reference/pygio-asyncresult.xml          |  117 -
- docs/reference/pygio-bufferedinputstream.xml  |  461 ---
- docs/reference/pygio-bufferedoutputstream.xml |  275 --
- docs/reference/pygio-cancellable.xml          |  290 --
- docs/reference/pygio-classes.xml              |   47 -
- docs/reference/pygio-constants.xml            | 1540 ---------
- docs/reference/pygio-datainputstream.xml      |  799 -----
- docs/reference/pygio-dataoutputstream.xml     |  504 ---
- docs/reference/pygio-drive.xml                |  546 ---
- docs/reference/pygio-emblem.xml               |  232 --
- docs/reference/pygio-emblemedicon.xml         |  160 -
- docs/reference/pygio-file.xml                 | 4534
- -------------------------
- docs/reference/pygio-fileattributeinfo.xml    |   73 -
- docs/reference/pygio-fileenumerator.xml       |  488 ---
- docs/reference/pygio-fileicon.xml             |  109 -
- docs/reference/pygio-fileinfo.xml             |  346 --
- docs/reference/pygio-fileinputstream.xml      |  214 --
- docs/reference/pygio-filemonitor.xml          |  128 -
- docs/reference/pygio-fileoutputstream.xml     |  257 --
- docs/reference/pygio-filterinputstream.xml    |  152 -
- docs/reference/pygio-filteroutputstream.xml   |  152 -
- docs/reference/pygio-functions.xml            |  395 ---
- docs/reference/pygio-icon.xml                 |  217 --
- docs/reference/pygio-inputstream.xml          |  730 ----
- docs/reference/pygio-loadableicon.xml         |  198 --
- docs/reference/pygio-memoryinputstream.xml    |  151 -
- docs/reference/pygio-memoryoutputstream.xml   |  175 -
- docs/reference/pygio-mount.xml                |  962 ------
- docs/reference/pygio-mountoperation.xml       |  726 ----
- docs/reference/pygio-outputstream.xml         |  140 -
- docs/reference/pygio-seekable.xml             |  231 --
- docs/reference/pygio-simpleasyncresult.xml    |  317 --
- docs/reference/pygio-themedicon.xml           |  204 --
- docs/reference/pygio-unixinputstream.xml      |  202 --
- docs/reference/pygio-unixoutputstream.xml     |  202 --
- docs/reference/pygio-volume.xml               |  718 ----
- docs/reference/pygio-volumemonitor.xml        |  844 -----
- docs/reference/pygiounix-classes.xml          |   13 -
- docs/reference/pygobject-ref.xml              |    2 -
- 42 files changed, 1 insertion(+), 19020 deletions(-)
-
-commit abdebc7f6515f9658812c0355d8ad0892e5371e4
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Feb 11 11:05:04 2011 -0500
-
-    bump version to reflect the master branch moving towards pygobject 3.0
-
-    * added NEWS file from branch pygobject-2-28
-    * bump to 2.90.1
-    * this branch will drop support for the static binding
-    * use the pygobject-2-28 branch for static binding fixes
-
- NEWS         | 289
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- configure.ac |   4 +-
- 2 files changed, 291 insertions(+), 2 deletions(-)
-
-commit 16140237aa45b4f188923da9f95b9d2af971011b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Feb 10 16:46:08 2011 -0500
-
-    fix build to correctly use python-config
-
- autogen.sh        | 3 +++
- configure.ac      | 6 ------
- m4/python.m4      | 9 +++++----
- tests/runtests.py | 1 +
- 4 files changed, 9 insertions(+), 10 deletions(-)
-
-commit c2079f415638ef892b1e51f25eaafa3e1621667f
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Thu Feb 10 22:26:00 2011 +0100
-
-    Add missing libraries to link against
-
- glib/Makefile.am    | 2 +-
- gobject/Makefile.am | 1 +
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-commit 3cca62a9e7afd3d3d302c66f4fafe253f7743d4e
-Author: Steve Frécinaux <code@istique.net>
-Date:   Wed Jan 19 15:00:56 2011 +0100
-
-    Make runtests.py able to run command-line provided test files
-
-    With this patch we are now able to run ./runtests.py <somefile>, which
-    is more friendly than defining an environment variable to run some
-    specific tests.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639948
-
- tests/runtests.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 14c4cf8e6edae893538680964380d543bde4a14d
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Feb 9 11:34:59 2011 +0100
-
-    Run test suite under dbus-launch
-
-    When available, run the test suite in dbus-launch, so that the
-    GDBus tests
-    succeed even when building this in an environment without a running
-    session
-    D-BUS (such as distribution package builds).
-
- tests/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 0858f550e2b6f75e3f583f963f5952f5ddae4e0e
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Feb 8 15:46:36 2011 +0100
-
-    Fix test_gdbus.py to be Python3 friendly
-
-    - TestCase.assert_() has been deprecated by assertTrue().
-    - Exceptions don't have a message attribute any more, use str(e)
-
- tests/test_gdbus.py | 34 +++++++++++++++-------------------
- 1 file changed, 15 insertions(+), 19 deletions(-)
-
-commit b7f32e4cca0cef201489b55653f96ac64a8f9ab9
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Sat Jan 29 12:20:50 2011 +0100
-
-    [gi] Provide comfortable GSettings API
-
-    Make Gio.Settings behave like a dictionary, with transparent
-    conversion from/to
-    GVariants. Also provide a more comfortable constructor.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640838
-
- gi/overrides/Gio.py              | 54 +++++++++++++++++++++++++++++
- tests/org.gnome.test.gschema.xml |  9 +++++
- tests/test_overrides.py          | 73
- ++++++++++++++++++++++++++++++++--------
- 3 files changed, 122 insertions(+), 14 deletions(-)
-
-commit 8dad0eaed60a9de26e9a729a48a1f6bc74be486e
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Fri Feb 4 16:36:07 2011 +0100
-
-    Fix vfunc search bug when using GInterfaces and a do_* method.
-
-    If a class inherits from a GInterface, as well as implements a do_*
-    method (which is not in a super class), all the base interfaces
-    will be searched for an __info__ attribute. GInterface doesn't
-    have one, causing an error on class creation.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=641493
-
- gi/types.py      | 4 +++-
- tests/test_gi.py | 8 ++++++++
- 2 files changed, 11 insertions(+), 1 deletion(-)
-
-commit 2660be1f227be7a53092483bc9d8ead1bd1fb266
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Thu Feb 3 15:31:42 2011 +0100
-
-    [GI] Add tests for Gtk.Widget.drag_* methods.
-
-    Previously all the drag_* methods were accessible as Gtk.drag_*.
-    Now that the (method) attribute has been included for these
-    methods in Gtk+, this test checks that they are included as class
-    methods when using pygobject introspection.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639945
-
- tests/test_overrides.py | 40 ++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 40 insertions(+)
-
-commit d57500537014b3da624be33b40401ba289fa22b8
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Feb 3 09:02:16 2011 -0500
-
-    [gi] make caller allocates work again
-
- gi/pygi-cache.c  | 18 +++---------------
- gi/pygi-invoke.c | 37 ++++++++++++++++++++++++++++++++++---
- 2 files changed, 37 insertions(+), 18 deletions(-)
-
-commit 99d6e6c8d806e6f9e48c3c2380024fb3511d110a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Feb 2 19:27:40 2011 -0500
-
-    [gi] fix container object reffing
-
- gi/pygi-argument.c |  7 +++----
- gi/pygi-cache.c    | 12 ++++--------
- 2 files changed, 7 insertions(+), 12 deletions(-)
-
-commit 09acaff29dfaabc77477cffca2c7137f68991e7f
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Wed Feb 2 21:00:48 2011 +0100
-
-    [python 3] use the right syntaxis to raise exceptions
-
- codegen/argtypes.py    |  8 ++++----
- codegen/definitions.py | 14 +++++++-------
- gi/overrides/Gtk.py    |  2 +-
- 3 files changed, 12 insertions(+), 12 deletions(-)
-
-commit 36094e5982d3e05d5662843b6d401f0974f5235f
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Wed Feb 2 20:50:12 2011 +0100
-
-    [gi] return PYGLIB_MODULE_ERROR_RETURN on error and use pygobject_init
-
- tests/testhelpermodule.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit c913c1789296310c2cf27554ce719d7f6e9c94cd
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Wed Feb 2 20:37:21 2011 +0100
-
-    [gi] return PYGLIB_MODULE_ERROR_RETURN on error
-
-    This is to avoid some warnings when building with python 3
-
- gi/gimodule.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 7bc4122897d9d05172a2bd5b56bded87e2afaec4
-Author: Steve Frécinaux <code@istique.net>
-Date:   Sat Jan 29 00:16:50 2011 +0100
-
-    Fix wrong refcount when calling introspected widget constructors
-
-    Introspected widget constructors, like Gtk.Button.new(), can return
-    objects with a floating reference, which was then reffed by pygobject,
-    resulting in two references, despite the object is not owned by
-    anyone.
-
-    This patch uses ref_sink() when pygobject takes its own reference, to
-    avoid adding that extra reference. Hence we now claim ownership on
-    objects returned by constructors with transfer=none (which is the case
-    for nearly all the widget constructors, despite the floating ref).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640868
-
- gobject/pygobject.c      | 4 +++-
- tests/test_everything.py | 9 ++++++++-
- 2 files changed, 11 insertions(+), 2 deletions(-)
-
-commit afeaaa126f7cd6556fb855ecd0facc174c0f946c
-Author: Simon Schampijer <simon@laptop.org>
-Date:   Wed Jan 19 16:19:46 2011 +0100
-
-    Gdk.Window: Map the standard constructor to the *new* constructor
-
-    Gdk.Window had to be made abstract
-    (see c4a36d875235e0bf1e52dbf2fa14d08bfc8bd4ec in gtk),
-    this override allows using the standard constructor
-
-    This commit adds as well a testcase.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639936
-
- gi/overrides/Gdk.py     | 6 ++++++
- tests/test_overrides.py | 8 ++++++++
- 2 files changed, 14 insertions(+)
-
-commit 4a67f45880433905de33632fe0c32a13b44c0b33
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jan 31 16:51:37 2011 -0500
-
-    [gi] handle hash being NULL
-
- gi/pygi-argument.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit 2fbfe410f4b4394a2018ada0e538585c1bec23ae
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jan 31 16:50:52 2011 -0500
-
-    [gi] handle the situation where an aux arg comes before its parent
-
- gi/pygi-cache.c  | 70
- ++++++++++++++++++++++++++++++++++++++++----------------
- gi/pygi-invoke.c |  2 +-
- 2 files changed, 51 insertions(+), 21 deletions(-)
-
-commit 858669f92c9907dd70b4966d6a8521ed122225be
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Jan 31 17:38:52 2011 +0100
-
-    Ship tests/org.gnome.test.gschema.xml in dist tarballs
-
- tests/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 77d76df59606e470808085e977fb199cc76e8251
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Jan 30 18:21:24 2011 -0500
-
-    [gi] allow caching and marshalling of ghash out
-
- gi/pygi-argument.c | 155
- +++++++++++++++++++++++++++++++++++++++++++++++++----
- gi/pygi-cache.c    |  27 ++++++----
- 2 files changed, 162 insertions(+), 20 deletions(-)
-
-commit bd66af67f248a3ca90d2fa2626605263c2392e16
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Jan 30 17:06:44 2011 -0500
-
-    [gi] whitespace fixes
-
- gi/pygi-cache.c | 60
- ++++++++++++++++++++++++++++-----------------------------
- 1 file changed, 30 insertions(+), 30 deletions(-)
-
-commit 1cdbd4be9b015f792c2c02afa5ac7e24edbdae86
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Jan 30 17:04:13 2011 -0500
-
-    [gi] added ugly aux arg counters
-
-    * we need to simplify the ffi invoke so we can simply reference args
-      at their position in the C parameter list
-    * this works for now but is fragile if new aux values are added in
-    the future
-
- gi/pygi-argument.c | 12 ++++++++--
- gi/pygi-cache.c    | 66
- +++++++++++++++++++++++++++++++++++++-----------------
- gi/pygi-cache.h    |  2 ++
- gi/pygi-invoke.c   | 12 +++++++---
- 4 files changed, 66 insertions(+), 26 deletions(-)
-
-commit c51447f4efde2ce4caf39c1ffac905ec428d1d64
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Jan 30 11:30:54 2011 -0500
-
-    [gi] make inout marshalling work
-
-    * refactor cache generation so we can create caches and then fill
-    in their
-      values based on if they are in, out or inout
-    * in invoke we order the pointers based on their direction
-
- gi/pygi-cache.c  | 1445
- ++++++++++++++++++++++++++----------------------------
- gi/pygi-invoke.c |   19 +-
- 2 files changed, 711 insertions(+), 753 deletions(-)
-
-commit 2b185362de45f46ce0f0b8816499aef06ab1ad1e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Jan 29 13:49:36 2011 -0500
-
-    [gi] marshal arrays out
-
- gi/pygi-argument.c | 101
- +++++++++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 99 insertions(+), 2 deletions(-)
-
-commit e62e7062d5cfd782eac64852f681c63e2776b8d4
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Jan 29 13:48:23 2011 -0500
-
-    [gi] fix sequence caching to support out
-
- gi/pygi-cache.c | 111
- ++++++++++++++++++++++++++++++++++++++++++++------------
- 1 file changed, 87 insertions(+), 24 deletions(-)
-
-commit 69207910209ebfe450df616aeb8fa4cc2e7eccf3
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Fri Jan 28 17:14:19 2011 +0100
-
-    [gi] Add GSettings tests
-
-    Ryan Lortie proposed an override for more convenient GSettings access,
-    so let's
-    first make sure that the canonical GLib API works.
-
- tests/Makefile.am                |  7 +++++--
- tests/org.gnome.test.gschema.xml | 16 ++++++++++++++++
- tests/test_overrides.py          | 31 +++++++++++++++++++++++++++++++
- 3 files changed, 52 insertions(+), 2 deletions(-)
-
-commit 488478a83640d50baee963337fcc870fec76b784
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Fri Jan 28 07:20:26 2011 +0100
-
-    [gi] Provide GtkTextBuffer.insert_with_tags_by_name()
-
-    Provide an actual insert_with_tags_by_name() instead of overloading
-    insert_with_tags() to handle both types. This keeps the overrides
-    consistent
-    with the actual GTK API.
-
- gi/overrides/Gtk.py     | 19 ++++++++++++++-----
- tests/test_overrides.py |  4 ++--
- 2 files changed, 16 insertions(+), 7 deletions(-)
-
-commit dace1a553793fb7fb054b60760f02c9e5cf00b38
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Jan 27 13:37:18 2011 +0100
-
-    [gi] Support tag names in GtkTextBuffer.insert_with_tags()
-
-    Neither insert_with_tags() nor insert_with_tags_by_name() are
-    introspectable
-    due to using varargs. As both are useful, support both cases in
-    the override.
-
- gi/overrides/Gtk.py     | 5 +++++
- tests/test_overrides.py | 9 +++++++++
- 2 files changed, 14 insertions(+)
-
-commit 91d34124b2a5128e93e13c7fee8693d5edc4e9bb
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Thu Jan 27 12:23:18 2011 +0100
-
-    Add MAINTAINERCLEANFILES
-
-    This var behaves like .gitignore and allows us to skip some specific
-    files.
-
- Makefile.am | 27 +++++++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
-commit 8a98d26981ce68809a21c64cac4962e58c927905
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Thu Jan 27 12:15:30 2011 +0100
-
-    Remove .gitignore files and use git.mk
-
-    git.mk is a script maintained in pango. From time to time we must
-    check if it was updated and update it here.
-
- .gitignore                |  46 -----------
- Makefile.am               |   2 +
- codegen/.gitignore        |   2 -
- codegen/Makefile.am       |   2 +
- docs/.gitignore           |   7 --
- docs/Makefile.am          |   2 +
- examples/Makefile.am      |   2 +
- gi/.gitignore             |  40 ----------
- gi/Makefile.am            |   2 +
- gi/overrides/Makefile.am  |   2 +
- gi/repository/Makefile.am |   2 +
- gi/tests/Makefile.am      |   2 +
- git.mk                    | 200
- ++++++++++++++++++++++++++++++++++++++++++++++
- glib/Makefile.am          |   2 +
- gobject/.gitignore        |   3 -
- gobject/Makefile.am       |   2 +
- tests/.gitignore          |   2 -
- tests/Makefile.am         |   2 +
- 18 files changed, 222 insertions(+), 100 deletions(-)
-
-commit 331c42b63bc60a3b906fa21e1c0a7c1b9428f347
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Jan 27 12:04:19 2011 +0100
-
-    pygi-convert.sh: Convert Pango.TabAlign.*
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit be1a2959fa0a3d8682e0e8aef389d73dacab0689
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Jan 27 12:02:39 2011 +0100
-
-    pygi-convert.sh: Drop window -> get_window() conversion
-
-    It is doing more harm than good for projects which use things like
-    self.window.
-
- pygi-convert.sh | 1 -
- 1 file changed, 1 deletion(-)
-
-commit dd7deb4b658c56857c26b1a278a3d688f2ea6a2a
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Jan 27 11:58:26 2011 +0100
-
-    pygi-convert.sh: Don't convert self.window assignments
-
- pygi-convert.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 975341a26772966d4afc87a88a6a566d61237fa0
-Author: Steve Frécinaux <code@istique.net>
-Date:   Fri Jan 21 18:41:54 2011 +0100
-
-    Fix leaked python reference in python-defined subclasses
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640184
-
- gobject/gobjectmodule.c | 1 +
- tests/test_gobject.py   | 4 ++++
- 2 files changed, 5 insertions(+)
-
-commit a59e2d58bdb3f31a4f415dbe14b7d9988ac28ce3
-Author: Steve Frécinaux <code@istique.net>
-Date:   Fri Jan 21 15:54:43 2011 +0100
-
-    Add some tests for the number of python refs held at creation time
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640184
-
- tests/test_gobject.py | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
-commit 7d70105eb324ea4b6a58c2d3fb3f2dda36e7ab33
-Author: Steve Frécinaux <code@istique.net>
-Date:   Fri Jan 21 17:24:49 2011 +0100
-
-    Factor out parameter marshalling from construction functions.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640197
-
- gobject/gobjectmodule.c     | 35 ++--------------------
- gobject/pygobject-private.h |  5 ++++
- gobject/pygobject.c         | 71
- +++++++++++++++++++++++++++------------------
- 3 files changed, 50 insertions(+), 61 deletions(-)
-
-commit a3e0cfe8924887ecd1e07cedd2cfb999c853ac62
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 26 15:34:24 2011 -0500
-
-    [gi] in python 3 an array of uint8 can be bytes but not string
-
- tests/test_gi.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-commit 843553ea958eddec185bb660851a310dc050a14b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 26 15:30:06 2011 -0500
-
-    [gi] fix Gio.FileEnumerator to reflect the Python 3 iter protocol
-
- gi/overrides/Gio.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-commit 6ff357839feb39930a5f3175de3d0ed35f24d3f4
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 26 15:17:03 2011 -0500
-
-    [gi] python 3 fixes
-
-    Patches need to work in Python 3 - here are some of the issues I
-    fixed up.
-    Patch submitters should keep this in mind.  When I note to only
-    use something
-    in tests it means that there is a compat module that is only available
-    to the
-    tests.  Actuall code should either add the workaround to the top
-    of their
-    module or try not to have a distinction between things such as
-    unicode and
-    longs which no longer exist in Python 3
-
-    * use range instead of xrange - loss of performance in Python 2 but
-    Python 3 i
-      treats range similarly to python 2's xrange
-    * use dict.items() instead of dict.iteritems() - same as the xrange
-    issue
-    * callable does not exist in 3.x, use hasattr(obj, '__call__') or
-
-          if sys.version_info > (3, 0):
-              def callable(obj):
-                  return hasattr(obj, '__call__')
-
-    * using unicode in tests is tricky, you can't use u'' even in
-    a versioned
-      conditional as python3's parser chokes on it. Do this in tests
-      (and only i
-      in tests):
-
-          from compathelper import _unicode
-          unicode_string = _unicode('this is a unicode string')
-
-    * exception caching changed in 2.7, instead of except Exception,
-    e we now use
-      except Exception as e.  Do this to be compatible with older
-      versions:
-
-          except Exception:
-              etype, e = sys.exc_info()[:2]
-
-    * Unbound methods with an im_func attribute no longer exits in 3.x.
-      Unbound methods are now just functions so class.method in 3.x is
-      equivalent to class.method.im_func in 2.x.  If you have to go this
-      low level do this:
-
-          func = class1.method
-          if sys.version_info < (3,0):
-              func = func.im_func
-
-    * all numbers are long in 3.x so 42L is invalid in 3.x.  In tests (and
-      only in tests) do this:
-
-          from compathelper import _long
-          l = _long(42)
-
- gi/overrides/GLib.py    | 16 ++++++++--------
- gi/types.py             |  5 ++++-
- tests/compathelper.py   | 19 +++++++++++++++++++
- tests/test_gdbus.py     | 12 ++++++++----
- tests/test_gi.py        | 19 ++++++++++++-------
- tests/test_overrides.py |  8 +++++---
- 6 files changed, 56 insertions(+), 23 deletions(-)
-
-commit 832d662b9f90f5762bbf28b3cca73f947c1f83ce
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 26 14:00:08 2011 -0500
-
-    [gi] fix try/except blocks using depricated raise format
-
- gi/overrides/GLib.py | 4 ++--
- gi/overrides/Gdk.py  | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-commit d3e30e240fed6ef1dd40fd29fd13dc2effc6c7b1
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jan 26 19:03:48 2011 +0100
-
-    [gi] Add docstring to GLib.Variant constructor
-
- gi/overrides/GLib.py | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-commit 963cd52fec26f7a4fb34414f8ac6662932ede322
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jan 26 18:45:38 2011 +0100
-
-    [gi] update gdbus test cases for previous GVariant change
-
- tests/test_gdbus.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 27e3a6276ff5f2cdc03ddf69ee80d44c3bf2c094
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jan 26 18:39:17 2011 +0100
-
-    [gi] Accept only a single object in GLib.Variant constructor
-
-    We previously allowed flat arguments for tuple signatures, e. g.
-
-      GLib.Variant('(ii)', 1, 2)
-
-    However, that's not how GVariant is supposed to work. Remove the
-    special case
-    to handle flat argument lists, and only accept a single value, i. e.
-
-      GLib.Variant('(ii)', (1, 2))
-
-    Note that this breaks the current API, but as it is not used widely
-    yet, let's
-    better fix it now.
-
-    Thanks to Ryan Lortie for pointing this out!
-
- gi/overrides/GLib.py    | 25 ++++++++++---------------
- tests/test_overrides.py | 32 +++++++++++++-------------------
- 2 files changed, 23 insertions(+), 34 deletions(-)
-
-commit b15e8e2c0c933d0f827a70280faf875ac383d81b
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Wed Jan 26 00:40:49 2011 +0100
-
-    Speed up _setup_native_vfuncs()
-
-    This changes _setup_native_vfuncs() to only install native
-    vfunc wrappers from the current class on the current class.
-    Native vfuncs will not be propogated up or down the class
-    hierarchy as this is unnecessary and wastes CPU and memory.
-
-    Since the normal process in python to retrieve a method or
-    attribute recurses to the base classes if an attribute is not
-    found in the subclass, there is no need to setup all base class
-    virtual functions on a subclass.
-
-    This patch removes the recursion in _setup_native_vfuncs()
-    and lets Python find them in the base classes like a normal
-    Python class would work. This significantly increases the speed
-    of any class which is or inherits from a C class which includes
-    virtual methods.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640629
-
- gi/types.py      | 26 +++++++++++++-------------
- tests/test_gi.py | 13 +++++++++++++
- 2 files changed, 26 insertions(+), 13 deletions(-)
-
-commit 569d42ac2f50fb706ef289ff631db743483f40ee
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Thu Jan 20 16:26:18 2011 +0100
-
-    Speed up class creation: rewrite _setup_vfuncs() to be much more
-    efficient.
-
-    This patch rewrites the _setup_vfuncs() method to remove recursion and
-    make the running time linear in the number of virtual functions to
-    hook up
-    (ie. methods starting with "do_") instead of linear in the number of
-    virtual functions in the base class which could possibly be
-    overridden.
-
-    Since most classes do not override all of the virtual functions in the
-    base class (and many override none), this runs much faster.
-
-    It is possible to not recurse on all base classes because
-    non-interface
-    base classes will have the virtual function installed as an attribute.
-    Thus getattr() can be called, which recurses to the base classes much
-    faster than a custom implementation in Python. If the method cannot be
-    found with getattr(), all interface bases classes are searched
-    manually.
-
-    The function is_function_in_classes() has been deleted. Because of the
-    above changes, it is not used anymore.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=640073
-
- gi/types.py      | 104
- ++++++++++++++++++++++++++++++++++---------------------
- tests/test_gi.py |  13 +++++++
- 2 files changed, 77 insertions(+), 40 deletions(-)
-
-commit 8f4e6536f3c2edf38a45632d1c23eb7c6681c3be
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Jan 24 19:23:19 2011 +0100
-
-    pygi-convert.sh: Convert gtk.UI_MANAGER_*
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 1f473b5164407a178203eb8cc7f3c786e0d0e5c2
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Fri Jan 21 18:41:54 2011 +0100
-
-    pygi-convert.sh: Convert gdk.GRAB_*
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit f5d0b7b9d189f65503c0bf66d8bda4186ca3223a
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Fri Jan 21 16:45:07 2011 +0100
-
-    [gi] set the gtype GValue correctly
-
- gi/pygi-property.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit ce521011d7f6d7f082aaea76fa05c5af9f6e93f5
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Fri Jan 21 16:20:23 2011 +0100
-
-    [gi] use the right argument type for callback
-
- gi/pygi-foreign-cairo.c    | 8 ++++----
- gi/pygi-foreign-gvariant.c | 4 ++--
- gi/pygi-foreign-gvariant.h | 2 +-
- gi/pygi-foreign.c          | 2 +-
- gi/pygi.h                  | 2 +-
- 5 files changed, 9 insertions(+), 9 deletions(-)
-
-commit 9f101baaa63a75acf62f955cfc4b311ff0dd5464
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jan 21 09:23:54 2011 -0500
-
-    [gi] marshal out flags and enum
-
- gi/pygi-argument.c | 14 +++++++++-----
- gi/pygi-cache.c    | 24 ++++++++++++------------
- 2 files changed, 21 insertions(+), 17 deletions(-)
-
-commit 4c93bdeae76830aa4029dfc86e32e6f277d5271d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jan 21 08:18:37 2011 -0500
-
-    [gi] marshal unions
-
- gi/pygi-cache.c | 27 +++++++++++++--------------
- 1 file changed, 13 insertions(+), 14 deletions(-)
-
-commit a060287d1a6d190acb9d344f08fd5662e3296da5
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Fri Jan 21 11:00:27 2011 +0100
-
-    [gi] Add test cases for GDBus client operations
-
- tests/Makefile.am   |  1 +
- tests/test_gdbus.py | 94
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 95 insertions(+)
-
-commit e7699d9af41f8c374326b8a4ec0939ef1426e386
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jan 21 04:28:15 2011 -0500
-
-    [gi] error out if the constructor returns NULL
-
- gi/pygi-invoke.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 58ff2b2c38c1004861083ca88633be76767229f0
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jan 21 04:26:45 2011 -0500
-
-    [gi] throw error for caller allocates until we can write code to
-    support it
-
- gi/pygi-cache.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-commit 5eb779439daa8bf1e86df689377dc10ef1430eab
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jan 21 04:26:11 2011 -0500
-
-    [gi] support struct out
-
- gi/pygi-argument.c | 30 ++++++++++++++++++++++++++----
- gi/pygi-cache.c    | 15 ++-------------
- 2 files changed, 28 insertions(+), 17 deletions(-)
-
-commit 3133dc595adf44279397d30712c0f8595f0e1acc
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jan 21 04:22:06 2011 -0500
-
-    [gi] move to using type_info and interface_info instead of arg_info
-
-    * only arguments have arg_infos, not return types and instances so
-      type_info is much better to pass.  In fact most API that took an
-      arg_info simply converted it to a type_info
-    * In the case of instances for methods we don't even have a type_info.
-      Since all instances are interfaces, we also attach the
-      interface_info
-      to the interface cache
-
- gi/pygi-argument.c         | 20 ++++----------------
- gi/pygi-cache.c            | 43
- ++++++++++++++++++++++++++++++++-----------
- gi/pygi-cache.h            |  4 +++-
- gi/pygi-foreign-cairo.c    | 24 ++++++++++++------------
- gi/pygi-foreign-gvariant.c | 11 +++++------
- gi/pygi-foreign-gvariant.h | 10 +++++-----
- gi/pygi-foreign.c          | 21 +++++++++------------
- gi/pygi-foreign.h          |  6 +++---
- gi/pygi.h                  |  8 ++++----
- 9 files changed, 77 insertions(+), 70 deletions(-)
-
-commit e97e28048efb966ecc1a03277d36cbaa81b8db7d
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Fri Jan 21 09:54:14 2011 +0100
-
-    [gi] Add Variant construction/unpack support for boxed Variants
-
-    Construction uses a GVariantBuilder for now, as the new_variant()
-    constructor
-    currently does not work (see
-    https://bugzilla.gnome.org/show_bug.cgi?id=639952)
-
- gi/overrides/GLib.py    | 18 +++++++++++++++++-
- tests/test_overrides.py | 26 ++++++++++++++++++++++++++
- 2 files changed, 43 insertions(+), 1 deletion(-)
-
-commit 71dd03261fc06b8180c14cd31b54d8e4b200be3a
-Merge: bc29600a bd002c72
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Fri Jan 21 09:33:16 2011 +0100
-
-    Merge branch 'windows-setup-fixes'
-
-commit bc29600a2a04c972ceab7ef8d3292e8633977591
-Author: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
-Date:   Thu Jan 20 19:48:23 2011 +0100
-
-    pygi-convert.sh: GdkPixbuf methods
-
-    GNOME bug #639880
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit d1b0fa501cc431baa530d96fb50f4c35590890ac
-Author: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
-Date:   Thu Jan 20 19:45:01 2011 +0100
-
-    pygi-convert.sh: Gdk.COLORSPACE_RGB
-
-    GNOME bug #639880
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 6d8ff4d5bdda5480089543869535cc3ee83da2f5
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jan 19 11:41:11 2011 +0100
-
-    [gi] Support nested objects and empty sequences in GLib.Variant
-    building
-
-    The GVariant constructor (in the overrides) previously did not
-    support empty
-    arrays/dictionaries or nested structures. Rewrite the VariantCreator
-    class to
-    be fully recursive and determine the element types of
-    arrays/dictionaries.
-
-    This now also allows you to use actual tuples as input values for
-    GVariant
-    tuple types. Taking values from the flat argument list is still
-    supported for
-    convenience, though.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639939
-
- gi/overrides/GLib.py    | 229
- ++++++++++++++++++++++++++----------------------
- tests/test_overrides.py | 159 +++++++++++++++++++++++++++++++--
- 2 files changed, 273 insertions(+), 115 deletions(-)
-
-commit ac095f5435f106e175fa3297cb273e63c85d2809
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Jan 20 15:55:45 2011 +0100
-
-    Uncomment test_gi.TestInterfaceClash
-
- tests/test_gi.py | 22 +++++++++++-----------
- 1 file changed, 11 insertions(+), 11 deletions(-)
-
-commit 1239f3709ba257c404dda72b7067b77b19c240fa
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jan 20 09:05:02 2011 -0500
-
-    [gi] add support for enum and flags
-
- gi/pygi-argument.c | 121
- +++++++++++++++++++++++++++++++++++++++++------------
- gi/pygi-cache.c    |  30 ++++++-------
- 2 files changed, 111 insertions(+), 40 deletions(-)
-
-commit f0a0b6c2eda89622de2b1e5ebb6a48103ad72a42
-Author: Steve Frécinaux <code@istique.net>
-Date:   Thu Jan 20 14:14:15 2011 +0100
-
-    Fix reference leaks for GInitiallyUnowned objects
-
-    References were leaked for GInitiallyUnowned objects which got their
-    wrappers created several times, because someone else holds reference
-    on it and it got out of python scope at some point.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639949
-
- gobject/gobjectmodule.c  |  2 ++
- gobject/pygobject.c      | 14 +++++------
- tests/test-floating.c    | 36 +++++++++++++++++++++++++++
- tests/test-floating.h    | 21 ++++++++++++++++
- tests/test_gobject.py    | 63
- ++++++++++++++++++++++++++++++++++++++++++++++++
- tests/testhelpermodule.c | 50 ++++++++++++++++++++++++++++++++++++++
- 6 files changed, 179 insertions(+), 7 deletions(-)
-
-commit cae2cf3d4fb049c94389bf8f84d7d97a544d7a3f
-Author: Steve Frécinaux <code@istique.net>
-Date:   Wed Jan 19 16:57:57 2011 +0100
-
-    Add tests for refcount of a GObject owned by a library
-
-    When the object is constructed, its refcount is 2 because the library
-    refs it once. It should remain around until we ask the library to
-    release its reference.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639949
-
- tests/test-floating.c    | 30 +++++++++++++++++++++++
- tests/test-floating.h    | 20 ++++++++++++++++
- tests/test_gobject.py    | 62
- ++++++++++++++++++++++++++++++++++++++++++++++++
- tests/testhelpermodule.c | 51 +++++++++++++++++++++++++++++++++++++++
- 4 files changed, 163 insertions(+)
-
-commit b6737b91938d527872eff1d645a205cacf94e15d
-Author: Steve Frécinaux <code@istique.net>
-Date:   Wed Jan 19 14:52:41 2011 +0100
-
-    Add a test to check for regular object reference count
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639949
-
- tests/test_gobject.py | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-commit 2b0f1ede820414ef1cfd6b37569fcb946d2031fc
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Jan 20 14:15:52 2011 +0100
-
-    [gi] Update TreeView.enable_model_drag_{source,dest} to current GTK
-
-    GTK master now landed a lot of annotation fixes which also correctly
-    marks the
-    array length argument of
-    Gtk.TreeView.enable_model_drag_{source,dest}(). Thus
-    drop the explicit array length argument from the call in the override.
-
- gi/overrides/Gtk.py | 2 --
- 1 file changed, 2 deletions(-)
-
-commit b59edf4f0f7cab44033f9d704d476e10ee0d0c0a
-Author: Steve Frécinaux <code@istique.net>
-Date:   Wed Jan 19 18:04:10 2011 +0100
-
-    Fix a typo in a private symbol name.
-
- gobject/gobjectmodule.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 6447688e283a8fb22de3ab68cbc06e34ad23d198
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Jan 20 11:49:08 2011 +0100
-
-    pygi-convert.sh: Convert glib.source_remove()
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 84ee8de4bc00a8f901926cc6386d73c12dbd0b0b
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Jan 20 11:42:34 2011 +0100
-
-    Fix typo in previous commit to actually convert glib.GError
-
- pygi-convert.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b238cb614338f46e6feb7935cca0a55c7a929418
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Thu Jan 20 11:40:14 2011 +0100
-
-    pygi-convert.sh: Move some glib bits which are better handled
-    by gobject
-
- pygi-convert.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 21c09a7ee294b59abb3eca6f64f13bf5c8a2fa0e
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Wed Jan 19 12:00:02 2011 +0100
-
-    Modify override for Gtk.Adjustment to allow position or keyword
-    arguments in __init__().
-
-    Previously passing no arguments was not working, because the default
-    value for each parameter was None, and GObject.__init__() refuses to
-    allow None for integer properties. This patch does not pass None up
-    to GObject.__init__. Instead it does not pass the parameter at all,
-    and uses the class's default values.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639934
-
- gi/overrides/Gtk.py     | 14 ++++++++++++--
- tests/test_overrides.py | 34 +++++++++++++++++++++++++++-------
- 2 files changed, 39 insertions(+), 9 deletions(-)
-
-commit d465e25297ad6589ff2cd0c00e11e8bd8ffe3f78
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jan 19 22:52:51 2011 +0100
-
-    [gi] Fix small typo in previous commit
-
-    The GVariant signature of the self test had a trailing 'i'. The
-    current
-    GVariant builder doesn't mind, but the new implementation proposed
-    in bug
-    639939 does.
-
- tests/test_overrides.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2b8e1d0531dcb8f57dc9f2fddf25970bee3daa90
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jan 19 20:18:19 2011 +0100
-
-    [gi] Add pythonic iterator and indexing for string GVariants
-
-    This extends commit b1a98083c to also work for strings.
-
- gi/overrides/GLib.py    |  8 +++++++-
- tests/test_overrides.py | 13 +++++++++++++
- 2 files changed, 20 insertions(+), 1 deletion(-)
-
-commit 8efd14c87b35072cdd039bf223f8ced8f51be9bb
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 14:08:03 2011 -0500
-
-    [gi] return NULL if out_marshaller fails
-
- gi/pygi-invoke.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 5b1db41d60204c8021f47f43b85dac126c389c8d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 13:57:54 2011 -0500
-
-    [gi] fix some transfer issues and test case failures
-
- gi/pygi-argument.c |  4 ++++
- gi/pygi-cache.c    | 11 ++++++++---
- gi/pygi-invoke.c   | 17 +++++++++--------
- 3 files changed, 21 insertions(+), 11 deletions(-)
-
-commit 7c2f48bb6d67ec9a1ee5ac03a5aee34b54c6ebdd
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jan 19 18:09:23 2011 +0100
-
-    Construct structs using default API constructor
-
-    If the struct has something that looks like a default constructor,
-    use it instead of trying to directly allocate it, as it will fail
-    if the struct fields are not exposed.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627444
-
- gi/pygi-info.c | 37 +++++++++++++++++++++++++++++++++++++
- gi/types.py    |  7 +++++++
- 2 files changed, 44 insertions(+)
-
-commit db7300e173388d9557dcd2333781bfaa6b021605
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jan 19 18:54:39 2011 +0100
-
-    pygi-convert.sh: Migrate Gdk.Cursor constructor, and some cursor names
-
- pygi-convert.sh | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 4c1d4faddf1c9cb233c484da3eadd8e31c231f70
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jan 19 18:43:29 2011 +0100
-
-    pygi-convert.sh: Handle .window attributes
-
-    In general, convert them to .get_window(). For some of them, prefer
-    calling the
-    GtkWidget methods instead.
-
- pygi-convert.sh | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit b1049b947d073fb569ba900a4d5c8519482d831e
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jan 19 17:35:09 2011 +0100
-
-    Also deal with foreign boxed structs
-
-    cairo.Context has been boxed and our tests started failing
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639967
-
- gi/pygi-argument.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 25b69ae257a12b6dc97ed3f2f7ea54b166ddbba1
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Wed Jan 19 17:45:11 2011 +0100
-
-    [gi] Convert GErrors to GObject.GError exceptions, and throw them
-    upon returning from calling the C function.
-
-    This changes gi to make use of pyglib_error_check() which already
-    exists in pyglib.
-
-    The included tests make use of the other patch attached to this bug,
-    to check that the right exception is thrown from the new function
-    in GIMarshallingTests.
-    two Gtk C functions.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639834
-
- gi/Makefile.am   |  3 ++-
- gi/pygi-invoke.c | 12 +++---------
- tests/test_gi.py | 10 ++++++++++
- 3 files changed, 15 insertions(+), 10 deletions(-)
-
-commit 18b84767db1d66e3d6f09067ab19ffd4b82539ca
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 12:05:45 2011 -0500
-
-    [gi] fix out marshalling for a couple of int types
-
- gi/pygi-argument.c | 2 +-
- gi/pygi-cache.c    | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit c5d7c730008275b2c585b2609fc2ff5e051cce47
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 11:59:09 2011 -0500
-
-    [gi] fixed range checking and type conversion with unsigned and
-    large numbers
-
- gi/pygi-argument.c | 90
- +++++++++++++++++++++++++++++++++++++++++++++---------
- gi/pygi-cache.c    |  2 +-
- 2 files changed, 76 insertions(+), 16 deletions(-)
-
-commit e6fcafc6179e963cbae7774e7ee50415bde2c523
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jan 19 17:03:06 2011 +0100
-
-    pygi-convert.sh: Don't convert glib -> GLib for now
-
-    This currently leads to a load of crashes, MemoryErrors, etc, as
-    GLib is not
-    very well introspectable, due to the low-level operations that
-    it performs.
-
-    John Palmieri confirms that using the static "glib" binding is
-    preferred for
-    now, so disable the replacement rules.
-
- pygi-convert.sh | 19 ++++++++++---------
- 1 file changed, 10 insertions(+), 9 deletions(-)
-
-commit 167261d556eab0d2e448c7ed28eef540a024ba1d
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jan 19 16:47:08 2011 +0100
-
-    Link libregress.so to GIO_LIBS again
-
- configure.ac | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit d143afa6da4f5b5f47be8df11fa41d7b47ab1794
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Wed Jan 19 16:14:42 2011 +0100
-
-    Fix attributes 2BUTTON_PRESS and 3BUTTON_PRESS of Gdk.EventType.
-
-    This puts an underscore in front of 2BUTTON_PRESS and 3BUTTON_PRESS
-    because in Python attributes starting with a numeral causes a
-    syntax error.
-
- gi/overrides/Gdk.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-commit 4f5d20966d4a8c649e5fae584039621edab178f3
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 10:02:40 2011 -0500
-
-    [gi] use correct format stings when setting errors
-
- gi/pygi-argument.c | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-commit 7f08fd5c33ee5c9907f5becbe2f21fb7122d6e19
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 09:45:09 2011 -0500
-
-    [gi] allow marshalling strings as None
-
- gi/pygi-argument.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 093242a9e125998cd07bf66fc4b2880f532a2e4d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 09:41:56 2011 -0500
-
-    [gi] make error messages more detailed
-
- gi/pygi-argument.c |  2 +-
- gi/pygi-cache.c    | 18 +++++++++---------
- 2 files changed, 10 insertions(+), 10 deletions(-)
-
-commit f0b17605ed2eb917b350654b070984beb553eae3
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 09:41:13 2011 -0500
-
-    [gi] allow marshalling None for hashes
-
- gi/pygi-argument.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 93f1b787ab8420300d1064c0237a0c2d8a2ac98f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 09:40:37 2011 -0500
-
-    [gi] add marshalling to some out values
-
- gi/pygi-argument.c | 50
- +++++++++++++++++++++++++++++++++++++++++---------
- 1 file changed, 41 insertions(+), 9 deletions(-)
-
-commit 614b6ca7f45c4acbee088fe74fecf279ed50cc0c
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Wed Jan 19 15:27:33 2011 +0100
-
-    [gi] Fixed typo in exception
-
- gi/overrides/Gtk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 5f16df31b5a5a9f45f702eee48c3a18899ea3f71
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 09:13:44 2011 -0500
-
-    [gi] fix marshalling structs
-
- gi/pygi-argument.c | 47 +++++++++++++++++++++++++++++++++++------------
- gi/pygi-foreign.c  | 18 ++++++++++++------
- gi/pygi-foreign.h  |  8 ++++----
- 3 files changed, 51 insertions(+), 22 deletions(-)
-
-commit b2189424f9dd6d3a4a5b9792f0d5843fc27657d1
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Wed Jan 19 15:12:25 2011 +0100
-
-    [gi] Enable handling of Gdk.EventType.2BUTTON_PRESS and 3BUTTON_PRESS
-
- gi/overrides/Gdk.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 5eca5ff2c9509ec96158fe43b29f0fd951243efe
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Wed Jan 19 14:54:57 2011 +0100
-
-    Revert "Fix Pango FontDescription override"
-
-    According to
-    http://library.gnome.org/devel/pango/1.28/pango-Fonts.html#pango-font-description-new
-    the default constructor actually does take no arguments; we should
-    actually fix
-    the MemoryError. Add a test case for this.
-
-    Remove the FIXME though, as pango_font_description_from_string()
-    is not a
-    FontDescription constructor, but a static factory method.
-
-    Thanks to Paolo Borelli for pointing this out!
-
-    This reverts commit 8878c57676091c08e66bc6cbe735d898cb420582.
-
- gi/overrides/Pango.py   | 5 ++++-
- tests/test_overrides.py | 5 +++++
- 2 files changed, 9 insertions(+), 1 deletion(-)
-
-commit 9e7b95b3676a1b502662523a9bd4ebe40ccb4845
-Author: Tony Young <rofflwaffls@gmail.com>
-Date:   Thu Dec 16 23:39:33 2010 +0000
-
-    Python iterator interface support for GFileEnumerator.
-
- gi/overrides/Gio.py      | 41 +++++++++++++++++++++++++++++++++++++++++
- gi/overrides/Makefile.am |  1 +
- tests/test_overrides.py  | 20 ++++++++++++++++++++
- 3 files changed, 62 insertions(+)
-
-commit bca5834fc8fa342149e0eec7b396877a2abe6d33
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Jan 7 12:10:37 2011 +0100
-
-    Remove gio static bindings
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=638899
-
- Makefile.am                       |    2 +-
- configure.ac                      |   25 -
- gio/.gitignore                    |    3 -
- gio/Makefile.am                   |  117 -
- gio/__init__.py                   |   40 -
- gio/gappinfo.override             |  213 --
- gio/gapplaunchcontext.override    |   99 -
- gio/gbufferedinputstream.override |   70 -
- gio/gcancellable.override         |   38 -
- gio/gdatainputstream.override     |  250 --
- gio/gdrive.override               |  347 --
- gio/gfile.override                | 2215 -----------
- gio/gfileattribute.override       |  153 -
- gio/gfileenumerator.override      |  184 -
- gio/gfileinfo.override            |  121 -
- gio/gfileinputstream.override     |   68 -
- gio/gfileiostream.override        |   68 -
- gio/gfileoutputstream.override    |   68 -
- gio/gicon.override                |  310 --
- gio/ginputstream.override         |  344 --
- gio/gio-types.defs                |  807 ----
- gio/gio.defs                      | 7465
- -------------------------------------
- gio/gio.override                  |  409 --
- gio/giomodule.c                   |  208 --
- gio/giostream.override            |   68 -
- gio/gmemoryinputstream.override   |   91 -
- gio/gmemoryoutputstream.override  |   45 -
- gio/gmount.override               |  454 ---
- gio/goutputstream.override        |  292 --
- gio/gresolver.override            |  312 --
- gio/gsocket.override              |  575 ---
- gio/gvolume.override              |  237 --
- gio/gvolumemonitor.override       |   94 -
- gio/pygio-utils.c                 |  236 --
- gio/pygio-utils.h                 |   49 -
- gio/unix-types.defs               |   55 -
- gio/unix.defs                     |  475 ---
- gio/unix.override                 |   62 -
- gio/unixmodule.c                  |   52 -
- tests/Makefile.am                 |    9 -
- tests/runtests-windows.py         |    3 -
- tests/test_gcancellable.py        |   15 -
- tests/test_gicon.py               |  112 -
- tests/test_gio.py                 | 1138 ------
- tests/test_gresolver.py           |   68 -
- tests/test_gsocket.py             |  126 -
- 46 files changed, 1 insertion(+), 18191 deletions(-)
-
-commit 6ab3d8d286573289cf8e41eee31eb806621f6f43
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 07:56:16 2011 -0500
-
-    [gi] switch from using (*arg). to arg-> when referencing union
-    memebers
-
- gi/pygi-argument.c | 54
- +++++++++++++++++++++++++++---------------------------
- 1 file changed, 27 insertions(+), 27 deletions(-)
-
-commit 762ccb3d2620ea22023446b6ae79f3a111d8b56a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 07:49:52 2011 -0500
-
-    [gi] return FALSE when setting errors in the marshaller
-
- gi/pygi-argument.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit cbaba6357937cbed3ebd34d2db1cdd59d37df118
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 07:14:18 2011 -0500
-
-    [gi] do arg counting in new invoke
-
- gi/pygi-cache.c               |  2 ++
- gi/pygi-cache.h               | 14 ++++++++------
- gi/pygi-invoke-state-struct.h |  2 +-
- gi/pygi-invoke.c              | 20 +++++++++++++++++++-
- 4 files changed, 30 insertions(+), 8 deletions(-)
-
-commit f45033858bed70d7defec3f71f26aa5b3999d680
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 19 06:35:45 2011 -0500
-
-    [gi] set length for uint8 in arrays in new invoke marshaller
-
- gi/pygi-argument.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 09f7ca7e2378e6679002677ac3f4802f4cc7d9d5
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Wed Jan 19 12:04:15 2011 +0100
-
-    [gi] set length when marshalling guint8 erases
-
- gi/pygi-argument.c | 1 +
- tests/test_gi.py   | 4 ++++
- 2 files changed, 5 insertions(+)
-
-commit 22eee43e50a150ace80694213fb87be9f0c72f51
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Wed Jan 19 10:27:47 2011 +0100
-
-    Convert Gdk.Pixbuf to GdkPixbuf.Pixbuf
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit a4b210d69c832629894090b7154ae194209b0c60
-Author: Arnaud Charlet <charlet@adacore.com>
-Date:   Tue Jan 18 18:31:29 2011 +0100
-
-    Disable calls to PyGILState_* when threads are disabled
-
-    Since threads may also be disabled in Python too, those symbols
-    may not
-    be resolved.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=374603
-
- glib/pyglib.c               | 12 ++++++++++++
- gobject/pygobject-private.h |  6 ++++++
- 2 files changed, 18 insertions(+)
-
-commit 329afb6fb1b3c325a6a9de2b6aca91c64d51dd9f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jan 18 12:31:57 2011 -0500
-
-    [gi] fix handling of garrays vs c arrays
-
- gi/pygi-argument.c | 9 +++++++--
- gi/pygi-cache.c    | 2 ++
- gi/pygi-cache.h    | 1 +
- 3 files changed, 10 insertions(+), 2 deletions(-)
-
-commit a000627ec3904b9414ce375aec8d144fc0c26248
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Jan 18 18:29:50 2011 +0100
-
-    pygi-convert.sh: Do not comment out set_cell_data_func() calls;
-    these should be ported properly
-
- pygi-convert.sh | 1 -
- 1 file changed, 1 deletion(-)
-
-commit 99ff4610fb5ece2fc8d2f9eba13e661968adf3f0
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Jan 18 18:26:01 2011 +0100
-
-    pygi-convert.sh: Fix match for adding missing imports
-
- pygi-convert.sh | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 3aa95011fad67df20370e92bf25236a34d7d08d3
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Jan 18 18:09:30 2011 +0100
-
-    pygi-convert.sh: Fix Gtk.Label handling to be idempotent
-
-    As we are not replacing line by line, but the whole file at once,
-    this is a bit
-    hackish unfortunately. We can't use a match test or a lookahead/behind
-    assertion.
-
- pygi-convert.sh | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-commit f66051380c0432bf142774542ade2144adcd455e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jan 18 11:44:27 2011 -0500
-
-    [gi] use correct union memeber when marshalling floats
-
- gi/pygi-argument.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 36bc1c17e7d4189059337cc6a73c64edd819ec12
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Tue Jan 18 17:29:52 2011 +0100
-
-    Remove trailing whitespace from gi/overrides/Gtk.py
-
- gi/overrides/Gtk.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-commit 1006df1929a667716c25e74b35b8f14643358732
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jan 18 11:24:06 2011 -0500
-
-    [gi] fix constructor invoking and add some support for interface
-    out values
-
-    * constructors are now simplified and are treated like normal
-    static methods
-      which happen to return an instance
-
- gi/pygi-argument.c |   8 ++--
- gi/pygi-cache.c    | 132
- +++++++++++++++++++++++++++++++++++++++++++++++++++--
- gi/pygi-invoke.c   |   9 ++--
- gi/types.py        |  21 +++------
- 4 files changed, 142 insertions(+), 28 deletions(-)
-
-commit 8878c57676091c08e66bc6cbe735d898cb420582
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Jan 18 16:47:10 2011 +0100
-
-    Fix Pango FontDescription override
-
-    Trying to call __new__() on a record crashes with a MemoryError,
-    so just call
-    the intended static factory method for a None argument as well
-    (which works
-    just fine now).
-
- gi/overrides/Pango.py | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-commit efbbe71634037fa100b17327389b883b259cca54
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Jan 18 16:23:39 2011 +0100
-
-    tests: Respect existing $GI_TYPELIB_PATH
-
-    This allows us to run the test suite against local typelibs.
-
- tests/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit c96ca383350e5b9b079d9a86464922314939c006
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jan 18 07:16:40 2011 -0500
-
-    [gi] fix aux value offsets for methods and element size crashers
-
-    * if the callable is a method we need to add 1 to the aux index
-      for in values so we grab the right argument cache
-    * use _pygi_g_type_info_size instead of _pygi_g_type_tag_size to
-      support all types
-
- gi/pygi-cache.c | 42 ++++++++++++++++++++++++------------------
- 1 file changed, 24 insertions(+), 18 deletions(-)
-
-commit f56d85a7f39c2088bf9fd50b1b1e5b67c03104d3
-Merge: 84d6142c 7d997b6f
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Tue Jan 18 13:14:45 2011 +0100
-
-    Merge branch 'value'
-
-commit 7d997b6fe88343776c4d67a9f3437ba0c4122da0
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Tue Jan 18 13:12:36 2011 +0100
-
-    GTK overrides: Do type conversion to column types of ListStore and
-    TreeStore in set_value
-
- gi/overrides/Gtk.py     | 28 ++++++++++++++++++----------
- tests/test_overrides.py | 12 +++++++++++-
- 2 files changed, 29 insertions(+), 11 deletions(-)
-
-commit 84d6142c14a7ebfb7284d3db52e14d3393f93905
-Author: Steve Frécinaux <code@istique.net>
-Date:   Mon Jan 17 18:57:58 2011 +0100
-
-    Always register a new GType when a GObject class is subclassed
-
-    This patch makes the GType <-> python mapping much more predictible,
-    and fixes the bug caused by overriding methods without specifying a
-    __gtype_name__ member in the subclass, and makes type_register useless
-    for real :-)
-
-    It is still possible to provide an explicit __gtype_name__ member
-    in the
-    subclass as it allows having a predictible GType name, which is handy
-    for some of our tests. There is also an explicit special case for
-    overrides because we obviously do not want to register new GTypes for
-    those ones as it would clearly defeat the purpose of overrides.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=543056
-
- gobject/__init__.py |  6 +++---
- tests/test_gi.py    | 21 ++-------------------
- 2 files changed, 5 insertions(+), 22 deletions(-)
-
-commit 30750ccef31e6c864628f418fc00e8c573d29a1b
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Tue Jan 18 12:57:13 2011 +0100
-
-    Raise required versions of GLib and GObject-Introspection
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=612126
-
- configure.ac | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 761e98d32729f5894f4c75a54c65ed11329dc9d5
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Jan 18 12:52:32 2011 +0100
-
-    pygi-convert.sh: Handle keysyms
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit d62cdfa38a675c1daf3bc12d5cd769434eea5dc8
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Jan 18 12:14:09 2011 +0100
-
-    GLib overrides: Add test case for array variant building
-
- tests/test_overrides.py | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 69a78307f3762e3f54d28d98514cec7d31ff20db
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jan 18 10:21:03 2011 +0100
-
-    Remove cairo.RectangleInt from the foreign module
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639824
-
- gi/pygi-foreign-cairo.c | 96
- -------------------------------------------------
- 1 file changed, 96 deletions(-)
-
-commit 017680c9a5e163021628bf29543598861a3b600a
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jan 18 10:20:25 2011 +0100
-
-    Dont try to guess the transfer if its a boxed
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639823
-
- gi/pygi-invoke.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit 771ef76574690eb98926249f38661d741d1ebbb0
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Tue Jan 18 12:02:01 2011 +0100
-
-    The tags can be Empty not None.
-
- gi/overrides/Gtk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b1a98083cdc50653e1d7bfb809bdf089f833df3d
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Jan 18 12:01:28 2011 +0100
-
-    Add Pythonic iterators and indexing to GVariant
-
-    Add the usual set of iterators and index accessors to GLib.Variant
-    objects
-    which are containers.
-
-    Add corresponding test cases.
-
- gi/overrides/GLib.py    | 50 ++++++++++++++++++++++++++++++++++++++++++++
- tests/test_overrides.py | 55
- +++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 105 insertions(+)
-
-commit ecb9f824c503c529d43e585b4cdb4c1c9ab14593
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Tue Jan 18 10:48:03 2011 +0100
-
-    Add GLib.Variant.unpack()
-
-    This method decomposes a GLib.Variant into a native Python object,
-    i. e. the
-    counterpart of _VariantCreator. This makes it a lot nicer for
-    application
-    developers to use e. g. return values from gdbus calls.
-
-    Add appropriate test case.
-
- gi/overrides/GLib.py    | 45
- +++++++++++++++++++++++++++++++++++++++++++++
- tests/test_overrides.py | 33 ++++++++++++++++++++++++++++++++-
- 2 files changed, 77 insertions(+), 1 deletion(-)
-
-commit 31c73dee34a52fd22b5ff3a23adce92cea5ddc3d
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Tue Jan 18 10:56:18 2011 +0100
-
-    Add override for gtk_text_buffer_insert_with_tags
-
- gi/overrides/Gtk.py     | 12 ++++++++++++
- tests/test_overrides.py |  6 ++++++
- 2 files changed, 18 insertions(+)
-
-commit fc7d7f7f153d57ff3866b7bfd5e6479d702cc4d9
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Mon Jan 17 14:35:14 2011 +0100
-
-    Deduce PYTHON_LIBS in addition to PYTHON_INCLUDES
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620215
-
- gi/Makefile.am    | 6 ++++--
- gio/Makefile.am   | 2 +-
- glib/Makefile.am  | 2 +-
- m4/python.m4      | 7 +++++--
- tests/Makefile.am | 2 +-
- 5 files changed, 12 insertions(+), 7 deletions(-)
-
-commit bceec758b27e6c396d17a79424633b5dc9116f54
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Mon Jan 17 14:20:55 2011 +0100
-
-    Kill JD_CHECK_PYTHON_HEADERS
-
-    Use AM_CHECK_PYTHON_HEADERS instead, which is identical.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620215
-
- configure.ac |  2 +-
- m4/python.m4 | 31 +------------------------------
- 2 files changed, 2 insertions(+), 31 deletions(-)
-
-commit e2dea065da94d17a915abe1ce4671b1dc48e02c0
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Jan 17 19:09:27 2011 +0100
-
-    Revert "Override Gtk.Box.pack_start and pack_end to set default
-    values to be compliant with pygtk"
-
-    This reverts commit a8c727b9c4195d8085a45661683a18614ae84485.
-
-    Conflicts:
-
-            gi/overrides/Gtk.py
-
- gi/overrides/Gtk.py | 10 ----------
- 1 file changed, 10 deletions(-)
-
-commit 4fbae9629adc166627de05bb0946b71485343d69
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Jan 17 19:08:23 2011 +0100
-
-    Revert "Override Gtk.CellLayout.pack_start and pack_end to add
-    default values to be compliant with pygtk"
-
-    This reverts commit 232841148f35684be83a2f47b5b18da4fb74f63a.
-
- gi/overrides/Gtk.py | 13 ++-----------
- 1 file changed, 2 insertions(+), 11 deletions(-)
-
-commit c054f0aca67952876b3519bb75ddc62c5517f7cb
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Jan 17 19:08:06 2011 +0100
-
-    Revert "Override Gtk.TreeViewColumn.pack_start, pack_end and
-    set_cell_data_func to add default values to be compliant with pygtk"
-
-    This reverts commit ed7e7a8f22b1481acf78c0c2e4c489dbad72f599.
-
- gi/overrides/Gtk.py | 9 ---------
- 1 file changed, 9 deletions(-)
-
-commit 2d9534f347505573da46743b47318e08bf073aef
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Jan 17 18:54:10 2011 +0100
-
-    pygi-convert.sh: Handle gtk.combo_box_new_text()
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 0586a83212a9f9234fe00659ae744ab04e7ccc67
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jan 17 12:31:03 2011 -0500
-
-    support callbacks
-
- gi/pygi-argument.c | 68 ++++++++++++++++++++++++++++++++++++++++++++--
- gi/pygi-cache.c    | 80
- +++++++++++++++++++++++++++++++++++++++++-------------
- gi/pygi-cache.h    | 13 +++++++--
- gi/pygi-invoke.c   |  2 +-
- 4 files changed, 138 insertions(+), 25 deletions(-)
-
-commit 914d3a0a29680f4d3aa0e1f8afdd625b017b013a
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Jan 17 16:57:53 2011 +0100
-
-    Override TreeSortable.set_sort_func and set_default_sort_func to
-    add default values to be pygtk compliant
-
- gi/overrides/Gtk.py | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit ed7e7a8f22b1481acf78c0c2e4c489dbad72f599
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Jan 17 16:29:28 2011 +0100
-
-    Override Gtk.TreeViewColumn.pack_start, pack_end and
-    set_cell_data_func to add default values to be compliant with pygtk
-
- gi/overrides/Gtk.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 232841148f35684be83a2f47b5b18da4fb74f63a
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Jan 17 16:28:51 2011 +0100
-
-    Override Gtk.CellLayout.pack_start and pack_end to add default values
-    to be compliant with pygtk
-
- gi/overrides/Gtk.py | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
-commit 1dec12826753756fcadefc8ef8c756fc902c320b
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Jan 17 15:54:32 2011 +0100
-
-    Override Gtk.Paned pack1 and pack2 to add default values to be
-    compliant with pygtk
-
- gi/overrides/Gtk.py | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit a8c727b9c4195d8085a45661683a18614ae84485
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Mon Jan 17 15:46:25 2011 +0100
-
-    Override Gtk.Box.pack_start and pack_end to set default values to
-    be compliant with pygtk
-
- gi/overrides/Gtk.py | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 7cc8ac35bb0d8dbf7d66f014f8cd7ff070b3acb8
-Author: Steve Frécinaux <code@istique.net>
-Date:   Wed Aug 4 00:30:05 2010 +0200
-
-    Handle GObject subclasses in the property helper.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625982
-
- gobject/propertyhelper.py | 26 +++++++++++++-------------
- tests/test_properties.py  |  9 +++++++++
- 2 files changed, 22 insertions(+), 13 deletions(-)
-
-commit 7a0548dbfbdfe481f75315b6bc7824a9f1a8a87b
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Jan 17 17:52:15 2011 +0100
-
-    Fix handling of unicode for GtkTreeModels
-
-    The code previously converted an unicode object into unicode, but
-    in Python 2.X
-    models actually have to specify 'str' (GTK expects a gchararray). So
-    encode to
-    UTF-8 instead to get what GTK expects.
-
-    Add corresponding test case.
-
- gi/overrides/Gtk.py     |  2 +-
- tests/test_overrides.py | 12 +++++++++++-
- 2 files changed, 12 insertions(+), 2 deletions(-)
-
-commit 09c21c79fb6063c8451f53d4588363d2be7239f4
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Mon Jan 17 16:46:08 2011 +0100
-
-    In IntrospectionModule and DynamicModule classes, make all instance
-    attributes start with an underscore.
-
-    This changes IntrospectionModule.version to _version and
-    DynamicModule.introspection_module to _introspection_module.
-    This is done to mark the attributes as private, and also avoid name
-    collisions with attributes from the typelib.
-    In Gstreamer, there is a function gst_version, which was previously
-    inaccessible because of IntrospectionModule.version overriding it.
-
- gi/module.py                       | 26 +++++++++++++-------------
- gi/overrides/GIMarshallingTests.py |  2 +-
- gi/overrides/GLib.py               |  2 +-
- gi/overrides/Gdk.py                | 10 +++++-----
- gi/overrides/Gtk.py                |  2 +-
- gi/overrides/Pango.py              |  2 +-
- gi/overrides/__init__.py           |  2 +-
- tests/test_everything.py           |  2 +-
- 8 files changed, 24 insertions(+), 24 deletions(-)
-
-commit 2c70beca9e76e4dc253453c556e6985ce59a3dd9
-Author: Laszlo Pandy <lpandy@src.gnome.org>
-Date:   Mon Jan 17 16:17:25 2011 +0100
-
-    Amend previous enum wrapping commit to remove redundant setting of
-    __info__ attribute.
-
- gi/module.py | 2 +-
- gi/types.py  | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-commit 6fbb6be5a5d0d9cd43e1504b8dda5aa75feb95ca
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Jan 17 16:16:45 2011 +0100
-
-    pygi-convert.sh: Handle GdkPixbuf.InterpType
-
- pygi-convert.sh | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 66a5784f4ab5de5b6d8d51eb4ce869fa26f6a601
-Author: Laszlo Pandy <laszlok2@gmail.com>
-Date:   Mon Jan 17 15:43:34 2011 +0100
-
-    Fix wrapping of enums: Create new Python type for each non-gtype enum.
-
-    Previously non-gtype enums used the same class, which meant they
-    were all the same type.
-    This caused another problem that since they were all the same class,
-    attributes from different enums were available from each other.
-
-    A new test case is created to check for this bug. It requires a new
-    enum from the GIMarshallingTests (updating gobject-introspection
-    will be required).
-
- gi/module.py     |  2 +-
- gi/types.py      |  2 ++
- tests/test_gi.py | 10 ++++++++++
- 3 files changed, 13 insertions(+), 1 deletion(-)
-
-commit da50d5620a42046d4fc905bb28a0890d73533cb1
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Dec 13 18:03:51 2010 +0100
-
-    Use g_vfunc_info_invoke for chaining up in vfuncs
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=637165
-
- gi/pygi-info.c   |  4 ++--
- gi/pygi-invoke.c | 72
- +++++++++++++++++++++++++++++++++++++++++++-------------
- gi/pygi-invoke.h |  3 ++-
- gi/types.py      | 28 +++++++++++++++++++++-
- tests/test_gi.py |  5 ++--
- 5 files changed, 89 insertions(+), 23 deletions(-)
-
-commit 8ceef79c98a1c2e22ed8ab655ef1169f1763dd23
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Fri Dec 31 18:38:04 2010 +0100
-
-    Move pyglib_{main_context, option_context, option_group}_new into
-    _PyGLib_API
-
-    _PyG{MainContext, OptionContext, and OptionGroup_Type} were not
-    be initialized
-    when used inside the glib module, since pyglib_init is not called.
-
-    pyglib.c is compiled as a stand-alone library loaded by the _glib
-    module that
-    declares the above-mentioned types. Hence, they cannot be accessed
-    by the
-    former. This patch moves the functions that need those symbols
-    into the
-    glib._glib module and exports them to the pyglib library through
-    _PyGLib_API.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=636656
-
- glib/glibmodule.c       |  5 ++++-
- glib/pyglib-private.h   |  3 +++
- glib/pyglib.c           | 48
- +++---------------------------------------------
- glib/pygmaincontext.c   | 22 ++++++++++++++++++++++
- glib/pygmaincontext.h   |  2 +-
- glib/pygmainloop.c      |  2 +-
- glib/pygoptioncontext.c | 21 +++++++++++++++++++++
- glib/pygoptioncontext.h |  2 ++
- glib/pygoptiongroup.c   | 26 ++++++++++++++++++++++++++
- glib/pygoptiongroup.h   |  2 ++
- glib/pygsource.c        |  2 +-
- 11 files changed, 86 insertions(+), 49 deletions(-)
-
-commit 17caffe4eeefeaf33a56ececbc6c7454f60b9d76
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Jan 17 14:51:26 2011 +0100
-
-    pygi-convert.sh: Handle Gdk.DragAction
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit aa390aa80f06ac83ec89e5c5ee143d21ace97917
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Jan 17 14:46:58 2011 +0100
-
-    pygi-convert.sh: Generalize Gtk.Settings migration
-
-    There are other GSettings.get_* functions like get_for_screen().
-
- pygi-convert.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2e6d5bb49425e6087ca61765ecb72e7a760f2ab2
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Mon Jan 17 11:22:46 2011 +0100
-
-    pygi-convert.sh: Don't change the name of "glib" submodules
-
-    This particular affects dbus.mainloop.glib.*
-
- pygi-convert.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3887b030fc19d25e0cd7b4ed504f4ed23363c3d6
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Jan 16 22:09:56 2011 +0100
-
-    Plug another memory leak
-
-    Do not leak interface info in (g|s)_et_property.
-
- gi/pygi-property.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit a4950b4cbb3c7567a8586061bb361adb7d9afb98
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Jan 16 21:43:30 2011 +0100
-
-    Plug a small memory leak.
-
-    Do not leak type_info in find_vfunc_info
-
- gi/gimodule.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-commit d0cbcc45366d40702c69cef207d3c0f361260c02
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Jan 16 12:16:31 2011 +0100
-
-    Override Table.attach() to behave like pygtk
-
-    It is fairly common and even gtk itself still has attach_defaults.
-
- gi/overrides/Gtk.py     | 3 +++
- tests/test_overrides.py | 4 ++++
- 2 files changed, 7 insertions(+)
-
-commit 6409d659326bf3cefdf6051379e8bc2031f16733
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Sat Jan 15 11:20:23 2011 -0600
-
-    pygi-convert.sh: Convert Pango.WrapMode
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 6aaa6a38198e84a189ca1e8d26b1871d5b6bb711
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Sat Jan 15 11:17:09 2011 -0600
-
-    pygi-convert.sh: Don't change the name of "gtk" submodules
-
-    Some projects have local modules like "myproject.ui.gtk". Avoid
-    changing those,
-    just change module names which start with "gtk" or "gdk".
-
- pygi-convert.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 9be0f1f2dfb89150faf1827ef482feea03645149
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jan 13 23:56:19 2011 -0500
-
-    [gi] implement aux arg handling for array lengths
-
- gi/pygi-argument.c |  8 ++++++++
- gi/pygi-cache.c    | 36 ++++++++++++++++++++++++++++--------
- gi/pygi-cache.h    |  1 -
- gi/pygi-invoke.c   |  8 ++++++--
- 4 files changed, 42 insertions(+), 11 deletions(-)
-
-commit cfca2f0a53a5c29f543875ca4cb83a2e18d3bc72
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jan 13 21:07:25 2011 -0500
-
-    [gi] marshal in hashes
-
- gi/pygi-argument.c |  93 ++++++++++++++++++++++++++++++++++++++--
- gi/pygi-cache.c    | 122
- +++++++++++++++++++++++++++++++++++++----------------
- 2 files changed, 176 insertions(+), 39 deletions(-)
-
-commit c36fbf4918c8557a8e274a12004a412da3b22b2c
-Author: Laszlo Pandy <git@laszlopandy.com>
-Date:   Tue Jan 11 21:41:47 2011 +0100
-
-    Fix the __dir__() methods on DynamicModule and IntrospectionModule
-
-    Previously the __dir__() methods did not list all attributes.
-    A simple test case is included. It does not test to see if
-    every attribute is listed, it just tests a few of each kind:
-    - (wrapped) typelib attributes
-    - class attributes and methods
-    - instance attributes
-
-    A set() is used to avoid returning duplicate attributes.
-    The test case checks for this as well.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639229
-
- gi/module.py             | 28 +++++++++++++++++++++-------
- tests/test_everything.py | 18 ++++++++++++++++++
- 2 files changed, 39 insertions(+), 7 deletions(-)
-
-commit 1679e6af3f212e4d4644e048dc3c6177ed3fac6b
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Thu Jan 13 00:02:20 2011 +0100
-
-    pygi-convert.sh: handle ReliefStyle
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit e9166ba5d19f2b586f65a3b83a671a5afd486d8f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 12 16:50:30 2011 -0500
-
-    [gi] support for GList and GSList in
-
- gi/pygi-argument.c | 122
- ++++++++++++++++++++++++++++++++++++++++++++++++++---
- 1 file changed, 116 insertions(+), 6 deletions(-)
-
-commit 9baf3240fbac103823ad0feaaf1c82e46d276722
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 12 16:24:17 2011 -0500
-
-    [gi] handle allow_none for all args
-
- gi/pygi-cache.c  | 3 ++-
- gi/pygi-cache.h  | 1 +
- gi/pygi-invoke.c | 7 +++++++
- 3 files changed, 10 insertions(+), 1 deletion(-)
-
-commit d54d12c66226910952b0dc44c8d9514a7edaa6f2
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jan 12 16:23:02 2011 -0500
-
-    [gi] fix marshalling fixed arrays
-
-    * get the correct item_size and pass the GArray data not the GArray
-
- gi/pygi-argument.c | 39 ++++++++++++++++++++++-----------------
- gi/pygi-cache.c    |  3 ++-
- 2 files changed, 24 insertions(+), 18 deletions(-)
-
-commit 3b0eff80d2ee35e0417476f0a170b9e178e3d1ee
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jan 11 17:20:43 2011 -0500
-
-    [gi] implement out arg handling
-
- gi/pygi-argument.c            | 43 ++++++++++---------------------------
- gi/pygi-cache.c               | 22 ++++++++++++++-----
- gi/pygi-invoke-state-struct.h | 13 +++++++++++
- gi/pygi-invoke.c              | 50
- +++++++++++++++++++++++++++++++++++++++++--
- 4 files changed, 89 insertions(+), 39 deletions(-)
-
-commit bd002c72675d35b5e60ab773181e7c36c30d2625
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Jan 11 22:21:18 2011 +0100
-
-    setup.py: fix the provides keyword argument
-
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 59dac72d0fa8e1d68bbbc13d76c2747f1cb11857
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Jan 11 22:19:18 2011 +0100
-
-    setup.py: use the same spaces-less format for all setup() parameters
-
- setup.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit c5c149be171895d292852df364541f14f0ec423a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jan 11 15:39:09 2011 -0500
-
-    [gi] implemented return marshalling and started on out marshalling
-
- gi/pygi-argument.c | 387
- ++++++++++++++++++++++++++++++++++++++++++++++++++++-
- gi/pygi-argument.h | 117 ++++++++++++++++
- gi/pygi-cache.c    | 316 ++++++++++++++++++++++++++++++++++++++++++-
- gi/pygi-cache.h    |   8 +-
- gi/pygi-invoke.c   |  12 +-
- 5 files changed, 829 insertions(+), 11 deletions(-)
-
-commit 4fcca8518774ab89607196dfc52037e3da30ac8a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jan 11 13:49:58 2011 -0500
-
-    [gi] flesh out interface in marshalling a bit more
-
- gi/pygi-argument.c | 74
- ++++++++++++++++++++++++++++++++++++++++----------
- gi/pygi-cache.c    | 79
- ++++++++++++++++++++++++++++++++++++++++++------------
- gi/pygi-cache.h    |  1 +
- 3 files changed, 123 insertions(+), 31 deletions(-)
-
-commit 4992dca9f5cea68d85eb2ed86105c9c6b8311d79
-Author: Laszlo Pandy <laszlok2@gmail.com>
-Date:   Tue Jan 11 19:30:38 2011 +0100
-
-    Add a __repr__() method to DynamicModule.
-
-    This patch adds a __repr__() method to DynamicModule so that modules
-    provide a
-    meaningful string with the typelib path included:
-
-    >>> from gi.repository import Gtk
-    >>> Gtk
-    <gi.module.DynamicModule 'Gtk' from
-    '/home/laszlo/Dev/gnome-jh-install/lib64/girepository-1.0/Gtk-3.0.typelib'>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639232
-
- gi/module.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit 2ffaec59e7349c145a0e2a5edba2ffb7d8628369
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jan 11 19:40:19 2011 +0100
-
-    Go back to using getattr() in DynamicModule.__getattr__
-
-    Breaks marshalling of some types
-
- gi/module.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 52a298cc0f05ceec96457f17f9a801e9838fb757
-Author: Laszlo Pandy <laszlok2@gmail.com>
-Date:   Tue Jan 11 19:26:50 2011 +0100
-
-    Change __dir__() to report all the attributes that __getattr__
-    supports
-
-    Change DynamicModule.__dir__() to return the local class members as
-    well as the
-    typelib attributes.
-
-    Change DynamicModule.__getattr__() to call
-    IntrospectionModule.__getattr__()
-    directly, so that it won't inadvertently return class attributes from
-    IntrospectionModule.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=639229
-
- gi/module.py | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-commit 369a75ba5fb64ff7a7c95d21f8bfe359e639e9ff
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jan 10 17:55:03 2011 -0500
-
-    [gi] add object and interface in marshalling
-
-    * also remove the PyGIArgCleanup sinature as GDestroyNotify works
-    just fine
-
- gi/pygi-argument.c |  15 +++--
- gi/pygi-cache.c    | 182
- ++++++++++++++++++++++++++++++++++++++++++++++++-----
- gi/pygi-cache.h    |   1 -
- gi/pygi-invoke.c   |   1 +
- 4 files changed, 178 insertions(+), 21 deletions(-)
-
-commit 88531c58d0491a31dd319387237a03df5c9edc07
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jan 10 15:33:56 2011 -0500
-
-    [gi] fix casting when marshaling a char to uint8
-
- gi/pygi-argument.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 441da4a7346ca059630dbc820c5b46e4d0222f4b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jan 10 15:07:16 2011 -0500
-
-    [gi] hook up invoke to the cache
-
-    * We now can invoke with in values
-    * out, constructors and returns still don't work along with numerous
-    complex
-      in types
-
- gi/Makefile.am                |   1 +
- gi/pygi-argument.c            |  60 +++++++++--------
- gi/pygi-argument.h            |  60 ++++++++---------
- gi/pygi-cache.h               |   6 +-
- gi/pygi-invoke-state-struct.h |  26 ++++++++
- gi/pygi-invoke.c              | 149
- ++++++++++++++++++++++++++++++++----------
- gi/pygi-invoke.h              |   2 +-
- gi/pygi-private.h             |   1 +
- 8 files changed, 208 insertions(+), 97 deletions(-)
-
-commit f32b1f494aa5d09b9b198f607722c819c6bbd808
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Jan 9 19:37:55 2011 -0500
-
-    hooked up caching stage and fixed segfaults
-
-    * caching stage is hooked up but not used yet
-    * throws exceptions for everything that can not be cached yet
-
- gi/pygi-cache.c  | 59
- +++++++++++++++++++++++++++++++++++++++++++-------------
- gi/pygi-info.c   |  3 +++
- gi/pygi-invoke.c |  5 +++++
- gi/pygi.h        |  2 ++
- 4 files changed, 56 insertions(+), 13 deletions(-)
-
-commit c2bf1d4d9cf2e9f8e313528fe717f6279dad5da1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Jan 9 18:05:31 2011 -0500
-
-    [gi] fix some function names
-
- gi/pygi-cache.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-commit 2ec4230a5180f048c26c2e4234b2a098d42f030b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Jan 9 15:58:06 2011 -0500
-
-    [gi] refactor cache structs so they inherit from ArgCache
-
- gi/pygi-argument.c | 122 +++++++++----------
- gi/pygi-cache.c    | 344
- +++++++++++++++++++++++++++++------------------------
- gi/pygi-cache.h    |  50 ++++----
- 3 files changed, 273 insertions(+), 243 deletions(-)
-
-commit f4cdf0c0321285da015686fcb7115bd91bfd5c7c
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Jan 8 20:45:11 2011 -0500
-
-    [gi]fix cache compile error - now compiles but cache still not
-    hooked up
-
- gi/Makefile.am     |   2 +
- gi/pygi-argument.c | 100 +++++++++++++++---------------
- gi/pygi-argument.h | 174
- ++++++++++++++++++++++++++++++++++++++++++++---------
- gi/pygi-cache.c    | 169
- +++++++++++++++++++++++++--------------------------
- gi/pygi-cache.h    |  25 ++++----
- 5 files changed, 293 insertions(+), 177 deletions(-)
-
-commit 5f8f3044dd8085b2e8ce0bf70e9d52f05abf909d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Jan 8 19:10:29 2011 -0500
-
-    add sequence caching and array marshalling w/ item marshalling
-
-    * simplify what we pass into the arg cache generators so we may
-    use them
-      for geneating marshalling caches for container items, not just
-      arguments
-
- gi/pygi-argument.c |  76 ++++++++++++++++-
- gi/pygi-cache.c    | 242
- ++++++++++++++++++++++-------------------------------
- gi/pygi-cache.h    |   4 +-
- 3 files changed, 175 insertions(+), 147 deletions(-)
-
-commit 202a268db7f98f5a3c525c6e65ec4bff1917257e
-Author: Emilio Pozuelo Monfort <pochu27@gmail.com>
-Date:   Sat Jan 8 02:19:52 2011 +0000
-
-    Bump the minimum gio dependency
-
-    Needed for G_TYPE_CONVERTER_FLAGS and others.
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit c3aa36151fdef9ed9884d93114786bbe86387983
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Jan 7 12:58:11 2011 +0100
-
-    Add test for incorrect attributes in Gdk.Event
-
- tests/test_overrides.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 204b45c7e95eb50d9e3843127fb10e13b1b17fee
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Sun Jan 2 19:25:55 2011 +0100
-
-    Don't call getattr again in gi.overrides.Gdk.Event.__getattr__
-
-    __getattr__ is only called when the attribute is not found through
-    the normal
-    mechanism, so getattr must not be called again in __getattr__
-    (which would
-    create an infinite loop).
-
-    Another possibility would be to implement __getattribute__ instead,
-    which is
-    called in place of the normal mechanism. In that case, calling
-    getattr would be
-    needed for normal attributes.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=638523
-
- gi/overrides/Gdk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 6cf298ca5565d0eb99824f050ff47407e50a5c01
-Author: Mike Gorse <mgorse@novell.com>
-Date:   Fri Jan 7 09:08:31 2011 +0100
-
-    Release allocated array of arguments when handling closures
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=638847
-
- gi/pygi-closure.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 1be76d5e006efa24598ff7bf26153660dbe0a890
-Author: Mike Gorse <mgorse@novell.com>
-Date:   Fri Jan 7 09:07:35 2011 +0100
-
-    Release GIValueInfo when checking an enum argument
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=638847
-
- gi/pygi-argument.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 43849c51391fc9cd239697065c3d40fa02fb6783
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jan 6 17:30:14 2011 -0500
-
-    whitespace fixes
-
- gi/pygi-cache.c | 24 ++++++++++++------------
- gi/pygi-cache.h | 42 +++++++++++++++++++++---------------------
- 2 files changed, 33 insertions(+), 33 deletions(-)
-
-commit 8b5b3d2bbbbdf5d26c83e9a6fe67121cbd77ebe1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jan 6 17:29:00 2011 -0500
-
-    add marshalling for basic types and add more skeleton code
-
-    * still doesn't compile
-
- gi/pygi-argument.c | 708
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-argument.h |  35 ++-
- gi/pygi-cache.c    |  82 +++++--
- gi/pygi-cache.h    |  41 +++-
- 4 files changed, 832 insertions(+), 34 deletions(-)
-
-commit f554cf62848104d31518138ae85bc51acaafda67
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jan 4 18:49:53 2011 -0500
-
-    first checkin of the new caching branch
-
-    * this does not compile and is not hooked up to the build system
-    * lays out the caching data structures and some skeleton functions
-
- gi/pygi-cache.c | 480
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-cache.h | 104 ++++++++++++
- 2 files changed, 584 insertions(+)
-
-commit 8d5a7857876669f56bb03bf618bcfdcc290721c0
-Author: Eitan Isaacson <eitan@monotonous.org>
-Date:   Wed Dec 22 12:34:10 2010 -0800
-
-    Respect different type lengths when assigning out-argument pointers.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=637832
-
- gi/pygi-closure.c | 66
- ++++++++++++++++++++++++++++++++++++++++++++++---------
- 1 file changed, 56 insertions(+), 10 deletions(-)
-
-commit f14976ffabec28f6cafe1e37dc81d207a947d4ca
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Dec 28 18:34:25 2010 +0100
-
-    Fix stupid name clash
-
- gi/module.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-commit 01b2a193d403beb861eab524300b4f1af63157ce
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Dec 28 13:49:18 2010 +0100
-
-    Add /usr/share to XDG_DATA_DIRS when running the tests
-
- tests/Makefile.am | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-commit efc186f692f9eac781cc47456be74a3da7f14dcd
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Dec 28 13:25:34 2010 +0100
-
-    Comment out tests that require SRV lookups
-
- tests/test_gresolver.py | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit d2462cc1ab51d76fb4625c47c3d34de1d5d0dee8
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Dec 28 13:00:16 2010 +0100
-
-    Use suppresion file when running valgrind
-
- tests/Makefile.am |   2 +-
- tests/python.supp | 387
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 388 insertions(+), 1 deletion(-)
-
-commit 0ee58113ecbea72784c52de928c041fc8fc88984
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Thu Dec 23 00:10:41 2010 +0100
-
-    Fix warnings.
-
- gi/pygi-argument.c          | 16 +++++++---------
- gi/pygi-foreign-cairo.c     | 13 ++-----------
- gio/gfile.override          |  5 ++---
- glib/pyglib-python-compat.h |  3 +++
- glib/pyglib.c               |  2 +-
- glib/pygmainloop.c          |  3 ++-
- 6 files changed, 17 insertions(+), 25 deletions(-)
-
-commit 78ea84cd91392400ebac5a361ef8793bfe928fd0
-Author: Jesse van den Kieboom <jesse.vandenkieboom@epfl.ch>
-Date:   Sun Dec 19 23:10:57 2010 +0100
-
-    Allow comparing Gtk.TreePath to None
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=637615
-
- gi/overrides/Gtk.py     | 12 ++++++------
- tests/test_overrides.py |  6 ++++++
- 2 files changed, 12 insertions(+), 6 deletions(-)
-
-commit 046cc5915286e042d1040271a90676b77632409e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Dec 16 15:41:10 2010 -0500
-
-    handle unicode objects in properties
-
-    * There are still some cavets in Python 2:
-      - properties are returned as String objects with the unicode
-      code points
-      - you must add # coding=utf-8 to the top of your python file
-      or python
-        will error out if it sees embeded unicode charaters (such as when
-        supporting python 3 and python 2 from the same source)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620579
-
- gobject/pygtype.c        | 35 ++++++++++++++++++++++++++---------
- tests/test_properties.py | 16 ++++++++++++++++
- 2 files changed, 42 insertions(+), 9 deletions(-)
-
-commit 7aa783d5cd674f34da318f826bd5f4a0e09d24cb
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Dec 14 12:29:54 2010 +0100
-
-    dsextras.py: check if gcc is there when platform is win32 and compiler
-    is mingw32
-
- dsextras.py | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit cebf5f09a6c5018ced64f35e7747fc81b93b823e
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Dec 14 12:29:01 2010 +0100
-
-    dsextras.py: be consistent in how distutils imports are done
-
- dsextras.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 35e590d48c78f2e76c47c2b4eaf0f7e8d1ed5c93
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Dec 14 12:25:07 2010 +0100
-
-    dsextras.py: add have_gcc() function
-
- dsextras.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 637c2c287cfb0e89365026531c651111f5593ac7
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Dec 14 12:24:41 2010 +0100
-
-    dsextras.py: use distutils.spawn.find_executable for have_pkgconfig()
-
- dsextras.py | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-commit 020d00bc0ce7b77006b4d4f42d63122d79bcbf89
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Tue Dec 14 12:22:54 2010 +0100
-
-    setup.py: fix another case of use True/False instead of 1/0
-
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b03cc9e0d66d8caea3cd6a63db198c43de9267e9
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Mon Dec 13 10:21:52 2010 +0100
-
-    pygi-convert.sh: improve GtkSourceView conversion
-
- pygi-convert.sh | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit fbc12cd7c09a67de9e28b7b0b28de9dc0e0e3418
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Mon Dec 13 10:27:56 2010 +0100
-
-    pygi-convert.sh: Gtk.DialogFlags conversion
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 73e933d2429aea4d14e15350a538da1c5c3f71eb
-Author: José Alburquerque <jaalburqu@svn.gnome.org>
-Date:   Sun Dec 12 20:38:46 2010 -0500
-
-            Doc Extractor: Print the gtk-doc blocks sorted by function
-            name.
-
-            * codegen/docextract_to_xml.py: Print the xml of the gtk-doc
-            block in
-            alphabetical order according to the identifier (function name)
-            so that
-            the generation of xml files in the C++ bindings is
-            deterministic.
-            Thanks to Krzesimir Nowak for suggesting this in a
-            gtksourceviewmm
-            recent commit.
-
- codegen/docextract_to_xml.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit db7ffa75b007074cb6b33b547c6d8140da300a3e
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Mon Dec 13 00:17:26 2010 +0100
-
-    pygi-convert.sh: add more Gtk conversions and sort
-
- pygi-convert.sh | 50 ++++++++++++++++++++++++++------------------------
- 1 file changed, 26 insertions(+), 24 deletions(-)
-
-commit f4bfe73d0ccedf7f671d3acd6d9e262d5383b733
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Mon Dec 13 00:01:40 2010 +0100
-
-    pygi-convert.sh: convert Atk
-
- pygi-convert.sh | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-commit e55ce3667eb1d352bf96f265bf018ffe8aea75f9
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Dec 12 23:48:48 2010 +0100
-
-    pygi-convert.sh: convert a few more Gio types
-
- pygi-convert.sh | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit acc9f84bc6e13d76c6516cefe393d4a4f868aa24
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Dec 12 14:19:00 2010 +0100
-
-    pygi-convert.sh: more GLib conversion
-
- pygi-convert.sh | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit c903390814bebdc62d530472f6f94feecc59b8b3
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Dec 12 14:00:34 2010 +0100
-
-    pygi-convert.sh: remove two cases handled by overrides
-
- pygi-convert.sh | 2 --
- 1 file changed, 2 deletions(-)
-
-commit d33c987e505ec8ddffa2b8cb5526f05b9b5f62be
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Dec 12 13:38:56 2010 +0100
-
-    Override Gtk.ScrolledWindow constructor
-
- gi/overrides/Gtk.py     | 7 +++++++
- tests/test_overrides.py | 7 +++++++
- 2 files changed, 14 insertions(+)
-
-commit 1c24bb089fcd69e3104ae72a0e7560a8c5a3f05b
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Dec 12 12:32:39 2010 +0100
-
-    pygi-convert.sh: Fix 'find' syntax
-
- pygi-convert.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f0a1d6b6bb53d0fa2788d8b9027d737b0aef8dfc
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Dec 12 12:29:38 2010 +0100
-
-    pygi-convert.sh: start handling Gio and GLib
-
- pygi-convert.sh | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit 365bf3251af3498dc797a58cce071805451b49b1
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Dec 11 23:05:31 2010 +0100
-
-    pygi-convert.sh: convert Gdk.ScrollDirection.
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit bca603de0f217fb290189a0ea330f82961c46d5d
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Dec 11 15:03:21 2010 +0100
-
-    Override Pango.Layout constructor.
-
-    I must take a Pango.Context argument. Unfortumately the context is
-    not a
-    gobject property so we need to jump through some oops.
-
- gi/overrides/Pango.py   | 13 +++++++++++++
- tests/test_overrides.py |  6 ++++++
- 2 files changed, 19 insertions(+)
-
-commit df233301802e3f7f9ce338cde015ca2a2fc648ab
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Dec 11 14:18:53 2010 +0100
-
-    Remove Pango.FontDescription() conversion.
-
-    It is now properly handled by an override.
-
- pygi-convert.sh | 1 -
- 1 file changed, 1 deletion(-)
-
-commit d8abcc9463542af9cd43d71849d0ad4c183b570b
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Fri Dec 10 14:05:20 2010 +0100
-
-    Override GtkAction and GtkRadioAction constructors.
-
- gi/overrides/Gtk.py     | 20 +++++++++++++++++---
- tests/test_overrides.py | 18 ++++++++++++++++++
- 2 files changed, 35 insertions(+), 3 deletions(-)
-
-commit 7924b18a99a0680c04aca46be4b64a7aa507dfe5
-Author: Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com>
-Date:   Sat Dec 4 22:13:28 2010 +0000
-
-    Override Adjustment constructor to behave like pygtk
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=636486
-
- gi/overrides/Gtk.py     | 7 +++++++
- tests/test_overrides.py | 9 +++++++++
- 2 files changed, 16 insertions(+)
-
-commit e76352dd83c8706e68ad57d00d185da9afea99c4
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Dec 9 13:23:10 2010 -0500
-
-    add secondary_text apis to MessageDialog
-
- gi/overrides/Gtk.py     | 8 ++++++++
- tests/test_overrides.py | 8 ++++++++
- 2 files changed, 16 insertions(+)
-
-commit de682b2d36c362140ab7d43c0743b01ec0865a74
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Dec 8 16:39:27 2010 -0500
-
-    [gi] get rid of some debug prints and fix error messages
-
- gi/overrides/Gtk.py | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-commit dbb16571803bf51f497768bf80944514f4290ee5
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Dec 8 18:25:15 2010 +0100
-
-    Fix demo for override changes.
-
- demos/gtk-demo/gtk-demo.py | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-commit 2adcd95762944a4e27123093d3c8d080e49be1ea
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Dec 8 18:06:01 2010 +0100
-
-    Override Pango.FontDescription.
-
- demos/gtk-demo/gtk-demo.py |  2 +-
- gi/overrides/Makefile.am   |  1 +
- gi/overrides/Pango.py      | 40 ++++++++++++++++++++++++++++++++++++++++
- tests/test_overrides.py    |  7 +++++++
- 4 files changed, 49 insertions(+), 1 deletion(-)
-
-commit 769da968c9187414d0420412d8fb8c833d12042a
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Dec 8 17:38:11 2010 +0100
-
-    Stop checking that all vfuncs are implemented
-
-    Because some methods are optionally implementable but g-i won't
-    tell us.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=619606
-
- gi/gimodule.c    |  4 +++-
- gi/types.py      | 12 ++----------
- tests/test_gi.py | 10 ----------
- 3 files changed, 5 insertions(+), 21 deletions(-)
-
-commit 167a01c46b3fa0b3c8339502c875d32bd2bca974
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Dec 8 17:37:00 2010 +0100
-
-    Fix usage of TreeIter api that is now an override.
-
- demos/gtk-demo/gtk-demo.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit d2cfd6e9250d40de7c715ac74e299deddf137683
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Dec 8 17:34:54 2010 +0100
-
-    Fix Gtk.Label(label="Foo")
-
-    Use 'label' as an argument name instead of 'str', otherwise we may
-    end up up with two 'label' in the kwds dict. Besides 'str' is a
-    reserved keyword.
-
- gi/overrides/Gtk.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit c0c684c9bb4e2bc08d7cb6ac246705e8a3b77656
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Dec 8 14:16:39 2010 +0100
-
-    Fix typo when raising an exception
-
- gi/types.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 88c9a3ad49d9fcf779c3523672d8bf4767910301
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Wed Dec 8 10:46:27 2010 +0100
-
-    pygi-convert.sh: Added more conversions
-
- pygi-convert.sh | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-commit 4d8d96326b2cac91e6d75e6601b92e202d1918ff
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Tue Dec 7 20:39:15 2010 +0100
-
-    Override LinkButton constructor to make 'uri' mandatory
-
- gi/overrides/Gtk.py     | 7 +++++++
- tests/test_overrides.py | 6 ++++++
- 2 files changed, 13 insertions(+)
-
-commit f4f7fb35af1b41598dc050f5df155a01c370a920
-Author: Dmitry Morozov <dmitry.a.morozov@yandex.ru>
-Date:   Sat Dec 4 19:19:19 2010 +0600
-
-    Container should be iterable.
-
- gi/overrides/Gtk.py     | 9 +++++++++
- tests/test_overrides.py | 6 +++++-
- 2 files changed, 14 insertions(+), 1 deletion(-)
-
-commit d2ad05d6d8d53b941e0ad33fcb200f1245a2d308
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Tue Dec 7 14:13:00 2010 +0100
-
-    No need to import Gdk
-
- gi/overrides/Gtk.py | 1 -
- 1 file changed, 1 deletion(-)
-
-commit b6a40badf0b2b59e690ce818efb03c7c816b8a04
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Tue Dec 7 14:07:53 2010 +0100
-
-    Remove semicolumns
-
- gi/overrides/Gtk.py | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-commit cdc9c26553bf47ea488676e7bdc5f8ab0a2c906b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Dec 6 16:05:30 2010 -0500
-
-    [gi] make sure Gtk.Button override passes all keywords to parent
-    constructor
-
- gi/overrides/Gtk.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit cede81ad65db017e95543d8d35715751aa202fed
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Dec 5 13:31:20 2010 +0100
-
-    Fix cut&paste error in the Label override
-
- gi/overrides/Gtk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 607c59b74ebbc1e39cb4121c870b689e1888c106
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Dec 4 16:03:27 2010 +0100
-
-    pygi-convert.sh: handle TextWindowType
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit dfeabe0b68938e27da2e65903983b5113dc422f1
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Dec 4 15:49:15 2010 +0100
-
-    Override Label constructor to behave like pygtk
-
- gi/overrides/Gtk.py     | 7 +++++++
- tests/test_overrides.py | 4 ++++
- 2 files changed, 11 insertions(+)
-
-commit da4e045e5abbed2796cc4ed39df35a0dde2de31b
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Dec 4 15:40:35 2010 +0100
-
-    Override GtkTable constructor to behave like pygtk
-
- gi/overrides/Gtk.py     |  7 +++++++
- tests/test_overrides.py | 12 ++++++++++++
- 2 files changed, 19 insertions(+)
-
-commit 81452c23ab1befa59ff375692e582791432796a5
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Dec 4 12:59:43 2010 +0100
-
-    pygi-convert.sh: convert MovementStep
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 4d097eea94258eda0c328711491fd456cbd6741b
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Dec 4 11:57:02 2010 +0100
-
-    Update Gdk overrides to work with latest Gtk+ 3
-
-    For now added consitionals on version == 2.0, but maybe at some
-    point we
-    shuld just clean up the old stuff.
-
- gi/overrides/Gdk.py | 22 ++++++++++++++++------
- 1 file changed, 16 insertions(+), 6 deletions(-)
-
-commit cda317195566711d66190145b545e26ed7226172
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Thu Dec 2 23:47:40 2010 -0200
-
-    Gtk: add an override for Gtk.main_quit
-
-    Override gtk.main_quit so that it can be used as a callback
-    to signals, most importantly to the destroy signal of a widget:
-
-       widget.connect('destroy', gtk.main_quit)
-
-    This is compatible with what PyGTK does.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=636336
-
- gi/overrides/Gtk.py      |  5 ++++-
- gi/overrides/__init__.py | 27 +++++++++++++++++++++++++--
- 2 files changed, 29 insertions(+), 3 deletions(-)
-
-commit 82689cbf53d92b1b951a459fe3de0e1d3a91791a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Dec 2 16:27:04 2010 -0500
-
-    [gi] handle subtypes when inserting into tree models
-
-    * Often modules will give back basic types wrapped in a subtype.
-      This is the case with D-Bus where you may want to keep some of the
-      metadata around.  More often than not, the developer is just looking
-      to use the basetype.
-
-    * This override checks the column type and handles basic types such as
-      gchararrays, ints, longs, floats and doubles, converting them
-      to their
-      base types before sending them to the generic GI type marshaller.
-
-    * More types may need to be supported but these are the common
-    cases where
-      apps break.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=635172
-
- gi/overrides/Gtk.py     | 38 ++++++++++++++++++++++++++++++++++++--
- tests/test_overrides.py |  8 +++++++-
- 2 files changed, 43 insertions(+), 3 deletions(-)
-
-commit 677490e9402bad7b7c2a832345ef54f7f0c5fc7f
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Fri Dec 3 23:39:50 2010 +0100
-
-    Override TreeSelection.select_path and TreeView.scroll_to_cell
-
-    The "path" argument may also be a string or a tuple
-
- gi/overrides/Gtk.py     | 10 ++++++++++
- tests/test_overrides.py | 29 +++++++++++++++++++++++++++++
- 2 files changed, 39 insertions(+)
-
-commit dacfe618fa244445c979f1a5efa80c1f9a5a4ae9
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Fri Dec 3 23:29:00 2010 +0100
-
-    Override TreePath.__new__
-
-    Instead of having a private _tree_path_from_string it is cleaner to
-    override __new__ and it will be useful for all the api that take a
-    TreePath or a string or a tuple.
-
- gi/overrides/Gtk.py     | 33 +++++++++++++++------------------
- tests/test_overrides.py | 18 ++++++++++++++++++
- 2 files changed, 33 insertions(+), 18 deletions(-)
-
-commit 7a8af9e220ee48aa28f6b025c5dae324b14fe128
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Nov 28 13:02:30 2010 +0100
-
-    Override Container to behave like a sequence
-
- gi/overrides/Gtk.py     |  6 ++++++
- tests/test_overrides.py | 11 +++++++++++
- 2 files changed, 17 insertions(+)
-
-commit 94e8befc935d4a6c7f766e34195e10fc3fb3b93a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Nov 30 16:57:05 2010 -0500
-
-    refactor Jonathan Matthew recurse vfunc patch so it applys and clean
-    up a bit
-
-    * this patch does the recursion using the previous patche's support
-    functions
-
- gi/types.py | 55 +++++++++++++++++++++++++++++++++++++++++++++----------
- 1 file changed, 45 insertions(+), 10 deletions(-)
-
-commit 9c5aee4f06f92457f9ae987656c0c469f76d0ee8
-Author: Jonathan Matthew <jonathan@d14n.org>
-Date:   Thu Jul 22 23:19:51 2010 +1000
-
-    Recurse up through base classes when setting up vfuncs
-
-    * this patch adds the support methods to do the recursion
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625033
-
- gi/gimodule.c    | 130
- ++++++++++++++++++++++++++++++++++++++++---------------
- tests/test_gi.py |  37 ++++++++++++++++
- 2 files changed, 131 insertions(+), 36 deletions(-)
-
-commit 78358e1ab54d02317f397276adee03ecb2187588
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Nov 29 18:29:57 2010 -0500
-
-    add a profiling torture test for when we fix up invoke
-
- tests/test_everything.py | 67
- ++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 67 insertions(+)
-
-commit 792e679c06df4357843fd310c7953a931172fc99
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Nov 29 16:41:38 2010 -0500
-
-    moved dynamic and base modules outside of gtk-2.0 directory
-
-    * do not move header files yet as they are mostly used by static
-    bindings
-    * do not remove pygtk.pth and pygtk.py files yet - there is a debate
-    on moving
-      these back to pygtk but you might want to import gio static
-      bindings without
-      having to have pygtk installed
-    * I have not tested this with pygtk, committing it so we can find
-    out if it
-      causes any issues with legacy modules and code
-
- gi/Makefile.am            | 2 +-
- gi/overrides/Makefile.am  | 2 +-
- gi/repository/Makefile.am | 2 +-
- glib/Makefile.am          | 2 +-
- gobject/Makefile.am       | 2 +-
- tests/test_gi.py          | 2 --
- tests/test_overrides.py   | 3 ---
- 7 files changed, 5 insertions(+), 10 deletions(-)
-
-commit c587e1ace7429195ac6fd4db03d2f33e2af09838
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Nov 29 15:11:46 2010 -0500
-
-    add test for inout argument count
-
- tests/test_gi.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 5de88b4bcffdafcf8c7c20033cdf95dc690199ce
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Nov 22 19:17:23 2010 -0500
-
-    [gi] add check for UNICHAR
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=623615
-
- gi/pygi-argument.c       | 27 ++++++++++++++++++++++++++-
- tests/test_everything.py | 17 +++++++++++++++--
- 2 files changed, 41 insertions(+), 3 deletions(-)
-
-commit f129b3db2c78d3cce3614993fdd1619fb9eb9c79
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Nov 21 12:16:53 2010 +0100
-
-    Support gunichar
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=623615
-
- gi/pygi-argument.c       | 60
- ++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-info.c           |  5 ++++
- tests/test_everything.py |  5 ++++
- 3 files changed, 70 insertions(+)
-
-commit fd2c0288eb67823fca1265348a27a9f8f147ae50
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Nov 27 23:01:42 2010 +0100
-
-    pygi-convert.sh: gtk.accel_map -> Gtk.AccelMap._
-
- pygi-convert.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 13d0ff1d9c129bb458e234b630ebe920b50e2e0f
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Nov 27 22:34:13 2010 +0100
-
-    pygi-convert.sh: handle "from gtk import gdk"
-
- pygi-convert.sh | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 63a97634031c3d159ad77fdaa1f6341d7656eb07
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Nov 27 22:23:24 2010 +0100
-
-    pygi-convert.sh: add some Pango special cases
-
- pygi-convert.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 57e42bf4230d1aa20a47e3b0df2e509602333892
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Nov 27 19:51:38 2010 +0100
-
-    Override TextIter (begins|ends|toggles)_tag()
-
-    Make the tag argument optional.
-
- gi/overrides/Gtk.py     |  9 +++++++++
- tests/test_overrides.py | 17 +++++++++++++++++
- 2 files changed, 26 insertions(+)
-
-commit 828b698e47ee819a60d24a772a3cc51ff9cd6601
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Nov 27 19:32:48 2010 +0100
-
-    Override TextBuffer.set_text() to make length optional
-
- gi/overrides/Gtk.py     |  3 +++
- tests/test_overrides.py | 11 ++++++++++-
- 2 files changed, 13 insertions(+), 1 deletion(-)
-
-commit bf55dc862755a57bb1b998702d284fc460e88a30
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Nov 27 16:46:40 2010 +0100
-
-    Override TextBuffer.create_mark()
-
-    Override create_mark to make the left_gravity argument optional
-
- gi/overrides/Gtk.py     | 3 +++
- tests/test_overrides.py | 3 +++
- 2 files changed, 6 insertions(+)
-
-commit 94c0e2f71636d055bdebe3ec378f3d339eea66c9
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sat Nov 27 16:10:33 2010 +0100
-
-    Fix TextBuffer.get_selection_bounds() override
-
-    Fix the override and add unit test
-
- gi/overrides/Gtk.py     | 8 +++++---
- tests/test_overrides.py | 7 +++++++
- 2 files changed, 12 insertions(+), 3 deletions(-)
-
-commit 0cd717e3926276540b9145e58a4a3368136b00de
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Nov 22 18:35:09 2010 -0500
-
-    [gi] fix ActionGroup constructor to allow other keyword properties
-    to be set
-
- gi/overrides/Gtk.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 226777cdb70fc72d206664ffd8b6737f7239d23f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Nov 22 18:32:28 2010 -0500
-
-    [gi] require the name parameter when creatin a Gtk.ActionGroup
-
- gi/overrides/Gtk.py     | 3 +++
- tests/test_overrides.py | 2 ++
- 2 files changed, 5 insertions(+)
-
-commit d0049fa9982d13b3553b05569fb0a227e48b6647
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Nov 21 15:20:58 2010 +0100
-
-    Override UIManager.insert_action_group
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=635437
-
- gi/overrides/Gtk.py     |  3 +++
- tests/test_overrides.py | 34 +++++++++++++++++++++-------------
- 2 files changed, 24 insertions(+), 13 deletions(-)
-
-commit e1db544e46aeed984133896af34b671a6a5547df
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Nov 21 23:03:25 2010 +0100
-
-    Override TreeModel.get() to return a tuple
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=635466
-
- gi/overrides/Gtk.py     | 15 +++++++++++++++
- tests/test_overrides.py |  6 ++++++
- 2 files changed, 21 insertions(+)
-
-commit a5e806ad8a8b279402ff7adb1c1cdc04f9f3da76
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Nov 21 21:57:40 2010 +0100
-
-    Make TreeSelection.get_selected_rows compatible with PyGtk
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=635464
-
- gi/overrides/Gtk.py | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit 1c537bc67107948c92b51ba6ba749747e84263e2
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Nov 22 15:04:00 2010 -0500
-
-    [gi] switch to using sequences/tuples when marshalling
-    cairo_rectangle_int_t
-
-    * Upstream pycairo didn't want to add a new wrapper for
-    cairo_rectangle_int_t
-    * this works around that issue by using 4 element squences instead
-    which
-      should be accepted by pycairo for any API that takes a rect
-
- gi/pygi-foreign-cairo.c | 85
- +++++++++++++++++++++++++++++++++++++------------
- 1 file changed, 64 insertions(+), 21 deletions(-)
-
-commit 4cede8f12321bed6c3b71813a62c01b61853ba69
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Nov 19 16:46:53 2010 -0500
-
-    [gi] overrides for treeview Drag and Drop
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627367
-
- gi/overrides/Gdk.py |  7 +++++++
- gi/overrides/Gtk.py | 25 +++++++++++++++++++++++++
- 2 files changed, 32 insertions(+)
-
-commit 3fd51bb903724b752f72f49c7cb35652b819791d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Nov 19 16:44:32 2010 -0500
-
-    [gi] when encountering guint8 arrays treat them as byte arrays
-
-    * In Python 2 this means returning a PyString object
-    * In Python 3 we return a PyBytes object
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627367
-
- gi/pygi-argument.c | 65
- ++++++++++++++++++++++++++++++++++++++++++++----------
- tests/test_gi.py   |  6 +++--
- 2 files changed, 57 insertions(+), 14 deletions(-)
-
-commit 7ddb0f7fd8b1b9e8f691c6d42a83cb16c6561d26
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Fri Nov 19 18:19:38 2010 +0100
-
-    pygi-convert.sh: Add pynotify -> Notify
-
- pygi-convert.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit bf03d4db03a7739ac16ddc4e614441557ede554d
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Fri Nov 19 09:08:07 2010 +0100
-
-    pygi-convert.sh: Remove sugar specifics, and allow command line
-    file list
-
-    This script is generally useful for converting pygtk2 projects,
-    not just for
-    sugar. Remove the sugar specific bits, since they will just cause
-    errors.
-
-    Also allow the user to specify the files to convert as command line
-    arguments. If not given, all *.py files will be processed.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=635244
-
- pygi-convert.sh | 25 +++++--------------------
- 1 file changed, 5 insertions(+), 20 deletions(-)
-
-commit 18f5d229d3a4b9520c1c456be2635c8e36015c12
-Author: Martin Pitt <martin.pitt@ubuntu.com>
-Date:   Fri Nov 19 09:00:35 2010 +0100
-
-    pygi-convert.sh: Cover Message and Buttons types
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=635244
-
- pygi-convert.sh | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit ef74273c2043944708515e59a654ebe4944b46ff
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Nov 18 13:54:48 2010 -0500
-
-    [gi] fix actiongroup test since actions are hashed
-
-    * when actions are listed they may not show up in the order they
-    were entered
-      since they reside in an unordered hash internally
-
- tests/test_overrides.py | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-commit 2c25886bf6710568d0646f82dce4770faa44c40d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Nov 17 14:38:09 2010 -0500
-
-    [gi] when converting to UTF-8 accept Python Unicode objects as input
-    (Python 2)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620579
-
- gi/pygi-argument.c          | 14 ++++++++++++--
- glib/pyglib-python-compat.h |  5 +++++
- tests/test_gi.py            |  3 +++
- 3 files changed, 20 insertions(+), 2 deletions(-)
-
-commit 8c2d32c8205b971b4353e3d5d2ed1efa6ef0e06c
-Author: Damien Caliste <damien.caliste@cea.fr>
-Date:   Fri Nov 12 10:20:32 2010 +0100
-
-    Correct a bug in the freeing of memory in pygi-invoke.c.
-
-    When a method with inout arguments is called from Python with
-    a wrong number of arguments, the system crashs because of an
-    assertion fail. This patch corrects this behaviour.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=634671
-
- gi/pygi-invoke.c | 25 ++++++++++++++-----------
- 1 file changed, 14 insertions(+), 11 deletions(-)
-
-commit d9bab3b185bb59bd29e3c3f6225f3636f58ec45e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Nov 10 14:11:56 2010 -0500
-
-    update news for release
-
- NEWS | 73
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 73 insertions(+)
-
-commit 1338a95339e21cc02b9df6d10166996c8b97a6bf
-Author: Jonathan Matthew <jonathan@d14n.org>
-Date:   Tue Sep 28 13:44:13 2010 +1000
-
-    Implement richcompare for GIBaseInfo
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625033
-
- gi/pygi-info.c | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-commit 9ce3edf69824935aeca9e676eaa9782786c22a97
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Nov 9 22:57:41 2010 -0500
-
-    [gi] add the rectangle_int_t forign cairo type
-
-    * the pycairo maintainer is not being responsive so you will need
-    the patch at
-      https://bugs.freedesktop.org/show_bug.cgi?id=31111
-    * added conditionals, if the api doesn't exist in PyCairo we will
-    compile
-      without the forign structs
-
- gi/pygi-foreign-cairo.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 68b8211d8b014cf26ca7e9ab751fb3f61f228290
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Oct 25 18:28:36 2010 -0400
-
-    add a foreign type for cairo_rectangle_int_t and allow it to be
-    caller-allocated
-
-    * this is needed because Gdk and Gtk switched from returning a
-    GdkRectangle
-      to a CairoRectangleInt structure
-    * the patch in https://bugs.freedesktop.org/show_bug.cgi?id=31111
-    is required
-      for pycairo (however there is currently no patch for python 2)
-    * added fix for foreign types to allow them to be caller allocated
-    * in order for a type to be caller allocated it must be able to take
-    a NULL
-      and create an empty struct in foreign_struct_from_arg and it must
-      be able
-      to handle GI_TRANFER_EVERYTHING in foreign_struct_to_arg.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627545
-
- gi/pygi-foreign-cairo.c | 57
- +++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-invoke.c        | 15 +++++++++++--
- 2 files changed, 70 insertions(+), 2 deletions(-)
-
-commit ce8b948310220288e9eef904eef4ec8f4e24a376
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Nov 9 22:11:51 2010 -0500
-
-    [gi] add overrides to Gtk.Editable
-
- gi/overrides/Gtk.py     | 17 +++++++++++++++++
- tests/test_overrides.py | 12 ++++++++++++
- 2 files changed, 29 insertions(+)
-
-commit 87dbc716f26cefc0e9427c3d6e8befe8eabd3d1e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Nov 9 21:12:54 2010 -0500
-
-    [gi] handle virtual invokers
-
-    * right now we check to see if there is an method with the same name
-      as the virtual method and assume that is the invoker
-    * some invokers are named different so we now ask the VFuncInfo if
-      the vfunc has an invoker
-    * this is still not completly correct, gi needs to support telling
-      us which vfuncs must be overridden.
-    * this keeps the old way of checking vfuncs while adding the edge case
-      where vfunc is named differently from their invoker
-
- gi/pygi-info.c | 16 ++++++++++++++++
- gi/types.py    |  2 +-
- 2 files changed, 17 insertions(+), 1 deletion(-)
-
-commit 540e9f1f349ba3625e28b7673c92210eb8974098
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Nov 9 12:17:05 2010 -0500
-
-    add overrides for the insert* apis of list_store and tree_store
-
-    * add set_row to tree_model as convinience method for both list and
-    tree stores
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=634423
-
- gi/overrides/Gtk.py     | 80
- ++++++++++++++++++++++++++++++++++++++-----------
- tests/test_overrides.py | 53 +++++++++++++++++++++++++++++++-
- 2 files changed, 114 insertions(+), 19 deletions(-)
-
-commit 0bcb58b9541d9ae52e1d96e6239e9dbe0698872a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Nov 5 13:56:12 2010 -0400
-
-    fix dialogs overrides which were relying on broken inheritance
-    behavior
-
- gi/overrides/Gtk.py | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-commit 89c104d17d79d7b935cd76101cba19d49390f7be
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Nov 4 12:00:14 2010 -0400
-
-    Add a overrides registry so we can refrence overrides inside the
-    module
-
-    * Overrides have a reentrancy issue when doing inheritance.  If an
-    override
-      inherits from another override down the stack it won't see the
-      override
-      because the module is not finished loading and will inherit from the
-      non-overriden object instead.  This causes type errors later.
-    * By adding the overrides to a registry outside of the module we
-    can order
-      registration and make the override available as soon as the class
-      is parsed,
-      not when the whole module is parsed.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=633347
-
- gi/module.py                       | 12 ++++++++++-
- gi/overrides/GIMarshallingTests.py |  2 +-
- gi/overrides/Gdk.py                |  2 +-
- gi/overrides/Gtk.py                |  2 +-
- gi/overrides/__init__.py           | 43
- ++++++++++++++++++++++++++++++++++++++
- gi/types.py                        |  8 -------
- tests/test_overrides.py            | 27 ++++++++++++++++++++++++
- 7 files changed, 84 insertions(+), 12 deletions(-)
-
-commit 878b8f630acd2146bee364054acd45cd33eea37a
-Merge: cdacaa95 e3178381
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Fri Nov 5 11:40:22 2010 +1300
-
-    Merge remote branch 'dieterv/setup-fixes-for-merge'
-
-commit e317838178fba5f0590fb8bd323f49602d564b53
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Thu Nov 4 11:16:43 2010 +0100
-
-    setup.py: ease maintenance burden for tests installation
-
- setup.py | 23 +++--------------------
- 1 file changed, 3 insertions(+), 20 deletions(-)
-
-commit cdacaa9572893796e0f3aa3730d0191911cb29ee
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Nov 3 09:51:09 2010 -0400
-
-    fix inheritence issues in overrides
-
- gi/overrides/Gtk.py | 79
- +++++++++++++++++++++++++++--------------------------
- 1 file changed, 40 insertions(+), 39 deletions(-)
-
-commit 3d5955767d81f45e796ab2af0707533375681774
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:38:56 2010 +0100
-
-    tests: add runtests-windows.py script
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- tests/runtests-windows.py | 47
- +++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 47 insertions(+)
-
-commit 8cb3f2e78161639c568110aad6a807dcf59f3ae8
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:35:52 2010 +0100
-
-    pygobject_postinstall.py: remove pygobject-2.0.pc treatment from
-    postinstall as pkg-config on windows figures out the correct prefix
-    at runtime
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- pygobject_postinstall.py | 26 +++-----------------------
- 1 file changed, 3 insertions(+), 23 deletions(-)
-
-commit 63167574df53eb481cc11b6a097b2bfe7d5747f5
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:34:38 2010 +0100
-
-    pygobject_postinstall.py: remove shortcut creation
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- pygobject_postinstall.py | 35 +----------------------------------
- 1 file changed, 1 insertion(+), 34 deletions(-)
-
-commit f7b12611f94fd8c27fb67a03746c10149ce6e0ef
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:31:14 2010 +0100
-
-    setup.py: formatting cleanup, makes things readable
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- setup.py | 56 ++++++++++++++++++++++++++------------------------------
- 1 file changed, 26 insertions(+), 30 deletions(-)
-
-commit a31b4196fbb4638a245430f2fdeafd7534b1d84d
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:28:36 2010 +0100
-
-    setup.py: build and install tests
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- setup.py | 61
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 61 insertions(+)
-
-commit 7c3b0c20b83c05833d73c240690dce3daf43fde8
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:26:59 2010 +0100
-
-    setup.py: install documentation when available on build system
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- setup.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 78533d851ee1314686f18cfa793613a9cf7d6686
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:25:56 2010 +0100
-
-    setup.py: install pygobject-codegen script
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- setup.py | 25 +++++++++++++++++++++++++
- 1 file changed, 25 insertions(+)
-
-commit ad40688df533dda0b1f7be8ea37c542b8796a26b
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:24:45 2010 +0100
-
-    setup.py: install fixxref.py script
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- setup.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 21ddfc66e4e18c002a33154eb4ab81170ed71ecc
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:23:05 2010 +0100
-
-    setup.py: rearrange constants
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- setup.py | 37 ++++++++++++++++++++-----------------
- 1 file changed, 20 insertions(+), 17 deletions(-)
-
-commit 7d353d04892de67265bf693f591f37fd393de639
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:18:11 2010 +0100
-
-    setup.py: check python version and pkgconig availability before
-    anything else
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- setup.py | 18 ++++++++++--------
- 1 file changed, 10 insertions(+), 8 deletions(-)
-
-commit 286364ed39953e942e24d5911519bcac2f90975a
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:05:59 2010 +0100
-
-    setup.py: simplify sys.platform != 'win32' detection and error
-    reporting
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- setup.py | 29 +++++++++--------------------
- 1 file changed, 9 insertions(+), 20 deletions(-)
-
-commit 3f70f92904c123e6cc40929c0affd3f75d061828
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 09:02:30 2010 +0100
-
-    setup.py: rearrange imports
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- setup.py | 31 ++++++++++++++++++++++---------
- 1 file changed, 22 insertions(+), 9 deletions(-)
-
-commit 9aa54b65f729c0f3b0e96ab7ff797f87dad6a455
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 08:58:00 2010 +0100
-
-    README.win32: update build instructions
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- README.win32 | 13 +++++--------
- 1 file changed, 5 insertions(+), 8 deletions(-)
-
-commit 5a33105f690ba84b2e4bb15d73d3467e92fa06e0
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 07:59:18 2010 +0100
-
-    dsextras.py: formatting cleanup, makes things readable
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- dsextras.py | 148
- ++++++++++++++++++++++++++++++++++++++----------------------
- 1 file changed, 93 insertions(+), 55 deletions(-)
-
-commit d03503d0412d173acb383926ab3c2d640dad3e3f
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 07:00:40 2010 +0100
-
-    dsextras.py: add ggc4 to MSVC compatible struct packing comment
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- dsextras.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 8c62968e9f8467e24870b8c4f61112676eef4630
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 06:56:32 2010 +0100
-
-    dsextras.py: use the pkgc_ functions instead of repeating pgk-config
-    incantations all over the place
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- dsextras.py | 15 ++++++---------
- 1 file changed, 6 insertions(+), 9 deletions(-)
-
-commit b98277afc24886bbda400e0ad360992bffa77b7c
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 06:49:48 2010 +0100
-
-    dsextras.py: add pkgc_get_version and pkgc_get_defs_dir functions
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- dsextras.py | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit a565558652ebc3fa49d7aea40d399b06bbe376c4
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 06:45:05 2010 +0100
-
-    dsextras.py: PEP8: Comparisons to singletons like None should always
-    be done with 'is' or 'is not', never the equality operators.
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- dsextras.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 4b1ff0c7f9953f925d2178069263cca67ca7db02
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 06:44:21 2010 +0100
-
-    dsextras.py: use True/False instead of 1/0
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- dsextras.py | 25 +++++++++++++------------
- 1 file changed, 13 insertions(+), 12 deletions(-)
-
-commit 819a21cea831c3892040390e9446b78a91d1cbbe
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 06:28:04 2010 +0100
-
-    dsextras.py: rearrange imports
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- dsextras.py | 58
- +++++++++++++++++++++++++++++++---------------------------
- 1 file changed, 31 insertions(+), 27 deletions(-)
-
-commit d20edbfdde2819f8d4fee8cb3170c126fcd31d5f
-Author: Dieter Verfaillie <dieterv@optionexplicit.be>
-Date:   Wed Nov 3 06:16:21 2010 +0100
-
-    Add distutils generated build/dist directories and eclipse
-    configuration files to .gitignore
-
-    Signed-off-by: Dieter Verfaillie <dieterv@optionexplicit.be>
-
- .gitignore | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 268d6ed2b0b1d266c612da4453b6117d9e14437e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Oct 28 15:32:28 2010 -0400
-
-    [gi] add tests for calling dir on a dynamic module
-
- tests/test_gi.py | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
-commit f6386a6e0d225c83cdbe1add4c4d3ea51d3ec2f0
-Author: Deepankar Sharma <deepankar.sharma@gmail.com>
-Date:   Wed Oct 27 18:28:11 2010 -0400
-
-    [gi] dir() now works for modules
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625093
-
- gi/module.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit 28ed01c34c503cfb4f14fe7af7912060ca70aba6
-Author: Simón Pena <spenap@gmail.com>
-Date:   Mon Sep 20 23:10:14 2010 +0200
-
-    Don't check the inner type when comparing gpointers
-
-    When using pyg_pointer_richcompare to compare two objects,
-    don't check their inner types. As we can't compare their private
-    fields, nor get a proper compare function, we can consider them
-    gpointers and compare them that way.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=629552
-
- gobject/pygpointer.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 1731f89e4b5a20c33976963e12a1f39a21d33fde
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Oct 28 14:21:12 2010 -0400
-
-    Release GIL when calling into C functions
-
-    Author: Daniel P. Berrange <dan@berrange.com>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=629042
-
- gi/pygi-invoke.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-commit 783e2e351ec7470bda6b441e51f387dd61543c4b
-Author: José Aliste <jaliste@src.gnome.org>
-Date:   Fri Oct 15 14:30:10 2010 -0300
-
-    _gi.Repository : Implement missing info bindings.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=632185
-
- gi/pygi-info.c | 91
- +++++++++++++++++++++++++++++++++++++++++++++++++---------
- gi/pygi-info.h |  7 +++++
- 2 files changed, 84 insertions(+), 14 deletions(-)
-
-commit 2ca897273f52ae38f5e06e72c773a048e199eee5
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Oct 28 13:49:15 2010 -0400
-
-    include Python.h so that PY_VERSION_HEX gets defined
-
- gi/pygi-foreign-cairo.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 8b28b1d713df33931e255600ab98feda37a8e02a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Oct 28 13:47:34 2010 -0400
-
-    [gi] make overrides work for python 3.x protocols and alias for
-    python 2.x
-
- gi/overrides/Gtk.py | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-commit 3c09710d2f68af9c16ce39fd25656147656a486a
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 23 14:24:24 2010 +0200
-
-    Override Gtk.Widget.translate_coordinates to not return success value
-
- gi/overrides/Gtk.py | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-commit 9d4443b3de8c327d8645ddde0a7a6dc5b977d7b4
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 23 14:22:36 2010 +0200
-
-    Override Gtk.TreeViewColumn.cell_get_position to not return success
-    value
-
- gi/overrides/Gtk.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 6679d39ace06294e98f9d6fc911ed6fb27656010
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 23 14:21:36 2010 +0200
-
-    Override get_path_at_pos and get_dest_row_at_pos of Gtk.TreeView to
-    not return success value
-
- gi/overrides/Gtk.py | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit 80b1b266fa68a5c67106871502017166628f71e4
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 23 14:20:38 2010 +0200
-
-    Override Gtk.TreeSortable.get_sort_column_id to not return success
-    value
-
- gi/overrides/Gtk.py | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-commit 17cd0fb3a2d2ca0c6109c41727ba0b8c42217cd5
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 23 14:19:20 2010 +0200
-
-    Override forward_search and backward_search of Gtk.TextIter to not
-    return success value
-
- gi/overrides/Gtk.py | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-commit 95c86fa31da3d2fe84db0e2b5bc2a6dc896c9223
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 23 14:18:09 2010 +0200
-
-    Override Gtk.TextBuffer.get_selection_bounds to not return success
-    value
-
- gi/overrides/Gtk.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit da6d87460b9392c29d025a7eed9249fb604204bc
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 23 14:17:04 2010 +0200
-
-    Override Gtk.RecentInfo.get_application_info to not return success
-    value
-
- gi/overrides/Gtk.py | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 0ed2e8772bdc405b0d0c7e0b2803e0e141abcb6a
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 23 14:16:21 2010 +0200
-
-    Override Gtk.IMContext.get_surrounding to not return success value
-
- gi/overrides/Gtk.py | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit b85b445f15421209c0b4adf676d7c8218d6437c5
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 23 14:15:24 2010 +0200
-
-    Override get_item_at_pos, get_visible_range, get_dest_item_at_pos
-    of Gtk.IconView to not return success value
-
- gi/overrides/Gtk.py | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-commit 684d716192d58c972083e579e909bcd97f8a5025
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 23 14:13:47 2010 +0200
-
-    Override Gtk.Container.get_focus_chain to not return success value
-
- gi/overrides/Gtk.py | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit 8ec830c57fafbfe50d9619c6caba3cb95a00d688
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 23 14:12:44 2010 +0200
-
-    Override Gtk.ComboBox.get_active_iter to not return success value
-
- gi/overrides/Gtk.py | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit b483852904468722230903989e3451c7c6a24c0f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Oct 12 12:18:33 2010 -0400
-
-    [gi] make parameter check less strict when dealing with GValue params
-
-    * Some GValue API can store a pointer to a python object for later
-      use but our parameter checking was too strict to allow this
-    * Add pyg_type_from_object_strict API which takes a strict boolean and
-      returns PY_TYPE_OBJECT if no other GType can be found
-    * Since we don't have enough info to genrically check GValue
-    parameters
-      use the less strict type guessing when encountering a GValue param
-    * Other API stays the same and continues to do strict testing
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=622987
-
- gi/pygi-argument.c          | 17 ++++++---------
- gobject/gobjectmodule.c     |  4 ++--
- gobject/pygobject-private.h |  1 +
- gobject/pygobject.h         |  2 ++
- gobject/pygtype.c           | 37 +++++++++++++++++++++++++++++----
- tests/test_gi.py            |  1 -
- tests/test_overrides.py     | 50
- +++++++++++++++++++++++++++++++++++++++++----
- 7 files changed, 90 insertions(+), 22 deletions(-)
-
-commit 8c87d622dcc6d76a981edfc5818fe67bb2e114e2
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Fri Oct 22 13:28:31 2010 +1300
-
-    Shortcut removal is not needed on post-uninstall
-
- pygobject_postinstall.py | 14 ++------------
- 1 file changed, 2 insertions(+), 12 deletions(-)
-
-commit a3ed97fe6f80548801739fe6b72771b9eb6d93f7
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Thu Oct 21 13:25:35 2010 +1300
-
-    Disable shortcut creation in windows installer
-
- pygobject_postinstall.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a3d6212b0abccef58f05d454c091936776413d98
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Oct 7 11:43:27 2010 -0400
-
-    overrides for all subclasses of dialog
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=631634
-
- gi/overrides/Gtk.py     | 94
- +++++++++++++++++++++++++++++++++++++++++++++----
- tests/test_overrides.py | 64 ++++++++++++++++++++++++++++++++-
- 2 files changed, 151 insertions(+), 7 deletions(-)
-
-commit a87e3ba64b54e6df0b5b96af47c34e3be790b58f
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Thu Oct 7 19:37:53 2010 +0200
-
-    Make TreeModel behave like in GTK-2.x
-
-    Moved stuff from __getitem__ to get_iter.
-    Added TreePath.__cmp__
-
-    get_iter_from_string throws ValueError.
-    iterchildren() does not return None.
-
-    Adjusted tests to new TreeModel and added TestGtk.test_tree_model
-    method
-
-    Added support for negative row and column indices
-
-    Use rich comparison methods instead of __cmp__
-
-    Added TreeModel.__bool__/__nonzero__
-
-    Raise Error if tree path string is empty
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=631547
-
- gi/overrides/Gtk.py     | 195
- ++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_overrides.py | 160 +++++++++++++++++++++++++++++++++++++--
- 2 files changed, 349 insertions(+), 6 deletions(-)
-
-commit acfcc29af727fb67d0dfbbcc7cc14963ef21f1ea
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Sat Oct 16 18:59:25 2010 +1300
-
-    Correctly build GIO on windows
-
- setup.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 33b59fd7437009b6c3ed43412e171d2cc91ee317
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Sat Oct 16 18:17:28 2010 +1300
-
-    Require Python >= 2.6.0 for Windows build
-
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 544e0e4de4f5f97b0584eaf72ae8a081eca28ab6
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Sat Oct 16 17:41:01 2010 +1300
-
-    Fix depreciation warning in dsextras.py
-
- dsextras.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 239ff961778e4e1587404d8a70dfbe8630ab0623
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Sat Oct 16 17:34:50 2010 +1300
-
-    Fix build on windows
-
- gi/pygi-foreign.c | 5 ++++-
- gi/pygi.h         | 5 ++++-
- setup.py          | 4 ++--
- 3 files changed, 10 insertions(+), 4 deletions(-)
-
-commit 9a2f81d63012fef23fdde2b4d903bd69601c07c6
-Author: Michael Culbertson <michael.culbertson@gmail.com>
-Date:   Sat Oct 16 17:08:11 2010 +1300
-
-    Support for GCC4 in Windows distutils build - bug 626548
-
- dsextras.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 27367c8dc3a3a31fdd778505b319cd3f4afb9e27
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Fri Oct 15 09:39:02 2010 +1300
-
-    Remove obsolete comments in dsextras.py
-
- dsextras.py | 11 ++---------
- 1 file changed, 2 insertions(+), 9 deletions(-)
-
-commit b5f383f854fb8f72677828b029589320c59006d1
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Fri Oct 15 09:21:03 2010 +1300
-
-    Broken dsextras.py pkg-config check error message
-
-            * Fixes bug 631962
-
- dsextras.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e1981da105b574e273ae6500fc6d25caf6af6aae
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Sep 28 15:31:03 2010 -0400
-
-    add compat functions for the deprecated PyCObject api
-
-    * Moved to using the PyCapsule API for python >= 3
-    * PyCObject is removed from Python 3.2
-    * It has also been deprecated in 2.7 but since we use the API in
-    header files
-      which are consumed by static binding modules, appling this for
-      python 2.7
-      causes crashes unless the modules are recompiled, breaking ABI.
-      It is safe
-      to rely on for 2.7 because it will never be removed and there is
-      talk of
-      undeprecating it upstream.
-    * There is no issues with static bindings under python 3 because
-    they are not
-      supported yet and most likely never will be.
-    * Even if PyCObject is brought back in 3.2, PyCapsule is a much
-    safer API
-      which adds a poorman's type check when unboxing.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=630844
-
- gi/gimodule.c               |  2 +-
- gi/pygi.h                   |  5 ++++-
- glib/glibmodule.c           |  2 +-
- glib/pyglib-python-compat.h | 28 ++++++++++++++++++++++++++++
- glib/pyglib.c               |  6 +++---
- glib/pygoptioncontext.c     |  2 +-
- gobject/gobjectmodule.c     |  2 +-
- gobject/pygobject.h         |  6 ++++++
- gobject/pygtype.c           | 10 +++++-----
- 9 files changed, 50 insertions(+), 13 deletions(-)
-
-commit 03d2e2924e27a9d6cae89e5748f70e0a51be91c6
-Author: Damien Caliste <damien.caliste@cea.fr>
-Date:   Tue Sep 28 12:44:42 2010 +0200
-
-    Add __path__ attributes.
-
-    Add an attribute __path__ to DynamicModule and IntrospectionModule,
-    using the path of the typelib.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=630807
-
- gi/module.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 28f9366c9cb382801bad080864f667c867daa3c7
-Author: Sebastian Pölsterl <sebp@k-d-w.org>
-Date:   Sat Oct 9 17:40:40 2010 +0200
-
-    Override Gtk.TreeSelection.get_selected to not return success value.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=631765
-
- gi/overrides/Gtk.py | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-commit f01a7d9e8222663ce52100e061033f2745a5e7af
-Author: Vincent Untz <vuntz@gnome.org>
-Date:   Thu Oct 7 09:42:24 2010 +0200
-
-    Make row optional in Gtk.TreeStore/ListStore.append override
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=631548
-
- gi/overrides/Gtk.py | 36 ++++++++++++++++++++++--------------
- 1 file changed, 22 insertions(+), 14 deletions(-)
-
-commit 1e1357f5fa1a034b0b707040d664ac46be6e23f7
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Oct 4 12:50:55 2010 -0400
-
-    Revert "add compat functions for the deprecated PyCObject api"
-
-    This reverts commit f25e763d53e5cdd4de08e90b04aea4b4c4720ac0.
-
-    I ment to commit another patch and ended up comitting both
-
- gi/gimodule.c               |  2 +-
- gi/pygi.h                   |  5 +----
- glib/glibmodule.c           |  2 +-
- glib/pyglib-python-compat.h | 19 -------------------
- glib/pyglib.c               |  6 +++---
- glib/pygoptioncontext.c     |  2 +-
- gobject/gobjectmodule.c     |  2 +-
- gobject/pygobject.h         |  6 ------
- gobject/pygtype.c           | 10 +++++-----
- 9 files changed, 13 insertions(+), 41 deletions(-)
-
-commit 97774cb149c5b03d5ef82a5af3f19e2ce4d79d0b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Oct 4 12:43:31 2010 -0400
-
-    return NULL instead of -1 which fixes crash when introspection is
-    turned off
-
-    * see https://bugzilla.gnome.org/show_bug.cgi?id=631158
-
- gi/pygi.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f25e763d53e5cdd4de08e90b04aea4b4c4720ac0
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Sep 28 15:31:03 2010 -0400
-
-    add compat functions for the deprecated PyCObject api
-
-    * Moved to using the PyCapsule API for python >= 2.7
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=630844
-
- gi/gimodule.c               |  2 +-
- gi/pygi.h                   |  5 ++++-
- glib/glibmodule.c           |  2 +-
- glib/pyglib-python-compat.h | 19 +++++++++++++++++++
- glib/pyglib.c               |  6 +++---
- glib/pygoptioncontext.c     |  2 +-
- gobject/gobjectmodule.c     |  2 +-
- gobject/pygobject.h         |  6 ++++++
- gobject/pygtype.c           | 10 +++++-----
- 9 files changed, 41 insertions(+), 13 deletions(-)
-
-commit 80b8ccd450fe4e3ea77b27e58bb63cabc2a2bb2b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Sep 28 15:28:16 2010 -0400
-
-    fix commit 7fe83108 which didn't use the compat functions for
-    string handling
-
- glib/glibmodule.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 9562842907a9d94f6adae2c1bb20d6b1f189abda
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Sep 28 13:15:57 2010 -0400
-
-    Python 3 fixes for dsextras and the python.m4 distribution files
-
- dsextras.py  | 13 +++++++------
- m4/python.m4 |  4 ++--
- 2 files changed, 9 insertions(+), 8 deletions(-)
-
-commit 98f69957ee9e3037b0a05a037098e4d2133ca256
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Sep 27 14:01:31 2010 -0400
-
-    post release bump to 2.27.0 unstable
-
-    * update hacking to fill in some holes in the release instructions
-
- HACKING      | 6 ++++--
- configure.ac | 2 +-
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-commit fd38010101411e6bc1ca9314657f418de660fa13
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Sep 27 12:03:10 2010 -0400
-
-    update NEWS for release
-
- NEWS | 93
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 93 insertions(+)
-
-commit 7072d56b6cba13da97a052c75d1ae0c2cc417fd1
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Sun Sep 26 08:37:31 2010 +0200
-
-    Pre-release version bump 2.26.0
-
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit a549f429d2ced7a78d5baa5e2f28f6750b4788f2
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Fri Sep 24 22:44:03 2010 +1200
-
-    Wrap g_get_system_{config,data}_dirs ()
-
-            * Also tidy up g_get_{cache,config,data}_dir
-              to share common code
-
- glib/glibmodule.c | 68
- ++++++++++++++++++++++++++++++++++++++++---------------
- 1 file changed, 50 insertions(+), 18 deletions(-)
-
-commit 328aca600714bdca89dfdb531c222ee561ede27e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Sep 24 12:16:22 2010 -0400
-
-    fixed make check and make dist
-
- tests/Makefile.am | 31 ++++++++++++++++++-------------
- 1 file changed, 18 insertions(+), 13 deletions(-)
-
-commit 27023fd56148dd17b5576c1e81e0fe851d9b8727
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Fri Sep 24 21:20:53 2010 +1200
-
-    Disable GI tests when introspection disabled
-
- tests/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 7fe831081cdd2e26f5d948326b9f89ea0694e752
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sat Jul 18 19:35:08 2009 +0200
-
-    Wrap g_uri_list_extract_uris. Fixes bug #584431
-
- glib/glibmodule.c   | 38 ++++++++++++++++++++++++++++++++++++++
- gobject/__init__.py |  2 +-
- tests/Makefile.am   |  3 ++-
- tests/test_uris.py  | 15 +++++++++++++++
- 4 files changed, 56 insertions(+), 2 deletions(-)
-
-commit d6721a59c294f2471142b8c32de2f647b7084bca
-Author: Paul Bolle <pebolle@tiscali.nl>
-Date:   Thu Sep 23 15:38:40 2010 -0400
-
-    Fix a few uses of TRUE and FALSE in the docs
-
- docs/reference/pygio-mount.xml         |  5 +++--
- docs/reference/pyglib-functions.xml    | 18 +++++++++---------
- docs/reference/pyglib-maincontext.xml  | 12 ++++++------
- docs/reference/pyglib-mainloop.xml     |  6 +++---
- docs/reference/pygobject-functions.xml |  6 +++---
- docs/reference/pygobject.xml           |  4 ++--
- 6 files changed, 26 insertions(+), 25 deletions(-)
-
-commit a08c9fffb4262ae678e17f90bbfb2d5f880cfad0
-Author: Damien Caliste <damien.caliste@cea.fr>
-Date:   Tue Sep 21 17:52:14 2010 +0200
-
-    pygi: always free the invocation_state struct
-
-    In pygi-invoke.c, the invocation_state struct is never freed
-    in case of success. Thus, always call _free_invocation_state()
-    before leaving.
-    Modify _free_invocation_state to avoid double free in case of
-    caller-allocated GValue, once as a released argument in the
-    _process routine and another time in the _free as the special
-    case. So move all argument releasing code from the _process
-    routine to the _free one.
-    Modify the tests for the callback routines to return an integer
-    value as specified in the GIR file.
-
-    Make check is as successful as before (already existing error
-    related to GVariant is still there).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=630271
-
- gi/pygi-invoke.c         | 83
- +++++++++++++++++++++---------------------------
- tests/test_everything.py |  4 ++-
- 2 files changed, 40 insertions(+), 47 deletions(-)
-
-commit 9714d765a34e246899f11b6792eea3aecce0b7ec
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Sep 13 16:36:47 2010 +0200
-
-    Start implementing something equivalent to g_variant_new
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=629367
-
- gi/gimodule.c              |  20 +++++++
- gi/overrides/GLib.py       | 131
- ++++++++++++++++++++++++++++++++++++++++++---
- gi/pygi-foreign-gvariant.c |   2 +-
- tests/test_everything.py   |  16 ------
- tests/test_overrides.py    |  25 +++++++++
- 5 files changed, 170 insertions(+), 24 deletions(-)
-
-commit fc45abdd9b55ab63556798ab0f04715be79dba08
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 23 10:49:36 2010 -0400
-
-    fixed typo - missing comma in glib.option module
-
-    * https://bugzilla.gnome.org/show_bug.cgi?id=627449
-
- glib/option.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 4ed100f3183c6325dd04461484e877bb7d4131b1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Sep 17 12:08:09 2010 -0400
-
-    add checks so we can compile under python 3 by setting PYTHON=python3
-
-    * compile for python 3
-    * disables gio if compiling under python 3.x
-    * runs only pertinant tests
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- configure.ac      | 32 +++++++++++++++++++++++++++++---
- tests/Makefile.am | 35 ++++++++++++++++++++---------------
- tests/runtests.py |  4 ++++
- 3 files changed, 53 insertions(+), 18 deletions(-)
-
-commit 269ff8564eeb597dc06c27e293354b7ff7a71a82
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Sep 17 15:50:47 2010 +0200
-
-    Rename static methods as functions
-
-    In recent gobject-introspection releases, static methods have been
-    removed and placed as functions in the namespace level. In a future
-    releases it's planned to become static methods again but for now
-    let's fix the tests.
-
- tests/test_gi.py | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-commit 2da8da589644d6125101210712defb1272a8abb1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 9 13:52:14 2010 -0400
-
-    fix a couple of compiler warnings
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=629199
-
- gi/pygi-argument.c      | 4 ++--
- gi/pygi-struct.c        | 2 +-
- gobject/gobjectmodule.c | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-commit 6769a4704f0876ac3baacd4da03ff16d9f0906be
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 9 13:55:17 2010 -0400
-
-    remove unused code
-
-    * we use richcompare now
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=629198
-
- gobject/pygtype.c | 9 ---------
- 1 file changed, 9 deletions(-)
-
-commit 98f54f9d33996baeaa8c8c1240310f5396d03a1d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Sep 14 14:10:49 2010 -0400
-
-    Check the type of the instance object
-
-    * in python 2 methods were added to classes as unbound methods and
-    they would
-      check the instance type to make sure it was correct
-    * in python 3 for perfomance reasons methods are added to classes
-    as simple
-      functions which treat the instance as an untyped argument so
-      no checks
-      are made.
-    * this patch adds a type check so that the correct errors are
-    thrown in
-      python 3 (python 2 this just adds another layer of redundancy should
-      something change with type checking in the future)
-    * since GI handles regular args and the instance arg slightly
-    differently
-      we had to split out the interface checks in
-      _pygi_g_type_info_check_object
-      in order to not duplicate code
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/pygi-argument.c | 182
- ++++++++++++++++++++++++++++-------------------------
- gi/pygi-argument.h |   2 +
- gi/pygi-invoke.c   |  14 +++++
- 3 files changed, 112 insertions(+), 86 deletions(-)
-
-commit 5d79498d38b147b66ae72c1481e397160491e8d6
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Sep 15 10:26:20 2010 -0400
-
-    include the correct pycairo version
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/pygi-foreign-cairo.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit b855562e5c0019cd7e4982fe00c467ede9e3926d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 9 22:16:58 2010 -0400
-
-    Use PyMapping_Keys to determine if an object is a dict (py3k fix)
-
-    * in Py3k PyMapping_Check returns true for sequences such as strings
-      and lists.  Since we need to get the keys anyway, and it returns
-      NULL if this is not a dict, this is a much better test, even in
-      Py2
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/pygi-argument.c | 10 +++-------
- 1 file changed, 3 insertions(+), 7 deletions(-)
-
-commit 0e72e28c6c5502c7db5103cf1299c9f0e6689fdd
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 9 18:44:11 2010 -0400
-
-    fix handling of UINT64 and INT64 arguments in py3k
-
-    * decode to the right sized C long
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/pygi-argument.c | 20 ++++++++++++--------
- 1 file changed, 12 insertions(+), 8 deletions(-)
-
-commit d5666d99a1c0396b7da0cb14f9f4ff8892da7e2e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 9 17:35:10 2010 -0400
-
-    properly handle ulongs properties in py3k
-
-    * If this is a PyLong object pull use AsUnsignedLong
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gobject/pygtype.c | 29 ++++++++++++++++-------------
- 1 file changed, 16 insertions(+), 13 deletions(-)
-
-commit 3d431c7dd0de97db10cb0c00c39d9c1837bed2f2
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Sep 17 12:14:56 2010 +0200
-
-    Specify encoding of tests/test_gi.py
-
- tests/test_gi.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit a808bdabb9fa6f4a9b9ce42e1cce05fb37403f0f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 9 13:24:30 2010 -0400
-
-    use actual unicode in the tests on py3k, not the byte representation
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- tests/test_gi.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-commit 928f4485041d80d0c36ff2daeae4bcd09bd0bde4
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 9 12:45:21 2010 -0400
-
-    s/METH_KEYWORDS/METH_VARARGS|METH_KEYWORDS/ when defining object
-    methods
-
-    * in Py3k the METH_KEYWORDS flag by itself is invalid.  A method
-    must be defined
-      with both the METH_VARARGS and METH_KEYWORDS flags.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- glib/pygiochannel.c | 30 +++++++++++++++---------------
- glib/pygsource.c    |  4 ++--
- gobject/pygobject.c |  2 +-
- 3 files changed, 18 insertions(+), 18 deletions(-)
-
-commit b5ee20afa4399c7689fbec8939fa20b927eeb782
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 9 08:04:40 2010 -0400
-
-    fix subclassing PyLong by calling __new__ correctly
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- glib/pygspawn.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit a499b2f0d622b671bd154544f66b73f1278e66ed
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 9 07:56:44 2010 -0400
-
-    minor py3k fixups for python modules
-
-    * add _basestring and _bytes and _callable wrappers
-    * use items instead of iteritems and range instead of xrange
-
-    fix py3k modules
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/overrides/Gtk.py | 24 ++++++++++++++++--------
- glib/option.py      | 16 ++++++++++++----
- 2 files changed, 28 insertions(+), 12 deletions(-)
-
-commit dec9001d26c97949e7b3578086cb35e98075c047
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Sep 9 07:36:04 2010 -0400
-
-    minor fixes in tests for py3k compat
-
-    * add a _bytes wrapper for API that expects bytes in py3k but str
-    in py2
-    * fix some more exception handling using sys.exc_info()[:2]
-    * use range instead of xrange, items instead of iteritems since py3k
-      dropped support for the different ways of accessing iterators
-      - this is less efficient in py2 but we plan to target py3k as the
-        primary platform
-    * use list(dict.items()) since py3k only returns iterables which
-    are not
-      indexable
-    * missed some _long wrapping
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- tests/compathelper.py    | 18 ++++++++++++++++++
- tests/test_everything.py |  5 +++--
- tests/test_mainloop.py   |  3 ++-
- tests/test_option.py     |  6 ++++--
- tests/test_overrides.py  |  4 ++--
- tests/test_properties.py |  6 +++---
- 6 files changed, 32 insertions(+), 10 deletions(-)
-
-commit 09a0daeedf49eaf376c1288be5743b57fbc76d51
-Author: Colin Walters <walters@verbum.org>
-Date:   Thu Sep 9 16:25:51 2010 -0400
-
-    compilation: Fix syntax error
-
- gi/pygi-info.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 9f7afd6d5afd8c1a5f36bf1295814757b71c8cbc
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Sep 9 22:17:00 2010 +0200
-
-    Add missing file
-
- gi/overrides/GLib.py | 48
- ++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 48 insertions(+)
-
-commit 306b792ac97a458ddee59fb86d66453495117f3e
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Jul 22 13:48:51 2010 +0100
-
-    Add override for GLib.Variant.new_tuple
-
-    * gi/gimodule.c: Add _wrap_pyg_variant_new_tuple
-    * gi/overrides/GLib.py: Override Variant.new_tuple and
-    Variant.get_string
-    * gi/pygi-type.[hc]: split _pygi_type_import_by_name out from
-      _pygi_type_import_by_gi_info
-    * gi/types.py: Never override gobject.TYPE_NONE
-    * tests/test_everything.py: Add tests for GVariant tuples
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625050
-
- gi/gimodule.c            | 38 ++++++++++++++++++++++++++++++++++++++
- gi/overrides/Makefile.am |  1 +
- gi/pygi-type.c           | 15 +++++++++------
- gi/pygi-type.h           |  2 ++
- gi/types.py              |  1 +
- tests/test_everything.py |  9 +++++++++
- 6 files changed, 60 insertions(+), 6 deletions(-)
-
-commit 22e53aa2ed9cf6173a877b0af6928d5ab8da2f4f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Sep 8 13:08:48 2010 -0400
-
-    fix for changes in the gi test libraries
-
- tests/test_everything.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 246877074617b0e9c3b2ba2a5395a73e0ed9cd5d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Sep 8 13:08:07 2010 -0400
-
-    Gtk.DialogFlags.NO_SEPARATOR has been removed in Gtk 3.0
-
- gi/overrides/Gtk.py | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-commit f92fc48e7e2ec50996e994ccb7d08a61e7374f22
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Sep 8 12:35:09 2010 -0400
-
-    no need to offset arg positions when is_method is true
-
-    * The old GI libraries required we offset arg positions for the
-    missing
-      self argument.  The new library fixes this so we don't have
-      to offset
-      anymore.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=629087
-
- gi/pygi-callbacks.c | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-commit 8c517de2d278bdef641c72b8f2919a3924290ec1
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Aug 20 14:54:35 2010 +0200
-
-    gi: Add support for more property types
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627494
-
- gi/pygi-property.c       | 156
- ++++++++++++++++++++++++++++++++++++-----------
- tests/test_everything.py |  34 +++++++++++
- 2 files changed, 154 insertions(+), 36 deletions(-)
-
-commit 6d183d1fff55d54569ba3e1f90a10284df74fd40
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Sep 3 12:04:16 2010 -0400
-
-    use PyObject_SetAttrString, not PyDict_SetItemString when setting
-    __gtype__
-
-    * When registering a gtype wrapper we used to set tp_dict
-    directly. This works
-      in python 2 but python 3 seems to handle attributes in a slightly
-      different
-      way where the tp_dict and attr get out of sync.  By setting the attr
-      directly we avoid this issue.
-    * Note that there are many more places where we set __gtype__
-    using tp_dict
-      however for objects which are not instantiated yet we have to
-      set tp_dict
-      directly.
-    * Since this one change fixes a lot of failed tests, for now we
-    ignore the
-      other places where we set __gtype__.  If we run into more issues
-      dealing
-      with __gtype__ we can take a closer look later.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627878
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gobject/gobjectmodule.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b7bf4269682a3335f5e0a52b46fa721af134d09a
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Sep 1 11:03:40 2010 +0200
-
-    Rename GArgument to GIArgument
-
- gi/pygi-argument.c         | 52
- +++++++++++++++++++++++-----------------------
- gi/pygi-argument.h         | 10 ++++-----
- gi/pygi-closure.c          | 34 +++++++++++++++---------------
- gi/pygi-foreign-cairo.c    |  8 +++----
- gi/pygi-foreign-gvariant.c |  4 ++--
- gi/pygi-foreign-gvariant.h |  4 ++--
- gi/pygi-foreign.c          | 12 +++++------
- gi/pygi-foreign.h          |  8 +++----
- gi/pygi-info.c             |  8 +++----
- gi/pygi-invoke.c           | 28 ++++++++++++-------------
- gi/pygi-property.c         |  4 ++--
- gi/pygi.h                  | 16 +++++++-------
- 12 files changed, 94 insertions(+), 94 deletions(-)
-
-commit 7197f85c9be2b03636639ac909ca2c3170653509
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Aug 18 10:29:19 2010 -0400
-
-    fix up tests so they run in py3k
-
-    * add a compat helper that should only be used by tests
-    * fix long notation to use the compat helper instead
-    * add parens to print statements
-    * use compatable try/except pattern
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gobject/propertyhelper.py | 16 +++++++++++-----
- tests/compathelper.py     | 32 ++++++++++++++++++++++++++++++++
- tests/test_option.py      |  7 ++++++-
- tests/test_properties.py  | 24 ++++++++++++++----------
- tests/test_signal.py      | 14 +++++++-------
- tests/test_source.py      |  4 ++--
- 6 files changed, 72 insertions(+), 25 deletions(-)
-
-commit 720e614acdbcf734d4bcccc403e639b5a5bcae24
-Author: Colin Walters <walters@verbum.org>
-Date:   Fri Aug 20 10:58:48 2010 -0400
-
-    tests: Port to new introspection tests
-
-    Everything is renamed "Regress", and both it and GIMarshallingTests
-    are now in source form, so we compile them.
-
-    The scanner now adds "static methods" to objects, structs, and unions,
-    so update the test code to use those.
-
-    In the tests, remove broken (inout) cases - the person writing these
-    tests misunderstood the semantics of (inout).  It's not acceptable for
-    a C API to mutate e.g. a GSList* passed in, or unref an object.
-
-    The invocation code needed to be updated for this - remove some
-    broken hacks.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627878
-
- configure.ac             |   5 +-
- gi/pygi-argument.c       |   9 +--
- gi/pygi-invoke.c         | 147
- +++++----------------------------------------
- tests/Makefile.am        |  42 ++++++++++++-
- tests/test_everything.py |   6 +-
- tests/test_gi.py         | 151
- +++++++++--------------------------------------
- 6 files changed, 93 insertions(+), 267 deletions(-)
-
-commit f6c4d9e58c8f05cb2d82e158c9eb8480308565bd
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Aug 20 10:43:58 2010 -0400
-
-    we need to specify tp_hash since we overide tp_richcompare
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gobject/pygenum.c  | 1 +
- gobject/pygflags.c | 1 +
- 2 files changed, 2 insertions(+)
-
-commit c03e6b482548aee99362356807c804f8834fad2b
-Author: John Ehresman <jpe@wingware.com>
-Date:   Thu Apr 15 17:11:30 2010 -0400
-
-    working enum/flags/pid subclasses of long
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- glib/pygspawn.c    |  7 ++---
- gobject/pygenum.c  | 61 ++++++++++++++++++++++++-------------------
- gobject/pygflags.c | 76
- +++++++++++++++++++++++-------------------------------
- 3 files changed, 71 insertions(+), 73 deletions(-)
-
-commit 0db676fd2296750a46ba0fb069e472da06ecc53a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Aug 18 11:03:32 2010 -0400
-
-    make vfuncs work in py3k
-
-    * methods now export __func__ instead of im_func for getting the
-    function
-      out of a method closure
-    * however classes no longer return unbound methods in py3k and instead
-      return the actual function
-    * in python 2 we use im_func when getting the function from the
-    vfunc closure
-    * in py3k we simply assign vfunc to the function
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/types.py | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-commit 286dcd0c6455961d818ac7f05f80f82435abc1dc
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Aug 17 15:43:42 2010 -0400
-
-    make cairo module compile in py3k
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/Makefile.am          |  2 +-
- gi/pygi-foreign-cairo.c | 17 +++++++----------
- 2 files changed, 8 insertions(+), 11 deletions(-)
-
-commit bda58ec34fc443fe1108afc8532bec50f6fd0b44
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Aug 17 02:33:45 2010 -0400
-
-    fix exceptions so they work in python 3.x
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/module.py | 2 +-
- gi/types.py  | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit 427a3c8053feca35ccd746575760ac8a0ed50a12
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Aug 17 02:24:44 2010 -0400
-
-    make the gi module compile under 3.x
-
-    * include the compat macros
-    * use GLIB_MODULE_START/END to define module
-    * add PyInit__gi to the exported symbols
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/Makefile.am |  2 +-
- gi/gimodule.c  | 24 +++++++++---------------
- 2 files changed, 10 insertions(+), 16 deletions(-)
-
-commit 1dee5dcd2b1747b4a4af438c0443d7930e4802db
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Aug 17 02:14:14 2010 -0400
-
-    fix up testshelper module so it compiles in python 3.x
-
-    * include the compat header
-    * fix up PyInts to be PYGLIB_Long
-    * Use PYGLIB_DEFINE_TYPE macros to define module objects
-    * Use PYGLIB_MODULE_START/END to define modules
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- tests/Makefile.am        |   2 +-
- tests/testhelpermodule.c | 221
- ++++++-----------------------------------------
- 2 files changed, 28 insertions(+), 195 deletions(-)
-
-commit 1ff83a2ccb7301c8f675913f1c4f6118ea50b9c7
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Aug 16 21:14:27 2010 -0400
-
-    convert to using PYGLIB_DEFINE_TYPE for module objects
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/pygi-boxed.c      |  43 ++-----------
- gi/pygi-info.c       | 171
- ++++++++++++++++++++-------------------------------
- gi/pygi-repository.c |  39 +++---------
- gi/pygi-struct.c     |  45 +++-----------
- 4 files changed, 88 insertions(+), 210 deletions(-)
-
-commit 1efa2b12913b194d433c17014bc1077271a6ca32
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Aug 16 13:51:05 2010 -0400
-
-    some more p3k PyString and PyInt eradication in GI
-
-    * add the glib dir to the includes list in the build
-    * make sure we include the compat macros
-    * add GLIB_PyBytes_FromString to compat macros
-    * add GLIB_PyNumber_Long to compat macros
-    * use RichCompare instead of Compare
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/Makefile.am              |  2 +-
- gi/pygi-argument.c          | 96
- +++++++++++++++++++++++++++------------------
- gi/pygi-boxed.c             |  1 +
- gi/pygi-info.c              | 13 +++---
- gi/pygi-private.h           | 23 +++++++++++
- gi/pygi-repository.c        |  8 ++--
- gi/pygi-struct.c            |  1 +
- glib/pyglib-python-compat.h |  6 +++
- 8 files changed, 103 insertions(+), 47 deletions(-)
-
-commit 6b902c66200c1684513a9ef31bdef3f2ff64e4fa
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Aug 20 09:28:57 2010 +0200
-
-    pyglib: Fix typo (Leo Singer)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627408
-
- glib/option.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 3cefffecc1317b6ad77a5ed936bfb990d16bf9d3
-Author: Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-Date:   Thu Aug 19 18:45:05 2010 -0300
-
-    Add defines for size_t and ssize_t conversion functions
-
-    These missing defines cause the resulting module to have unresolved
-    symbols, rendering it unusable.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627440
-
- glib/pyglib-python-compat.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit d45c7031876f355e15409f00f3e50e77d18f8f4b
-Author: Colin Walters <walters@verbum.org>
-Date:   Thu Aug 19 17:50:35 2010 -0400
-
-    pyglib: Fix a compiler warning
-
- glib/pyglib.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 0fe6828ddce187ac1897a1f02ca1c5480796d5b9
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Aug 18 20:36:51 2010 +0200
-
-    Don't force gtk 2.0
-
- pygi-convert.sh | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
-commit ac59c18a4f2bfff47c862b763aaf1d1cf136a4f5
-Author: Steve Frécinaux <code@istique.net>
-Date:   Tue Aug 17 14:49:30 2010 +0200
-
-    Fix some ref leaks in hook_up_vfunc_implementation()
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=627143
-
- gi/gimodule.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-commit 18ee0db673c2fa42244ab85950bbf4840edb674b
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Aug 12 12:16:31 2010 -0400
-
-    handle strings correctly in gio
-
- gio/gappinfo.override |  5 +++++
- gio/pygio-utils.c     | 42 +++++++++++++++++++++++++++++++++++-------
- 2 files changed, 40 insertions(+), 7 deletions(-)
-
-commit 45ab0c03110c911b47519941dfd753326891b5e0
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Aug 11 16:13:59 2010 -0400
-
-    make giomodule compile under py3k
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gio/giomodule.c | 153
- +++++++++++++++++++++++++++++---------------------------
- 1 file changed, 78 insertions(+), 75 deletions(-)
-
-commit c52f8ed3ae8cb66a03b5695e980770c3f467f755
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Aug 11 16:04:48 2010 -0400
-
-    for py3k we need to do some more processing to get bytes from a
-    unicode string
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- gi/pygi-argument.c | 31 +++++++++++++++++++++++++++----
- 1 file changed, 27 insertions(+), 4 deletions(-)
-
-commit de9eae4dfcce856a42cc5c569a5b9683c28d0eeb
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Aug 11 15:03:55 2010 -0400
-
-    use Bytes instead of Unicode when reading io
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- glib/pygiochannel.c | 30 ++++++++++++++++++++++++------
- 1 file changed, 24 insertions(+), 6 deletions(-)
-
-commit 5824ff98175b749dbcfa72d24b994230b6e05377
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Aug 9 15:16:51 2010 -0400
-
-    prefix compat macros with PYGLIB
-
-    * refactor from John Ehresman <jpe@wingware.com> py3k branch
-    * fix up some extranious PyString calls
-    * remove duplicate macros from pyglib.h that are in
-    pyglib-python-compat.h
-    * pygobject.h can't import pyglib-python-compat.h so add codepaths
-      for both Py3k and legacy code instead of using macros
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- glib/glibmodule.c           |  48 +++++-----
- glib/pygiochannel.c         |  46 +++++-----
- glib/pyglib-python-compat.h | 153 +++++++++++++++++++++++--------
- glib/pyglib.c               |  22 ++---
- glib/pyglib.h               |  14 ---
- glib/pygoptioncontext.c     |   4 +-
- glib/pygsource.c            |  16 ++--
- glib/pygspawn.c             |  32 +++----
- gobject/gobjectmodule.c     | 216
- ++++++++++++++++++++++----------------------
- gobject/pygboxed.c          |   2 +-
- gobject/pygenum.c           |  84 ++++++++---------
- gobject/pygflags.c          | 122 ++++++++++++-------------
- gobject/pygobject-private.h |  12 +--
- gobject/pygobject.c         |  46 +++++-----
- gobject/pygobject.h         |  23 +++++
- gobject/pygparamspec.c      |  24 ++---
- gobject/pygpointer.c        |   2 +-
- gobject/pygtype.c           | 170 +++++++++++++++++-----------------
- 18 files changed, 563 insertions(+), 473 deletions(-)
-
-commit 231e934cc01d061e81bb60d35127a133cd0e1793
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Aug 16 10:14:04 2010 +0200
-
-    Gtk.Button unit tests
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=622606
-
- tests/test_overrides.py | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-commit f07cfde377e42686c6b80f56cac62338ee333e61
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Mon Aug 16 10:08:38 2010 +0200
-
-    [Gtk] Add overrides for Button
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=622606
-
- gi/overrides/Gtk.py | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-commit 65a06a7216163c7e65b32c5b5f3388faa7fda5d6
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Thu Aug 12 16:18:58 2010 +0200
-
-    Make Cairo an optional dependency
-
-    Add the --enable-cairo configure argument.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616732
-
- configure.ac   | 15 ++++++++++++---
- gi/Makefile.am | 20 ++++++++++++--------
- 2 files changed, 24 insertions(+), 11 deletions(-)
-
-commit b83507263231d9bf47f6c8450583e3d03f0a3b5b
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Aug 16 09:55:35 2010 +0200
-
-    Don't import again PyGObject (John Ralls)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=626996
-
- gi/pygi.h | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 0dc3656070f496431829c6e8441ca17129c569f8
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Aug 9 16:11:55 2010 -0400
-
-    move to using richcompare slot instead of compare
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=615872
-
- glib/pygiochannel.c     | 18 +++++++----
- glib/pyglib.c           | 85
- +++++++++++++++++++++++++++++++++++++++++++++++++
- glib/pyglib.h           |  3 ++
- glib/pygmaincontext.c   | 17 ++++++----
- glib/pygmainloop.c      | 17 ++++++----
- glib/pygoptioncontext.c | 18 +++++++----
- glib/pygoptiongroup.c   | 22 +++++++------
- gobject/pygboxed.c      | 18 +++++++----
- gobject/pygobject.c     | 44 ++++++++++++++++++-------
- gobject/pygparamspec.c  | 19 +++++++----
- gobject/pygpointer.c    | 17 ++++++----
- gobject/pygtype.c       | 26 +++++++++++----
- 12 files changed, 233 insertions(+), 71 deletions(-)
-
-commit b426e531dc53d4b50e572a2da19733479635e662
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Thu Aug 12 18:09:33 2010 +0200
-
-    Replace autogen.sh by a newer version
-
-    It pulls automake 1.10 or 1.11.
-    Greatly inspired from GLib's.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625661
-
- autogen.sh | 506
- +++++++------------------------------------------------------
- 1 file changed, 58 insertions(+), 448 deletions(-)
-
-commit 769645e00d6d055a4cd802454dbfc1bbfcbee691
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Thu Aug 12 14:11:55 2010 +0200
-
-    Fix some warnings
-
-    pyglib.c: In function â€˜pyglib_gerror_exception_check’:
-    pyglib.c:362: warning: format not a string literal and no format
-    arguments
-    pyglib.c:371: warning: format not a string literal and no format
-    arguments
-
-    gio.override: In function 'pygio_notify_allocate_buffer':
-    gio.override:144:13: warning: format '%d' expects type 'int', but
-    argument 3
-    has type 'gsize'
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625437
-
- gio/gio.override | 2 +-
- glib/pyglib.c    | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-commit e4c4cccb588b258dbcd21702e6cddcfe9ebe4ffc
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Thu Aug 12 11:09:37 2010 +0200
-
-    Fix caller-allocates emergency free.
-
-    In the state, args, args[i], arg_infos[i], and arg_type_infos[i]
-    must not be
-    NULL in order to be able caller-allocates. This patch adds those
-    conditions.
-
-    Moreover, the interface info needs to be freed afterwards.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=626684
-
- gi/pygi-invoke.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-commit 0ab967ca40ddcffc2834d4e656bb2010c6b9bdda
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Thu Aug 12 10:46:17 2010 +0200
-
-    Remove useless checks.
-
-    No need to check for state->arg_infos, state->arg_type_infos, and
-    state->args_is_auxiliary to be NULL, they are always allocated.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=626684
-
- gi/pygi-invoke.c | 14 +++-----------
- 1 file changed, 3 insertions(+), 11 deletions(-)
-
-commit e17be9cd288fee5d7cb174d9d577eb9279044c67
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Aug 10 17:40:16 2010 +0200
-
-    Call valgrind with G_SLICE=always-malloc G_DEBUG=gc-friendly
-
- tests/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 8be59c37dd57acc51875c7189ca09d728b729013
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Wed Aug 4 13:43:17 2010 +0200
-
-    Fix some warnings.
-
- gi/pygi-argument.c | 2 --
- gi/pygi-invoke.c   | 2 +-
- gi/pygi-struct.c   | 1 -
- 3 files changed, 1 insertion(+), 4 deletions(-)
-
-commit 529eca6054e9a7e2267f1529e317c2373932762f
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Fri Jul 30 22:39:40 2010 +0200
-
-    Add myself as a maintainer
-
- MAINTAINERS | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit caac75a6ed6f671b37e38a78e71b87906a00ac1b
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Jul 30 14:14:16 2010 +0200
-
-    Properly allocate boxed structs that are (caller-allocates)
-
-    * gi/pygi-boxed.[hc]: Refactor out the allocation of boxed structs
-    * gi/pygi-invoke.c: Don't use g_malloc0 for boxed structs that
-      are (caller-allocates)
-    * tests/test_overrides.py: Split the TreeView tests
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625653
-
- gi/pygi-boxed.c         | 50
- ++++++++++++++++++++++++++++++++-----------------
- gi/pygi-boxed.h         | 10 ++++++----
- gi/pygi-invoke.c        | 16 ++++++----------
- tests/test_overrides.py | 39 +++++++++++++++++++-------------------
- 4 files changed, 64 insertions(+), 51 deletions(-)
-
-commit 99c7322898c00a576c7319ea0a7c808446253133
-Author: Toms Baugis <toms.baugis@gmail.com>
-Date:   Fri Jul 30 15:44:21 2010 +0200
-
-    override gdk.Event to return attribute from the proper event object
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620593
-
- gi/overrides/Gdk.py     | 48
- ++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-invoke.c        |  4 ----
- tests/test_overrides.py | 10 ++++++++++
- 3 files changed, 58 insertions(+), 4 deletions(-)
-
-commit 55814e722c2ae11310f346790c9221e4fad92b50
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 30 06:30:48 2010 -0400
-
-    check if z# needs an int or Py_ssize_t
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625438
-
- gio/gio.override | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 477315465d0a6d84b51e146e86e254873bc564ff
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 30 06:43:06 2010 -0400
-
-    make sure we parse parameters to python object vars not glib vars
-
-    * py_flags was already set up but due to a typo &flags was being
-    passed
-      instead
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625438
-
- gio/gfile.override | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit faa7d4eece7ddb698725098970c2478a3b45c4d5
-Author: Paul Bolle <pebolle@tiscali.nl>
-Date:   Fri Jul 30 10:56:01 2010 +0200
-
-    Make an example and a demo work out of the box
-
-    cairo-demo.py and gtk-demo.py need the two (kind of) magic lines
-    regarding pygtk to work out of the box. So add those.
-
-    Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625638
-
- demos/gtk-demo/gtk-demo.py | 2 ++
- examples/cairo-demo.py     | 2 ++
- 2 files changed, 4 insertions(+)
-
-commit c9da5782e6c633d9af43ee85075e9ee65db09780
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jul 9 13:14:42 2010 -0400
-
-    make sure caller allocated structs are freed when they go out of scope
-
-    * Move struct transfer checks from pygi-arguments to pygi-invoke
-    * add better warning if an unknown struct is fully transfered
-    * only free GValues we create in the invoke cleanup.  All other
-    structs
-      get cleaned up when they go out of scope in python
-    * Fixes issues with caller allocated treeiters getting freed to early
-    * this is a fix to crashes in the current test suite when API's
-    returning
-      TreeIters were annotated as out caller-allocates so no new tests
-      are needed
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=623969
-
- gi/pygi-argument.c | 13 +++++--------
- gi/pygi-invoke.c   | 46 ++++++++++++++++++++++++++++++++++++++++------
- 2 files changed, 45 insertions(+), 14 deletions(-)
-
-commit e0a85305cd107aae5902e524afd074cd8c329927
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Jul 30 10:35:33 2010 +0200
-
-    Revert "override gdk.Event to return attribute from the proper
-    event object."
-
-    Pushed by mistake, we still need testcases
-
-    This reverts commit e7bb3954880568884ca66e7751ede689dc2f24f6.
-
- gi/overrides/Gdk.py | 44 --------------------------------------------
- 1 file changed, 44 deletions(-)
-
-commit 61ffb8d6d08fcfe638f71ea97ceac3a366e5536d
-Author: Paul Bolle <pebolle@tiscali.nl>
-Date:   Thu Jul 29 22:55:28 2010 +0200
-
-    PyGI: properly quit cairo-demo
-
-    Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625619
-
- examples/cairo-demo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e7bb3954880568884ca66e7751ede689dc2f24f6
-Author: Toms Baugis <toms.baugis@gmail.com>
-Date:   Tue Jul 27 21:37:16 2010 +0200
-
-    override gdk.Event to return attribute from the proper event object.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620593
-
- gi/overrides/Gdk.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 44 insertions(+)
-
-commit 0a9f1da052fd33dcef81d0e267fc7972f02c7888
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Wed Jul 28 14:56:00 2010 +0200
-
-    Clean and improve the test infrastructure
-
-    To run select tests, use for instance:
-    % make check TEST_NAMES='test_everything test_gi.TestConstant'
-
-    It works with check.gdb and check.valgrind too.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625488
-
- Makefile.am                |  5 ----
- tests/Makefile.am          | 65
- +++++++++++++++++++++-------------------------
- tests/common.py            | 47 ---------------------------------
- tests/runtests.py          | 43 ++++++++++++------------------
- tests/test_gcancellable.py |  4 +--
- tests/test_gi.py           |  3 ---
- tests/test_gicon.py        |  3 ++-
- tests/test_gio.py          |  3 ++-
- tests/test_gobject.py      |  3 ++-
- tests/test_gresolver.py    |  4 +--
- tests/test_gsocket.py      |  4 ++-
- tests/test_interface.py    |  6 ++++-
- tests/test_mainloop.py     | 11 +++-----
- tests/test_signal.py       |  4 ++-
- tests/test_source.py       |  4 +--
- tests/test_subprocess.py   |  5 +---
- tests/test_thread.py       |  5 +++-
- tests/test_unknown.py      |  5 +++-
- 18 files changed, 82 insertions(+), 142 deletions(-)
-
-commit 82f4cb5ebf5d992493b7a2f74cfd5f175e19eb76
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Jul 29 12:34:19 2010 +0200
-
-    Add some more transformations to pygi-convert.sh
-
- pygi-convert.sh | 37 +++++++++++++++++++++++++++++--------
- 1 file changed, 29 insertions(+), 8 deletions(-)
-
-commit de519adcd21947a0aef7932cdecb78cef200c85e
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jul 28 14:42:36 2010 +0200
-
-    Adapt to API changes: g_irepository_enumerate_versions
-
- gi/importer.py       |  2 +-
- gi/pygi-repository.c | 12 ++++++------
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-commit 01cd9abb43f93f9a57a5a05b6dc9560614e666e3
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jul 28 12:26:48 2010 +0200
-
-    Add GValue<->GArgument marshalling for some more types
-
- gi/pygi-property.c | 37 ++++++++++++++++++++++++++++++++++++-
- 1 file changed, 36 insertions(+), 1 deletion(-)
-
-commit ddffa70c3ee0e837070f390632bc692430f79171
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jul 28 11:10:42 2010 +0200
-
-    Chain up with the non-introspection implementation for properties
-    if needed
-
- gobject/pygobject.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-commit 045433a1f8167205dc8eae613dcb8835d02c8916
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jul 28 10:59:49 2010 +0200
-
-    Improve error reporting for missing attributes in introspection
-    modules
-
- gi/module.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 6655a79b2f13fe417aefdf6aebab0f2d6162ba00
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jul 27 21:52:49 2010 +0200
-
-    Implement getting and setting properties using introspection
-    information.
-
-    This allows us to use information not present in GObject such as
-    transfer and element types.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620808
-
- gi/Makefile.am           |   2 +
- gi/gimodule.c            |   2 +
- gi/pygi-argument.c       |   2 +
- gi/pygi-private.h        |   1 +
- gi/pygi-property.c       | 226
- +++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-property.h       |  39 ++++++++
- gi/pygi.h                |  41 +++++++++
- gobject/pygobject.c      |   9 ++
- tests/test_everything.py |  19 ++++
- 9 files changed, 341 insertions(+)
-
-commit 85f4572b3ffbfa364ebb2e470eab759edc557b36
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jul 27 21:32:41 2010 +0200
-
-    Readd Gdk.Rectangle override for Gtk-2.0
-
- gi/overrides/Gdk.py | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-commit 2082ee35e2a33f52bf1e8ec49cb4a43398e91989
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jul 27 18:25:27 2010 +0200
-
-    Allow specifying a version when loading a typelib
-
-    * gi/importer.py: Defer loading the typelib until first usage.
-    * gi/module.py: Load the typelib in IntrospectionModule().
-    * gi/overrides/*.py: Adapt to API change.
-    * gi/pygi-repository.c: Add wrappers for g_irepository_enumerate and
-      g_irepository_get_version.
-
- gi/importer.py                     | 26 ++++++-----------
- gi/module.py                       | 58
- +++++++++++++++++++++++++-------------
- gi/overrides/GIMarshallingTests.py |  2 +-
- gi/overrides/Gdk.py                |  2 +-
- gi/overrides/Gtk.py                |  2 +-
- gi/pygi-repository.c               | 56
- +++++++++++++++++++++++++++++++++++-
- 6 files changed, 105 insertions(+), 41 deletions(-)
-
-commit 6d7ed6c322234c240b1063a1dfaadd17157432a9
-Author: Jonathan Matthew <jonathan@d14n.org>
-Date:   Tue Jul 13 20:27:28 2010 +1000
-
-    treat GFreeFunc as equivalent to GDestroyNotify when scanning
-    callbacks
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=624232
-
- gi/pygi-callbacks.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 7e9cbd5601ad548b78d106bac1a1576d33b91c65
-Author: Simon van der Linden <svdlinden@gnome.org>
-Date:   Mon Jul 26 17:00:23 2010 +0200
-
-    Don't use == to compare doubles, use <= and =>.
-
-    This avoids inequality due to small precisions difference.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625326
-
- tests/testhelpermodule.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 5ca2a41f16f4a5fcc3ab4d00bec46b077c7eb384
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Jul 8 11:36:12 2010 +0200
-
-    Allow passing ints as enum args
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=622584
-
- gi/pygi-argument.c | 23 +++++++++++++++++++++--
- tests/test_gi.py   |  6 ++++--
- 2 files changed, 25 insertions(+), 4 deletions(-)
-
-commit 890c3233f8a9f884b045a294bf0122bb3afcd54a
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Sun Jul 25 17:30:40 2010 +0100
-
-    Make error message less ambiguous
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=625095
-
- gi/pygi-callbacks.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 1162e436273ff8e9e4e24bd8ba74615fd4624753
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jun 24 10:07:12 2010 -0400
-
-    fix passing in type names as a GType and add gtype unit tests
-
-    * a simple call to pyg_type_from_object covers all the bases
-    * added unit tests to check for correct GType value passing
-    * fixed up tree override tests to also check different ways of
-    passing GTypes
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=622605
-
- gi/pygi-argument.c       |  8 +-------
- tests/test_everything.py | 27 +++++++++++++++++++++++++++
- tests/test_overrides.py  |  6 ++----
- 3 files changed, 30 insertions(+), 11 deletions(-)
-
-commit 8becd32fc042445d62b885bac12dac326b2dc1fa
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jul 26 11:54:47 2010 +0200
-
-    Increase a bit verbosity of tests so people know which test failed
-
- tests/runtests.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3b3c63514f311592e6769a373d37a2bde7ea6b38
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Jul 15 15:17:53 2010 +0200
-
-    Actually add the files for GVariant foreign structs
-
- gi/pygi-foreign-gvariant.c | 63
- ++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-foreign-gvariant.h | 41 ++++++++++++++++++++++++++++++
- 2 files changed, 104 insertions(+)
-
-commit e65275bc57f345c111eb12a6b4476ff1ddc3bc24
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Jul 15 13:31:33 2010 +0200
-
-    Add foreign struct support for GVariant
-
-     * gi/pygi-invoke.c: Wrap foreign structs returned by constructors
-     * gi/pygi-foreign.c: Register foreign support for GVariant
-     * gi/pygi-struct.c: properly release foreign structs
-     * gi/pygi-argument.c, gi/pygi-foreign-cairo.c, gi/pygi.h: Adapt to
-     API changes
-     * tests/test_everything.py: Add basic tests for GVariant
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=619501
-
- gi/Makefile.am           |   2 +
- gi/pygi-argument.c       |   2 +-
- gi/pygi-foreign-cairo.c  |  16 +++----
- gi/pygi-foreign.c        | 107
- +++++++++++++++++++++++++++++------------------
- gi/pygi-foreign.h        |   7 ++--
- gi/pygi-invoke.c         |  18 ++++----
- gi/pygi-struct.c         |  10 ++++-
- gi/pygi.h                |   9 ++--
- tests/test_everything.py |   8 ++++
- 9 files changed, 110 insertions(+), 69 deletions(-)
-
-commit 3b3bd4da3fbc993fa7f7cfb46ed4e67671c94cc0
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jul 12 11:19:06 2010 +0200
-
-    Add HACKING to MANIFEST.in
-
- MANIFEST.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 40bf08ff001b119c7daf709197005ef6480216c5
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jul 12 11:18:04 2010 +0200
-
-    Add HACKING file with instructions for releasing
-
- HACKING | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-commit 3b9dffe7cc3820dfb84fd968fc604899601c5dc4
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jul 12 11:09:58 2010 +0200
-
-    Post release version bump to 2.21.6
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 42a5a0897b38156ae010c396ea254abf502f35de
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jul 12 11:00:29 2010 +0200
-
-    Update NEWS and release PyGObject-2.21.5
-
- NEWS | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-commit 5857f25c1c6e25b79e6134558bd7151bc6c30ef7
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jul 12 11:00:20 2010 +0200
-
-    Pre-release version bump to 2.21.5
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e500adc3ac19ef6f436809e5a8828ac7e8db28f6
-Author: Florian Müllner <florian.muellner@gmail.com>
-Date:   Sat Jul 10 22:35:13 2010 +0200
-
-    Shut up some compiler warnings
-
-    Remove unused variables, make sure variables are properly initialized.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=624066
-
- gi/pygi-callbacks.c | 1 -
- gi/pygi-closure.c   | 2 +-
- gi/pygi-invoke.c    | 1 -
- 3 files changed, 1 insertion(+), 3 deletions(-)
-
-commit 2efa18afbcc2fac1c90958535b2f80e6e730ee56
-Author: =?UTF-8?q?Florian=20M=C3=BCllner?= <florian.muellner@gmail.com>
-Date:   Mon Jul 12 10:31:42 2010 +0200
-
-    Adjust to API break in GObject-Introspection
-
-    As of commit 5cb925b20, many type_tags for standard C types have
-    been removed - namely machine-dependent integer types and derived
-    types (size_t, time_t).
-
-    Most removals are just synonyms of other types, so their removal
-    should not have too much impact, with the exception of time_t,
-    which was translated to a native datetime object before.
-
-    Also remove time_t tests (Tomeu Vizoso).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=624065
-
- configure.ac       |   2 +-
- gi/importer.py     |   7 +--
- gi/pygi-argument.c | 146
- -----------------------------------------------------
- gi/pygi-closure.c  |  10 ----
- gi/pygi-info.c     |  37 --------------
- tests/test_gi.py   |  21 --------
- 6 files changed, 5 insertions(+), 218 deletions(-)
-
-commit 27a417c71f8c122e46c7472663bb25c17413f103
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jul 8 16:01:25 2010 -0400
-
-    pass in the demo app so demos can use utility methods like requesting
-    file paths
-
- demos/gtk-demo/demos/Entry/entry_buffer.py     |  2 +-
- demos/gtk-demo/demos/Entry/entry_completion.py |  2 +-
- demos/gtk-demo/demos/appwindow.py              | 13 +++++++++++--
- demos/gtk-demo/demos/assistant.py              |  2 +-
- demos/gtk-demo/demos/builder.py                | 14 ++++++++++----
- demos/gtk-demo/demos/button_box.py             |  2 +-
- demos/gtk-demo/demos/clipboard.py              |  8 +-------
- demos/gtk-demo/demos/colorselector.py          |  2 +-
- demos/gtk-demo/demos/combobox.py               |  8 +++++---
- demos/gtk-demo/demos/drawingarea.py            |  2 +-
- demos/gtk-demo/demos/test.py                   |  2 +-
- demos/gtk-demo/gtk-demo.py                     |  6 +++---
- 12 files changed, 37 insertions(+), 26 deletions(-)
-
-commit e7daae919c2c6ae35d3927f0006252aacd49ea86
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jul 8 15:38:07 2010 -0400
-
-    demo fixes to keep up with Gtk+
-
-    * treeiter changes to reflect caller-allocate annotations
-    * fix some flag handling
-    * use get_indicies_with_depth instead of get_indices for paths
-
- demos/gtk-demo/demos/appwindow.py | 10 +++++++---
- demos/gtk-demo/demos/combobox.py  | 24 ++++++++++++------------
- demos/gtk-demo/gtk-demo.py        | 13 +++++--------
- 3 files changed, 24 insertions(+), 23 deletions(-)
-
-commit 3d9fd6391710cc33058394d6821e4d4e11f09b22
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jul 8 12:54:43 2010 -0400
-
-    override test fixes for new GTK+ annotations
-
- tests/test_overrides.py | 23 +++++++++++++----------
- 1 file changed, 13 insertions(+), 10 deletions(-)
-
-commit 7a400f8139b70ddfe7c949035e0851689951c647
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Thu Jul 8 12:42:25 2010 +0200
-
-    Fix warning.
-
- gi/pygi-argument.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 39fd0a85a3de06b1b877d1125f91036409886373
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jul 7 15:48:36 2010 -0400
-
-    fix up treeiter usage due to caller-allocates annotations in gtk+
-
-    * we still don't pass tests because the caller-allocates code path
-    does not
-      handle the case where the parameter is followed by a regular
-      in parameter
-
- gi/overrides/Gtk.py     |  7 +++----
- tests/test_overrides.py | 21 +++++++++++----------
- 2 files changed, 14 insertions(+), 14 deletions(-)
-
-commit 4d970b75dc5c75c1bec04cb2954c9985b476070c
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jul 6 17:50:10 2010 -0400
-
-    add entry completion demo
-
- demos/gtk-demo/demos/Entry/entry_completion.py | 87
- ++++++++++++++++++++++++++
- 1 file changed, 87 insertions(+)
-
-commit f3531eaa1bfa4e01651d35cd587384d30a398ba8
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jul 6 17:49:18 2010 -0400
-
-    string changes
-
- demos/gtk-demo/demos/Entry/entry_buffer.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit baf1e9bb550c7bf45e2ac0b70ba29c434ef1ccc6
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jul 6 17:27:04 2010 -0400
-
-    add the Entry demo directory and the entry_buffer demo
-
- demos/gtk-demo/demos/Entry/__init__.py     |  0
- demos/gtk-demo/demos/Entry/entry_buffer.py | 73
- ++++++++++++++++++++++++++++++
- 2 files changed, 73 insertions(+)
-
-commit f2b1d222120f055bec9339cca55c9cc90f538c00
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jul 6 17:26:03 2010 -0400
-
-    fix loading of demo modules to support sub modules
-
- demos/gtk-demo/gtk-demo.py | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-commit 4f9390fb1892b13ab2ea00ed66c5000a40f09029
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jul 6 15:56:34 2010 -0400
-
-    add the ability to have demos in sub catagories
-
- demos/gtk-demo/gtk-demo.py | 76
- ++++++++++++++++++++++++++++++++--------------
- 1 file changed, 54 insertions(+), 22 deletions(-)
-
-commit dc2249a3ecf339008351316217191d0551ccc588
-Author: Jose Aliste <jaliste@src.gnome.org>
-Date:   Mon Jul 5 14:36:59 2010 -0400
-
-    Add  __name__ to DynamicModule class.
-
-    Fixes bug #623486.
-
- gi/module.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 2357bca8d14539894b6bd0acfdc18d30b4bb4db6
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Mon Jul 5 16:11:07 2010 +0200
-
-    Do not override GdkRectangle.
-
-    This class was lately removed from gtk+ 3, so there is no need
-    to override
-    it anymore.
-
- gi/overrides/Gdk.py | 19 -------------------
- 1 file changed, 19 deletions(-)
-
-commit daca09dc2c2306d4fa82a68bbdd147d4b170a1e7
-Author: Philip Withnall <philip.withnall@collabora.co.uk>
-Date:   Tue Jun 29 16:37:36 2010 +0100
-
-    Add override for TreeModel implementing __len__()
-
-    Closes: bgo#622882
-
- gi/overrides/Gtk.py     | 11 +++++++++--
- tests/test_overrides.py |  5 +++++
- 2 files changed, 14 insertions(+), 2 deletions(-)
-
-commit bb8adb7f02f0c5494df2cb6e535e44d23902e8f5
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jun 29 11:27:13 2010 +0200
-
-    Update NEWS and release PyGObject-2.21.4
-
- NEWS | 27 +++++++++++++++++++++++++--
- 1 file changed, 25 insertions(+), 2 deletions(-)
-
-commit 2d473ee17be4671244bb4a2a0953a21ccf2a0df6
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jun 29 10:55:03 2010 +0200
-
-    Remove files from the makefiles
-
- gi/Makefile.am      | 4 +---
- gobject/Makefile.am | 3 +--
- 2 files changed, 2 insertions(+), 5 deletions(-)
-
-commit 89827314fd183eac07443c8e9d275ca9d4ce59df
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jun 29 10:27:39 2010 +0200
-
-    Build the cairo shim as a python module so the _gi module stops
-    linking to it
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=623021
-
- configure.ac            |   2 +
- gi/Makefile.am          |  38 ++++++++++-----
- gi/gimodule.c           |   8 +---
- gi/pygi-argument.c      |  10 +---
- gi/pygi-foreign-cairo.c |  56 ++++++++++++++++------
- gi/pygi-foreign-cairo.h |  55 ---------------------
- gi/pygi-foreign.c       | 125
- ++++++++++++++++++++++++++++--------------------
- gi/pygi-foreign.h       |  31 ++++++------
- gi/pygi.h               |  40 ++++++++++++++--
- 9 files changed, 196 insertions(+), 169 deletions(-)
-
-commit a6a90551311bc64f037cbd442e13f70c30060871
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jun 28 14:20:43 2010 +0200
-
-    Remove pygi-external.h
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=623021
-
- gi/gimodule.c           |  8 +++---
- gi/pygi-type.c          |  4 +--
- gi/pygi-type.h          |  2 +-
- gi/pygi.h               | 54 ++++++++++++++++-----------------------
- gobject/Makefile.am     |  6 +++++
- gobject/pygboxed.c      |  2 +-
- gobject/pygenum.c       |  2 +-
- gobject/pygflags.c      |  2 +-
- gobject/pygi-external.h | 67
- -------------------------------------------------
- gobject/pygobject.c     |  2 +-
- gobject/pygpointer.c    |  2 +-
- 11 files changed, 40 insertions(+), 111 deletions(-)
-
-commit 8b3a3baacb45cb3f9112f7597607602fa89c6634
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Jun 25 13:54:57 2010 +0200
-
-    Revert "correctly handle floating objects in gtk"
-
-    This reverts commit 60fdf4b8f738dd0f5c190bc18ddf010032d3c5ca.
-
-    Conflicts:
-
-            gi/gimodule.c
-            tests/test_everything.py
-
- gi/gimodule.c            | 13 -------------
- tests/test_everything.py |  3 ++-
- 2 files changed, 2 insertions(+), 14 deletions(-)
-
-commit 0f2a09d7eae63abb71723b7cd8fb290dcba33426
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Jun 25 13:49:04 2010 +0200
-
-    Make valgrind happy again
-
-    * gi/pygi-argument.c, gi/pygi-info.c: Zero two GArgument instances.
-    * gi/pygi-invoke.c: workaround bgo#622711 and zero invocation_state.
-
- gi/pygi-argument.c | 1 +
- gi/pygi-info.c     | 2 ++
- gi/pygi-invoke.c   | 8 ++++++--
- 3 files changed, 9 insertions(+), 2 deletions(-)
-
-commit 63afe55906c8637e913783e65b82b540b81bed65
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jun 24 16:13:37 2010 -0400
-
-    add drawing area demo
-
- demos/gtk-demo/demos/drawingarea.py | 249
- ++++++++++++++++++++++++++++++++++++
- 1 file changed, 249 insertions(+)
-
-commit 8bba5f842393a284367cdd15f3d32a8c7745516a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jun 24 14:11:00 2010 -0400
-
-    sort the demo list
-
- demos/gtk-demo/gtk-demo.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit b9da82742701ed276b01dee39626cd71cbef8556
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jun 24 13:56:18 2010 -0400
-
-    rename iter to treeiter so we aren't using a python reserved word
-
- demos/gtk-demo/gtk-demo.py | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-commit c93935621f2fb1ff5e8c424ae884bd684ea68e50
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Jun 24 13:47:54 2010 -0400
-
-    Fixup for change in buffer API
-
-    * Part of buffer API dealing with TextIter now marked (out
-    caller-allocates)
-
- demos/gtk-demo/gtk-demo.py | 10 ++++------
- 1 file changed, 4 insertions(+), 6 deletions(-)
-
-commit 8d9516a593a515290109401a9db7aa259b5aa35c
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jun 23 17:04:33 2010 -0400
-
-    add ListStore, TreeStore and TreeViewColumn APIs
-
-    * this is enough to support the gtk-demo.py shell
-    * TreeStore and ListStore allow passing in as an argument list
-      of either python or GLib types to the constructor as a description
-      of the columns in the model
-    * TreeStore and ListStore override the append method, allowing
-      the application developer to send in a list of column values
-      for one row in the model.  Unlike the append in C which
-      just returns an iter that you can then add data to,
-      this append actualy appends data in one step
-    * TreeViewColumn overrides the constructor to allow the adding
-      of attributes and a cell renderer when constructing the
-      column
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620405
-
- gi/overrides/Gtk.py     | 59 ++++++++++++++++++++++++++++++++++++++++++
- tests/test_overrides.py | 69
- +++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 128 insertions(+)
-
-commit c305fbeb7bdb44623d5198f4a8f0a374d529fdf4
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Wed Jun 23 14:34:28 2010 -0300
-
-    [gi] Add -I../gobject to cflags
-
-    Since we're no longer pulling in pygobject cflags,
-    add this to be able to include pygobject.h
-
- gi/Makefile.am | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 53a093198851e3ba5abd1f6c3314737decd401d8
-Author: Ignacio Casal Quinteiro <icq@gnome.org>
-Date:   Wed Jun 23 18:09:19 2010 +0200
-
-    Add unit test for add_actions user data.
-
- tests/test_overrides.py | 20 +++++++++++++++-----
- 1 file changed, 15 insertions(+), 5 deletions(-)
-
-commit 7f829af620cba768de619dd9f228d5d2ebf7fee4
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Wed Jun 23 18:06:46 2010 +0200
-
-    Pass user_data param when adding actions
-
- gi/overrides/Gtk.py | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-commit 8f537ccd62f41ebe0db3853e2ae08080666f598f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jun 23 12:02:04 2010 -0400
-
-    add an exception type to the try/except block
-
-    * we should always specify what exception types we are expecting
-
- gi/overrides/Gtk.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit f140a8ebf59347162b67b550bd6f62d2eafad29a
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Wed Jun 23 12:31:51 2010 -0300
-
-    Avoid duplicating required versions
-
-    Avoid duplicating the version of all required packages.
-    Also remove cyclic dependency of pygobject
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=622503
-
- configure.ac | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-commit e8bd25355fbe7de38a28b7a0583167a2c0ffc31f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 22 15:03:08 2010 -0400
-
-    return PyList instead of PyTuple for array, return empty list for
-    NULL arrays
-
-    * returns an empty list when a NULL array (empty array) is encountered
-    * fix tests to check for lists instead of tuples or None
-    * test the ability to send in both None and empty list for arrays
-    and lists
-
- gi/pygi-argument.c       |  7 ++--
- tests/test_everything.py |  5 ++-
- tests/test_gi.py         | 84
- ++++++++++++++++++++++++------------------------
- 3 files changed, 49 insertions(+), 47 deletions(-)
-
-commit f312e6a49505eca07815146cfbdb0e48e5b3b8a8
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jun 23 15:42:29 2010 +0200
-
-    Fix 'make distcheck'
-
-     * Makefile.am: put the tests dir to the end
-     * g*/Makefile.am: build the .so when running make check
-     * tests/Makefile.am: Don't pass the src dir to runtests.py and
-       remove (hopefully) unneeded cruft.
-     * tests/common.py: Don't add the src dir to the python path
-     * tests/runtests.py: Don't pass the src dir to common.py
-
- Makefile.am         |  4 +++-
- gi/Makefile.am      |  1 +
- gio/Makefile.am     |  1 +
- glib/Makefile.am    |  2 +-
- gobject/Makefile.am |  1 +
- tests/Makefile.am   | 17 ++---------------
- tests/common.py     |  3 +--
- tests/runtests.py   | 12 +++++-------
- 8 files changed, 15 insertions(+), 26 deletions(-)
-
-commit 5f82e7d2909cbbbecbf5dbee2342f516c0d1f371
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jun 23 13:59:14 2010 +0200
-
-    Allow building pygobject without introspection support by providing
-    --disable-introspection to configure.
-
- Makefile.am             |  6 +++++-
- configure.ac            | 15 ++++++++-------
- gobject/pygi-external.h |  4 ++--
- tests/Makefile.am       |  8 ++++++--
- tests/runtests.py       | 21 +++++++--------------
- 5 files changed, 28 insertions(+), 26 deletions(-)
-
-commit cc3ea77318ee572673d2a044deca9001366b0f08
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jun 23 12:26:51 2010 +0200
-
-    Make sure that sys.argv is a list and not a sequence.
-
-    Because Python's optparse will try to do things on it that can
-    only be done with list.
-
- gi/overrides/Gtk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3d72b8248cc534a689dee5679a729b2fba56c528
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jun 23 12:26:02 2010 +0200
-
-    Force loading the GObject typelib so we have available the wrappers
-    for base classes such as GInitiallyUnowned.
-
- gi/__init__.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit c7c94ef349c30597f2f10d90f74718d678ec7add
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 22 14:45:48 2010 -0400
-
-    we shouldn't g_array_free NULL pointers
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=622425
-
- gi/pygi-info.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-commit fb1ee243493616d7a7e4f6924c574db39f5a423d
-Merge: acf7b43a 5f9cb91c
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed Jun 23 12:53:05 2010 +0200
-
-    Merge branch 'pygi'
-
-commit 5f9cb91c2b3851056d5e2d7ff1401d4ce2be7c1f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 22 15:39:46 2010 -0400
-
-    remove unneeded TextIter creation in the tests
-
- tests/test_overrides.py | 3 ---
- 1 file changed, 3 deletions(-)
-
-commit 53c355d2cc0894e7f551e9b4eb719b89188a978e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jun 21 11:42:12 2010 -0400
-
-    add override for TextBuffer
-
-    * TextBuffer.create_tag takes vargs which we can't bind yet so
-    change it
-      to except a keyword list of properties
-    * override the insert* methods so the developer does not have to
-    enter a length
-      - lengths are already encapsulated by a string in Python
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620583
-
- gi/overrides/Gtk.py     | 51
- +++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_overrides.py | 25 ++++++++++++++++++++++++
- 2 files changed, 76 insertions(+)
-
-commit 1d89a88b212c7411ad28e74eda80ae751de92e50
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 22 12:46:39 2010 -0400
-
-    fix up some build issues
-
-    * configure.ac: moved AM_PROG_CC_C_O below AM_PROG_CC_STDC because
-    autoconf
-      was complaining that AM_PROG_CC_STDC can't come after AM_PROC_CC_C_0
-    * tests/Makefile.am: fix check-local target to use EXEC_NAME so
-    targets like
-      make check.gdb work
-
- configure.ac      | 2 +-
- tests/Makefile.am | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-commit 4fe0d94c219deb69a2309693202309c53a0e5e69
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 22 11:50:30 2010 -0400
-
-    make the overrides file git friendly by appending to __all__ after
-    each override
-
-    * modifying the __all__ line for each override would confuse git as
-      each override needs to get seperate approval before comitting.
-      Because of
-      this commits would not always go in in the same order as they
-      are created.
-      Also different people working on the same file would start from
-      different
-      commit states.  This caused conflicts when patches were merged.
-    * instead of modifying a single hard coded list we now append to
-    the list
-      after each override.  This creates distinct blocks of changed text
-      which will not conflict
-
- gi/overrides/GIMarshallingTests.py | 10 ++++------
- gi/overrides/Gdk.py                |  8 ++++----
- gi/overrides/Gtk.py                |  7 +++++--
- 3 files changed, 13 insertions(+), 12 deletions(-)
-
-commit 49321b934603e1ec69fb04082c63902970907d2b
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Sun Jun 20 13:27:34 2010 +0200
-
-    Override Dialog constructor and add_buttons method
-
- gi/overrides/Gtk.py     | 46
- +++++++++++++++++++++++++++++++++++++++++++++-
- tests/test_overrides.py | 16 ++++++++++++++++
- 2 files changed, 61 insertions(+), 1 deletion(-)
-
-commit acf7b43a41ce814f0c57ce609a090826f04771db
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jun 21 18:17:38 2010 +0200
-
-    Post release version bump to 2.21.4
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a7fa8b80406227a06cf18f8675dbc1f471283829
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jun 21 18:10:32 2010 +0200
-
-    Update NEWS and release PyGObject-2.21.3
-
- NEWS | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 79acac7b86ec52cd3681d94d7f116314c3f00167
-Author: Ludovic L'Hours <ludovic.lhours@gmail.com>
-Date:   Tue Jul 21 16:28:34 2009 +0200
-
-    Proper handling of null-ok in virtual methods
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=589253
-
- codegen/codegen.py        |  2 ++
- codegen/reversewrapper.py | 18 +++++++++++++++---
- 2 files changed, 17 insertions(+), 3 deletions(-)
-
-commit 259a4b08f009aa01451caed20dbb6e68b402da2a
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jun 21 17:34:54 2010 +0200
-
-    Add *~ and *.orig to .gitignore
-
- .gitignore | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-commit 00a85f6a844714d1715e2f67431747d1a4cdacb1
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jun 21 17:33:56 2010 +0200
-
-    Fall back to use the floating references API in glib if there isn't
-    a sinkfunc defined.
-
-    * tests/*: Add ref counting tests for floating objects
-    * gobject/gobjectmodule.c, gobject/pygobject.c: Fall back to
-    g_object_ref_sink
-      or g_object_ref if there isn't a sinkfunc defined. Make sure that
-      pygobject_sink gets called only once per GObject instance.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=583909
-
- gobject/gobjectmodule.c  |   2 -
- gobject/pygobject.c      |  50 +++++++++++++---------
- gobject/pygobject.h      |   1 +
- tests/Makefile.am        |   2 +
- tests/test-floating.c    |  95 +++++++++++++++++++++++++++++++++++++++++
- tests/test-floating.h    |  60 ++++++++++++++++++++++++++
- tests/test_gobject.py    |  19 ++++++++-
- tests/testhelpermodule.c | 109
- +++++++++++++++++++++++++++++++++++++++++++++++
- 8 files changed, 315 insertions(+), 23 deletions(-)
-
-commit e71238a699ae783fd1a59c8a76e3555d8066cf82
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon Jun 21 13:06:13 2010 +0200
-
-    Revert "Drop sinkfuncs."
-
-    This reverts commit 04627488220b4f2a16e11f8982af7866fea9f7eb.
-
- gobject/gobjectmodule.c |  3 ++-
- gobject/pygobject.c     | 42 ++++++++++++++++++++++++++++++++++--------
- gobject/pygobject.h     |  1 -
- 3 files changed, 36 insertions(+), 10 deletions(-)
-
-commit b2661054d6bde673484eab472e69ca021124528d
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Sun Jun 20 11:09:57 2010 -0300
-
-    Merge back pygi
-
-    For reasons outlined at:
-    http://mail.gnome.org/archives/python-hackers-list/2010-June/msg00009.html
-
- Makefile.am                                        |  14 ++++-
- configure.ac                                       |  29 ++++++++--
- {gi/demos => demos}/gtk-demo/demos/__init__.py     |   0
- {gi/demos => demos}/gtk-demo/demos/appwindow.py    |   0
- {gi/demos => demos}/gtk-demo/demos/assistant.py    |   0
- {gi/demos => demos}/gtk-demo/demos/builder.py      |   0
- {gi/demos => demos}/gtk-demo/demos/button_box.py   |   0
- {gi/demos => demos}/gtk-demo/demos/clipboard.py    |   0
- .../gtk-demo/demos/colorselector.py                |   0
- {gi/demos => demos}/gtk-demo/demos/combobox.py     |   0
- .../gtk-demo/demos/data/alphatest.png              | Bin
- .../gtk-demo/demos/data/apple-red.png              | Bin
- .../gtk-demo/demos/data/background.jpg             | Bin
- {gi/demos => demos}/gtk-demo/demos/data/demo.ui    |   0
- .../gtk-demo/demos/data/floppybuddy.gif            | Bin
- .../gtk-demo/demos/data/gnome-applets.png          | Bin
- .../gtk-demo/demos/data/gnome-calendar.png         | Bin
- .../gtk-demo/demos/data/gnome-foot.png             | Bin
- .../gtk-demo/demos/data/gnome-fs-directory.png     | Bin
- .../gtk-demo/demos/data/gnome-fs-regular.png       | Bin
- .../gtk-demo/demos/data/gnome-gimp.png             | Bin
- .../gtk-demo/demos/data/gnome-gmush.png            | Bin
- .../gtk-demo/demos/data/gnome-gsame.png            | Bin
- .../gtk-demo/demos/data/gnu-keys.png               | Bin
- .../gtk-demo/demos/data/gtk-logo-rgb.gif           | Bin
- {gi/demos => demos}/gtk-demo/demos/test.py         |   0
- {gi/demos => demos}/gtk-demo/gtk-demo.py           |   0
- examples/Makefile.am                               |   2 +-
- {gi/examples => examples}/cairo-demo.py            |   0
- gi/Makefile.am                                     |   4 +-
- gi/examples/Makefile.am                            |   2 -
- pygi-Makefile.am                                   |  28 ----------
- pygi-configure.ac                                  |  60
- ---------------------
- pygi.doap                                          |  34 ------------
- pygobject.doap                                     |  16 +++++-
- tests/Makefile.am                                  |  23 ++++++--
- {gi/tests => tests}/test_everything.py             |   0
- {gi/tests => tests}/test_gi.py                     |   0
- {gi/tests => tests}/test_overrides.py              |   0
- 39 files changed, 75 insertions(+), 137 deletions(-)
-
-commit 597bd64319d7966045b5b8613ca6fc85668c3f56
-Merge: ec8d148e fa91dfd3
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Sun Jun 20 10:53:46 2010 -0300
-
-    Merge branch 'pygi-merge'
-
-commit fa91dfd3ec79ecd03c9fb59b9363eab4a5b3ff2b
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Sun Jun 20 10:53:36 2010 -0300
-
-    Prepare pygi move
-
- autogen.sh                                         | 166
- ---------------------
- .gitignore => gi/.gitignore                        |   0
- HACKING => gi/HACKING                              |   0
- {demos => gi/demos}/gtk-demo/demos/__init__.py     |   0
- {demos => gi/demos}/gtk-demo/demos/appwindow.py    |   0
- {demos => gi/demos}/gtk-demo/demos/assistant.py    |   0
- {demos => gi/demos}/gtk-demo/demos/builder.py      |   0
- {demos => gi/demos}/gtk-demo/demos/button_box.py   |   0
- {demos => gi/demos}/gtk-demo/demos/clipboard.py    |   0
- .../demos}/gtk-demo/demos/colorselector.py         |   0
- {demos => gi/demos}/gtk-demo/demos/combobox.py     |   0
- .../demos}/gtk-demo/demos/data/alphatest.png       | Bin
- .../demos}/gtk-demo/demos/data/apple-red.png       | Bin
- .../demos}/gtk-demo/demos/data/background.jpg      | Bin
- {demos => gi/demos}/gtk-demo/demos/data/demo.ui    |   0
- .../demos}/gtk-demo/demos/data/floppybuddy.gif     | Bin
- .../demos}/gtk-demo/demos/data/gnome-applets.png   | Bin
- .../demos}/gtk-demo/demos/data/gnome-calendar.png  | Bin
- .../demos}/gtk-demo/demos/data/gnome-foot.png      | Bin
- .../gtk-demo/demos/data/gnome-fs-directory.png     | Bin
- .../gtk-demo/demos/data/gnome-fs-regular.png       | Bin
- .../demos}/gtk-demo/demos/data/gnome-gimp.png      | Bin
- .../demos}/gtk-demo/demos/data/gnome-gmush.png     | Bin
- .../demos}/gtk-demo/demos/data/gnome-gsame.png     | Bin
- .../demos}/gtk-demo/demos/data/gnu-keys.png        | Bin
- .../demos}/gtk-demo/demos/data/gtk-logo-rgb.gif    | Bin
- {demos => gi/demos}/gtk-demo/demos/test.py         |   0
- {demos => gi/demos}/gtk-demo/gtk-demo.py           |   0
- {examples => gi/examples}/Makefile.am              |   0
- {examples => gi/examples}/cairo-demo.py            |   0
- {tests => gi/tests}/Makefile.am                    |   0
- {tests => gi/tests}/runtests.py                    |   0
- {tests => gi/tests}/test_everything.py             |   0
- {tests => gi/tests}/test_gi.py                     |   0
- {tests => gi/tests}/test_overrides.py              |   0
- Makefile.am => pygi-Makefile.am                    |   0
- configure.ac => pygi-configure.ac                  |   0
- 37 files changed, 166 deletions(-)
-
-commit ec8d148eccbb3714093f21b595ea77ae4c7c3bce
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Sun Jun 20 10:49:55 2010 -0300
-
-    [giounix] Make it possible to compile on glib 2.20
-
- gio/unix.override | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 606018a2c551d890fc2bb987d99683f777598bda
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jun 7 16:32:29 2010 -0400
-
-    Don't free transfer full struct pointers because we can't do it safely
-
-    * Most libraries which are sending back structs as transfer-full
-      are either annotated incorrectly or should be sending boxed types
-    * It is much better to throw a warning and leak memory than it is to
-      call free on an unknown struct pointer.  Doing so may cause
-      a double free
-    * Specific case is gdk_atom_intern where a GdkAtom is not actually
-    a pointer
-      but an integer stuffed into a pointer type
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620898
-
- gi/pygi-argument.c |  9 ++++++++-
- gi/pygi-invoke.c   | 11 +++++++++--
- 2 files changed, 17 insertions(+), 3 deletions(-)
-
-commit 433ee2aa029a1482961f478252a06492bd3498e6
-Author: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-Date:   Tue Jun 15 11:42:28 2010 +0200
-
-    Release the lock when potentially invoking Python code.
-
-    * gobject/pygobject.c: Release GIL lock when retrieving properties
-    and when clearing a PyGObject.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=530935
-
- gobject/pygobject.c | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-commit aa1e82c7eb87620bd73e1edb486f5b9e0d49aa96
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jun 14 18:36:57 2010 -0400
-
-    add combobox example
-
- demos/gtk-demo/demos/combobox.py | 282
- +++++++++++++++++++++++++++++++++++++++
- 1 file changed, 282 insertions(+)
-
-commit a8668694da59c2dd959c875f13337e64ca22f7e9
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jun 14 13:43:53 2010 -0400
-
-    fix leak in the allow None callbacks patch
-
- gi/pygi-callbacks.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 729072e73d65e7fd5b5197ebe5a8c53a449d0ec0
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jun 7 17:12:09 2010 -0400
-
-    Allow passing None for callbacks which are annotated allow-none
-
-    * Many callbacks are optional parameters yet we were asserting on
-      Py_None
-    * We now check to see if allow_none is set when setting up callbacks,
-      if it is set and py_function == Py_None, we set the closure to NULL
-      and return
-    * pygi-invoke.c now checks to see if the closure == NULL when setting
-      arguments
-    * if it is NULL there is no reason to set the the destroy notify
-    handler
-      so we skip that too
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620906
-
- gi/pygi-callbacks.c      |  7 +++++++
- gi/pygi-invoke.c         | 14 +++++++++++---
- tests/test_everything.py |  4 ++++
- 3 files changed, 22 insertions(+), 3 deletions(-)
-
-commit a3eb5c7de5836c37aa7ae01dbe98996ec2632c17
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Mon Jun 14 19:06:45 2010 +0200
-
-    Fix to match latest gtk annotations
-
- demos/gtk-demo/demos/appwindow.py | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-commit 6306dd73cc74aa9202569eac0eaaa5f825c8dc59
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 8 15:03:49 2010 -0400
-
-    fix variable member names in Gdk.Color override
-
-    * override was using r, g, and b for the red, green, blue components
-    but
-      the struct specifies red, green, blue so we need to use those names
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=621007
-
- gi/overrides/Gdk.py     | 10 +++++-----
- tests/test_overrides.py |  6 +++---
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-commit d182630e1128fef6f1c2aea28ccd8da4bddd2c8f
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Jun 10 20:23:13 2010 +0200
-
-    Post release version bump to 2.21.3
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit c4e64d5d264593051b9a3131e4985a58e8e76f8b
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Jun 10 20:21:13 2010 +0200
-
-    Update NEWS and release PyGObject-2.21.2
-
- NEWS | 26 ++++++++++++++++++++++++++
- 1 file changed, 26 insertions(+)
-
-commit e0fe844d5fe8f7e26316f197444fd4143ed36adf
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Jun 10 20:09:07 2010 +0200
-
-    Remove deleted files from the Makefile.
-
-           test_conversion.py
-           test_enum.py
-           test_gtype.py
-           test_subtype.py
-
- tests/Makefile.am | 4 ----
- 1 file changed, 4 deletions(-)
-
-commit 495a301cb81c5e914bcef905999265604faa27fc
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Jun 10 19:39:09 2010 +0200
-
-    Add myself to the maintainers list in the README
-
- README | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 04627488220b4f2a16e11f8982af7866fea9f7eb
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Thu Jun 10 19:24:31 2010 +0200
-
-    Drop sinkfuncs.
-
-        * use g_object methods to sink floating refs instead of allowing
-          custom sink functions to be registered
-        * we now sink inside of pygobject_new_full to handle cases where
-          a library creates its own gobject via g_object_new and just
-          needs a python wrapper
-          - a previous patch had done the sink when creating the gobject,
-            since it needs to call pygobject_new_full to wrap the object,
-            this patch handles both cases (e.g. pygobject created object
-            and externally created gobject)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=583909
-
- gobject/gobjectmodule.c |  3 +--
- gobject/pygobject.c     | 42 ++++++++----------------------------------
- gobject/pygobject.h     |  1 +
- 3 files changed, 10 insertions(+), 36 deletions(-)
-
-commit 07df124dc06cf506634e95d08397f50a2d07fce2
-Author: Steve Frécinaux <code@istique.net>
-Date:   Mon Jun 7 09:47:23 2010 +0200
-
-    Make the "wrong argument count" exception more explicit.
-
-    Previously we had messages like this one:
-    TypeError: takes exactly 2 argument(s) (1 given)
-
-    With this patch, they become like this:
-    TypeError: get_end_iter() takes exactly 2 argument(s) (1 given)
-
-    It makes things much easier to debug when there are several pygi calls
-    on the same line.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620804
-
- gi/pygi-invoke.c         | 3 ++-
- tests/test_everything.py | 6 ++++++
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
-commit b435319fe830a909cc4d414533b3b66574931e24
-Author: Steve Frécinaux <code@istique.net>
-Date:   Mon Jun 7 09:54:06 2010 +0200
-
-    Use bash explicitely in the pre-commit hook.
-
-    The "builtin" command is not available in all sh flavours, so the
-    pre-commit hook is going to fail if you use dash or others instead of
-    bash as your default 'sh' alias.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620805
-
- pre-commit.hook | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e9ee2916494eb7654004925c1ee1e94f99b14f1a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Jun 8 16:55:26 2010 -0400
-
-    colorselector demo
-
- demos/gtk-demo/demos/colorselector.py | 121
- ++++++++++++++++++++++++++++++++++
- 1 file changed, 121 insertions(+)
-
-commit ec598128de9e90dccab662ed2f5511c8d659e156
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jun 8 15:48:33 2010 +0200
-
-    Update PyGObject dependency to 2.21.1
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 87774a17bd607724a56e18c2eb1ac71b04b7079d
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jun 8 10:40:39 2010 +0200
-
-    Add myself to maintainers
-
- MAINTAINERS    | 4 ++++
- pygobject.doap | 7 +++++++
- 2 files changed, 11 insertions(+)
-
-commit 46c91a11d448e5e11d142d3362aff1483226bca4
-Author: Colin Walters <walters@verbum.org>
-Date:   Wed May 5 13:54:27 2010 -0400
-
-    Clear error if we failed the import
-
-    Otherwise we leave the exception set which causes bizarre problems
-    later in unrelated code.
-
-    https://bugzilla.redhat.com/show_bug.cgi?id=569885
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617796
-
- gobject/pygi-external.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit c1c41576d053cc1cdd8366d8cd1e59fff1c3a9c6
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jun 7 17:19:30 2010 -0400
-
-    fix some typos and add a link to a patch which fixes a FIXME
-
- demos/gtk-demo/demos/clipboard.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-commit e7fabb5024d94a3166766e5fca740741bc50380a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon Jun 7 16:21:42 2010 -0400
-
-    clipboard demo
-
- demos/gtk-demo/demos/clipboard.py | 235
- ++++++++++++++++++++++++++++++++++++++
- 1 file changed, 235 insertions(+)
-
-commit e0f1dce5ec58d071759f886697501da6eeea549d
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sun Jun 6 13:27:46 2010 -0400
-
-    set is_fully_bound to false
-
- demos/gtk-demo/demos/button_box.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 986db1c73746d3a8ad7d8d5141c7eed194e7b948
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Jun 5 23:53:36 2010 -0400
-
-    new button box demo
-
- demos/gtk-demo/demos/button_box.py | 121
- +++++++++++++++++++++++++++++++++++++
- 1 file changed, 121 insertions(+)
-
-commit e9f5f8a829121e59367bae690442150f144946ad
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Jun 5 23:26:03 2010 -0400
-
-    set is_fully_bound to True fro builder example
-
- demos/gtk-demo/demos/builder.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit d9968c3a4dea1d4a73a9376009cf486c80ea3da6
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Jun 5 23:24:36 2010 -0400
-
-    fix up formatting in demos
-
- demos/gtk-demo/demos/appwindow.py | 16 ++++++++--------
- demos/gtk-demo/demos/assistant.py | 24 ++++++++++++------------
- demos/gtk-demo/demos/builder.py   |  2 +-
- 3 files changed, 21 insertions(+), 21 deletions(-)
-
-commit ffca02536bafb55e8c3bce31cd992365207429f6
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat Jun 5 14:54:47 2010 -0400
-
-    add the builder demo
-
- demos/gtk-demo/demos/builder.py | 57
- +++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 57 insertions(+)
-
-commit a96dbafdf562a2ac6bde4df27919d3628689dbdb
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jun 4 17:48:24 2010 -0400
-
-    add assistant demo
-
- demos/gtk-demo/demos/assistant.py | 134
- ++++++++++++++++++++++++++++++++++++++
- 1 file changed, 134 insertions(+)
-
-commit 7e1b8cf32f33d45603aaec76afb0d14be84ffd94
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jun 4 16:56:46 2010 -0400
-
-    add formatting rules and copyright notice
-
- demos/gtk-demo/demos/appwindow.py | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-commit 03b99692b81631d397ab62dcd263341465bcee88
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Jun 4 16:26:54 2010 -0400
-
-    add the gtk-demo app along with a couple of demos
-
-    * note there are still a couple of patches in bugzilla that are
-    needed for this
-      to run correctly:
-        - http://bugzilla-attachments.gnome.org/attachment.cgi?id=162682
-        - http://bugzilla-attachments.gnome.org/attachment.cgi?id=162764
-
- demos/gtk-demo/demos/__init__.py                 |   0
- demos/gtk-demo/demos/appwindow.py                | 393
- +++++++++++++++++++++++
- demos/gtk-demo/demos/data/alphatest.png          | Bin 0 -> 26529 bytes
- demos/gtk-demo/demos/data/apple-red.png          | Bin 0 -> 3545 bytes
- demos/gtk-demo/demos/data/background.jpg         | Bin 0 -> 22219 bytes
- demos/gtk-demo/demos/data/demo.ui                | 258 +++++++++++++++
- demos/gtk-demo/demos/data/floppybuddy.gif        | Bin 0 -> 5216 bytes
- demos/gtk-demo/demos/data/gnome-applets.png      | Bin 0 -> 3090 bytes
- demos/gtk-demo/demos/data/gnome-calendar.png     | Bin 0 -> 2755 bytes
- demos/gtk-demo/demos/data/gnome-foot.png         | Bin 0 -> 2916 bytes
- demos/gtk-demo/demos/data/gnome-fs-directory.png | Bin 0 -> 2044 bytes
- demos/gtk-demo/demos/data/gnome-fs-regular.png   | Bin 0 -> 1795 bytes
- demos/gtk-demo/demos/data/gnome-gimp.png         | Bin 0 -> 3410 bytes
- demos/gtk-demo/demos/data/gnome-gmush.png        | Bin 0 -> 3244 bytes
- demos/gtk-demo/demos/data/gnome-gsame.png        | Bin 0 -> 4263 bytes
- demos/gtk-demo/demos/data/gnu-keys.png           | Bin 0 -> 3852 bytes
- demos/gtk-demo/demos/data/gtk-logo-rgb.gif       | Bin 0 -> 6427 bytes
- demos/gtk-demo/demos/test.py                     |  14 +
- demos/gtk-demo/gtk-demo.py                       | 266 +++++++++++++++
- 19 files changed, 931 insertions(+)
-
-commit b3b1f029d8d16cf9bd74160009808147d07e3b3f
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Jun 4 11:25:08 2010 +0200
-
-    Update gobject-introspection dependency to 0.6.14
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 45c4e46ae93bd83a0e3f3550df6c64ce96bbedb4
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Jun 4 11:23:41 2010 +0200
-
-    Post-release version bump to 0.6.1
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7a94270dac48b67aabc7dbad156cf1180db9cb5e
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Fri Jun 4 08:29:42 2010 +0200
-
-    Pre-release version bump 0.6.0
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 1e42ee6eb25a07a5201f24ffeac18d298a98477e
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri May 28 10:03:11 2010 -0400
-
-    support for caller-allocates annotations for structs
-
-    * out caller-allocates parameters expect an already constructed
-    structure
-      to be passed in by reference.  It is then modified and the caller
-      uses the
-      modified value.  We support this by using only one level of pointer
-      indirection.
-    * Only structs are considered to be caller-allocates parameters
-    even if
-      they are marked as such by GI.  This is because the GI scanner
-      isn't smart
-      enough to correctly guess 100% of the time
-    * GValues are a special case of a caller-allocates parameter when
-    cleaning
-      up (e.g. g_value_unset is called).  GValues make no sense in
-      a scripting
-      language.  Developers should never deal with them.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620406
-
- gi/pygi-invoke.c         | 73
- +++++++++++++++++++++++++++++++++++++++++++++---
- tests/test_everything.py | 28 +++++++++++++++++++
- 2 files changed, 97 insertions(+), 4 deletions(-)
-
-commit c3f467e0ae99aa78c2fdb91b973a272d2fe970bd
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Jun 2 14:14:16 2010 -0400
-
-    don't import gobject directly in the tests
-
-    * use from gi.repository import GObject
-
- tests/test_overrides.py | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-commit 46b5133fea4cd5db57a360b3cbe9ee923e27560c
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue Jun 1 14:28:57 2010 +0200
-
-    Wrap C arrays in structs as GArrays before converting to Python
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=620247
-
- gi/pygi-info.c   | 11 +++++++++++
- tests/test_gi.py | 17 +++++++++++++++++
- 2 files changed, 28 insertions(+)
-
-commit 5f0f9a9c9145a129a063b041424c3109a24d9ead
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed May 26 13:20:27 2010 +0200
-
-    Install pre-commit hook that checks the code changes for style
-    conformance
-
- autogen.sh      |  7 +++++++
- pre-commit.hook | 39 +++++++++++++++++++++++++++++++++++++++
- 2 files changed, 46 insertions(+)
-
-commit 1319da5b7f483e48a90b0b7489f77236ba26f479
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Wed May 26 12:19:17 2010 +0200
-
-    Apply consistent whitespace formatting with:
-
-    astyle -p -d -c -S -U -M60
-
-    This won't affect git blame nor git diff if the switch -w is used.
-
- gi/gimodule.c           | 138 +++----
- gi/pygi-argument.c      | 960
- ++++++++++++++++++++++++------------------------
- gi/pygi-boxed.c         | 108 +++---
- gi/pygi-callbacks.c     | 154 ++++----
- gi/pygi-callbacks.h     |   8 +-
- gi/pygi-closure.c       | 270 +++++++-------
- gi/pygi-closure.h       |  18 +-
- gi/pygi-foreign-cairo.c |  36 +-
- gi/pygi-foreign-cairo.h |  36 +-
- gi/pygi-foreign.c       |  54 +--
- gi/pygi-foreign.h       |  10 +-
- gi/pygi-info.c          | 646 ++++++++++++++++----------------
- gi/pygi-invoke.c        | 380 +++++++++----------
- gi/pygi-repository.c    | 114 +++---
- gi/pygi-struct.c        |  88 ++---
- gi/pygi-type.c          |  32 +-
- gi/pygi.h               |  20 +-
- gi/pygobject-external.h |  14 +-
- 18 files changed, 1544 insertions(+), 1542 deletions(-)
-
-commit 6156f15cb15b4c20e975527227135d49207c520a
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue May 25 14:08:51 2010 +0200
-
-    Prepend gi.repository to the __module__ attribute of wrapper classes.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=619597
-
- gi/module.py     | 4 ++--
- tests/test_gi.py | 4 +++-
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-commit 097b92983b7a322c58fecb1e691ba6ddf5035548
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Tue May 25 14:17:13 2010 +0200
-
-    Correctly identify at creation time:
-
-    * if the class is defined in python -> hook up vfuncs
-    * if the class wraps a type from a .typelib -> set atributes
-    * else (GLocalFile) -> do nothing
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=619604
-
- gi/types.py | 15 +++++++++++----
- 1 file changed, 11 insertions(+), 4 deletions(-)
-
-commit 686e10fcdb108af9758eb025a3447813c3513a93
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Thu Apr 29 10:55:13 2010 +0200
-
-    Dont complain if another base has implemented the method
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617153
-
- gi/types.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 9f34d120845d936b04546a5cea599ec67e9181a7
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon May 24 16:16:50 2010 -0400
-
-    fix up Builder override, add new override methods, and add unit tests
-
-    * check for flags when connecting signals now that we get gi
-    GObject types
-    * override the add_from_string and add_objects_from string overrides
-    so
-      that you don't have to pass in the length of the buffer
-    * add test that loads objects from strings and connects them to
-    signals
-
- gi/overrides/Gtk.py     | 19 +++++++++++--
- tests/test_overrides.py | 72
- ++++++++++++++++++++++++++++++++++++++++++++++---
- 2 files changed, 86 insertions(+), 5 deletions(-)
-
-commit 1561d2977691f1cb8684f183a2e274c47960d931
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Mon May 24 18:48:10 2010 +0200
-
-    Improve handling of subclasses without __gtype_name__
-
-    Gives a better message at type registration.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616849
-
- gi/gimodule.c    |  9 +++++++++
- tests/test_gi.py | 13 ++++++++++++-
- 2 files changed, 21 insertions(+), 1 deletion(-)
-
-commit c9d44d4d46c3da3a445000b1db592baa9c378a92
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Fri Apr 30 18:17:50 2010 +0200
-
-    Add support for GArray args
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617054
-
- gi/pygi-invoke.c | 11 +++++++----
- tests/test_gi.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 57 insertions(+), 4 deletions(-)
-
-commit c171579ee22681e1ee4ad33441c89f1053bdc3d1
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon May 24 11:48:16 2010 -0400
-
-    check refcounting of callback userdata in unit tests
-
- tests/test_everything.py | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-commit 8eb809468fe3e1f8e4f92bd7f25d96f9cf802cd4
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Sat May 22 15:12:37 2010 +0200
-
-    Add support for out args in callbacks
-
-    This patch refactors argument marshalling for closures in
-    preparation for more complete support.
-
-    Also fixes a bug in the memory management of user_data args.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617780
-
- gi/pygi-closure.c | 335
- +++++++++++++++++++++++++++++++++++++++++-------------
- tests/test_gi.py  |   4 +
- 2 files changed, 263 insertions(+), 76 deletions(-)
-
-commit 0df0c956bb2476392c9d81f0a243a7e84c067166
-Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
-Date:   Sun May 23 10:59:27 2010 +0200
-
-    If None is passed to an interface which takes an object, convert it to
-    NULL
-
-     * without this patch PyGI treats the None object as a PyGObject
-     and ends up
-    extracting garbage data causing a crash
-     * None's equivalent in C is NULL so we must provide a special case
-     where we
-    marshal the None as NULL
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617880
-
- gi/pygi-argument.c       | 5 +++++
- tests/test_everything.py | 6 ++++++
- 2 files changed, 11 insertions(+)
-
-commit 60fdf4b8f738dd0f5c190bc18ddf010032d3c5ca
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat May 22 14:06:37 2010 +0200
-
-    correctly handle floating objects in gtk
-
-    * this is a stopgap so we work with older pygobject libraries
-    * there is a patch at
-    https://bugzilla.gnome.org/show_bug.cgi?id=583909
-      which adds the correct fix to pygobject
-    * once pygobject accepts the above patch this patch does not need to
-      be reverted because pygobject_register_sinkfunc becomes a noop
-    * add tests (Tomeu)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=619007
-
- gi/gimodule.c            | 12 ++++++++++++
- tests/test_everything.py |  3 +++
- 2 files changed, 15 insertions(+)
-
-commit 4b369f8aca980fc6a582094d6648f40fe4af5e9f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat May 22 13:21:30 2010 +0200
-
-    Return an empty list when a NULL GList and GSList is returned
-
-    * In GTK a GList * and GSList set to NULL is equivilant to empty
-    list. All
-      GTK list methods can take a NULL and treat it as an empty list. e.g.
-      g_list_length(NULL) returns 0
-    * PyGtk consitently returns empty list when a NULL is returned for
-    GList or
-      GSList return
-    * Many PyGtk apps do this:
-        for i in range(len(obj.get_list())):
-            ...
-    * If we were to continue to return None, they would have to add
-    a check
-      which is needlessly verbose and isn't very "pythonic"
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=619232
-
- gi/pygi-argument.c       | 6 ------
- tests/test_everything.py | 4 ++--
- 2 files changed, 2 insertions(+), 8 deletions(-)
-
-commit 71a2148b00dfdda99e0d961ae39b901608724e59
-Author: Steve Frécinaux <code@istique.net>
-Date:   Fri May 21 19:05:03 2010 +0200
-
-    Fix warning in configure.
-
-    The warning is caused by the use of the construction 'CFLAGS+=' in a
-    sh version that doesn't understand it (in this case, 'dash').
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=619311
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit aa0357e468eb91e0f3707346e9b32f312fbf51d3
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Thu Apr 29 13:06:15 2010 +0200
-
-    GTypeInterface cannot be unrefed
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617159
-
- gi/gimodule.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-commit ab1aaff108d23aabd28c3634edfb67236eb55460
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Sat May 22 13:09:48 2010 +0200
-
-    fix NULL array unit tests and fix crasher when sending None as
-    an array
-
-    * Unit tests were wrong given the annotation for
-    test_array_int_null_in and
-      test_array_int_null_out:
-
-      /**
-       * test_array_int_null_in:
-       * @arr: (array length=len) (allow-none):
-       * @len: length
-       */
-
-     -- and --
-
-      /**
-       * test_array_int_null_out:
-       * @arr: (out) (array length=len) (allow-none):
-       * @len: (out) : length
-       */
-
-      The (array length=len) annotation meant we don't pass in or
-      receive the len argument as this is handled under the hood
-      (Python's representation of an array, the list type, encapsulates
-       the length inside the type)
-
-    * Fixing up the tests revealed a latent crasher bug when passing
-    None to an
-      interface that accepts an array.  The fix was to check for NULL
-      and set
-      the length argument to 0 when invoking the bound method.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=619235
-
- gi/pygi-invoke.c         | 6 +++++-
- tests/test_everything.py | 4 ++--
- 2 files changed, 7 insertions(+), 3 deletions(-)
-
-commit e928ea9b1df9d87314ff8e93479530e26be9bd87
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri May 14 14:57:27 2010 -0400
-
-    don't error out on methods with callbacks as return type
-
-    * Right now we just throw an error which means API's like
-      gtk_about_dialog_set_url_hook aren't able to be called,
-    * this allows us to call such APIs while printing a warning, in
-    most cases
-      API such as this doesn't need to be used anymore and is a result of
-      early GTK development
-
- gi/pygi-argument.c | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-commit d963007aab123f4e53a944a66a935db2d22907c2
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Mon May 17 11:54:34 2010 -0400
-
-    reset sys.argv to the return value of Gtk.init_check
-
-    * applications which check command line arguments will error out if it
-      encounters a GTK command line switch such as --g-fatal-warnings.
-    * The Gtk.init* API reads these switches and returns a new argv with
-    the GTK
-      switches stripped out
-    * In C argv is modified in place but in Python we must set sys.argv
-    to the
-      new modified argument list
-    * fixes https://bugzilla.gnome.org/show_bug.cgi?id=618889
-
- gi/overrides/Gtk.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 897420ed97cc4a7b8a806894df5e76ed72617614
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed May 12 14:25:32 2010 -0400
-
-    add GtkUIManager and GtkActionGroup overrides
-
-    * fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=618476
-
- gi/overrides/Gtk.py     | 167
- +++++++++++++++++++++++++++++++++++++++++++++++-
- tests/test_overrides.py |  45 +++++++++++++
- 2 files changed, 211 insertions(+), 1 deletion(-)
-
-commit 865939d29c1e9d69dbe6b9cf89477b5516dbff1f
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Thu May 13 01:02:24 2010 -0400
-
-    Bump version for development to 0.5.2 (hopefully 0.6)
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2674a9546b0246d4a75d71cf1708df77dc0173f9
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Wed May 5 15:54:39 2010 +0200
-
-    Fix overrides.Gdk.Color.__new__ args
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617757
-
- gi/overrides/Gdk.py     |  2 +-
- tests/Makefile.am       |  3 ++-
- tests/test_overrides.py | 22 ++++++++++++++++++++++
- 3 files changed, 25 insertions(+), 2 deletions(-)
-
-commit c20b9f632a35bada1320ccc10fb7d5b2c06b9a88
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Thu Apr 29 14:55:33 2010 -0400
-
-    wrap GObject module so we can go through GI when requesting attrs
-
-    * This gives us the best of both worlds.
-      - We remain backwards compatable with pygobject by checking for
-      existing
-        attrs in the gobject module
-      - If an attr does not exist we use the GI mechanism to look it up
-      so that
-        things like flags look the same whether exported from GObject, Gtk
-        or any GI managed library
-
-    * add DynamicGObjectModule tests and make tests use the new module
-      - change import gobject to from gi.repository import GObject
-
- gi/importer.py           |  6 ++--
- gi/module.py             | 30 ++++++++++++++++
- tests/test_everything.py |  6 ++--
- tests/test_gi.py         | 93
- ++++++++++++++++++++++++++----------------------
- 4 files changed, 87 insertions(+), 48 deletions(-)
-
-commit 64324a4c629432b2e688299b6edbfd5da4439a2a
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Fri Apr 30 14:11:55 2010 -0400
-
-    override Gdk.Drawable to add cairo_create convinience method
-
- gi/overrides/Gdk.py | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-commit 17fa1289b1e2ed841dd5de09a2ec7c25d401886e
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Mon May 3 19:13:46 2010 +0200
-
-    Fix passing callbacks as constructor args
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617551
-
- gi/pygi-callbacks.c      |  3 ++-
- gi/pygi-callbacks.h      |  1 +
- gi/pygi-invoke.c         |  7 +++++--
- tests/test_everything.py | 21 +++++++++++++++++++++
- 4 files changed, 29 insertions(+), 3 deletions(-)
-
-commit f9fff978d56ddf2c012b906169ae16abb7fdc2a5
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Wed May 5 08:06:03 2010 +0200
-
-    Avoid freeing garbage
-
- gi/pygi-invoke.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-commit 5e20c018ae09a936f5ff140df5d1c133c98e98ba
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Thu Apr 29 13:09:03 2010 +0200
-
-    Only hookup vfunc implementations for locally-defined methods
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617160
-
- gi/types.py      | 10 +++++++++-
- tests/test_gi.py | 10 ++++++++++
- 2 files changed, 19 insertions(+), 1 deletion(-)
-
-commit 3e61e7d4450a2bb133c7f3862e0962a35339ce8d
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Mon May 3 18:35:13 2010 +0200
-
-    Fix passing GDestroyNotify
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617542
-
- gi/pygi-invoke.c         |  3 ++-
- tests/test_everything.py | 10 ++++++++++
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-commit 9669acd0fad193013ef3505ae231588307f9834c
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Mon May 3 12:23:58 2010 +0200
-
-    Move invocation code to its own file
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617107
-
- gi/Makefile.am    |   2 +
- gi/pygi-info.c    | 884
- ----------------------------------------------------
- gi/pygi-invoke.c  | 909
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-invoke.h  |  37 +++
- gi/pygi-private.h |   1 +
- 5 files changed, 949 insertions(+), 884 deletions(-)
-
-commit 9b923a68dfde06fc2df6321b3f1e53f1c57b3666
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Tue Apr 27 19:13:08 2010 -0400
-
-    Add the Gtk.Builder override
-
- gi/overrides/Gtk.py | 37 ++++++++++++++++++++++++++++++++++++-
- 1 file changed, 36 insertions(+), 1 deletion(-)
-
-commit 9fc6783406b8263ebd67ceae2730b4e86689b43e
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Fri Apr 30 15:00:52 2010 +0200
-
-    Fix GAsyncReadyCallback
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616236
-
- gi/pygi-closure.c        |  8 +++++++-
- tests/test_everything.py | 16 ++++++++++++++++
- 2 files changed, 23 insertions(+), 1 deletion(-)
-
-commit 5657ccaaec09e2a3194ea2e9a923724bcc66759e
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Thu Apr 29 18:32:50 2010 +0200
-
-    Add override for Gdk.Color
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=617162
-
- gi/overrides/Gdk.py | 20 +++++++++++++++++++-
- 1 file changed, 19 insertions(+), 1 deletion(-)
-
-commit 4410abd589a2f64cfbd7bbcb4013fae9e4aa734f
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Apr 28 13:19:48 2010 -0400
-
-    make __all__ be a list of strings, fix override mechanism to use
-    it correctly
-
-    * before we were adding classes to the __all__ module property but
-      the convention is to use the name of the class
-    * simplified the check to just check the name against __all__
-      instead of trying to get the class and then checking the class
-      against None as well as in __all__
-    * went through all the overrides and made __all__ be a list of strings
-
- gi/module.py                       | 9 ++++-----
- gi/overrides/GIMarshallingTests.py | 2 +-
- gi/overrides/Gdk.py                | 2 +-
- 3 files changed, 6 insertions(+), 7 deletions(-)
-
-commit 64fa8f936bad9a90628df446e690d67d947a0a22
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Mon Apr 26 11:41:06 2010 +0200
-
-    One more step at refactoring _wrap_g_function_info_invoke
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616357
-
- gi/pygi-callbacks.c |  22 +-
- gi/pygi-callbacks.h |   4 +-
- gi/pygi-info.c      | 582
- ++++++++++++++++++++++++++++++----------------------
- 3 files changed, 346 insertions(+), 262 deletions(-)
-
-commit 7fc5528273edae5ecdd5d8bdf0e5b898eec7a624
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Tue Apr 20 23:23:38 2010 -0400
-
-    Step 1 of refactoring _wrap_g_function_info_invoke
-
-    Original patch by David Malcom <dmalcolm@redhat.com>
-
-    This patch bitrots *REALLY* fast.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616357
-
- gi/pygi-info.c | 417
- +++++++++++++++++++++++++++++----------------------------
- 1 file changed, 214 insertions(+), 203 deletions(-)
-
-commit 1d9c6b6d76a3e27f66e6f0cfc7b16c5191e4fc22
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Tue Apr 27 10:24:35 2010 +0200
-
-    Dont force subclasses to implement all virtual methods of their bases
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616674
-
- gi/types.py      |  4 ++--
- tests/test_gi.py | 15 +++++++++++++++
- 2 files changed, 17 insertions(+), 2 deletions(-)
-
-commit 8a0c48f4dd512797e5cf132f8ec6fb6d4d1e7aaa
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Sun Apr 25 15:09:08 2010 -0400
-
-    Correct the reference counting of userdata in closure handling
-
-    Without this we lose references on every call and eventually end up
-    free'ing objects
-    while they are still in use.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616786
-
- gi/pygi-closure.c        |  3 +++
- tests/test_everything.py | 13 +++++++++++++
- 2 files changed, 16 insertions(+)
-
-commit 2b12049306bf57513c43d08017185468bf897a4a
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Tue Apr 20 22:57:14 2010 -0400
-
-    Change SCOPE_TYPE_INVALID handling to be a more verbose error.
-
-    (Previous commit did not include the proper error message.  I blame
-    git-bz)
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616356
-
- gi/pygi-closure.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 8240320d0b67074ce91bdf7aadcf5951c5a8c45a
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Tue Apr 20 23:53:57 2010 -0400
-
-    Force out arguments to be initialized as NULL.  Comes with a test.
-
-    This fix was motivated by a real world library which had a transfer
-    full
-    utf8 out argument which sometimes was not set.  We would leave
-    the pointer
-    dangling and try and free it at the end of invoke() and crash.
-    Library refused
-    to change their behavior so we're forced to take care of it on
-    our end.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616043
-
- gi/pygi-info.c   | 1 +
- tests/test_gi.py | 3 +++
- 2 files changed, 4 insertions(+)
-
-commit 10e558ca283cdd06725bb0d24b5071ccbecc7d13
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Tue Apr 20 22:57:14 2010 -0400
-
-    Change SCOPE_TYPE_INVALID handling to be a warning and not an error
-
-    Be slightly nicer to library maintainers.  It really isn't a fatal
-    condition
-    if we don't have a proper scope type, better to leave a good code
-    comment
-    and a warning than to cause their code to segv.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616356
-
- gi/pygi-closure.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit d3b5fae9d609dbcd83deb0fa9102b24faf76787c
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Tue Apr 20 22:43:20 2010 -0400
-
-    Refactor implementation of scope call to allow for multiple calls
-    during lifetime of function invocation.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616343
-
- gi/pygi-closure.c        | 10 +++++-----
- gi/pygi-info.c           |  9 +++++++--
- tests/test_everything.py |  9 +++++++++
- 3 files changed, 21 insertions(+), 7 deletions(-)
-
-commit 3ba666b7ab9c393963922c272e7d87bff50a93f9
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sat Jan 2 16:31:55 2010 +0100
-
-    Add basic support for unions
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=603598
-
- gi/module.py       |  3 +-
- gi/pygi-argument.c | 24 +++-----------
- gi/pygi-boxed.c    | 18 +++++++++--
- gi/pygi-info.c     | 94
- ++++++++++++++++++++++++++++++++++++++++++++++++------
- gi/pygi-info.h     |  1 +
- tests/test_gi.py   | 56 ++++++++++++++++++++++++++++++++
- 6 files changed, 165 insertions(+), 31 deletions(-)
-
-commit af9e4e086d160fe7fb24758ed81753e784b198a8
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Fri Jan 22 22:16:32 2010 +0100
-
-    Bump required GLib version to 2.22
-
-    Since PyGObject now depends on GLib 2.22.4, there is no need to
-    keep PyGI
-    backward-compatible.
-
- configure.ac      |  2 +-
- gi/pygi-private.h | 20 --------------------
- 2 files changed, 1 insertion(+), 21 deletions(-)
-
-commit c0f40de5648e2ebc556c449342a0025ffce2e33b
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sun Apr 18 11:50:14 2010 -0400
-
-    Refactor get_* methods in the *Info wrappers
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616108
-
- gi/pygi-info.c | 360
- +++++++++++++++++++++++++++------------------------------
- 1 file changed, 168 insertions(+), 192 deletions(-)
-
-commit 24bb89f1310dc2fc8ee6ddaf945342ebf80055cd
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Tue Apr 20 15:12:47 2010 +0200
-
-    Print any error messages raised inside _pygi_closure_handle
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616279
-
- gi/pygi-closure.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-commit d1ba23cdd05686ea721425f233371d573a2e9cce
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Thu Apr 22 19:57:17 2010 +0200
-
-    Rename variable with a very generic name
-
- gi/module.py | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
-
-commit 391640b30ede50af3667b1019edb72bd79f2c68c
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Thu Apr 22 19:53:06 2010 +0200
-
-    Add support for enums without GType
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616520
-
- gi/module.py       |  6 +++++-
- gi/pygi-argument.c | 22 +++++++++++++++++++++-
- gi/types.py        | 14 ++++++++++++++
- tests/test_gi.py   | 30 ++++++++++++++++++++++++++++--
- 4 files changed, 68 insertions(+), 4 deletions(-)
-
-commit 89704f60ddae0c81f1383d86491ef2785590a353
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Tue Apr 20 22:20:42 2010 -0400
-
-    Bump version during development to 0.5.1
-
-    This follows what is, according to Colin Walters,
-    standard versioning practice.  During development the
-    version in your config is the *next* version you will release,
-    not the version after.  Thus after a release you make a new commit
-    bumping to the next development version.
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e203dc7c8f524c16aa52e15758dc3a2b09fbac75
-Author: John Ehresman <jpe@wingware.com>
-Date:   Tue Apr 20 20:40:02 2010 -0400
-
-    Added missing , to keyword list of gio.GFile.set_attribute
-
- gio/gresolver.override | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 0b222f01ac9ceea1d127083623ad532ecc75bf7e
-Author: John Ehresman <jpe@wingware.com>
-Date:   Tue Apr 20 20:37:12 2010 -0400
-
-    Fix arg conversion in gio.GFile.set_attribute
-
- gio/gfile.override | 232
- +++++++++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 227 insertions(+), 5 deletions(-)
-
-commit a579ccc8bea90937bf970be3d461e2b650b0c7d6
-Author: John Ehresman <jpe@wingware.com>
-Date:   Tue Apr 20 20:01:53 2010 -0400
-
-    Set constants under python 2.5 or before
-
- gobject/gobjectmodule.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit 11fa39a861abf679e01b5f0da97be93ae0adf0f0
-Author: José Alburquerque <jaalburqu@svn.gnome.org>
-Date:   Sun Apr 18 20:22:21 2010 -0400
-
-            Doc Extractor: Use replacements that make sense for &...;
-            expressions.
-
-            * codegen/docextract_to_xml.py: Use &#35; and &#160;
-            respectively for
-            &num; (#) and &nbsp;.  These are interpreted correctly in
-            XML and will
-            not make the parsing crash.
-
- codegen/docextract_to_xml.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 8dbc2cb016acef7b364804cd9bc8f0b1da37e84b
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Sun Apr 18 14:32:06 2010 -0400
-
-    Bump version for release 0.5.0
-
- HACKING      | 7 +++++++
- configure.ac | 4 ++--
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-commit 3293c91d90c5c497b45e42a527d7f79f7435823e
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sun Apr 18 14:28:13 2010 -0400
-
-    One more missing file...
-
- examples/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-commit 1dc575af19fe985cc3fa3ec0cf18aeab1f43c16d
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sun Apr 18 14:18:44 2010 -0400
-
-    Add more stuff to the tarballs
-
- Makefile.am  | 8 +++++++-
- configure.ac | 1 +
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
-commit 8a9bb04755057e934b7f46c917af6ef281a2fedd
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sun Apr 18 13:48:45 2010 -0400
-
-    Add one more missing file to tarballs
-
- gi/overrides/GIMarshallingTests.py | 0
- gi/overrides/Makefile.am           | 1 +
- 2 files changed, 1 insertion(+)
-
-commit 979e01852fc7f830ee91093accdc387fa535075f
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sun Apr 18 13:45:29 2010 -0400
-
-    Add missing file to tarballs
-
- tests/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 8b70faa7a9a32b9ea8862f28a503e38f496cfd89
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sun Apr 18 13:11:11 2010 -0400
-
-    Implement vfuncs.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=602736
-
- gi/gimodule.c       | 89
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-argument.c  |  1 +
- gi/pygi-callbacks.c |  3 +-
- gi/pygi-closure.c   |  4 +--
- gi/pygi-closure.h   |  2 +-
- gi/pygi-info.c      | 86
- +++++++++++++++++++++++++++++++++++++++++++++++++--
- gi/pygi-info.h      |  1 +
- gi/types.py         | 44 +++++++++++++++++---------
- tests/test_gi.py    | 18 +++++++++++
- 9 files changed, 227 insertions(+), 21 deletions(-)
-
-commit e239faacb4798fe2d166233ca1a19a843a6225e3
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Sun Apr 18 11:59:06 2010 -0400
-
-    Fix a typo in pygi-callbacks.c header
-
- gi/pygi-callbacks.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 79aa416ae8632b123da61d79fb820d9e2704209c
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Sat Apr 17 12:00:05 2010 -0400
-
-    Implement nullable argument support, including tests
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=616035
-
- gi/pygi-argument.c       | 43 +++++++++++++++++++++++++++++++++++++------
- gi/pygi-argument.h       |  3 ++-
- gi/pygi-info.c           | 19 +++++++++++++------
- tests/test_everything.py | 28 ++++++++++++++++++++++++++++
- 4 files changed, 80 insertions(+), 13 deletions(-)
-
-commit 7d533b8893bc4a8a82fd9708278fa1dce5d3551e
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Sat Apr 17 12:56:19 2010 -0400
-
-    Move some tests from test_gi to test_everything
-
- tests/test_everything.py | 60
- ++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_gi.py         | 62
- +-----------------------------------------------
- 2 files changed, 61 insertions(+), 61 deletions(-)
-
-commit a90298cc9e6c0f336f887a71d80b1efd07ec2811
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sun Apr 18 10:44:35 2010 -0400
-
-    Update to latest version of the pygi-convert.sh script
-
- pygi-convert.sh | 193
- ++++++++++++++++++++++++++++++++++++++++----------------
- 1 file changed, 137 insertions(+), 56 deletions(-)
-
-commit 34a39318c674737c6d64f2430456daef86ba1626
-Author: Colin Walters <walters@verbum.org>
-Date:   Sun Apr 18 10:40:44 2010 -0400
-
-    Add Tomeu's prototype script for converting pygtk to pygi
-
- pygi-convert.sh | 71
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 71 insertions(+)
-
-commit a3afdb5fd33de0bf11d63857a245a8f5edec242c
-Author: Olav Vitters <olav@vitters.nl>
-Date:   Sun Apr 18 13:01:58 2010 +0200
-
-    Fix doap file
-
- pygi.doap | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 0de73d0bba79f92af22f43693f3575c596712416
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Sat Apr 17 16:01:31 2010 -0400
-
-    Add Zach Goldberg as a pygi maintainer
-
- pygi.doap | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit a0e22e36e8cf0c1e0da3c0ec48c821fdb5a07ccd
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sat Apr 17 11:47:54 2010 -0400
-
-    Require PyCairo
-
- configure.ac | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-commit 2778f8a1bf6379a46beec6546c8efcb0fec2d7ad
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sat Apr 17 11:40:14 2010 -0400
-
-    Add examples/cairo-demo.py
-
- examples/cairo-demo.py | 121
- +++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 121 insertions(+)
-
-commit 610dd1eec87fab5c8c3badb4d104cba74477c745
-Author: Zach Goldberg <zach@zachgoldberg.com>
-Date:   Sat Apr 17 09:17:14 2010 -0400
-
-    Implementation callback support with scoping and basic argument
-    support.
-
-    This patch was originally written by
-    Zach Goldberg <zach@zachgoldberg.com> with modifications and
-    review by Simon van der Linden <svdlinden@src.gnome.org> and
-    Colin Walters <walters@verbum.org>.
-
-    This impementation enforces the assumption that any one function
-    signature can only have one (callback, userdata, destronotify) tuple.
-    This allows us to move callback creation into the actual function
-    invoke pipeline and also to keep just one destroy notify callback
-    around, vastly simplifying the code.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=603095
-
- configure.ac        |   2 +
- gi/Makefile.am      |   4 +
- gi/pygi-argument.c  |  12 ++-
- gi/pygi-callbacks.c | 216
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-callbacks.h |  47 ++++++++++++
- gi/pygi-closure.c   | 205
- +++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-closure.h   |  57 ++++++++++++++
- gi/pygi-info.c      |  49 ++++++++++--
- gi/pygi-private.h   |   2 +
- tests/test_gi.py    |  64 +++++++++++++++-
- 10 files changed, 648 insertions(+), 10 deletions(-)
-
-commit a34cb9f0038a6c89e5e6c5f7761d48a5a833044f
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sat Apr 17 10:54:45 2010 -0400
-
-    Add support for foreign structs
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=603712
-
- configure.ac             |   6 +++
- gi/Makefile.am           |  10 +++-
- gi/gimodule.c            |   7 +++
- gi/pygi-argument.c       |  27 ++++++++++-
- gi/pygi-foreign-cairo.c  | 103 +++++++++++++++++++++++++++++++++++++++
- gi/pygi-foreign-cairo.h  |  55 +++++++++++++++++++++
- gi/pygi-foreign.c        | 123
- +++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-foreign.h        |  52 ++++++++++++++++++++
- gi/pygi-private.h        |   1 +
- tests/test_everything.py |  48 ++++++++++++++++++
- 10 files changed, 428 insertions(+), 4 deletions(-)
-
-commit e73b6f6fe8b5f23a2a390ae0a6bbced593ded155
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Fri Apr 16 14:35:13 2010 -0400
-
-    Allow creating structs with pointers
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=603537
-
- gi/pygi-struct.c | 6 ------
- tests/test_gi.py | 3 ++-
- 2 files changed, 2 insertions(+), 7 deletions(-)
-
-commit fc9ff02e53aacf9e77625c70985e99813544912a
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Fri Apr 16 10:40:40 2010 -0400
-
-    Add gdb and valgrind variants for the tests
-
- HACKING           | 19 +++++++++++++++++++
- Makefile.am       | 12 ++++++++++++
- tests/Makefile.am | 14 +++++++++++++-
- 3 files changed, 44 insertions(+), 1 deletion(-)
-
-commit 695ac7bc5c60371a32538d690c7a15509f3c9637
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Fri Apr 16 14:36:11 2010 +1200
-
-    Add build docs for windows
-
- Makefile.am  |  1 +
- README.win32 | 24 ++++++++++++++++++++++++
- 2 files changed, 25 insertions(+)
-
-commit e580da87f0b2fd36cb5d8008fb2fb0c3b01f456a
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Thu Apr 15 13:40:39 2010 +1200
-
-    Setup.py cosmetic tidy
-
-     * Remove local doc install, point to website instead
-     * link to versioned docs
-
- pygobject_postinstall.py | 43 ++++++++++++++++++++++++++-----------------
- setup.py                 | 39 ++++++++++++++-------------------------
- 2 files changed, 40 insertions(+), 42 deletions(-)
-
-commit 69ecd506c83ddf180c6cc9a2a8dc753a02543959
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Sat Jul 25 14:12:30 2009 +1200
-
-    Fix crash when importing gio
-
-    Only seems to be necessary on windows, but
-    no harm on linux as multiple calls to init
-    are OK
-
- gio/giomodule.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 5d159a13d89587cba189a0ca3203ac003e2f1f2b
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Thu Apr 15 22:52:48 2010 +1200
-
-    Bug 589671 - Dont use generate-constants
-
-    This breaks the build using distutils, and it is
-    largely unneeded. Just add the G_XXX constants
-    to the module directly
-
- gobject/Makefile.am                       | 16 +----------
- gobject/{constants.py.in => constants.py} | 33 +++++++++++++++++++++++
- gobject/generate-constants.c              | 44
- -------------------------------
- gobject/gobjectmodule.c                   | 35 ++++++++++++++++++++++++
- setup.py                                  |  2 +-
- tests/runtests.py                         |  3 +--
- 6 files changed, 71 insertions(+), 62 deletions(-)
-
-commit 6d7a3ab9ce352692d0faccbf106974d264fa953d
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Thu Apr 15 22:49:17 2010 +1200
-
-    Bug 589671 - Fix setup.py for windows build
-
-    * Building pyglib as a static private library
-    * Update to include new defs
-    * Modernise setup.py and add more util functions
-      to dsextras
-
- dsextras.py |  32 ++++++++++++++++---
- setup.py    | 102
- +++++++++++++++++++++++++++++++++++++++++++++++++++---------
- 2 files changed, 116 insertions(+), 18 deletions(-)
-
-commit d11ef47072acae5801ce25c68d1289e425eb9fc2
-Author: John Stowers <john.stowers@gmail.com>
-Date:   Thu Apr 15 22:48:28 2010 +1200
-
-    Include pygsource.h
-
- glib/pygiochannel.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit c5f6af4844c74354abc508d17969d9d45153acf2
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Thu Apr 15 14:25:59 2010 -0400
-
-    Add metadata to the .doap file
-
- pygi.doap | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit 81796cb77cbe6b9598a652bd63c047af93e747ee
-Author: John (J5) Palmieri <johnp@redhat.com>
-Date:   Wed Apr 14 12:01:43 2010 -0400
-
-    override that wasn't checked in - fixes some test cases
-
- gi/overrides/GIMarshallingTests.py | 69
- ++++++++++++++++++++++++++++++++++++++
- 1 file changed, 69 insertions(+)
-
-commit de5d2ea1584b01af809346316c7fbd4955a9db1d
-Author: Colin Walters <walters@verbum.org>
-Date:   Wed Apr 14 10:06:07 2010 -0400
-
-    [Makefile.am] Clean up CFLAGS handling, don't override all: target
-
-    First, we should move the CFLAGS into AM_CFLAGS, otherwise the
-    per-target CFLAGS forces Automake to prefix object files, which
-    is unnecessary since we only have one target.
-
-    More importantly, avoid overriding the all: target here; that's
-    owned by Automake.  Use all-local instead to append things to
-    the end of the normal build.
-
- gi/Makefile.am | 15 +++++++++------
- 1 file changed, 9 insertions(+), 6 deletions(-)
-
-commit 5a47e96e3f580c973e6880dafa747f54c144c760
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Tue Apr 13 19:15:49 2010 -0400
-
-    Use GIMarshallingTests (old TestGI) in gobject-introspection
-
- gi/overrides/TestGI.py |   69 --
- tests/Makefile.am      |   40 -
- tests/libtestgi.c      | 2924
- ------------------------------------------------
- tests/libtestgi.h      |  628 -----------
- tests/test_gi.py       |  832 +++++++-------
- 5 files changed, 416 insertions(+), 4077 deletions(-)
-
-commit 681832c3cd040433a488a400693b68f213bf7078
-Author: José Alburquerque <jaalburqu@svn.gnome.org>
-Date:   Tue Apr 13 13:33:12 2010 -0400
-
-            codegen/docextract_to_xml.py: One more &...; replacement
-            (&nbsp;).
-
-            * codegen/docextract_to_xml.py: Replace &nbsp; which also
-            causes
-            errors with a regular space.
-
- codegen/docextract_to_xml.py | 1 +
- 1 file changed, 1 insertion(+)
-
-commit bd4e7f2459e34957aaae59b9be807d6dff5ec1eb
-Author: José Alburquerque <jaalburqu@svn.gnome.org>
-Date:   Tue Apr 13 12:28:10 2010 -0400
-
-            codegen/docextract_to_xml.py: Replace some &..; that cause
-            errors.
-
-            * codegen/docextract_to_xml.py (escape_text): Replace
-            some &..;
-            expressions that cause errors with more appropriate output.
-
- codegen/docextract_to_xml.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit f00b9ce91fc9c3aabd4af4132fc112d9e415e12e
-Author: José Alburquerque <jaalburqu@svn.gnome.org>
-Date:   Sun Apr 11 17:46:40 2010 -0400
-
-            codegen/docextract_to_xml.py: Handle C++ multi-line comments.
-
-            * codegen/docextract_to_xml.py (escape_text): Translate '/*'
-            and '*/'
-            in text to '/ *' and '* /' respectively so that comment
-            errors don't
-            show up when the descriptions that include C++ code with C++
-            multi-line comments are used in Doxygen blocks.
-
- codegen/docextract_to_xml.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit a2fcdecbb5e109da5568084d7acb2332af83b6f5
-Author: José Alburquerque <jaalburqu@svn.gnome.org>
-Date:   Sun Apr 11 16:15:01 2010 -0400
-
-            codegen/docextract.py: Stop final section processing on
-            first match.
-
-            * codegen/docextract.py (process_final_sections): Modify
-            the final
-            section pattern matching for loop to stop on first match so
-            that it
-            doesn't match both a colon return ('Returns: ...') and a
-            no colon
-            return ('Returns ...') which leads to annotation extraction
-            errors.
-
- codegen/docextract.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-commit 825fd305f03b726665edca34963978ce27448182
-Author: José Alburquerque <jaalburqu@svn.gnome.org>
-Date:   Sun Apr 11 15:45:09 2010 -0400
-
-            Update doc extraction tool to handle GObjectIntrospection
-            annotations.
-
-            * codegen/docextract.py (FunctionDoc): Renamed class to
-            GtkDoc.
-            (GtkDoc::annotations): Added a list field to store annotations
-            which
-            are 2-tuples of (name, value).
-            (GtkDoc::ret): Modified field to store the return description
-            along
-            with a list of annotations as described above.
-            (GtkDoc::params): Now holds a list of 3-tupples: name,
-            description and
-            annotations (as described above).
-            (GtkDoc::block_type): Add a field to tell if the comment
-            block is a
-            function block, signal block or property block.
-            (GtkDoc::set_type):
-            (GtkDoc::get_type): Add methods for setting/getting the
-            block type.
-            (GtkDoc::add_param): Modified to also accept a list of
-            annotations to
-            be added with the parameter.
-            (GtkDoc::add_annotation):
-            (GtkDoc::get_annotations): Added methods to add/get
-            annotations for
-            the comment block.
-            (GtkDoc::append_description): Renamed to
-            append_to_description().
-            (GtkDoc::get_param_description): Removed unused method.
-            (GtkDoc::get_description): Added method to get block
-            description.
-            (GtkDoc::add_return): Added method to add a return accepting
-            the first
-            line of the description and its annotations.
-            (GtkDoc::append_return): Renamed to append_to_return().
-            (Regular expressions):
-             - Made the names of the variables un-abbreviated.
-
-             - Added 'since', 'deprecated' and 'rename to' regular
-             expressions.
-
-             - Modified the return matching regular expression so that
-             it doesn't
-               match descriptions that begin with 'Returns ...'.
-               This improves
-               the docs of many function.
-
-             - Added signal and property comment block identifier
-             matching regular
-               expressions in case those are useful.
-
-            - Modified existing identifier matching regular expressions
-            (function,
-              signal, and property regular expressions) to properly parse
-              annotations.  Also added a regular expression for extracting
-              annotations from the parameter and return descriptions.
-
-            - Refined the function name matching regular expression to
-            only accept
-              identifiers that begin with a lowercase letter.
-              This eliminates
-              'SECTION:' matches.
-
-            - Finally, grouped commonly related expressions like
-            return_pattern,
-              since_pattern, etc.  into groups (in lists) so that
-              matching those
-              sections can be done using loops.
-
-            (Parsing algorithm): Modified the algorithm to use a
-            functional
-            approach to parsing.  Extra methods like skip_to_comment() and
-            processs_params() have been added and used in the parse_file()
-            function to now process the comment blocks.
-            (parse_dir): Added file processing output to stderr.
-            * codegen/docextract_to_xml.py (usage): Added function to
-            print out
-            the usage.
-            (print_annotations): Added function to print the given list of
-            annotations.
-            (options): Added --with-signals (-i), with-properties (-p) and
-            --with-annotation (-a) to the existing --source-dir (-s)
-            option.
-
-            (algorithm): Now prints annotations, if specified.  Also,
-            prints
-            signals and properties correctly (using names like
-            Class::signal-one
-            for signals and Classs:property) with xml such as <signal
-            name="...">...</signal>.  The return xml is slightly
-            modified with
-            annotations but this would only be exhibited if annotation
-            xml is
-            requested.
-
- codegen/docextract.py        | 439
- ++++++++++++++++++++++++++++++++++---------
- codegen/docextract_to_xml.py |  87 ++++++---
- 2 files changed, 414 insertions(+), 112 deletions(-)
-
-commit 9fef1acb42cd900d4a814a7378f60bc189121785
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Fri Apr 9 13:47:03 2010 +0200
-
-    Always create the .so link
-
- gi/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit e9f7fd414e94595e40eb1ba0fc471ca69136d82f
-Author: Paul Bolle <pebolle@tiscali.nl>
-Date:   Thu Apr 8 11:52:25 2010 +0200
-
-    Docs: replace gio.IO_ERROR_* with gio.ERROR_*
-
-    Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
-
- docs/reference/pygio-file.xml        | 58
- ++++++++++++++++++------------------
- docs/reference/pygio-inputstream.xml | 22 +++++++-------
- docs/reference/pygio-mount.xml       | 10 +++----
- 3 files changed, 45 insertions(+), 45 deletions(-)
-
-commit 4cbd9941c5705970a9f7a429e236e1203d3155a1
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Apr 5 18:10:42 2010 +0200
-
-    Bug 613341 - pygobject tests seem to require pygtk causing a circular
-    dependencies problem
-
-    move tests that require pygtk to pygtk itself
-
- tests/test_conversion.py |  83 --------------
- tests/test_enum.py       | 234 --------------------------------------
- tests/test_gtype.py      | 112 ------------------
- tests/test_subtype.py    | 289
- -----------------------------------------------
- 4 files changed, 718 deletions(-)
-
-commit ef0ceb266a45715ece58642fb0042e3376416755
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Wed Feb 3 20:33:03 2010 +0100
-
-    Add modelines and copyright information to overrides modules
-
- gi/overrides/Gdk.py    | 21 +++++++++++++++++++++
- gi/overrides/Gtk.py    | 21 +++++++++++++++++++++
- gi/overrides/TestGI.py | 20 ++++++++++++++++++++
- 3 files changed, 62 insertions(+)
-
-commit 5106523a4b8378997a1e6cb0488398aa73e7d9d5
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Wed Feb 3 20:29:55 2010 +0100
-
-    Fix and complete overrides tests
-
-    Those tests were missing in the last commit
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=602830
-
- gi/overrides/TestGI.py | 49
- +++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_gi.py       |  8 +++++++-
- 2 files changed, 56 insertions(+), 1 deletion(-)
-
-commit 23fc0f615d87994acafd9d39e92dd92b587fc2eb
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Thu Jan 21 17:30:51 2010 +0100
-
-    Don't raise an error in _pygi_import if pygi support is disabled
-
-    http://bugzilla.gnome.org/show_bug.cgi?id=607674
-
- gobject/pygboxed.c      | 6 +-----
- gobject/pygi-external.h | 1 -
- gobject/pygobject.c     | 6 +-----
- gobject/pygpointer.c    | 6 +-----
- 4 files changed, 3 insertions(+), 16 deletions(-)
-
-commit aefac8c5f64bf059dd6652f8a843d17b34fa0854
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Fri Jan 22 22:22:37 2010 +0100
-
-    Remove support for pointers to basic types as input-only argument
-    and return value
-
-    There is no reason for an API to use such things, and
-    g_function_info_invoke
-    broke such features.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=607759
-
- gi/pygi-argument.c | 586 ++++-------------------------------------------
- gi/pygi-argument.h |   1 -
- gi/pygi-info.c     |   8 +-
- tests/libtestgi.c  | 660
- -----------------------------------------------------
- tests/libtestgi.h  |  86 -------
- tests/test_gi.py   | 144 ------------
- 6 files changed, 47 insertions(+), 1438 deletions(-)
-
-commit eaf7cb8ebb7e34f9493ac83b2f04af4dcf45f40f
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Fri Jan 22 13:41:21 2010 +0100
-
-    Restore the overrides support
-
-    Add a ModuleProxy in front of the DynamicModule when an overrides
-    module is
-    present. There is no need for an overrides module to be a class;
-    it can just be a module.
-
-    Add an override decorator to override the wrapper of a registered
-    type.
-
-    Adapt Gdk and Gtk accordingly.
-
-    Add tests.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=602830
-
- gi/importer.py      |  40 +++++++-------------
- gi/module.py        |  43 ++++++++++++++-------
- gi/overrides/Gdk.py |  42 +++++++++++++--------
- gi/overrides/Gtk.py |  16 ++++----
- gi/types.py         |   6 +++
- tests/libtestgi.c   | 105
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
- tests/libtestgi.h   |  49 ++++++++++++++++++++++++
- tests/test_gi.py    |  36 ++++++++++++++++++
- 8 files changed, 273 insertions(+), 64 deletions(-)
-
-commit 289d641775d1ea52d2a5379126b70b7fcee46683
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sun Jan 10 21:01:59 2010 +0100
-
-    Initialize PyGPollFD_Type.fd_obj to NULL
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=606582
-
- gio/gcancellable.override | 1 +
- 1 file changed, 1 insertion(+)
-
-commit b11cf2595987c1f0fc4ffd834f07c98b92aa2355
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Fri Jan 8 21:10:28 2010 +0100
-
-    Initialize struct fields to 0 when allocating
-
- gi/pygi-struct.c | 2 +-
- tests/test_gi.py | 5 +++++
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-commit b4189be2b2d3c350fdf33e27309bee5a72e4f72a
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Fri Jan 8 20:33:44 2010 +0100
-
-    Don't set a default constructor for structures.
-
-    Update tests accordingly.
-
-    The reason for this change is that setting __new__ in the metaclass
-    doesn't let
-    one overrides it afterwards, in a subclass (in my experience, at
-    least, even
-    though it seems weird).
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=603536
-
- gi/types.py       | 35 +++++++----------------------------
- tests/libtestgi.c | 33 ---------------------------------
- tests/libtestgi.h |  7 -------
- tests/test_gi.py  | 21 ++++++++++-----------
- 4 files changed, 17 insertions(+), 79 deletions(-)
-
-commit 4db68b958ea11bd2c3a88067cae03fd6bdd1d24b
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Tue Jan 5 13:36:44 2010 +0100
-
-    Suppress compilation warnings
-
- gi/pygi-argument.c      | 3 ++-
- gi/pygi-boxed.c         | 2 --
- gi/pygobject-external.h | 2 +-
- 3 files changed, 3 insertions(+), 4 deletions(-)
-
-commit 4e2efa91d101bf755739e1cca8eee41eb0ad20fd
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Jan 4 08:35:14 2010 +0100
-
-    Bug 605937 - pygobject: Makefile.am sets $TMPDIR, disrupting distcc
-
-    Committed a patch from Kevin Pyle
-
- Makefile.am | 27 +++++++++++++--------------
- 1 file changed, 13 insertions(+), 14 deletions(-)
-
-commit 8ddcbca0e98e0b0c082170a2b2b6cfcbd7864b40
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Fri Dec 11 22:24:30 2009 +0100
-
-    sys.path must be modified after pygtk is imported
-
-    Otherwise, sys.path is overridden by pygtk and gi.repository is
-    loaded from the
-    system's default site-package directory.
-
- tests/runtests.py | 1 -
- tests/test_gi.py  | 3 +++
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-commit 284a1e1c0143c95d3007cf58e6c248b5d11fb4d1
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sun Jan 3 11:02:57 2010 +0100
-
-    Wrap gio.Cancellable.make_pollfd() and add a test
-
- gio/Makefile.am            |  1 +
- gio/gcancellable.override  | 37 +++++++++++++++++++++++++++++++++++++
- gio/gio.override           |  3 +++
- tests/test_gcancellable.py | 15 +++++++++++++++
- 4 files changed, 56 insertions(+)
-
-commit 82d7bcbf37200ee2ef5892dd12bebd2f39965c56
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat Jan 2 23:15:56 2010 +0100
-
-    Make cancellable an optional parameter in many methods
-
- gio/gio.defs | 102
- +++++++++++++++++++++++++++++------------------------------
- 1 file changed, 51 insertions(+), 51 deletions(-)
-
-commit 49a078cd22d55dc33a03ecfda235d63955edc741
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat Jan 2 23:15:21 2010 +0100
-
-    Post release version bump to 2.21.2
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 4f9f1f43ab4e2cfb204ffa0e257a34cfd95d84e2
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat Jan 2 22:58:36 2010 +0100
-
-    Update NEWS and release PyGObject-2.21.1
-
- NEWS | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 55 insertions(+)
-
-commit c1f34be73bd186d7b4682dfef133da2c4229d213
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 20:25:35 2010 +0100
-
-    Wrap gio.Volume.eject_with_operation()
-
- gio/gvolume.override | 54
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 54 insertions(+)
-
-commit 9b76fbff6f6897aaf26ed4644c1f19efc2826917
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 20:22:21 2010 +0100
-
-    gio.Mount.unmount_with_operation() fix a copy/paste leftover
-
- gio/gmount.override | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 6f459786dd641cd49d81eba403d940620f961cab
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 20:21:05 2010 +0100
-
-    Wrap gio.Mount.eject_with_operation()
-
- gio/gmount.override | 54
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 54 insertions(+)
-
-commit d4b5d1b4839364e5676eb2da28f1d21db7e2552d
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 20:15:38 2010 +0100
-
-    Wrap gio.Mount.unmount_mountable_with_operation()
-
- gio/gmount.override | 54
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 54 insertions(+)
-
-commit e919d47c2430451b436cec955e9b99237f97028c
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 18:22:46 2010 +0100
-
-    Wrap File.unmount_mountable_with_operation()
-
- gio/gfile.override | 54
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 54 insertions(+)
-
-commit 5a614df9c5507d67f240462f7bf71b4cd411addf
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 18:14:11 2010 +0100
-
-    Wrap gio.File.stop_mountable()
-
- gio/gfile.override | 52
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 52 insertions(+)
-
-commit 6af506647f36f2b825bc6556df5ee57fa7721906
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 18:10:49 2010 +0100
-
-    Wrap gio.File.start_mountable()
-
- gio/gfile.override | 52
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 52 insertions(+)
-
-commit e700efc839fc0b651fc9794a1611190bffa80263
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 18:02:46 2010 +0100
-
-    Wrap gio.File.replace_readwrite_async()
-
- gio/gfile.override | 55
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 55 insertions(+)
-
-commit 92662f129fc728258fd5e34f53dcb081e3715017
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 17:00:26 2010 +0100
-
-    Wrap gio.File.poll_mountable()
-
- gio/gfile.override | 41 +++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 41 insertions(+)
-
-commit 99902b786500948c3278779841e4db54223b9256
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 16:56:26 2010 +0100
-
-    Wrap gio.File.open_readwrite_async()
-
- gio/gfile.override | 44 ++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 44 insertions(+)
-
-commit 8cff5d53183ae81364ac74a34a1d52e55e082eb4
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 16:50:15 2010 +0100
-
-    Wrap gio.File.eject_mountable_with_operation()
-
- gio/gfile.override | 54
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 54 insertions(+)
-
-commit ca436fe7785fd24b0f0e65f2f8c9fa6478277682
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 13:30:24 2010 +0100
-
-    Wrap gio.File.create_readwrite_async() and add a test
-
- gio/gfile.override | 51
- +++++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_gio.py  | 24 ++++++++++++++++++++++++
- 2 files changed, 75 insertions(+)
-
-commit f72c5e451dfaeb01b3c3d9243fed2732d3620462
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 13:20:11 2010 +0100
-
-    Wrap gio.Drive.stop()
-
- gio/gdrive.override | 52
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 52 insertions(+)
-
-commit 29043bade408338cefa13fb4b0c875aabd3ef05e
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 13:00:42 2010 +0100
-
-    Wrap gio.Drive.start()
-
- gio/gdrive.override | 52
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 52 insertions(+)
-
-commit dff374287bbecc8af782bbc726fad86c6c867754
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 12:45:29 2010 +0100
-
-    Add more remainders on missing methods of gio.Socket and related types
-
- gio/gsocket.override | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit b8c7e996498bd72df551011af85ff05ef7335b4f
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 12:41:08 2010 +0100
-
-    Wrap gio.SocketListener.accept_socket_async|finish() and add a test
-
- gio/gsocket.override  | 86
- +++++++++++++++++++++++++++++++++++++++++++++++++--
- tests/test_gsocket.py | 24 ++++++++++++++
- 2 files changed, 108 insertions(+), 2 deletions(-)
-
-commit a5ae2d5ba3db34967fe07a3cc97b75df2793988c
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 12:28:53 2010 +0100
-
-    Wrap gio.SocketListener.accept_finish() and add a test
-
- gio/gsocket.override  | 44 ++++++++++++++++++++++++++++++++++++++++++--
- tests/test_gsocket.py | 24 ++++++++++++++++++++++++
- 2 files changed, 66 insertions(+), 2 deletions(-)
-
-commit a5ab26cc1bb3e9dd57e2fdb26ef5c02e8066d097
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 11:19:34 2010 +0100
-
-    Wrap gio.SocketListener.accept_async()
-
- gio/gsocket.override | 42 ++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 42 insertions(+)
-
-commit c9496b29ef9ef232020a4044577d2947353953a5
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jan 1 11:14:35 2010 +0100
-
-    Wrap gio.SocketListener.accept_socket() and add a test
-
- gio/gsocket.override  | 48
- +++++++++++++++++++++++++++++++++++++++++++++++-
- tests/test_gsocket.py | 13 +++++++++++++
- 2 files changed, 60 insertions(+), 1 deletion(-)
-
-commit 1aa5e301c49f11e1c5ef58de44b4b03f714d1a70
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Dec 31 16:35:18 2009 +0100
-
-    Wrap gio.SocketListener.accept() and add a test
-
- gio/gsocket.override  | 46 +++++++++++++++++++++++++++++++++++++++++++++-
- tests/test_gsocket.py | 13 +++++++++++++
- 2 files changed, 58 insertions(+), 1 deletion(-)
-
-commit aaedcf166c78baf5449ef59d0ade4a29077fedc7
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Dec 31 16:25:33 2009 +0100
-
-    Make cancellable optional in gio.SocketClient.connect_to_host()
-
- gio/gio.defs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 3829d7667b19126fb74562b28d271e616b154c99
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Dec 31 15:25:10 2009 +0100
-
-    Wrap gio.SocketListener.add_address() and add a test
-
- gio/gsocket.override  | 57
- ++++++++++++++++++++++++++++++++++++++++++++++++++-
- tests/test_gsocket.py |  9 ++++++++
- 2 files changed, 65 insertions(+), 1 deletion(-)
-
-commit 5bec72f34ea75bc56158cae5c39d61a2a4e7e601
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Dec 31 10:19:47 2009 +0100
-
-    Add more remainders on missing methods of gio.Socket and related types
-
- gio/gsocket.override | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-commit b08b20f2b1a57bcbf400d6fe8e87cf052bdb719d
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Dec 31 10:16:18 2009 +0100
-
-    Wrap gio.SocketClient.connect_to_service_async()
-
- gio/gsocket.override | 47 +++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 47 insertions(+)
-
-commit 116ea1bfe32946e67aa54eb8dc7b977e57f254c2
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Dec 31 10:10:43 2009 +0100
-
-    Wrap gio.SocketClient.connect_to_host_async()
-
- gio/gsocket.override | 48
- ++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 48 insertions(+)
-
-commit 9c930910505d5b9001b8cec17ff98fadeaa799e2
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Dec 31 09:59:46 2009 +0100
-
-    Wrap gio.SocketClient.connect_async()
-
- gio/gsocket.override | 45 +++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 45 insertions(+)
-
-commit dff024256295c15e49888ad9d5fef74a7746edd7
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed Dec 30 23:44:25 2009 +0100
-
-    Wrap gio.SocketAddressEnumerator.next_async() and add a test
-
- gio/gsocket.override  | 42 ++++++++++++++++++++++++++++++++++++++++++
- tests/test_gsocket.py | 16 ++++++++++++++++
- 2 files changed, 58 insertions(+)
-
-commit e2330bd0d6cbc49b0ecb27b30e3b0593935ce229
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed Dec 30 23:43:14 2009 +0100
-
-    Add a missing object gio.InetSocketAddress new in GIO 2.22
-
- gio/gio-types.defs |  7 +++++++
- gio/gio.defs       | 31 +++++++++++++++++++++++++++++++
- 2 files changed, 38 insertions(+)
-
-commit 6040b33467ea381c6cb02f6a5efc0745fa8fa47b
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed Dec 30 22:54:47 2009 +0100
-
-    Make cancellable optional for gio.SocketAddressEnumerator.next()
-
- gio/gio.defs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit b19f59790b9de943d69b6c5e483928e0443c3d20
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed Dec 30 22:17:44 2009 +0100
-
-    Add a remainder of the Socket methods that needs manual wrapping still
-
- gio/gsocket.override | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 771a7c3fdef7b2e98e509293a8376a81c1282286
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed Dec 30 17:20:35 2009 +0100
-
-    Wrap gio.Socket.condition_wait() and add a test
-
- gio/gsocket.override  | 27 +++++++++++++++++++++++++++
- tests/test_gsocket.py |  6 +++++-
- 2 files changed, 32 insertions(+), 1 deletion(-)
-
-commit 50960656815b0897a5ebe5f011537b8dcbdc857e
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed Dec 30 16:21:49 2009 +0100
-
-    Wrap gio.Socket.condition_check() and add a test
-
- gio/Makefile.am       |  1 +
- gio/gio.override      |  1 +
- gio/gsocket.override  | 41 +++++++++++++++++++++++++++++++++++++++++
- tests/test_gsocket.py | 21 +++++++++++++++++++++
- 4 files changed, 64 insertions(+)
-
-commit de7a359e81792ae8573ac944455ea289985449ed
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed Dec 30 14:07:52 2009 +0100
-
-    Wrap gio.Resolver.lookup_service_finish() and add a test
-
- gio/gresolver.override  | 37 +++++++++++++++++++++++++++++++++++++
- tests/test_gresolver.py | 13 +++++++++++++
- 2 files changed, 50 insertions(+)
-
-commit 308421789ce849040d645077c41c80b6e2e65e83
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed Dec 30 14:00:22 2009 +0100
-
-    Wrap gio.Resolver.lookup_service_async()
-
- gio/gresolver.override | 48
- ++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 48 insertions(+)
-
-commit 9d56ce775f56fff1b1ef3c75843c0583e39f75c3
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed Dec 30 11:11:32 2009 +0100
-
-    Wrap gio.Resolver.lookup_service() and add a test
-
- gio/gresolver.override  | 42 ++++++++++++++++++++++++++++++++++++++++++
- tests/test_gresolver.py |  5 +++++
- 2 files changed, 47 insertions(+)
-
-commit 7fc71f490494dae73a5264869a97a9d30814930e
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Dec 29 22:12:50 2009 +0100
-
-    Wrap gio.Resolver.lookup_by_address_async() and add a test
-
- gio/gresolver.override  | 46
- ++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_gresolver.py | 14 ++++++++++++++
- 2 files changed, 60 insertions(+)
-
-commit c91656dbe56f07d3ebbad5113467c22427cf212a
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Dec 29 21:41:30 2009 +0100
-
-    Wrap gio.Resolver.lookup_by_name_finish() and add a test
-
- gio/gresolver.override  | 82
- +++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_gresolver.py | 16 ++++++++--
- 2 files changed, 96 insertions(+), 2 deletions(-)
-
-commit 45b477342fa1c2435917c6d97745ad57665c4734
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Dec 29 17:15:44 2009 +0100
-
-    Wrap gio.Drive.eject_with_data()
-
- gio/gdrive.override | 54
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 54 insertions(+)
-
-commit 635227480f9659a1f91ab1ec12536d3ed012a976
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Dec 29 17:06:52 2009 +0100
-
-    Deprecate old gio.Drive methods
-
- gio/gdrive.override | 7 ++++++-
- gio/gio.defs        | 1 +
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-commit 3c0cbc95af29b1e192ed4b5963e96e39c70b349c
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Dec 29 13:51:54 2009 +0100
-
-    Small fix in the header
-
- gio/gdrive.override | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7589128515b79d836365247dc876538c6352da23
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Dec 29 12:40:50 2009 +0100
-
-    Wrap gio.Resolver.lookup_by_name() and add a couple of tests
-
- gio/Makefile.am         |  1 +
- gio/gio.override        |  1 +
- gio/gresolver.override  | 57
- +++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_gresolver.py | 21 ++++++++++++++++++
- 4 files changed, 80 insertions(+)
-
-commit 604d2bf220b1fefa415baaedbdb2882dbaf9e07e
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Dec 29 12:39:13 2009 +0100
-
-    Make cancellable an optional parameter in
-    gio.Resolver.lookup_by_address()
-
- gio/gio.defs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 00029145f4cd10759b37b38fb9f72435bf26b28b
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Dec 29 10:15:14 2009 +0100
-
-    Strip g_ prefix for many other functions
-
- gio/gio.defs | 94
- ++++++++++++++++++++++++++++++------------------------------
- 1 file changed, 47 insertions(+), 47 deletions(-)
-
-commit 56d5dfc4fd862e32c19f944a0feb7a00a9154f06
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Dec 29 10:12:53 2009 +0100
-
-    Strip g_prefix from InetAddress functions
-
- gio/gio.defs | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 1d360301d51a587a36a59f5d62e354484bbd2b31
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Dec 29 10:03:59 2009 +0100
-
-    Fix function name gio.resolver_get_default()
-
-    Strip the g_ prefix from function name
-
- gio/gio.defs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 0fe00109c4f6fc27cbaae9b0a24ecfac71355d2f
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Dec 29 09:54:05 2009 +0100
-
-    Wrap gio.FileIOStream.query_info_async() and add a test
-
- gio/Makefile.am            |  1 +
- gio/gfileiostream.override | 68
- ++++++++++++++++++++++++++++++++++++++++++++++
- gio/gio.override           |  1 +
- tests/test_gio.py          | 18 ++++++++++++
- 4 files changed, 88 insertions(+)
-
-commit 86783c695f3641b9491962e8f95a4dcb91f4017c
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Tue Dec 29 13:08:29 2009 +0100
-
-    Register enums and flags in PyGI if needed
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=603534
-
- gobject/pygenum.c  | 20 ++++++++++++++------
- gobject/pygflags.c | 19 +++++++++++++------
- 2 files changed, 27 insertions(+), 12 deletions(-)
-
-commit b90c01cff5ff5cb2796182f2ffd7b5248eaeed6a
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Dec 28 22:41:54 2009 +0100
-
-    Wrap GIOStream.close_async() and add a test
-
- gio/Makefile.am        |  1 +
- gio/gio.override       |  1 +
- gio/giostream.override | 68
- ++++++++++++++++++++++++++++++++++++++++++++++++++
- tests/test_gio.py      | 21 ++++++++++++++++
- 4 files changed, 91 insertions(+)
-
-commit 0bff01bcee73a0e0d18342331136119c4e8bf151
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Dec 28 22:39:09 2009 +0100
-
-    Make cancellable an optional parameter in GFile.create_readwrite()
-
- gio/gio.defs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 1cabd733cde269ce3164834933f4a226673ecb0b
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Dec 28 21:39:50 2009 +0100
-
-    Remove a duplicate entry in gio.defs
-
- gio/gio.defs | 9 ---------
- 1 file changed, 9 deletions(-)
-
-commit 9ac372ad0bcfdec4bb1c96bc152246542a59a9b1
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Dec 28 21:37:49 2009 +0100
-
-    Wrap gio.FileInfo.set_modification_time and add a test
-
- gio/gfileinfo.override | 33 ++++++++++++++++++++++++++++++++-
- tests/test_gio.py      |  7 ++++++-
- 2 files changed, 38 insertions(+), 2 deletions(-)
-
-commit 7bc2673f92138b1804d8eba091942d14d8884f90
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Dec 28 18:28:03 2009 +0100
-
-    Wrap gio.EmblemedIcon.get_emblems() and add a test
-
- gio/gicon.override  | 14 ++++++++++++++
- tests/test_gicon.py |  7 +++++++
- 2 files changed, 21 insertions(+)
-
-commit 3d5056ad766d6856d8d6459fe9b377de2f0fd172
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat Dec 26 22:27:48 2009 +0100
-
-    Update Enums and Flags with new API
-
- gio/gio-types.defs | 153
- +++++++++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 149 insertions(+), 4 deletions(-)
-
-commit 62a9d660a4a2d5fab1d57c6c96c984ff02d25ccd
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Dec 25 18:06:39 2009 +0100
-
-    Post release version bump to 2.21.1
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2bd92cba5b028f0f78c35ecb34e648e95248f9d3
-Author: Bastian Winkler <buz@netbuz.org>
-Date:   Fri Aug 14 15:10:26 2009 +0200
-
-    Fix handling of uchar in pyg_value_from_pyobject
-
-    Set the value by g_value_set_uchar and allow to use integer types
-    from python.
-
- gobject/pygtype.c | 15 +++++++++++----
- 1 file changed, 11 insertions(+), 4 deletions(-)
-
-commit 828d0f042b59ea0319f33a23803c179af34ef2f1
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Tue Dec 22 18:05:47 2009 +0100
-
-    Add Gtk.keysyms to overrides
-
- gi/overrides/Gtk.py      |    2 +
- gi/overrides/Makefile.am |    1 +
- gi/overrides/keysyms.py  | 1499
- ++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 1502 insertions(+)
-
-commit 24fa1224ff00b9da177e0bfaa1e14e1b899e4976
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Wed Nov 25 10:33:56 2009 +0100
-
-    The array field 'length' starts to count from the C arg list, so
-    need to decrement when it's a method
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=602640
-
- gi/pygi-argument.c | 11 +++++++++-
- gi/pygi-argument.h |  3 ++-
- gi/pygi-info.c     | 14 +++++++++++--
- tests/libtestgi.c  | 60
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- tests/libtestgi.h  |  4 ++++
- tests/test_gi.py   | 15 ++++++++++++++
- 6 files changed, 103 insertions(+), 4 deletions(-)
-
-commit 867536c6734e606d045760837ed22583da06566e
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Dec 18 10:50:09 2009 +0100
-
-    Update NEWS and README, release pygobject 2.21.0
-
- NEWS   | 18 ++++++++++++++++++
- README |  6 +++---
- 2 files changed, 21 insertions(+), 3 deletions(-)
-
-commit f50fbd24fa61863aaefa4ae1e12e0b314ecd43ae
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Dec 18 10:31:48 2009 +0100
-
-    Add pygi-external.h into Makefile SOURCES
-
- gobject/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 108c03b78f04b4bcfe066a6cb4d941e172bd32fe
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Dec 18 01:20:34 2009 +0100
-
-    Bug 598435 - No wrapping for g_find_program_in_path ()
-
- glib/glibmodule.c | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-commit d3d5cb3a4a2c2cb2bd0c2571304d59e19bc08452
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Dec 17 21:54:36 2009 +0100
-
-    Wrap new API added in GIO-UNIX 2.22
-
- gio/unix-types.defs |  22 ++++++++++
- gio/unix.defs       | 115
- +++++++++++++++++++++++++++++++++++++++++++++++++++-
- gio/unix.override   |   8 ++++
- 3 files changed, 144 insertions(+), 1 deletion(-)
-
-commit c87c8a81947a68507e8f3bcaf8e0e969b3e5331b
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Dec 17 21:52:11 2009 +0100
-
-    Bump required glib version to 2.22.4
-
-    I've committed a patch to glib which will be released in the stable
-    branch.
-    Without the patch the unix module will fail, so I'm forced to bump.
-
- configure.ac | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit b630c8d4b1e55938dac89729768c4a877b305215
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Dec 17 02:24:45 2009 +0100
-
-    Properly define Connectable as interface type and not object type
-
- gio/gio-types.defs | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-commit e955b931b07113c7432f7a85f882f69f12d263ad
-Author: Anderson Lizardo <anderson.lizardo@openbossa.org>
-Date:   Mon Nov 30 22:01:25 2009 +0100
-
-    Depend on GLib 2.20 rather than 2.22
-
-    Backport g_array_get_element_size.
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=603411
-
- configure.ac      |  2 +-
- gi/pygi-private.h | 19 +++++++++++++++++++
- 2 files changed, 20 insertions(+), 1 deletion(-)
-
-commit 542fdf6da4ad8f2d28d0d50152bd93cb4d8ee39a
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sat Nov 28 18:48:19 2009 +0000
-
-    Use the limit constants from glib and interpret G_MAXUINT32 as
-    PyLong_FromLongLong
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=602384
-
- gi/pygi-argument.c | 14 +++++++-------
- tests/test_gi.py   | 18 +++++++++---------
- 2 files changed, 16 insertions(+), 16 deletions(-)
-
-commit 38e89942d29f2a1dba47ab4a8d5edc84322707cd
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Mon Nov 30 00:10:56 2009 +0100
-
-    Suppress warnings about format conversion
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=603355
-
- gobject/generate-constants.c | 32 ++++++++++++++++----------------
- 1 file changed, 16 insertions(+), 16 deletions(-)
-
-commit cfa7d005487e17e8f7c1ceb14282d3a5baadb736
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Sat Nov 28 00:22:21 2009 +0100
-
-    Remove global checks for pointers and move them in type cases that
-    need them
-
- gi/pygi-argument.c | 516
- +++++++++++++++++++++++++++++++++++++++++++----------
- gi/pygi-info.c     | 333 +++++++++++++++++-----------------
- 2 files changed, 596 insertions(+), 253 deletions(-)
-
-commit d1ae73f3cf7cebdb74c9ec56b08928a2a53b9de6
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Mon Nov 23 15:58:17 2009 -0200
-
-    Pythonify. Avoid ; and () around if statements
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=602830
-
- gi/types.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit a8660621679c629fc81320a8ddf5bf2c7ee1f177
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Tue Nov 24 10:36:18 2009 -0200
-
-    Remove trailing whitespace
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=602830
-
- gi/module.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit 66c34805223af9e63c7d61f21a3dbd7505a8f256
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Mon Nov 30 10:03:34 2009 +0000
-
-    Set a default constructor for boxed structs that don't have one
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=602735
-
- gi/Makefile.am     |   2 +
- gi/gimodule.c      |   1 +
- gi/module.py       |   2 +-
- gi/pygi-argument.c |  14 +++-
- gi/pygi-boxed.c    | 184
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- gi/pygi-boxed.h    |  40 ++++++++++++
- gi/pygi-info.c     |   2 +-
- gi/pygi-private.h  |   1 +
- gi/pygi.h          |   6 ++
- gi/types.py        |  18 ------
- tests/libtestgi.c  |  72 ++++++++++-----------
- tests/libtestgi.h  |  18 +++---
- tests/test_gi.py   |  47 ++++++++------
- 13 files changed, 321 insertions(+), 86 deletions(-)
-
-commit e7e2fccae36c28c7e9f288fcd4c90a001140e307
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Mon Nov 30 10:53:57 2009 +0000
-
-    Revert "Use the limit constants from glib and interpret G_MAXUINT32
-    as PyLong_FromLongLong"
-
-    This reverts commit 05a2ed55f3e5d2620de8b3b6b0d99e928ef3b041.
-
- gi/pygi-argument.c | 14 +++++++-------
- tests/test_gi.py   | 18 +++++++++---------
- 2 files changed, 16 insertions(+), 16 deletions(-)
-
-commit 05a2ed55f3e5d2620de8b3b6b0d99e928ef3b041
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sat Nov 28 18:48:19 2009 +0000
-
-    Use the limit constants from glib and interpret G_MAXUINT32 as
-    PyLong_FromLongLong
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=602384
-
- gi/pygi-argument.c | 14 +++++++-------
- tests/test_gi.py   | 18 +++++++++---------
- 2 files changed, 16 insertions(+), 16 deletions(-)
-
-commit e24d155dd7b4a5b9c25c054137d1370c369d3192
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sat Nov 28 18:45:54 2009 +0000
-
-    Add the missing limit constants from glibconfig.h
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=603244
-
- gobject/generate-constants.c | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-commit 3a295cb7ffaaaf29c71b8833cf0ee5ec7ceaa909
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat Nov 28 18:48:49 2009 +0100
-
-    Fix bad name when rebuilding the unix source module
-
- gio/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a8cbb6fb72dbe6630d1265b18095c9a96f496b86
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat Nov 28 18:47:26 2009 +0100
-
-    Wrap new API added in GIO 2.22
-
- gio/gio-types.defs |  138 +++
- gio/gio.defs       | 2444
- +++++++++++++++++++++++++++++++++++++++++++++++-----
- 2 files changed, 2360 insertions(+), 222 deletions(-)
-
-commit 96f6c638709636d7e2ddf560b877879691da3314
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sat Nov 28 11:03:51 2009 +0000
-
-    A few tests about interfaces
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=601181
-
- tests/libtestgi.c | 23 +++++++++++++++++++++++
- tests/libtestgi.h | 16 ++++++++++++++++
- tests/test_gi.py  | 21 +++++++++++++++++++++
- 3 files changed, 60 insertions(+)
-
-commit 076ba3156c13375a75983cef7a409c8c8afea119
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Thu Nov 26 23:50:54 2009 +0100
-
-    Fix members initialization in metaclasses
-
-    In metaclasses, the test for the name of the class was wrong, since it
-    prevented one to create a subclass with the same name (especially
-    annoying for
-    overrides). Now, if a GType is available from the info, the fact
-    that it
-    doesn't have any wrapper yet means that the metaclass is creating
-    the base
-    class, which will be registerd just after its creation. This is
-    true for
-    objects, and for structures registered as boxed or pointer too.
-
-    This patch includes a test for basic subclassing in Python. It
-    notably tests
-    that methods don't get overridden by the metaclass.
-
- gi/types.py      |  5 +++--
- tests/test_gi.py | 19 +++++++++++++++++++
- 2 files changed, 22 insertions(+), 2 deletions(-)
-
-commit ac80e64c9f7d257865aa820753e52d56cf2871c8
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Fri Nov 27 12:06:59 2009 +0000
-
-    Structs in arrays are not marshalled correctly
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=602709
-
- gi/pygi-argument.c | 29 ++++++++++++++++++++++++-----
- tests/libtestgi.c  | 23 ++++++++++++++++++++++-
- tests/libtestgi.h  |  7 +++++--
- tests/test_gi.py   |  8 ++++++++
- 4 files changed, 59 insertions(+), 8 deletions(-)
-
-commit 4a373b8ad6ec137e911b92a3e745e0fd76541292
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Wed Nov 25 16:53:55 2009 +0100
-
-    Use the right variable when looking up in sys.modules
-
- gi/importer.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit fc3dca018e85aee34ade79d104ebd8cdd1dd5968
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Tue Nov 24 15:52:47 2009 +0100
-
-    Accept 0 as a valid value for flag and enum arguments
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=602638
-
- gi/pygi-argument.c | 19 ++++++++++++++++++-
- tests/libtestgi.c  |  6 ++++++
- tests/libtestgi.h  |  1 +
- tests/test_gi.py   |  1 +
- 4 files changed, 26 insertions(+), 1 deletion(-)
-
-commit 33081c29a1c2fdec2b8bfe17ae0a72b8db7a8d84
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Tue Nov 24 13:10:11 2009 +0100
-
-    Add stuff to .gitignore
-
- .gitignore | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 5c010fe673d9bd01c27c8d7d312064665275888c
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Mon Nov 23 22:39:12 2009 +0100
-
-    Remove the girepository module
-
- Makefile.am                        |    2 +-
- configure.ac                       |   17 -
- girepository/Makefile.am           |   54 --
- girepository/__init__.py           |   24 -
- girepository/bank-argument.c       |  379 ------------
- girepository/bank-info.c           | 1194
- ------------------------------------
- girepository/bank-repository.c     |  236 -------
- girepository/bank.c                |  155 -----
- girepository/bank.h                |   80 ---
- girepository/btypes.py             |  300 ---------
- girepository/importer.py           |   51 --
- girepository/module.py             |  224 -------
- girepository/overrides/Gdk.py      |   14 -
- girepository/overrides/Gtk.py      |    8 -
- girepository/overrides/__init__.py |    0
- girepository/repository.py         |   51 --
- tests/test_girepository.py         |  386 ------------
- 17 files changed, 1 insertion(+), 3174 deletions(-)
-
-commit a644edf0515c26ed027522891ccf02aceac764e8
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Mon Nov 23 15:32:16 2009 -0200
-
-    Create overridden modules in two passes
-
-    This patch splits overridden module creation into two passes. The
-    first pass
-    creates the auto-generated module normally before the overridden
-    module is
-    attempted to be imported. The second pass imports the overridden
-    module and
-    replaces the auto-generated module with the overridden. This is
-    necessary
-    for the overridden modules to be able to access the auto-generated
-    ones.
-
- gi/importer.py | 34 +++++++++++++++++++++-------------
- 1 file changed, 21 insertions(+), 13 deletions(-)
-
-commit fad89e12a744b57e6348968f351d25d167de8248
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sun Nov 22 17:56:20 2009 +0100
-
-    Add support for Any arguments
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=601253
-
- gi/pygi-argument.c | 20 ++++++++++++--------
- tests/libtestgi.c  |  5 +++++
- tests/libtestgi.h  |  5 +++++
- tests/test_gi.py   |  5 +++++
- 4 files changed, 27 insertions(+), 8 deletions(-)
-
-commit 1dc62a998dd8d2a0a397f8309011a8d79cb56034
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sun Nov 22 17:25:04 2009 +0100
-
-    Register interfaces
-
-    https://bugzilla.gnome.org/show_bug.cgi?id=601181
-
- gi/gimodule.c | 33 +++++++++++++++++++++++++++++++++
- gi/types.py   |  5 ++++-
- 2 files changed, 37 insertions(+), 1 deletion(-)
-
-commit d67d5afb5115c1d8294415b2e1a82af2c737ba17
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Sun Nov 22 18:23:02 2009 +0200
-
-    Ignore one more file.
-
- .gitignore | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 408b2186aea58a41ec26b9d0ca29ecd42df5ef7e
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Sun Nov 22 18:22:23 2009 +0200
-
-    Fix wrong minimum checking in float properties
-
-    Bug #587637.  Test the fix.
-
- gobject/propertyhelper.py | 5 +++--
- tests/test_properties.py  | 6 ++++++
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-commit 6ccf58afcf58e118903ced0135f0fe69b00e09ad
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Mon Oct 26 18:06:06 2009 +0000
-
-    Treat GI_INFO_TYPE_INTERFACE same as GI_INFO_TYPE_OBJECT
-
- gi/pygi-argument.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit e6f730d6e1431e36bd5f6b503a1038617f8d1e7d
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Sat Nov 14 21:42:43 2009 +0100
-
-    Import pygtk properly to avoid failure on some setups
-
- tests/test_gi.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-commit e604a89e9dc1a79687ef5fb94af7a2182be07dfb
-Author: Alex Dedul <rotmer@gmail.com>
-Date:   Sat Nov 14 21:39:15 2009 +0100
-
-    Search for python-config-${VERSION} when python${VERSION}-config is
-    not found
-
-    On Gentoo, notably, the config tool is named python-config-${VERSION},
-    while on
-    Fedora and Ubuntu, it is named python${VERSION}-config.
-
-    Signed-off-by: Simon van der Linden <svdlinden@src.gnome.org>
-
- configure.ac | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-commit 4a887cfabb326cb99dc65073d592c03f59e2f141
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Sat Nov 14 21:36:19 2009 +0100
-
-    Fix silent rules setup
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 602afea88c338a38327cd84e08703c5daa384ec6
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Tue Nov 10 22:32:33 2009 +0200
-
-    Move threads_init() function from 'gobject' to 'glib'
-
-    Retain in original place for backward compatibility, but remove it
-    from the docs.
-
- docs/reference/pygobject-functions.xml | 36
- +++++++---------------------------
- glib/glibmodule.c                      | 16 +++++++++++++++
- 2 files changed, 23 insertions(+), 29 deletions(-)
-
-commit 734755912fff11332dc0e96317b7d6b7c4014e6a
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Mon Nov 9 22:44:12 2009 +0100
-
-    Remove PyGObject patches since they've been merged to master
-
- ...pytype-aware-of-the-interface-enum-flags-.patch |  78 --------
- patches/0002-Fix-girpository-build-setup.patch     | 186
- -------------------
- ...capabilities-to-import-wrappers-from-pygi.patch | 200
- ---------------------
- ...ances-by-calling-tp_alloc-rather-than-PyO.patch |  29 ---
- 4 files changed, 493 deletions(-)
-
-commit 6a69288941e65312fe82649ec72d2f21b2dc618f
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Sat Nov 7 23:42:07 2009 +0100
-
-    Create instances by calling tp_alloc rather than PyObject_NEW
-
-    PyObject_NEW calls a generic allocator and should only be called by
-    tp_new, knowing
-    that the type's free function agrees. In pyg_boxed_new, we may
-    allocate
-    PyGBoxed subtypes, so the subtype's allocation function must be
-    called instead.
-
- gobject/pygboxed.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit 000f7c36e667c6e078e3370769ea868e56a1b4ee
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Sat Nov 7 16:43:35 2009 +0100
-
-    Add capabilities to import wrappers from pygi
-
-    At instance creation for boxed and pointers, at lookup for objects,
-    when the gtype has no wrapper yet, a wrapper may be imported from
-    pygi.
-
-    The feature is turned on at configure time by --enable-pygi.
-
-    Because we couldn't create a circular build dependency, PyGI's import
-    function and
-    API definition had to be copied in this tree.
-
- configure.ac            |  8 ++++++
- gobject/pygboxed.c      | 10 ++++++++
- gobject/pygi-external.h | 66
- +++++++++++++++++++++++++++++++++++++++++++++++++
- gobject/pygobject.c     | 10 ++++++++
- gobject/pygpointer.c    | 11 +++++++++
- 5 files changed, 105 insertions(+)
-
-commit fdfbc90dbc9e305646b62d73de506b5e0e99cc91
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Sun Nov 8 20:03:58 2009 +0100
-
-    Update PyGObject patches
-
-    A file, pygi-external.h, was missing in patch #3.
-
- ...capabilities-to-import-wrappers-from-pygi.patch | 74
- ++++++++++++++++++++--
- ...ances-by-calling-tp_alloc-rather-than-PyO.patch |  2 +-
- 2 files changed, 69 insertions(+), 7 deletions(-)
-
-commit 8f53ca8a72f9958711765281dd5c5bdfb7042d7d
-Author: Tomeu Vizoso <tomeu@sugarlabs.org>
-Date:   Sun Nov 8 16:52:18 2009 +0100
-
-    Add myself to pygi.doap
-
- pygi.doap | 5 +++++
- 1 file changed, 5 insertions(+)
-
-commit 6f50d5102aec9288e1851f12e9d232b9c141d524
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Sun Nov 8 15:40:51 2009 +0100
-
-    Add a doap file
-
- pygi.doap | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-commit ce673b9027868e6add4eeb438bc707eb40bfd046
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Sun Nov 8 13:06:54 2009 +0100
-
-    Add PyGObject patches
-
- ...pytype-aware-of-the-interface-enum-flags-.patch |  78 +++++++++
- patches/0002-Fix-girpository-build-setup.patch     | 186
- +++++++++++++++++++++
- ...capabilities-to-import-wrappers-from-pygi.patch | 138 +++++++++++++++
- ...ances-by-calling-tp_alloc-rather-than-PyO.patch |  29 ++++
- 4 files changed, 431 insertions(+)
-
-commit b24fd9633cabe1d95cde173a04e9a49833b06a26
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Sun Nov 8 12:35:08 2009 +0100
-
-    Initial import
-
- .gitignore                |   33 +
- Makefile.am               |   10 +
- autogen.sh                |  159 +++
- configure.ac              |   53 +
- gi/Makefile.am            |   50 +
- gi/__init__.py            |   24 +
- gi/gimodule.c             |  144 ++
- gi/importer.py            |   89 ++
- gi/module.py              |  167 +++
- gi/overrides/Gdk.py       |   21 +
- gi/overrides/Gtk.py       |   13 +
- gi/overrides/Makefile.am  |   10 +
- gi/overrides/__init__.py  |    0
- gi/pygi-argument.c        | 1976 ++++++++++++++++++++++++++
- gi/pygi-argument.h        |   65 +
- gi/pygi-info.c            | 2093 ++++++++++++++++++++++++++++
- gi/pygi-info.h            |   64 +
- gi/pygi-private.h         |   55 +
- gi/pygi-repository.c      |  238 ++++
- gi/pygi-repository.h      |   39 +
- gi/pygi-struct.c          |  175 +++
- gi/pygi-struct.h          |   40 +
- gi/pygi-type.c            |   96 ++
- gi/pygi-type.h            |   43 +
- gi/pygi.h                 |   99 ++
- gi/pygobject-external.h   |   83 ++
- gi/repository/Makefile.am |    8 +
- gi/repository/__init__.py |   30 +
- gi/types.py               |  163 +++
- tests/Makefile.am         |   48 +
- tests/libtestgi.c         | 3397
- +++++++++++++++++++++++++++++++++++++++++++++
- tests/libtestgi.h         |  643 +++++++++
- tests/runtests.py         |   22 +
- tests/test_gi.py          | 1416 +++++++++++++++++++
- 34 files changed, 11566 insertions(+)
-
-commit bfd3100a580b8bea9db25b8bb7443fb8c3dbe1cc
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Sat Nov 7 13:23:53 2009 +0100
-
-    Fix girpository build setup
-
- configure.ac             | 21 ++++++-----
- girepository/Makefile.am | 13 ++++---
- m4/introspection.m4      | 92
- ++++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 111 insertions(+), 15 deletions(-)
-
-commit 421c03b1c5b69f90c778663df901b45ca3ee8ba5
-Author: Simon van der Linden <svdlinden@src.gnome.org>
-Date:   Fri Nov 6 19:17:36 2009 +0100
-
-    Make GType.pytype aware of the interface, enum, flags, pointer and
-    boxed wrappers
-
- gobject/pygtype.c | 39 +++++++++++++++++++++++++++++++++------
- 1 file changed, 33 insertions(+), 6 deletions(-)
-
-commit a9c168c58cc6a449b51653417bf3f58bdd41457c
-Author: Philippe Normad <phil@base-art.net>
-Date:   Wed Oct 21 18:01:16 2009 +0200
-
-    pygmainloop: fix use of PySignal_WakeUpFD API for nested loops
-
-    Fixes bug #481569
-
- glib/pygmainloop.c | 95
- ++++++++++++++++++++++++++++--------------------------
- 1 file changed, 50 insertions(+), 45 deletions(-)
-
-commit c6a5750379354c12e2599b3c73b4f9a23fd39114
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Sep 25 20:12:21 2009 +0200
-
-    Post release version bump to 2.21.0
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 33920eb013628a5e22b7b32403fb965ae3210f47
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed Sep 23 21:52:04 2009 +0200
-
-    Update NEWS and release 2.20.0
-
- NEWS | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-commit 66b12f7d2f54143ea80b4f8aec863b26800363d6
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed Sep 23 21:51:43 2009 +0200
-
-    Bump version to 2.20.0
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 7bf87338a026ac82f908aa5fddf2bfea2daf6617
-Author: Brian Cameron <Brian.Cameron@sun.com>
-Date:   Wed Sep 23 12:11:50 2009 -0500
-
-    Updated uninstalled.pc file so that it contains the right paths for
-    defsdir files and codegen files.  See bug #596023.
-
- pygobject-2.0-uninstalled.pc.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit d042402b7c649b2bed7f20038eb82518ec7cc9b3
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Tue Sep 22 22:02:27 2009 +0300
-
-    Plug reference leak of GSource in pyg_main_loop_init()
-
-    Bug #579406, second change.
-
- glib/pygmainloop.c | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 640be8109d066e85ed77c810830a5f73c750415b
-Author: Frédéric Péters <fpeters@0d.be>
-Date:   Sun Aug 30 16:46:02 2009 +0200
-
-    Specify programming language in .devhelp file
-
-    This add a new language attribute (hardcoded to python) in the
-    .devhelp
-    file that is produced when using ref-html-style.xsl.
-
- docs/xsl/devhelp.xsl | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit c888b5ca722fcad6a03de585606c677c2969ebd6
-Author: Paolo Borelli <pborelli@gnome.org>
-Date:   Thu Aug 13 21:32:07 2009 +0200
-
-    Allow to use automake 1.11
-
- autogen.sh | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-commit 30deaba4bd1e199aab75cb346ee9237237807fbd
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Aug 11 22:19:50 2009 +0200
-
-    Update README
-
- README | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-commit af165d350d0d1bb493be5140bf84376d3da1e4d8
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Aug 11 22:16:52 2009 +0200
-
-    Update AUTHORS
-
- AUTHORS | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-commit 5f9f87f276b97964b525a501d8584ea8b4d8bfd2
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Aug 11 22:11:43 2009 +0200
-
-    Add myself and Paul as maintainers
-
- MAINTAINERS    |  8 ++++++++
- pygobject.doap | 14 ++++++++++++++
- 2 files changed, 22 insertions(+)
-
-commit 3bfae47fbcb5523d91fb2d1ed7ea347eeddd1775
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Aug 11 20:52:44 2009 +0200
-
-    Update NEWS release 2.19.0
-
- NEWS | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-commit e82a1841f31ad54dd50569d0d45290713409e0bf
-Author: John Finlay <finlay@moeraki.com>
-Date:   Tue Aug 11 00:04:31 2009 -0700
-
-    Add macros to help with Python list to/from GList/GSList conversions.
-
- gobject/pygobject.h | 242
- +++++++++++++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 241 insertions(+), 1 deletion(-)
-
-commit f1fad96da2c531fbd3218923baa4fe806a2942d4
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat Aug 8 21:37:54 2009 +0200
-
-    Bug 590063 â€“ GFileInfo.list_attributes should accept None/NULL
-
- gio/gfileinfo.override | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-commit b7907cf6ff6ccf8d38b5206f09f5c864c205e5de
-Author: Johan Dahlin <johan@gnome.org>
-Date:   Fri Jul 24 14:30:37 2009 -0300
-
-    Remove myself as a maintainer
-
- MAINTAINERS    | 4 ----
- pygobject.doap | 7 -------
- 2 files changed, 11 deletions(-)
-
-commit be6eb21320b4688bcfcd8cbea33f7be29a76f2a2
-Author: John Finlay <finlay@moeraki.com>
-Date:   Wed Jul 8 15:47:44 2009 -0700
-
-            * codegen/defsgen.py (clean_patterns): Strip out Windows
-            DLL API macros.
-
- codegen/defsgen.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit 2214cad3529979e29342a7e1fdc2915b90ce9c10
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Jun 23 21:18:23 2009 +0200
-
-    Fix the gio.unix namespace in docs
-
- docs/Makefile.am                          |  2 ++
- docs/reference/pygio-classes.xml          |  2 --
- docs/reference/pygio-unixinputstream.xml  | 26 +++++++++++++-------------
- docs/reference/pygio-unixoutputstream.xml | 26 +++++++++++++-------------
- docs/reference/pygiounix-classes.xml      | 13 +++++++++++++
- docs/reference/pygobject-ref.xml          |  1 +
- 6 files changed, 42 insertions(+), 28 deletions(-)
-
-commit c0acaedfe7f4e488a490e07e3184f0709e1fadc2
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Jun 22 23:13:36 2009 +0200
-
-    Add docs for gio functions (mostly for content types)
-
- docs/Makefile.am                   |   2 +
- docs/reference/pygio-classes.xml   |   1 +
- docs/reference/pygio-functions.xml | 395
- +++++++++++++++++++++++++++++++++++++
- 3 files changed, 398 insertions(+)
-
-commit ebddee47fb7f3e06f9e0a7a14b9532d5cf8a3881
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sun Jun 21 18:35:56 2009 +0200
-
-    Add docs for gio.Unix[In|Out]putStream classes
-
- docs/Makefile.am                          |   4 +
- docs/reference/pygio-classes.xml          |   2 +
- docs/reference/pygio-unixinputstream.xml  | 202
- ++++++++++++++++++++++++++++++
- docs/reference/pygio-unixoutputstream.xml | 202
- ++++++++++++++++++++++++++++++
- 4 files changed, 410 insertions(+)
-
-commit 5b71e58117c85634d95d08449eb54079b246e5be
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Sun Jun 21 16:50:03 2009 +0300
-
-    Document that many functions got moved gobject -> glib
-
- docs/reference/pygobject-functions.xml | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit b270dc43f2cef5260b0bbc71356fd8e6a2b7f754
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat Jun 20 19:23:25 2009 +0200
-
-    Add docs for class gio.DataOutputStream
-
- docs/Makefile.am                          |   2 +
- docs/reference/pygio-classes.xml          |   1 +
- docs/reference/pygio-dataoutputstream.xml | 504
- ++++++++++++++++++++++++++++++
- 3 files changed, 507 insertions(+)
-
-commit 549313fc4886fa3deb31761de6f5400708165d86
-Author: Murray Cumming <murrayc@murrayc.com>
-Date:   Thu Jun 18 18:48:37 2009 +0200
-
-    Allow h2def.py to work when there are tabs or multiple spaces after
-    the struct keyword.
-
- codegen/h2def.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 5c36ef20dca8cd1793f2d3e88949675299097f40
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Jun 15 23:02:34 2009 +0200
-
-    Add dpcs for class gio.DataInputStream
-
- docs/Makefile.am                         |   2 +
- docs/reference/pygio-classes.xml         |   1 +
- docs/reference/pygio-constants.xml       |  66 +++
- docs/reference/pygio-datainputstream.xml | 799
- +++++++++++++++++++++++++++++++
- 4 files changed, 868 insertions(+)
-
-commit a8b36c343c6850af929c1d5a930f923831b4e637
-Author: Theppitak Karoonboonyanan <thep@linux.thai.net>
-Date:   Mon Jun 15 23:25:01 2009 +0300
-
-    Fix build when builddir is not the same as srcdir
-
-    Bug #585817.
-
- girepository/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 9d9ae97b8a49836ec1f3b8d6529bafe1cc06d4d7
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Mon Jun 15 23:19:47 2009 +0300
-
-    Make gio.Emblem constructor new-style
-
-    Add optional 'origin' parameter.  Expand gio.Emblem documentation and
-    mark gio.emblem_new_with_origin as sort-of-deprecated.
-
- docs/reference/pygio-emblem.xml | 51
- +++++++++++++++++++++++++++++++++++++++--
- gio/gio.defs                    |  5 ++--
- 2 files changed, 52 insertions(+), 4 deletions(-)
-
-commit 268e1681fd5b46e6412d3a8db84f3f1cb02fdbde
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat Jun 13 14:44:47 2009 +0200
-
-    Add docs for gio.BufferedOutputStream class
-
- docs/Makefile.am                              |  96 ++++-----
- docs/reference/pygio-bufferedoutputstream.xml | 275
- ++++++++++++++++++++++++++
- docs/reference/pygio-classes.xml              |   1 +
- 3 files changed, 325 insertions(+), 47 deletions(-)
-
-commit a6e25aaa7c8f27d62f2917b06728d7ccfcd46416
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat Jun 13 14:38:34 2009 +0200
-
-    Fix gio.BufferedInputStream docs
-
-    Added the constructor reference and fixed a typo in properties header
-
- docs/reference/pygio-bufferedinputstream.xml | 34
- ++++++++++++++++++++++++++--
- 1 file changed, 32 insertions(+), 2 deletions(-)
-
-commit a9b13b60a5aad726d7d7dd7fdc5153b1561fb591
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat Jun 13 01:25:06 2009 +0200
-
-    Add docs for gio.BufferedInputStream
-
- docs/Makefile.am                             |   2 +
- docs/reference/pygio-bufferedinputstream.xml | 431
- +++++++++++++++++++++++++++
- docs/reference/pygio-classes.xml             |   1 +
- 3 files changed, 434 insertions(+)
-
-commit 7766daa59b0e2b85413cee368bf2ebd2afe198e1
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Sun May 31 18:25:47 2009 +0300
-
-    Cleanup GIO overrides to use Python function/method names
-
-    Also move several gio.Mount overrides over from 'gio.override' to
-    existing 'gmount.override'.  Part of bug #584289.
-
- gio/gfile.override           |  20 ++---
- gio/gfileenumerator.override |   6 +-
- gio/ginputstream.override    |   2 +-
- gio/gio.override             | 204
- -------------------------------------------
- gio/gmount.override          | 204
- +++++++++++++++++++++++++++++++++++++++++++
- 5 files changed, 218 insertions(+), 218 deletions(-)
-
-commit 07e9c18dc092f6546230168b6b69c1b3454e120a
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Sun May 31 18:56:55 2009 +0300
-
-    Make codegen report errors using Python function/method names
-
-    Part of bug #584289.
-
- codegen/codegen.py     |  9 +++++----
- codegen/definitions.py | 10 +++++++++-
- 2 files changed, 14 insertions(+), 5 deletions(-)
-
-commit 235fde85d015382f2ba38b21968e82b3ac0b6612
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri Jun 12 00:12:17 2009 +0200
-
-    Fix object type in gio.BufferedInputStream_fill_async
-
- gio/gbufferedinputstream.override | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 407b0e909056f15960e6a4e549896d786ce0a0b2
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Jun 9 00:08:21 2009 +0200
-
-    Wrap gio.BufferedInputStream.fill_async
-
-    Wrap the method gio.BufferedInputStream.fill_async and add a test
-
- gio/Makefile.am                   |  1 +
- gio/gbufferedinputstream.override | 70
- +++++++++++++++++++++++++++++++++++++++
- gio/gio.override                  |  1 +
- tests/test_gio.py                 | 25 ++++++++++++++
- 4 files changed, 97 insertions(+)
-
-commit b7c96b41b287685fe57504e0add3a6f16e649975
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Jun 8 15:42:40 2009 +0200
-
-    Add gio.BufferedOutputStream which was forgotten in the types
-    definition
-
- gio/gio-types.defs | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-commit 3666f75af4ef2c8e038116aee5afada59d59f689
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Jun 8 14:20:02 2009 +0200
-
-    Add docs for gio.MemoryOutputStream
-
- docs/Makefile.am                            |   2 +
- docs/reference/pygio-classes.xml            |   1 +
- docs/reference/pygio-memoryoutputstream.xml | 175
- ++++++++++++++++++++++++++++
- 3 files changed, 178 insertions(+)
-
-commit 6eb5e3988cbddb4afb3d5747364d6eb80370bb78
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Jun 8 13:30:15 2009 +0200
-
-    Split overrides for gio.MemoryOutputStream
-
- gio/Makefile.am                  |  1 +
- gio/gio.override                 |  1 +
- gio/gmemoryoutputstream.override | 45
- ++++++++++++++++++++++++++++++++++++++++
- gio/goutputstream.override       | 24 ---------------------
- 4 files changed, 47 insertions(+), 24 deletions(-)
-
-commit dfbdf23633a772e78b47b0e7b0c3e3b87855d9ff
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Jun 8 11:45:11 2009 +0200
-
-    Wrap gio.memory_input_stream_new_from_data
-
-    Add the wrapper for gio.memory_input_stream_new_from_data including
-    docs and a test.
-
- docs/Makefile.am                           |   4 +-
- docs/reference/pygio-classes.xml           |   1 +
- docs/reference/pygio-memoryinputstream.xml | 151
- +++++++++++++++++++++++++++++
- gio/Makefile.am                            |   1 +
- gio/ginputstream.override                  |  34 -------
- gio/gio.override                           |   1 +
- gio/gmemoryinputstream.override            |  91 +++++++++++++++++
- tests/test_gio.py                          |   4 +
- 8 files changed, 252 insertions(+), 35 deletions(-)
-
-commit fcc3cb0e167789746a1a9db0cba54ea7a97c7259
-Author: Simon van der Linden <simon.vanderlinden@student.uclouvain.be>
-Date:   Mon Jun 8 19:15:24 2009 +0200
-
-    Fixes whitespaces style issues with girepository.
-
- girepository/Makefile.am       |  2 +-
- girepository/bank-repository.c | 67
- +++++++++++++++++++++---------------------
- girepository/bank.h            |  2 +-
- girepository/btypes.py         |  6 ++--
- girepository/module.py         |  2 +-
- 5 files changed, 39 insertions(+), 40 deletions(-)
-
-commit fb4b2c8cdad2853e6bfe9526529e3a3ab052c5e0
-Author: Simon van der Linden <simon.vanderlinden@student.uclouvain.be>
-Date:   Fri Jun 5 19:03:59 2009 +0200
-
-    Removes the header but the modeline in test_girepository.py.
-
- tests/test_girepository.py | 26 +-------------------------
- 1 file changed, 1 insertion(+), 25 deletions(-)
-
-commit abe4828f52c7eb3a08f5b592e7ced1e97a58ef5c
-Author: Simon van der Linden <simon.vanderlinden@student.uclouvain.be>
-Date:   Wed Jun 3 10:47:58 2009 +0200
-
-    Adds overrides modules from PyBank.
-
- girepository/Makefile.am           |  3 +++
- girepository/importer.py           |  3 +--
- girepository/overrides/Gdk.py      | 14 ++++++++++++++
- girepository/overrides/Gtk.py      |  8 ++++++++
- girepository/overrides/__init__.py |  0
- 5 files changed, 26 insertions(+), 2 deletions(-)
-
-commit c12964e6a3354d8063355225c94e6d21d621e08b
-Author: Simon van der Linden <simon.vanderlinden@student.uclouvain.be>
-Date:   Tue Jun 2 23:40:41 2009 +0200
-
-    Disables the tests that fail in tests/test_girepository.py.
-
- tests/test_girepository.py | 242
- ++++++++++++++++++++++++++++++++++-----------
- 1 file changed, 182 insertions(+), 60 deletions(-)
-
-commit a4469a3f7d32a25156bae5e7aef9ec4ae5f6e140
-Author: Simon van der Linden <simon.vanderlinden@student.uclouvain.be>
-Date:   Tue Jun 2 23:03:26 2009 +0200
-
-    Imports test_girepository.py from former PyBank's
-    everything_unittest.py.
-
- tests/test_girepository.py | 288
- +++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 288 insertions(+)
-
-commit e4f2a5ef8734cf40cf8345d442612db1f6c62d5a
-Author: Simon van der Linden <simon.vanderlinden@student.uclouvain.be>
-Date:   Thu May 28 17:45:11 2009 +0200
-
-    Introduces the girepository module from the former PyBank.
-
- INSTALL                        |   69 +--
- Makefile.am                    |    2 +-
- configure.ac                   |   12 +
- girepository/Makefile.am       |   52 ++
- girepository/__init__.py       |   24 +
- girepository/bank-argument.c   |  379 +++++++++++++
- girepository/bank-info.c       | 1194
- ++++++++++++++++++++++++++++++++++++++++
- girepository/bank-repository.c |  237 ++++++++
- girepository/bank.c            |  155 ++++++
- girepository/bank.h            |   80 +++
- girepository/btypes.py         |  300 ++++++++++
- girepository/importer.py       |   52 ++
- girepository/module.py         |  224 ++++++++
- girepository/repository.py     |   51 ++
- 14 files changed, 2799 insertions(+), 32 deletions(-)
-
-commit f5ab5046fe9b67ec5e8fc64679e1a3d01787af7e
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Jun 2 18:28:22 2009 +0200
-
-    Fix the docs for gio.FilterOutputStream
-
- docs/reference/pygio-filteroutputstream.xml | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-commit fded60d8376fc45d19bf6cd8be6b927cc3f2e8c6
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Jun 2 18:27:00 2009 +0200
-
-    Add gio.FilterOutputStream docs
-
- docs/Makefile.am                            |   2 +
- docs/reference/pygio-classes.xml            |   1 +
- docs/reference/pygio-filteroutputstream.xml | 152
- ++++++++++++++++++++++++++++
- 3 files changed, 155 insertions(+)
-
-commit e2c31f916967229b6547e68013628ce0082cf875
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Jun 2 13:29:59 2009 +0200
-
-    Add gio.FilterInputStream docs
-
- docs/Makefile.am                           |   2 +
- docs/reference/pygio-classes.xml           |   1 +
- docs/reference/pygio-filterinputstream.xml | 152
- +++++++++++++++++++++++++++++
- 3 files changed, 155 insertions(+)
-
-commit 49a467eee445bc75554db0374006722ac075194b
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Jun 2 11:33:20 2009 +0200
-
-    Add API appeared in 2.20 but not marked as such in gio docs
-
- gio/gio.defs | 30 ++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
-
-commit 180c157f2a20b7d2dd9af05bfb5f515fd23870a0
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Jun 2 10:41:26 2009 +0200
-
-    Wrap gio.FileOutputStream.query_info_async
-
-    Add the wrapper for gio.FileOutputStream.query_info_async
-    including docs and a test.
-
- docs/Makefile.am                          |   2 +
- docs/reference/pygio-classes.xml          |   1 +
- docs/reference/pygio-fileoutputstream.xml | 257
- ++++++++++++++++++++++++++++++
- gio/Makefile.am                           |   3 +-
- gio/gfileoutputstream.override            |  68 ++++++++
- gio/gio.override                          |   1 +
- tests/test_gio.py                         |  27 ++++
- 7 files changed, 358 insertions(+), 1 deletion(-)
-
-commit 4673577d1f6c3d54423808dd575987092fb05ad2
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue Jun 2 10:17:41 2009 +0200
-
-    Fix gio.FileInputStream docs
-
-    Add implemented interface section and remove a method description
-
- docs/reference/pygio-fileinputstream.xml | 25 +++++++++----------------
- 1 file changed, 9 insertions(+), 16 deletions(-)
-
-commit 1e1cad02879d514745b5233658654cbe944530a5
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Jun 1 22:54:26 2009 +0200
-
-    Fix the method name
-
- gio/gfileinputstream.override | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-commit f605811afe8c91f121e89b6f9ec28c70b62f4110
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon Jun 1 22:40:56 2009 +0200
-
-    Wrap gio.FileInputStream.query_async
-
-    Add the wrapper for gio.FileInputStream.query_async including docs and
-    a test.
-
- docs/Makefile.am                         |   2 +
- docs/reference/pygio-classes.xml         |   1 +
- docs/reference/pygio-fileinputstream.xml | 221
- +++++++++++++++++++++++++++++++
- gio/Makefile.am                          |   1 +
- gio/gfileinputstream.override            |  68 ++++++++++
- gio/gio.override                         |   1 +
- tests/test_gio.py                        |  27 ++++
- 7 files changed, 321 insertions(+)
-
-commit 08623e54a426377c1504b5c364aabae5a17f8ad8
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Sun May 31 17:43:16 2009 +0300
-
-    Install executable codegen parts with executing permissions
-
-    Also add shebang where it was missing.  Bug #583979.
-
- codegen/Makefile.am      | 23 ++++++++++++-----------
- codegen/code-coverage.py |  2 ++
- codegen/codegen.py       |  2 ++
- codegen/createdefs.py    |  0
- codegen/defsconvert.py   |  2 ++
- codegen/defsgen.py       |  0
- codegen/docgen.py        |  0
- codegen/scmexpr.py       |  0
- 8 files changed, 18 insertions(+), 11 deletions(-)
-
-commit 833d4da202bcfcb01a414f8aec4b751ec8e1ccb2
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Sat May 30 16:57:49 2009 +0300
-
-    Wrap gio.DataInputStream.read_line_async and read_until_async
-
-    Wrap the functions and their corresponding *_finish() functions.
-    Create 'gdatainputstream.override' for these and move two existing
-    functions there.  Add unit tests.  Re-enable synchronous read_line
-    unit test and adjust it for new official GIO behavior.  Bug #584285.
-
- gio/Makefile.am               |   1 +
- gio/gdatainputstream.override | 250
- ++++++++++++++++++++++++++++++++++++++++++
- gio/ginputstream.override     |  65 -----------
- gio/gio.defs                  |   4 +-
- gio/gio.override              |   1 +
- tests/test_gio.py             |  51 ++++++++-
- 6 files changed, 300 insertions(+), 72 deletions(-)
-
-commit 2cb569c0ced49f9ed5ca83292d5f15c837066688
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Sat May 30 17:24:15 2009 +0300
-
-    Fix gio.OutputStream.splice_async
-
-    Bug #584290.
-
- gio/goutputstream.override | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit e43fa429f6b4019a432acb481bbc07c8201cc46d
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Wed May 27 21:19:27 2009 +0300
-
-    Code maintenance: ignore one more file created by unit tests
-
- tests/.gitignore | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 76e9dc74ac706a9207f9d31f887d6e38df2a678f
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon May 25 20:20:38 2009 +0200
-
-    Update the docs with new 2.20 API
-
- docs/reference/pygio-appinfo.xml | 115 +++++++++++++++++++++++++++++
- docs/reference/pygio-icon.xml    |  99 ++++++++++++++++++++++++-
- docs/reference/pygio-mount.xml   | 156
- +++++++++++++++++++++++++++++++++++++++
- 3 files changed, 367 insertions(+), 3 deletions(-)
-
-commit 8e40d71ac23deb7d91789486ee8cad440a6be1dd
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon May 25 01:33:08 2009 +0200
-
-    Add gio 2.20 API
-
-    add the new API added in gio 2.20, some needs to be wrapped manually
-
- gio/gio.defs  | 106
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- gio/unix.defs |  48 +++++++++++++++++++++-----
- 2 files changed, 146 insertions(+), 8 deletions(-)
-
-commit 0d08df42514fba6abc896814abfee0d2d083c29e
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon May 25 00:14:21 2009 +0200
-
-    Post release version bump 2.19.0
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit edfb09e3de7baf294b3beba84b4ecb94e1f16764
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sun May 24 23:56:29 2009 +0200
-
-    Update NEWS, release 2.18.0
-
- NEWS         | 14 ++++++++++++++
- configure.ac |  4 ++--
- 2 files changed, 16 insertions(+), 2 deletions(-)
-
-commit e0648ea435e0b309cdd5bb0ebe56d4534efd26e4
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sun May 24 22:18:40 2009 +0200
-
-    Add documentation for the gio.OutputStream class
-
-    The docs for this class are not completed, missing methods
-    descriptions.
-    The index is complete though, it will be completed once all the
-    classes
-    are in place so we can ship a (almost) complete reference.
-
- docs/Makefile.am                      |   2 +
- docs/reference/pygio-classes.xml      |   3 +-
- docs/reference/pygio-outputstream.xml | 140
- ++++++++++++++++++++++++++++++++++
- 3 files changed, 144 insertions(+), 1 deletion(-)
-
-commit 11524cdf6472d9115a812ce431f6767aec5627bc
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sun May 24 22:12:04 2009 +0200
-
-    Wrap gio.OutputStream.splice_async()
-
-    wrap gio.OutputStream.splice_async() and add a test.
-
- gio/goutputstream.override | 58
- +++++++++++++++++++++++++++++++++++++++++++++-
- tests/test_gio.py          | 20 ++++++++++++++++
- 2 files changed, 77 insertions(+), 1 deletion(-)
-
-commit 82ad6b8c8ea4d6694126f5e0e67b826717e38f19
-Author: Emilio Pozuelo Monfort <pochu@ubuntu.com>
-Date:   Sun May 24 22:55:16 2009 +0300
-
-    Add Python version into installed libpyglib name
-
-    Do this now, while no-one (as far as we know) links to the library
-    besides PyGObject itself.  Bug #550235.
-
- configure.ac        |  2 ++
- gio/Makefile.am     |  2 +-
- glib/Makefile.am    | 10 +++++-----
- gobject/Makefile.am |  2 +-
- 4 files changed, 9 insertions(+), 7 deletions(-)
-
-commit 59da8cd24ea390b6c983995833ec6b0e5d028b35
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sun May 24 11:44:24 2009 +0200
-
-    Wrap gio.OutputStream.flush_async()
-
-    wrap gio.OutputStream.flush_async() and add a test.
-
- gio/goutputstream.override | 47
- +++++++++++++++++++++++++++++++++++++++++++++-
- tests/test_gio.py          | 11 +++++++++++
- 2 files changed, 57 insertions(+), 1 deletion(-)
-
-commit 84ab6178ed0033f69932df5bc73c86bdff80c953
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sun May 17 17:29:37 2009 +0200
-
-    Add documentation for the gio.FileMonitor class
-
-    The docs for this class are not completed, missing methods
-    descriptions.
-    The index is complete though, it will be completed once all the
-    classes
-    are in place so we can ship a (almost) complete reference.
-
- docs/Makefile.am                     |   2 +
- docs/reference/pygio-classes.xml     |   1 +
- docs/reference/pygio-filemonitor.xml | 128
- +++++++++++++++++++++++++++++++++++
- 3 files changed, 131 insertions(+)
-
-commit 629496a5617d30e4dfa494b05a62c85a6af77b9a
-Author: Josselin Mouette <joss@malsain.org>
-Date:   Sun May 17 18:03:44 2009 +0300
-
-    Use 'Requires.private' for libffi in '.pc' files
-
-    Correction for patch in bug #550231.
-
- pygobject-2.0-uninstalled.pc.in | 3 ++-
- pygobject-2.0.pc.in             | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-commit 90cd8b7c4a25cd2ecb751f8337b401c98538272b
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Wed May 13 21:54:39 2009 +0200
-
-    Add wrapper for gio.FileAttributeMatcher
-
-    added a boxed type for gio.FileAttributeMatcher which has been
-    forgotten while
-    wrapping the gio API. This should probably be done in gio itself.
-
- gio/gfileinfo.override | 24 ++++++++++++++++++++++--
- gio/gio-types.defs     |  7 +++++++
- gio/gio.override       |  2 ++
- 3 files changed, 31 insertions(+), 2 deletions(-)
-
-commit e707447d9313f2f2ecba395cfe3682d5a5e859f4
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Wed May 13 22:06:25 2009 +0300
-
-    Mark relevant glib.IOChannel methods as METH_NOARGS
-
-    Additionally fix glib.IOChannel.set_close_on_unref: was marked
-    METH_NOARGS but actually accepted arguments.  Fixes bug #582427.
-
- glib/pygiochannel.c | 83
- +++++++++++++----------------------------------------
- 1 file changed, 20 insertions(+), 63 deletions(-)
-
-commit 002915e5f458fec5a89766a54e8119a70a80caa7
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Tue May 12 20:37:24 2009 +0200
-
-    Add documentation for the gio.FileInfo class
-
-    The docs for this class are not completed, missing methods
-    descriptions.
-    The index is complete though, it will be completed once all the
-    classes
-    are in place so we can ship a (almost) complete reference.
-
- docs/Makefile.am                  |   2 +
- docs/reference/pygio-classes.xml  |   1 +
- docs/reference/pygio-fileinfo.xml | 346
- ++++++++++++++++++++++++++++++++++++++
- 3 files changed, 349 insertions(+)
-
-commit 8cd25c871609580425c6c4c9e5bc6ec8d40862a1
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Sat May 9 16:46:04 2009 +0300
-
-    Retire hand-written ChangeLog; autocreate from Git history
-
-    Basically copied over from GLib source tree.
-
- ChangeLog => ChangeLog.pre-2.18 |  2 ++
- Makefile.am                     | 32 ++++++++++++++++++++++++++++++++
- 2 files changed, 34 insertions(+)
-
-commit 23556bdbcf9cf06db866901fb822dd78a9043648
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat May 9 00:03:05 2009 +0200
-
-    Fix a bug in InputStream.skip_async
-
-    use the count argument instead of buffer_size which is always zero
-
- gio/ginputstream.override | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-commit ed6b06315c17441b41c001d38537c904b8fe18de
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat May 9 00:02:33 2009 +0200
-
-    Add docs for the gio.InputStream class
-
- docs/Makefile.am                     |   2 +
- docs/reference/pygio-classes.xml     |   1 +
- docs/reference/pygio-inputstream.xml | 730
- +++++++++++++++++++++++++++++++++++
- 3 files changed, 733 insertions(+)
-
-commit d58322b84d47da7905f95b43e9e0daf9f7c4b507
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Mon May 4 23:40:28 2009 +0200
-
-    Wrap gio.InputStream.skip_async()
-
-    wrap gio.InputStream.skip_async() and add a test.
-
- gio/ginputstream.override | 50
- ++++++++++++++++++++++++++++++++++++++++++++++-
- tests/test_gio.py         | 20 +++++++++++++++++++
- 2 files changed, 69 insertions(+), 1 deletion(-)
-
-commit 2311187824d1b48a996ee2620fd3c9a63e3edd66
-Author: Siavash Safi <siavash@siavashs.org>
-Date:   Mon May 4 15:46:49 2009 +0430
-
-    Add -n --namespace option and the code to remove
-    dll API in headers, Added documentation
-
-    Patch from bug #579275
-
- ChangeLog        |   8 ++++
- codegen/h2def.py | 133
- +++++++++++++++++++++++++++++++++++++++++++++----------
- 2 files changed, 117 insertions(+), 24 deletions(-)
-
-commit 442ec5bb997bb7dab55baeea6e54e79d3ce0d3c1
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Sat May 2 23:54:52 2009 +0300
-
-    Properly mark glib.get_user_special_dir() as a keywords method
-
-    Fixes bug #581082.
-
- glib/glibmodule.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit f466dca880cc6ea68b9fe236943eea7a07d33520
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sun May 3 11:03:25 2009 +0200
-
-    Add docs for the gio.LoadableIcon class
-
- docs/Makefile.am                      |   2 +
- docs/reference/pygio-classes.xml      |   1 +
- docs/reference/pygio-loadableicon.xml | 198
- ++++++++++++++++++++++++++++++++++
- 3 files changed, 201 insertions(+)
-
-commit eab4ebf7f6c82580b61205f34e1cfe535aeada60
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sun May 3 01:21:55 2009 +0200
-
-    Add docs for the gio.ThemedIcon class
-
- docs/Makefile.am                    |   2 +
- docs/reference/pygio-classes.xml    |   1 +
- docs/reference/pygio-themedicon.xml | 204
- ++++++++++++++++++++++++++++++++++++
- 3 files changed, 207 insertions(+)
-
-commit 22d7de8b620055f14b30f9c3c99160c8b4ebe672
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Sat May 2 12:25:19 2009 +0200
-
-    post release version bump to 2.17.1
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 282ac3c76e1e3513bd76f819f320ec56aba15d9e
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri May 1 23:40:31 2009 +0200
-
-    Fix the class title
-
- docs/reference/pygio-mountoperation.xml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit d8b70dec1e5c09b73ae277f4f5b246315841fb8e
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Fri May 1 22:24:33 2009 +0200
-
-    Add docs for the gio.MountOperation class
-
- docs/Makefile.am                        |   2 +
- docs/reference/pygio-classes.xml        |   1 +
- docs/reference/pygio-constants.xml      | 107 +++++
- docs/reference/pygio-mountoperation.xml | 726
- ++++++++++++++++++++++++++++++++
- 4 files changed, 836 insertions(+)
-
-commit fceea8e843e880f0469e454df23141e7dd2bc0cf
-Author: Gian Mario Tagliaretti <gianmt@gnome.org>
-Date:   Thu Apr 30 22:13:06 2009 +0200
-
-    Update NEWS, release 2.17.0
-
- NEWS | 93
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 93 insertions(+)
-
-commit 47389217d1a65a8e3f404d486c508cf5d3164756
-Author: Paul Pogonyshev <pogonyshev@gmx.net>
-Date:   Thu Apr 30 22:47:19 2009 +0300
-
-    Fix memory leak in gio.File.query_info_async()
-
-    After the recent patch it would leak exception data if old argument
-    order was used.  Properly decref the objects.
-
- gio/gfile.override | 4 ++++
- 1 file changed, 4 insertions(+)
index bddf19a..10e97b6 100644 (file)
@@ -1,19 +1,14 @@
 include setup.cfg
-include *.am
-include autogen.sh
-include configure.ac
+include pyproject.toml
 include COPYING
 include *.in
-include m4/introspection.m4
-include m4/python.m4
 include NEWS
 include tools/pygi-convert.sh
 include pygobject.doap
 include README.rst
 include .gitlab-ci.yml
-recursive-include examples *.py *.am *.png *.css *.ui *.gif *.gresource *.jpg *.xml
-recursive-include gi *.am *.h
-recursive-include pygtkcompat *.am
-recursive-include tests *.py *.c *.h *.xml *.supp *.am
+recursive-include examples *.py *.png *.css *.ui *.gif *.gresource *.jpg *.xml
+recursive-include gi *.h
+recursive-include tests *.py *.c *.h *.xml
 recursive-include docs *.rst *.svg LICENSE *.ico *.png *.css *.py *.dia Makefile
-recursive-include .gitlab-ci *.sh *.rst *.py Dockerfile
+recursive-include .gitlab-ci *.sh *.rst *.py Dockerfile*
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644 (file)
index 0fbf3cc..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-# Part of the gi subdirectory is handled with non-recursive make to avoid
-# py-compile getting confused between gi/types.py and Python's standard
-# types module.
-SUBDIRS = . examples gi tests pygtkcompat
-
-PLATFORM_VERSION = 3.0
-
-CLEANFILES = \
-       `find "$(builddir)" -type f -name "*.pyc" -print`
-
-EXTRA_DIST = \
-       autogen.sh \
-       pygobject.doap \
-       pygobject-$(PLATFORM_VERSION).pc.in \
-       PKG-INFO \
-       PKG-INFO.in \
-       tools/pygi-convert.sh \
-       m4/python.m4 \
-       m4/introspection.m4 \
-       setup.py \
-       setup.cfg \
-       MANIFEST.in \
-       README.rst \
-       docs
-
-MAINTAINERCLEANFILES = \
-       $(srcdir)/aclocal.m4 \
-       $(srcdir)/autoscan.log \
-       $(srcdir)/compile \
-       $(srcdir)/config.guess \
-       $(srcdir)/config.h.in \
-       $(srcdir)/config.sub \
-       $(srcdir)/configure.scan \
-       $(srcdir)/depcomp \
-       $(srcdir)/install-sh \
-       $(srcdir)/ltmain.sh \
-       $(srcdir)/missing \
-       $(srcdir)/mkinstalldirs \
-       $(srcdir)/omf.make \
-       $(srcdir)/xmldocs.make \
-       $(srcdir)/gtk-doc.make \
-       $(srcdir)/ChangeLog \
-       $(srcdir)/py-compile \
-       $(srcdir)/m4/libtool.m4 \
-       $(srcdir)/m4/ltoptions.m4 \
-       $(srcdir)/m4/ltsugar.m4 \
-       $(srcdir)/m4/ltversion.m4 \
-       $(srcdir)/m4/lt~obsolete.m4 \
-       `find "$(srcdir)" -type f -name Makefile.in -print` \
-       `find "$(builddir)" -type f -name "*.pyc" -print`
-
-BUILT_EXTRA_DIST =             \
-       ChangeLog
-
-nobase_pyexec_PYTHON = \
-       gi/__init__.py \
-       gi/types.py \
-       gi/module.py \
-       gi/importer.py \
-       gi/pygtkcompat.py \
-       gi/docstring.py \
-       gi/_constants.py \
-       gi/_propertyhelper.py \
-       gi/_signalhelper.py \
-       gi/_option.py \
-       gi/_error.py \
-       gi/_ossighelper.py
-
-# if we build in a separate tree, we need to symlink the *.py files from the
-# source tree; Python does not accept the extensions and modules in different
-# paths
-build_pylinks:
-       for f in $(nobase_pyexec_PYTHON); do \
-               [ -e $(builddir)/$$f ] || \
-                       $(LN_S) $(abs_srcdir)/$$f $(builddir)/$$f; \
-       done
-
-all-local: build_pylinks
-
-check-local: build_pylinks
-
-if WITH_COMMON
-# pkg-config files
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = pygobject-$(PLATFORM_VERSION).pc
-endif
-
-# python
-pyexec_LTLIBRARIES =
-
-EGG_NAME = $(PACKAGE)-$(PACKAGE_VERSION)-py$(PYTHON_VERSION)
-install-data-local:
-       $(mkinstalldirs) $(DESTDIR)$(pyexecdir)
-       cp $(top_builddir)/PKG-INFO $(DESTDIR)$(pyexecdir)/$(EGG_NAME).egg-info
-uninstall-local:
-       rm -f $(DESTDIR)$(pyexecdir)/$(EGG_NAME).egg-info
-
-release-news:
-       printf "%s - %s\n\n" "$(VERSION)" "`LC_TIME=C date -I`" > NEWS.tmp
-
-       @echo -e "\n\n\nFor blogging, you can copy&paste this HTML formatted news:"
-       @echo "-------------- 8< -------------"
-       @last=`head -n1 $(top_srcdir)/NEWS | cut -f1 -d' '`; \
-        echo "<ul>"; \
-       for commit in `git rev-list $$last..`; do \
-          data=`git log --format="format:%s%n%an%n%b" $$commit^..$$commit`; \
-          echo "$$data" | perl -e '$$subj = <>; chomp $$subj; $$author = <>; chomp $$author; while (<>) { if (/bugzilla.gnome.org.*id=([0-9]+)/) { $$bug = $$1 }};  print "  <li>$$subj ($$author)"; if ($$bug) { print " (<a href=\"https://bugzilla.gnome.org/show_bug.cgi?id=$$bug\">#$$bug</a>)"; }; print "</li>\n"'; \
-          echo "$$data" | perl -e '$$subj = <>; chomp $$subj; $$author = <>; chomp $$author; while (<>) { if (/bugzilla.gnome.org.*id=([0-9]+)/) { $$bug = $$1 }};  print "* $$subj ($$author)"; if ($$bug) { print " (#$$bug)"; }; print "\n"' >> NEWS.tmp; \
-        done
-       @echo "</ul>"
-       @echo "-------------- 8< -------------"
-
-       @echo >> NEWS.tmp
-       @cat $(top_srcdir)/NEWS >> NEWS.tmp
-       @mv NEWS.tmp $(top_srcdir)/NEWS
-
-.PHONY: ChangeLog release-news
-
-ChangeLog:
-       @echo Creating $@
-       @if test -d "$(srcdir)/.git"; then \
-         (GIT_DIR=$(top_srcdir)/.git $(top_srcdir)/missing --run git log PYGOBJECT_2_17_0^^.. --stat) | fmt --split-only > $@.tmp \
-         && mv -f $@.tmp $@ \
-         || ($(RM) $@.tmp; \
-             echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
-             (test -f $@ || echo git-log is required to generate this file >> $@)); \
-       else \
-         test -f $@ || \
-         (echo A git checkout and git-log is required to generate ChangeLog >&2 && \
-         echo A git checkout and git-log is required to generate this file >> $@); \
-       fi
-
-
-distclean-local:
-       if test $(srcdir) = .; then :; else \
-           rm -f $(BUILT_EXTRA_DIST); \
-       fi
-
-dist-hook: $(BUILT_EXTRA_DIST)
-       files='$(BUILT_EXTRA_DIST)'; \
-       for f in $$files; do \
-         if test -f $$f; then d=.; else d=$(srcdir); fi; \
-         rm -f $(distdir)/$$f && cp $$d/$$f $(distdir) || exit 1; done
-       rm -rf "$(distdir)/docs/_build"
-
-check.quality:
-       (cd $(abs_top_srcdir) && $(PYTHON) -m flake8);
-
-check.gdb:
-       cd tests && $(MAKE) check.gdb
-
-check.nemiver:
-       cd tests && $(MAKE) check.nemiver
-
-check.valgrind:
-       cd tests && $(MAKE) check.valgrind
-
-check.valgrindlog:
-       cd tests && $(MAKE) check.valgrindlog
-
-check.valgrindxml:
-       cd tests && $(MAKE) check.valgrindxml
-
-@CODE_COVERAGE_RULES@
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644 (file)
index 40c65cb..0000000
+++ /dev/null
@@ -1,1201 +0,0 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2017 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@
-
-
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) 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@
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
-       $(top_srcdir)/m4/ax_append_flag.m4 \
-       $(top_srcdir)/m4/ax_append_link_flags.m4 \
-       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
-       $(top_srcdir)/m4/ax_check_link_flag.m4 \
-       $(top_srcdir)/m4/ax_code_coverage.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_cflags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_gir.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_ldflags.m4 \
-       $(top_srcdir)/m4/ax_is_release.m4 \
-       $(top_srcdir)/m4/ax_require_defined.m4 \
-       $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/introspection.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/pkg.m4 \
-       $(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
-       $(am__configure_deps) $(nobase_pyexec_PYTHON) \
-       $(am__DIST_COMMON)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = pygobject-3.0.pc PKG-INFO
-CONFIG_CLEAN_VPATH_FILES =
-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__installdirs = "$(DESTDIR)$(pyexecdir)" "$(DESTDIR)$(pyexecdir)" \
-       "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(pyexec_LTLIBRARIES)
-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 =
-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;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-am__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile)
-am__pep3147_tweak = \
-  sed -e 's|\.py$$||' -e 's|[^/]*$$|__pycache__/&.*.py|'
-py_compile = $(top_srcdir)/py-compile
-DATA = $(pkgconfig_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 \
-       cscope 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,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-CSCOPE = cscope
-DIST_SUBDIRS = $(SUBDIRS)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/PKG-INFO.in \
-       $(srcdir)/config.h.in $(srcdir)/pygobject-3.0.pc.in COPYING \
-       ChangeLog NEWS compile config.guess config.sub install-sh \
-       ltmain.sh missing py-compile
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  if test -d "$(distdir)"; then \
-    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-      && rm -rf "$(distdir)" \
-      || { sleep 5 && rm -rf "$(distdir)"; }; \
-  else :; fi
-am__post_remove_distdir = $(am__remove_distdir)
-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"
-GZIP_ENV = --best
-DIST_ARCHIVES = $(distdir).tar.xz
-DIST_TARGETS = dist-xz
-distuninstallcheck_listfiles = find . -type f -print
-am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
-  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
-CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
-CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
-CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
-CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
-CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
-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@
-FFI_CFLAGS = @FFI_CFLAGS@
-FFI_LIBS = @FFI_LIBS@
-FGREP = @FGREP@
-GCOV = @GCOV@
-GENHTML = @GENHTML@
-GIO_CFLAGS = @GIO_CFLAGS@
-GIO_LIBS = @GIO_LIBS@
-GI_CFLAGS = @GI_CFLAGS@
-GI_DATADIR = @GI_DATADIR@
-GI_LIBS = @GI_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_QUERY = @GOBJECT_QUERY@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-LCOV = @LCOV@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_EXT = @OS_EXT@
-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@
-PYCAIRO_CFLAGS = @PYCAIRO_CFLAGS@
-PYCAIRO_LIBS = @PYCAIRO_LIBS@
-PYGOBJECT_MAJOR_VERSION = @PYGOBJECT_MAJOR_VERSION@
-PYGOBJECT_MICRO_VERSION = @PYGOBJECT_MICRO_VERSION@
-PYGOBJECT_MINOR_VERSION = @PYGOBJECT_MINOR_VERSION@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_LIB_LOC = @PYTHON_LIB_LOC@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_SO = @PYTHON_SO@
-PYTHON_VALGRIND_SUPP = @PYTHON_VALGRIND_SUPP@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WARN_LDFLAGS = @WARN_LDFLAGS@
-WARN_SCANNERFLAGS = @WARN_SCANNERFLAGS@
-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@
-runstatedir = @runstatedir@
-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@
-
-# Part of the gi subdirectory is handled with non-recursive make to avoid
-# py-compile getting confused between gi/types.py and Python's standard
-# types module.
-SUBDIRS = . examples gi tests pygtkcompat
-PLATFORM_VERSION = 3.0
-CLEANFILES = \
-       `find "$(builddir)" -type f -name "*.pyc" -print`
-
-EXTRA_DIST = \
-       autogen.sh \
-       pygobject.doap \
-       pygobject-$(PLATFORM_VERSION).pc.in \
-       PKG-INFO \
-       PKG-INFO.in \
-       tools/pygi-convert.sh \
-       m4/python.m4 \
-       m4/introspection.m4 \
-       setup.py \
-       setup.cfg \
-       MANIFEST.in \
-       README.rst \
-       docs
-
-MAINTAINERCLEANFILES = \
-       $(srcdir)/aclocal.m4 \
-       $(srcdir)/autoscan.log \
-       $(srcdir)/compile \
-       $(srcdir)/config.guess \
-       $(srcdir)/config.h.in \
-       $(srcdir)/config.sub \
-       $(srcdir)/configure.scan \
-       $(srcdir)/depcomp \
-       $(srcdir)/install-sh \
-       $(srcdir)/ltmain.sh \
-       $(srcdir)/missing \
-       $(srcdir)/mkinstalldirs \
-       $(srcdir)/omf.make \
-       $(srcdir)/xmldocs.make \
-       $(srcdir)/gtk-doc.make \
-       $(srcdir)/ChangeLog \
-       $(srcdir)/py-compile \
-       $(srcdir)/m4/libtool.m4 \
-       $(srcdir)/m4/ltoptions.m4 \
-       $(srcdir)/m4/ltsugar.m4 \
-       $(srcdir)/m4/ltversion.m4 \
-       $(srcdir)/m4/lt~obsolete.m4 \
-       `find "$(srcdir)" -type f -name Makefile.in -print` \
-       `find "$(builddir)" -type f -name "*.pyc" -print`
-
-BUILT_EXTRA_DIST = \
-       ChangeLog
-
-nobase_pyexec_PYTHON = \
-       gi/__init__.py \
-       gi/types.py \
-       gi/module.py \
-       gi/importer.py \
-       gi/pygtkcompat.py \
-       gi/docstring.py \
-       gi/_constants.py \
-       gi/_propertyhelper.py \
-       gi/_signalhelper.py \
-       gi/_option.py \
-       gi/_error.py \
-       gi/_ossighelper.py
-
-
-# pkg-config files
-@WITH_COMMON_TRUE@pkgconfigdir = $(libdir)/pkgconfig
-@WITH_COMMON_TRUE@pkgconfig_DATA = pygobject-$(PLATFORM_VERSION).pc
-
-# python
-pyexec_LTLIBRARIES = 
-EGG_NAME = $(PACKAGE)-$(PACKAGE_VERSION)-py$(PYTHON_VERSION)
-all: config.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh: Makefile
-       @:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-             $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           echo ' $(SHELL) ./config.status'; \
-           $(SHELL) ./config.status;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-config.h: stamp-h1
-       @test -f $@ || rm -f stamp-h1
-       @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-       cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in:  $(am__configure_deps) 
-       ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-       rm -f stamp-h1
-       touch $@
-
-distclean-hdr:
-       -rm -f config.h stamp-h1
-pygobject-3.0.pc: $(top_builddir)/config.status $(srcdir)/pygobject-3.0.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-PKG-INFO: $(top_builddir)/config.status $(srcdir)/PKG-INFO.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-
-install-pyexecLTLIBRARIES: $(pyexec_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       @list='$(pyexec_LTLIBRARIES)'; test -n "$(pyexecdir)" || list=; \
-       list2=; for p in $$list; do \
-         if test -f $$p; then \
-           list2="$$list2 $$p"; \
-         else :; fi; \
-       done; \
-       test -z "$$list2" || { \
-         echo " $(MKDIR_P) '$(DESTDIR)$(pyexecdir)'"; \
-         $(MKDIR_P) "$(DESTDIR)$(pyexecdir)" || exit 1; \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pyexecdir)'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pyexecdir)"; \
-       }
-
-uninstall-pyexecLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pyexec_LTLIBRARIES)'; test -n "$(pyexecdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pyexecdir)/$$f'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pyexecdir)/$$f"; \
-       done
-
-clean-pyexecLTLIBRARIES:
-       -test -z "$(pyexec_LTLIBRARIES)" || rm -f $(pyexec_LTLIBRARIES)
-       @list='$(pyexec_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}; \
-       }
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-distclean-libtool:
-       -rm -f libtool config.lt
-install-nobase_pyexecPYTHON: $(nobase_pyexec_PYTHON)
-       @$(NORMAL_INSTALL)
-       @list='$(nobase_pyexec_PYTHON)'; test -n "$(pyexecdir)" || list=; \
-       if test -n "$$list"; then \
-         echo " $(MKDIR_P) '$(DESTDIR)$(pyexecdir)'"; \
-         $(MKDIR_P) "$(DESTDIR)$(pyexecdir)" || exit 1; \
-       fi; \
-       $(am__nobase_list) | { while read dir files; do \
-         xfiles=; for p in $$files; do \
-           if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
-           if test -f "$$b$$p"; then xfiles="$$xfiles $$b$$p"; dlist="$$dlist $$p"; \
-           else :; fi; done; \
-         test -z "$$xfiles" || { \
-           test "x$$dir" = x. || { \
-             echo "$(MKDIR_P) '$(DESTDIR)$(pyexecdir)/$$dir'"; \
-             $(MKDIR_P) "$(DESTDIR)$(pyexecdir)/$$dir"; }; \
-           echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(pyexecdir)/$$dir'"; \
-           $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(pyexecdir)/$$dir" || exit $$?; }; \
-       done; \
-       if test -n "$$dlist"; then \
-         $(am__py_compile) --destdir "$(DESTDIR)" \
-                           --basedir "$(pyexecdir)" $$dlist; \
-       else :; fi; }
-
-uninstall-nobase_pyexecPYTHON:
-       @$(NORMAL_UNINSTALL)
-       @list='$(nobase_pyexec_PYTHON)'; test -n "$(pyexecdir)" || list=; \
-       $(am__nobase_strip_setup); py_files=`$(am__nobase_strip)`; \
-       test -n "$$py_files" || exit 0; \
-       dir='$(DESTDIR)$(pyexecdir)'; \
-       pyc_files=`echo "$$py_files" | sed 's|$$|c|'`; \
-       pyo_files=`echo "$$py_files" | sed 's|$$|o|'`; \
-       py_files_pep3147=`echo "$$py_files" | $(am__pep3147_tweak)`; \
-       echo "$$py_files_pep3147";\
-       pyc_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|c|'`; \
-       pyo_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|o|'`; \
-       st=0; \
-       for files in \
-         "$$py_files" \
-         "$$pyc_files" \
-         "$$pyo_files" \
-         "$$pyc_files_pep3147" \
-         "$$pyo_files_pep3147" \
-       ; do \
-         $(am__uninstall_files_from_dir) || st=$$?; \
-       done; \
-       exit $$st
-install-pkgconfigDATA: $(pkgconfig_DATA)
-       @$(NORMAL_INSTALL)
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       if test -n "$$list"; then \
-         echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
-         $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
-       fi; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
-       done
-
-uninstall-pkgconfigDATA:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       dir='$(DESTDIR)$(pkgconfigdir)'; $(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-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 \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-       $(am__define_uniq_tagged_files); \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-cscope: cscope.files
-       test ! -s cscope.files \
-         || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-clean-cscope:
-       -rm -f cscope.files
-cscope.files: clean-cscope cscopelist
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
-       list='$(am__tagged_files)'; \
-       case "$(srcdir)" in \
-         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-         *) sdir=$(subdir)/$(srcdir) ;; \
-       esac; \
-       for i in $$list; do \
-         if test -f "$$i"; then \
-           echo "$(subdir)/$$i"; \
-         else \
-           echo "$$sdir/$$i"; \
-         fi; \
-       done >> $(top_builddir)/cscope.files
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-       -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @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
-       @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
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-hook
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
-       $(am__post_remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-       $(am__post_remove_distdir)
-
-dist-lzip: distdir
-       tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-       $(am__post_remove_distdir)
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-       $(am__post_remove_distdir)
-
-dist-tarZ: distdir
-       @echo WARNING: "Support for distribution archives compressed with" \
-                      "legacy program 'compress' is deprecated." >&2
-       @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__post_remove_distdir)
-
-dist-shar: distdir
-       @echo WARNING: "Support for shar distribution archives is" \
-                      "deprecated." >&2
-       @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
-       shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
-       $(am__post_remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__post_remove_distdir)
-
-dist dist-all:
-       $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
-       $(am__post_remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lz*) \
-         lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir)
-       chmod u+w $(distdir)
-       mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build/sub \
-         && ../../configure \
-           $(AM_DISTCHECK_CONFIGURE_FLAGS) \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-           --srcdir=../.. --prefix="$$dc_install_base" \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__post_remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @test -n '$(distuninstallcheck_dir)' || { \
-         echo 'ERROR: trying to run $@ with an empty' \
-              '$$(distuninstallcheck_dir)' >&2; \
-         exit 1; \
-       }; \
-       $(am__cd) '$(distuninstallcheck_dir)' || { \
-         echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
-         exit 1; \
-       }; \
-       test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
-check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-recursive
-all-am: Makefile $(LTLIBRARIES) $(DATA) config.h all-local
-installdirs: installdirs-recursive
-installdirs-am:
-       for dir in "$(DESTDIR)$(pyexecdir)" "$(DESTDIR)$(pyexecdir)" "$(DESTDIR)$(pkgconfigdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-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-recursive
-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:
-
-clean-generic:
-       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-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."
-       -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-pyexecLTLIBRARIES \
-       mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
-       distclean-libtool distclean-local distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-data-local install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am: install-nobase_pyexecPYTHON install-pyexecLTLIBRARIES
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-local uninstall-nobase_pyexecPYTHON \
-       uninstall-pkgconfigDATA uninstall-pyexecLTLIBRARIES
-
-.MAKE: $(am__recursive_targets) all check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
-       am--refresh check check-am check-local clean clean-cscope \
-       clean-generic clean-libtool clean-pyexecLTLIBRARIES cscope \
-       cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
-       dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \
-       dist-zip distcheck distclean distclean-generic distclean-hdr \
-       distclean-libtool distclean-local distclean-tags \
-       distcleancheck distdir distuninstallcheck dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-data-local install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man \
-       install-nobase_pyexecPYTHON install-pdf install-pdf-am \
-       install-pkgconfigDATA install-ps install-ps-am \
-       install-pyexecLTLIBRARIES install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
-       uninstall-am uninstall-local uninstall-nobase_pyexecPYTHON \
-       uninstall-pkgconfigDATA uninstall-pyexecLTLIBRARIES
-
-.PRECIOUS: Makefile
-
-
-# if we build in a separate tree, we need to symlink the *.py files from the
-# source tree; Python does not accept the extensions and modules in different
-# paths
-build_pylinks:
-       for f in $(nobase_pyexec_PYTHON); do \
-               [ -e $(builddir)/$$f ] || \
-                       $(LN_S) $(abs_srcdir)/$$f $(builddir)/$$f; \
-       done
-
-all-local: build_pylinks
-
-check-local: build_pylinks
-install-data-local:
-       $(mkinstalldirs) $(DESTDIR)$(pyexecdir)
-       cp $(top_builddir)/PKG-INFO $(DESTDIR)$(pyexecdir)/$(EGG_NAME).egg-info
-uninstall-local:
-       rm -f $(DESTDIR)$(pyexecdir)/$(EGG_NAME).egg-info
-
-release-news:
-       printf "%s - %s\n\n" "$(VERSION)" "`LC_TIME=C date -I`" > NEWS.tmp
-
-       @echo -e "\n\n\nFor blogging, you can copy&paste this HTML formatted news:"
-       @echo "-------------- 8< -------------"
-       @last=`head -n1 $(top_srcdir)/NEWS | cut -f1 -d' '`; \
-        echo "<ul>"; \
-       for commit in `git rev-list $$last..`; do \
-          data=`git log --format="format:%s%n%an%n%b" $$commit^..$$commit`; \
-          echo "$$data" | perl -e '$$subj = <>; chomp $$subj; $$author = <>; chomp $$author; while (<>) { if (/bugzilla.gnome.org.*id=([0-9]+)/) { $$bug = $$1 }};  print "  <li>$$subj ($$author)"; if ($$bug) { print " (<a href=\"https://bugzilla.gnome.org/show_bug.cgi?id=$$bug\">#$$bug</a>)"; }; print "</li>\n"'; \
-          echo "$$data" | perl -e '$$subj = <>; chomp $$subj; $$author = <>; chomp $$author; while (<>) { if (/bugzilla.gnome.org.*id=([0-9]+)/) { $$bug = $$1 }};  print "* $$subj ($$author)"; if ($$bug) { print " (#$$bug)"; }; print "\n"' >> NEWS.tmp; \
-        done
-       @echo "</ul>"
-       @echo "-------------- 8< -------------"
-
-       @echo >> NEWS.tmp
-       @cat $(top_srcdir)/NEWS >> NEWS.tmp
-       @mv NEWS.tmp $(top_srcdir)/NEWS
-
-.PHONY: ChangeLog release-news
-
-ChangeLog:
-       @echo Creating $@
-       @if test -d "$(srcdir)/.git"; then \
-         (GIT_DIR=$(top_srcdir)/.git $(top_srcdir)/missing --run git log PYGOBJECT_2_17_0^^.. --stat) | fmt --split-only > $@.tmp \
-         && mv -f $@.tmp $@ \
-         || ($(RM) $@.tmp; \
-             echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
-             (test -f $@ || echo git-log is required to generate this file >> $@)); \
-       else \
-         test -f $@ || \
-         (echo A git checkout and git-log is required to generate ChangeLog >&2 && \
-         echo A git checkout and git-log is required to generate this file >> $@); \
-       fi
-
-distclean-local:
-       if test $(srcdir) = .; then :; else \
-           rm -f $(BUILT_EXTRA_DIST); \
-       fi
-
-dist-hook: $(BUILT_EXTRA_DIST)
-       files='$(BUILT_EXTRA_DIST)'; \
-       for f in $$files; do \
-         if test -f $$f; then d=.; else d=$(srcdir); fi; \
-         rm -f $(distdir)/$$f && cp $$d/$$f $(distdir) || exit 1; done
-       rm -rf "$(distdir)/docs/_build"
-
-check.quality:
-       (cd $(abs_top_srcdir) && $(PYTHON) -m flake8);
-
-check.gdb:
-       cd tests && $(MAKE) check.gdb
-
-check.nemiver:
-       cd tests && $(MAKE) check.nemiver
-
-check.valgrind:
-       cd tests && $(MAKE) check.valgrind
-
-check.valgrindlog:
-       cd tests && $(MAKE) check.valgrindlog
-
-check.valgrindxml:
-       cd tests && $(MAKE) check.valgrindxml
-
-@CODE_COVERAGE_RULES@
-
-# 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/NEWS b/NEWS
index 5877617..c989f91 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,27 @@
-3.28.3 - 2018-05-31
--------------------
-
-* Fix Gio.Application leak in case no signal handler is set before.
-  :issue:`219`
-* Squash critical warning when using array as hash value
-  (:user:`Philip Withnall <pwithnall>`)
+3.29.1 - 2018-04-15
+-------------------
+
+* Support for `PyPy <https://pypy.org/>`__ and PyPy3. :issue:`180`
+* cairo: support :class:`cairo.Matrix` conversion. :issue:`16`
+* Speed up repeated closure creation by caching the closure cache in the
+  argument cache :issue:`103` (:user:`Garrett Regier <gregier>`\,
+  :user:`Christoph Reiter <creiter>`)
+* setup.py: make setuptools/pkg_resources optional. :issue:`186`
+* setup.py: print installation instructions in case a dependency is missing.
+  :issue:`194`
+* Remove autotools build system.
+* overrides: Make :meth:`Gtk.ListStore.insert_before`,
+  :meth:`Gtk.ListStore.insert_after`, :meth:`Gtk.TreeStore.insert_before` and
+  :meth:`Gtk.TreeStore.insert_after` atomic.
+* Make :class:`GLib.Error` picklable. :issue:`145`
+* Add basic support for template based widgets through ``Gtk.Template``.
+  :issue:`52`
+* Various documentation improvements. :mr:`29` (:user:`Dan Yeaw <danyeaw>`)
+* Add PEP518/pyproject.toml file. :mr:`44` (:user:`James Tocknell <aragilar>`)
+* Avoid truncating value returned from g_value_info_get_value. :mr:`51`
+  (:user:`Tomasz MiÄ…sko <tmiasko>`)
+* Fix typo in BoundSignal disconnect. :mr:`55`
+  (:user:`Vladislav Glinsky <cl0ne>`)
 
 
 3.28.2 - 2018-03-27
index fdb3a56..8489119 100644 (file)
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
-Metadata-Version: 1.0
+Metadata-Version: 1.2
 Name: PyGObject
-Version: 3.28.3
+Version: 3.29.1
 Summary: Python bindings for GObject Introspection
 Home-page: https://pygobject.readthedocs.io
 Author: James Henstridge
@@ -8,7 +8,33 @@ Author-email: james@daa.com.au
 Maintainer: Simon Feltman
 Maintainer-email: sfeltman@src.gnome.org
 License: GNU LGPL
-Description: Python bindings for GObject Introspection
+Description: .. image:: https://gitlab.gnome.org/GNOME/pygobject/badges/master/coverage.svg
+           :target: https://gnome.pages.gitlab.gnome.org/pygobject
+        
+        á…Ÿ
+        
+        .. image:: https://pygobject.readthedocs.io/en/latest/_images/pygobject.svg
+           :align: center
+           :width: 400px
+           :height: 98px
+        
+        |
+        
+        **PyGObject** is a Python package which provides bindings for `GObject
+        <https://developer.gnome.org/gobject/stable/>`__ based libraries such as `GTK+
+        <https://www.gtk.org/>`__, `GStreamer <https://gstreamer.freedesktop.org/>`__,
+        `WebKitGTK+ <https://webkitgtk.org/>`__, `GLib
+        <https://developer.gnome.org/glib/stable/>`__, `GIO
+        <https://developer.gnome.org/gio/stable/>`__ and many more.
+        
+        It supports Linux, Windows and macOS and works with **Python 2.7+** as well as
+        **Python 3.4+**. PyGObject, including this documentation, is licensed under
+        the **LGPLv2.1+**.
+        
+        ----
+        
+        For more information visit https://pygobject.readthedocs.io
+        
 Platform: POSIX, Windows
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
diff --git a/PyGObject.egg-info/PKG-INFO b/PyGObject.egg-info/PKG-INFO
new file mode 100644 (file)
index 0000000..8489119
--- /dev/null
@@ -0,0 +1,46 @@
+Metadata-Version: 1.2
+Name: PyGObject
+Version: 3.29.1
+Summary: Python bindings for GObject Introspection
+Home-page: https://pygobject.readthedocs.io
+Author: James Henstridge
+Author-email: james@daa.com.au
+Maintainer: Simon Feltman
+Maintainer-email: sfeltman@src.gnome.org
+License: GNU LGPL
+Description: .. image:: https://gitlab.gnome.org/GNOME/pygobject/badges/master/coverage.svg
+           :target: https://gnome.pages.gitlab.gnome.org/pygobject
+        
+        á…Ÿ
+        
+        .. image:: https://pygobject.readthedocs.io/en/latest/_images/pygobject.svg
+           :align: center
+           :width: 400px
+           :height: 98px
+        
+        |
+        
+        **PyGObject** is a Python package which provides bindings for `GObject
+        <https://developer.gnome.org/gobject/stable/>`__ based libraries such as `GTK+
+        <https://www.gtk.org/>`__, `GStreamer <https://gstreamer.freedesktop.org/>`__,
+        `WebKitGTK+ <https://webkitgtk.org/>`__, `GLib
+        <https://developer.gnome.org/glib/stable/>`__, `GIO
+        <https://developer.gnome.org/gio/stable/>`__ and many more.
+        
+        It supports Linux, Windows and macOS and works with **Python 2.7+** as well as
+        **Python 3.4+**. PyGObject, including this documentation, is licensed under
+        the **LGPLv2.1+**.
+        
+        ----
+        
+        For more information visit https://pygobject.readthedocs.io
+        
+Platform: POSIX, Windows
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
+Classifier: Operating System :: POSIX
+Classifier: Operating System :: Microsoft :: Windows
+Classifier: Programming Language :: C
+Classifier: Programming Language :: Python
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
diff --git a/PyGObject.egg-info/SOURCES.txt b/PyGObject.egg-info/SOURCES.txt
new file mode 100644 (file)
index 0000000..fdfb167
--- /dev/null
@@ -0,0 +1,301 @@
+.gitlab-ci.yml
+COPYING
+MANIFEST.in
+NEWS
+PKG-INFO.in
+README.rst
+pygobject-3.0.pc.in
+pygobject.doap
+pyproject.toml
+setup.cfg
+setup.py
+.gitlab-ci/Dockerfile
+.gitlab-ci/Dockerfile.old
+.gitlab-ci/README.rst
+.gitlab-ci/coverage-docker.sh
+.gitlab-ci/fixup-cov-paths.py
+.gitlab-ci/run-docker-old.sh
+.gitlab-ci/run-docker.sh
+.gitlab-ci/test-docker-old.sh
+.gitlab-ci/test-docker.sh
+.gitlab-ci/test-msys2.sh
+PyGObject.egg-info/PKG-INFO
+PyGObject.egg-info/SOURCES.txt
+PyGObject.egg-info/dependency_links.txt
+PyGObject.egg-info/not-zip-safe
+PyGObject.egg-info/requires.txt
+PyGObject.egg-info/top_level.txt
+docs/Makefile
+docs/bugs_repo.rst
+docs/changelog.rst
+docs/conf.py
+docs/contact.rst
+docs/extra.css
+docs/further.rst
+docs/getting_started.rst
+docs/icons.rst
+docs/index.rst
+docs/maintguide.rst
+docs/packagingguide.rst
+docs/devguide/building_testing.rst
+docs/devguide/dev_environ.rst
+docs/devguide/index.rst
+docs/devguide/override_guidelines.rst
+docs/devguide/overview.rst
+docs/devguide/style_guide.rst
+docs/guide/cairo_integration.rst
+docs/guide/debug_profile.rst
+docs/guide/deploy.rst
+docs/guide/faq.rst
+docs/guide/index.rst
+docs/guide/porting.rst
+docs/guide/testing.rst
+docs/guide/threading.rst
+docs/guide/api/api.rst
+docs/guide/api/basic_types.rst
+docs/guide/api/flags_enums.rst
+docs/guide/api/gobject.rst
+docs/guide/api/index.rst
+docs/guide/api/properties.rst
+docs/guide/api/signals.rst
+docs/guide/code/cairo-demo.py
+docs/guide/images/cairo_integration.png
+docs/images/LICENSE
+docs/images/favicon.ico
+docs/images/logo.svg
+docs/images/overview.dia
+docs/images/overview.svg
+docs/images/pygobject-small.svg
+docs/images/pygobject.svg
+docs/images/start_linux.png
+docs/images/start_macos.png
+docs/images/start_windows.png
+examples/cairo-demo.py
+examples/option.py
+examples/properties.py
+examples/signal.py
+examples/demo/demo.py
+examples/demo/demos/__init__.py
+examples/demo/demos/appwindow.py
+examples/demo/demos/assistant.py
+examples/demo/demos/builder.py
+examples/demo/demos/button_box.py
+examples/demo/demos/clipboard.py
+examples/demo/demos/colorselector.py
+examples/demo/demos/combobox.py
+examples/demo/demos/dialogs.py
+examples/demo/demos/drawingarea.py
+examples/demo/demos/expander.py
+examples/demo/demos/flowbox.py
+examples/demo/demos/images.py
+examples/demo/demos/infobars.py
+examples/demo/demos/links.py
+examples/demo/demos/menus.py
+examples/demo/demos/pickers.py
+examples/demo/demos/pixbuf.py
+examples/demo/demos/printing.py
+examples/demo/demos/rotatedtext.py
+examples/demo/demos/test.py
+examples/demo/demos/Css/__init__.py
+examples/demo/demos/Css/css_accordion.py
+examples/demo/demos/Css/css_basics.py
+examples/demo/demos/Css/css_multiplebgs.py
+examples/demo/demos/Entry/__init__.py
+examples/demo/demos/Entry/entry_buffer.py
+examples/demo/demos/Entry/entry_completion.py
+examples/demo/demos/Entry/search_entry.py
+examples/demo/demos/IconView/__init__.py
+examples/demo/demos/IconView/iconviewbasics.py
+examples/demo/demos/IconView/iconviewedit.py
+examples/demo/demos/TreeView/__init__.py
+examples/demo/demos/TreeView/liststore.py
+examples/demo/demos/TreeView/treemodel_filelist.py
+examples/demo/demos/TreeView/treemodel_filetree.py
+examples/demo/demos/TreeView/treemodel_large.py
+examples/demo/demos/data/alphatest.png
+examples/demo/demos/data/apple-red.png
+examples/demo/demos/data/background.jpg
+examples/demo/demos/data/brick.png
+examples/demo/demos/data/brick2.png
+examples/demo/demos/data/css_accordion.css
+examples/demo/demos/data/css_basics.css
+examples/demo/demos/data/css_multiplebgs.css
+examples/demo/demos/data/cssview.css
+examples/demo/demos/data/demo.gresource
+examples/demo/demos/data/demo.gresource.xml
+examples/demo/demos/data/demo.ui
+examples/demo/demos/data/floppybuddy.gif
+examples/demo/demos/data/gnome-applets.png
+examples/demo/demos/data/gnome-calendar.png
+examples/demo/demos/data/gnome-foot.png
+examples/demo/demos/data/gnome-fs-directory.png
+examples/demo/demos/data/gnome-fs-regular.png
+examples/demo/demos/data/gnome-gimp.png
+examples/demo/demos/data/gnome-gmush.png
+examples/demo/demos/data/gnome-gsame.png
+examples/demo/demos/data/gnu-keys.png
+examples/demo/demos/data/gtk-logo-rgb.gif
+examples/demo/demos/data/reset.css
+gi/__init__.py
+gi/_compat.py
+gi/_constants.py
+gi/_error.py
+gi/_gtktemplate.py
+gi/_option.py
+gi/_ossighelper.py
+gi/_propertyhelper.py
+gi/_signalhelper.py
+gi/docstring.py
+gi/gimodule.c
+gi/gimodule.h
+gi/importer.py
+gi/module.py
+gi/pygboxed.c
+gi/pygboxed.h
+gi/pygenum.c
+gi/pygenum.h
+gi/pygflags.c
+gi/pygflags.h
+gi/pygi-argument.c
+gi/pygi-argument.h
+gi/pygi-array.c
+gi/pygi-array.h
+gi/pygi-basictype.c
+gi/pygi-basictype.h
+gi/pygi-boxed.c
+gi/pygi-boxed.h
+gi/pygi-cache.c
+gi/pygi-cache.h
+gi/pygi-ccallback.c
+gi/pygi-ccallback.h
+gi/pygi-closure.c
+gi/pygi-closure.h
+gi/pygi-enum-marshal.c
+gi/pygi-enum-marshal.h
+gi/pygi-error.c
+gi/pygi-error.h
+gi/pygi-foreign-api.h
+gi/pygi-foreign-cairo.c
+gi/pygi-foreign.c
+gi/pygi-foreign.h
+gi/pygi-hashtable.c
+gi/pygi-hashtable.h
+gi/pygi-info.c
+gi/pygi-info.h
+gi/pygi-invoke-state-struct.h
+gi/pygi-invoke.c
+gi/pygi-invoke.h
+gi/pygi-list.c
+gi/pygi-list.h
+gi/pygi-marshal-cleanup.c
+gi/pygi-marshal-cleanup.h
+gi/pygi-object.c
+gi/pygi-object.h
+gi/pygi-property.c
+gi/pygi-property.h
+gi/pygi-python-compat.h
+gi/pygi-repository.c
+gi/pygi-repository.h
+gi/pygi-resulttuple.c
+gi/pygi-resulttuple.h
+gi/pygi-signal-closure.c
+gi/pygi-signal-closure.h
+gi/pygi-source.c
+gi/pygi-source.h
+gi/pygi-struct-marshal.c
+gi/pygi-struct-marshal.h
+gi/pygi-struct.c
+gi/pygi-struct.h
+gi/pygi-type.c
+gi/pygi-type.h
+gi/pygi-util.c
+gi/pygi-util.h
+gi/pygi-value.c
+gi/pygi-value.h
+gi/pyginterface.c
+gi/pyginterface.h
+gi/pygobject-internal.h
+gi/pygobject-object.c
+gi/pygobject-object.h
+gi/pygobject.h
+gi/pygoptioncontext.c
+gi/pygoptioncontext.h
+gi/pygoptiongroup.c
+gi/pygoptiongroup.h
+gi/pygparamspec.c
+gi/pygparamspec.h
+gi/pygpointer.c
+gi/pygpointer.h
+gi/pygspawn.c
+gi/pygspawn.h
+gi/pygtkcompat.py
+gi/types.py
+gi/overrides/GIMarshallingTests.py
+gi/overrides/GLib.py
+gi/overrides/GObject.py
+gi/overrides/Gdk.py
+gi/overrides/Gio.py
+gi/overrides/Gtk.py
+gi/overrides/Pango.py
+gi/overrides/__init__.py
+gi/overrides/keysyms.py
+gi/repository/__init__.py
+pygtkcompat/__init__.py
+pygtkcompat/generictreemodel.py
+pygtkcompat/pygtkcompat.py
+tests/__init__.py
+tests/conftest.py
+tests/gimarshallingtestsextra.c
+tests/gimarshallingtestsextra.h
+tests/helper.py
+tests/org.gnome.test.gschema.xml
+tests/regressextra.c
+tests/regressextra.h
+tests/runtests.py
+tests/test-floating.c
+tests/test-floating.h
+tests/test-thread.c
+tests/test-thread.h
+tests/test-unknown.c
+tests/test-unknown.h
+tests/test_atoms.py
+tests/test_cairo.py
+tests/test_docstring.py
+tests/test_error.py
+tests/test_everything.py
+tests/test_fields.py
+tests/test_gdbus.py
+tests/test_generictreemodel.py
+tests/test_gi.py
+tests/test_gio.py
+tests/test_glib.py
+tests/test_gobject.py
+tests/test_gtk_template.py
+tests/test_gtype.py
+tests/test_import_machinery.py
+tests/test_interface.py
+tests/test_internal_api.py
+tests/test_iochannel.py
+tests/test_mainloop.py
+tests/test_object_marshaling.py
+tests/test_option.py
+tests/test_ossig.py
+tests/test_overrides_gdk.py
+tests/test_overrides_glib.py
+tests/test_overrides_gtk.py
+tests/test_overrides_pango.py
+tests/test_properties.py
+tests/test_pycapi.py
+tests/test_pygtkcompat.py
+tests/test_repository.py
+tests/test_resulttuple.py
+tests/test_signal.py
+tests/test_source.py
+tests/test_subprocess.py
+tests/test_thread.py
+tests/test_typeclass.py
+tests/test_unknown.py
+tests/testhelpermodule.c
+tests/gi/overrides/Regress.py
+tests/gi/overrides/__init__.py
+tools/pygi-convert.sh
\ No newline at end of file
diff --git a/PyGObject.egg-info/dependency_links.txt b/PyGObject.egg-info/dependency_links.txt
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/PyGObject.egg-info/not-zip-safe b/PyGObject.egg-info/not-zip-safe
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/PyGObject.egg-info/requires.txt b/PyGObject.egg-info/requires.txt
new file mode 100644 (file)
index 0000000..2d8fd4a
--- /dev/null
@@ -0,0 +1 @@
+pycairo>=1.11.1
diff --git a/PyGObject.egg-info/top_level.txt b/PyGObject.egg-info/top_level.txt
new file mode 100644 (file)
index 0000000..25cbcf7
--- /dev/null
@@ -0,0 +1,2 @@
+gi
+pygtkcompat
index c163301..26a5305 100644 (file)
@@ -1,3 +1,8 @@
+.. image:: https://gitlab.gnome.org/GNOME/pygobject/badges/master/coverage.svg
+   :target: https://gnome.pages.gitlab.gnome.org/pygobject
+
+á…Ÿ
+
 .. image:: https://pygobject.readthedocs.io/en/latest/_images/pygobject.svg
    :align: center
    :width: 400px
diff --git a/aclocal.m4 b/aclocal.m4
deleted file mode 100644 (file)
index 71b74d2..0000000
+++ /dev/null
@@ -1,1409 +0,0 @@
-# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
-
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
-
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# 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.
-
-m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
-[m4_warning([this file was generated for autoconf 2.69.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-
-# Copyright (C) 2002-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.15'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.15.1], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
-# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is '.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ([2.52])dnl
- m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-
-# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
-      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
-      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
-      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
-      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                    [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named 'D' -- because '-MD' means "put the output
-  # in D".
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  am__universal=false
-  m4_case([$1], [CC],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac],
-    [CXX],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac])
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
-      # Solaris 10 /bin/sh.
-      echo '/* dummy */' > sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with '-c' and '-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle '-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs.
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # After this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested.
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok '-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE([dependency-tracking], [dnl
-AS_HELP_STRING(
-  [--enable-dependency-tracking],
-  [do not reject slow dependency extractors])
-AS_HELP_STRING(
-  [--disable-dependency-tracking],
-  [speeds up one-time build])])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-  am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
-  # Older Autoconf quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named 'Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running 'make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "$am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each '.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
-m4_define([AC_PROG_CC],
-m4_defn([AC_PROG_CC])
-[_AM_PROG_CC_C_O
-])
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.65])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[AC_DIAGNOSE([obsolete],
-             [$0: two- and three-arguments forms are deprecated.])
-m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(
-  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
-  [ok:ok],,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
- AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-AM_MISSING_PROG([AUTOCONF], [autoconf])
-AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-AM_MISSING_PROG([AUTOHEADER], [autoheader])
-AM_MISSING_PROG([MAKEINFO], [makeinfo])
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-# For better backward compatibility.  To be removed once Automake 1.9.x
-# dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
-AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target (and possibly the TAP driver).  The
-# system "awk" is bad on some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-             [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-                            [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-                 [_AM_DEPENDENCIES([CC])],
-                 [m4_define([AC_PROG_CC],
-                            m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                 [_AM_DEPENDENCIES([CXX])],
-                 [m4_define([AC_PROG_CXX],
-                            m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                 [_AM_DEPENDENCIES([OBJC])],
-                 [m4_define([AC_PROG_OBJC],
-                            m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
-                 [_AM_DEPENDENCIES([OBJCXX])],
-                 [m4_define([AC_PROG_OBJCXX],
-                            m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
-])
-AC_REQUIRE([AM_SILENT_RULES])dnl
-dnl The testsuite driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
-dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
-  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes.  So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
-  cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present.  This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell bug-automake@gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message.  This
-can help us improve future automake versions.
-
-END
-  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
-    echo 'Configuration will proceed anyway, since you have set the' >&2
-    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
-    echo >&2
-  else
-    cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
-    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
-  fi
-fi
-dnl The trailing newline in this macro's definition is deliberate, for
-dnl backward compatibility and to allow trailing 'dnl'-style comments
-dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
-])
-
-dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-AC_SUBST([install_sh])])
-
-# Copyright (C) 2003-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes.                 -*- Autoconf -*-
-
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it is modern enough.
-# If it is, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --is-lightweight"; then
-  am_missing_run="$MISSING "
-else
-  am_missing_run=
-  AC_MSG_WARN(['missing' script is too old or missing])
-fi
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# --------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_PROG_CC_C_O
-# ---------------
-# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
-# to automatically call this.
-AC_DEFUN([_AM_PROG_CC_C_O],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-AC_LANG_PUSH([C])dnl
-AC_CACHE_CHECK(
-  [whether $CC understands -c and -o together],
-  [am_cv_prog_cc_c_o],
-  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
-  # Make sure it works both with $CC and with simple cc.
-  # Following AC_PROG_CC_C_O, we do the test twice because some
-  # compilers refuse to overwrite an existing .o file with -o,
-  # though they will create one.
-  am_cv_prog_cc_c_o=yes
-  for am_i in 1 2; do
-    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
-         && test -f conftest2.$ac_objext; then
-      : OK
-    else
-      am_cv_prog_cc_c_o=no
-      break
-    fi
-  done
-  rm -f core conftest*
-  unset am_i])
-if test "$am_cv_prog_cc_c_o" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-AC_LANG_POP([C])])
-
-# For backward compatibility.
-AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-
-# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# ---------------------------------------------------------------------------
-# Adds support for distributing Python modules and packages.  To
-# install modules, copy them to $(pythondir), using the python_PYTHON
-# automake variable.  To install a package with the same name as the
-# automake package, install to $(pkgpythondir), or use the
-# pkgpython_PYTHON automake variable.
-#
-# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
-# locations to install python extension modules (shared libraries).
-# Another macro is required to find the appropriate flags to compile
-# extension modules.
-#
-# If your package is configured with a different prefix to python,
-# users will have to add the install directory to the PYTHONPATH
-# environment variable, or create a .pth file (see the python
-# documentation for details).
-#
-# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
-# cause an error if the version of python installed on the system
-# doesn't meet the requirement.  MINIMUM-VERSION should consist of
-# numbers and dots only.
-AC_DEFUN([AM_PATH_PYTHON],
- [
-  dnl Find a Python interpreter.  Python versions prior to 2.0 are not
-  dnl supported. (2.0 was released on October 16, 2000).
-  dnl FIXME: Remove the need to hard-code Python versions here.
-  m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
-[python python2 python3 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 dnl
- python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0])
-
-  AC_ARG_VAR([PYTHON], [the Python interpreter])
-
-  m4_if([$1],[],[
-    dnl No version check is needed.
-    # Find any Python interpreter.
-    if test -z "$PYTHON"; then
-      AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
-    fi
-    am_display_PYTHON=python
-  ], [
-    dnl A version check is needed.
-    if test -n "$PYTHON"; then
-      # If the user set $PYTHON, use it and don't search something else.
-      AC_MSG_CHECKING([whether $PYTHON version is >= $1])
-      AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
-                             [AC_MSG_RESULT([yes])],
-                             [AC_MSG_RESULT([no])
-                              AC_MSG_ERROR([Python interpreter is too old])])
-      am_display_PYTHON=$PYTHON
-    else
-      # Otherwise, try each interpreter until we find one that satisfies
-      # VERSION.
-      AC_CACHE_CHECK([for a Python interpreter with version >= $1],
-       [am_cv_pathless_PYTHON],[
-       for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
-         test "$am_cv_pathless_PYTHON" = none && break
-         AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
-       done])
-      # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
-      if test "$am_cv_pathless_PYTHON" = none; then
-       PYTHON=:
-      else
-        AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
-      fi
-      am_display_PYTHON=$am_cv_pathless_PYTHON
-    fi
-  ])
-
-  if test "$PYTHON" = :; then
-  dnl Run any user-specified action, or abort.
-    m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
-  else
-
-  dnl Query Python for its version number.  Getting [:3] seems to be
-  dnl the best way to do this; it's what "site.py" does in the standard
-  dnl library.
-
-  AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
-    [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
-  AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
-
-  dnl Use the values of $prefix and $exec_prefix for the corresponding
-  dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX.  These are made
-  dnl distinct variables so they can be overridden if need be.  However,
-  dnl general consensus is that you shouldn't need this ability.
-
-  AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
-  AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
-
-  dnl At times (like when building shared libraries) you may want
-  dnl to know which OS platform Python thinks this is.
-
-  AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
-    [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
-  AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
-
-  # Just factor out some code duplication.
-  am_python_setup_sysconfig="\
-import sys
-# Prefer sysconfig over distutils.sysconfig, for better compatibility
-# with python 3.x.  See automake bug#10227.
-try:
-    import sysconfig
-except ImportError:
-    can_use_sysconfig = 0
-else:
-    can_use_sysconfig = 1
-# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
-# <https://github.com/pypa/virtualenv/issues/118>
-try:
-    from platform import python_implementation
-    if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7':
-        can_use_sysconfig = 0
-except ImportError:
-    pass"
-
-  dnl Set up 4 directories:
-
-  dnl pythondir -- where to install python scripts.  This is the
-  dnl   site-packages directory, not the python standard library
-  dnl   directory like in previous automake betas.  This behavior
-  dnl   is more consistent with lispdir.m4 for example.
-  dnl Query distutils for this directory.
-  AC_CACHE_CHECK([for $am_display_PYTHON script directory],
-    [am_cv_python_pythondir],
-    [if test "x$prefix" = xNONE
-     then
-       am_py_prefix=$ac_default_prefix
-     else
-       am_py_prefix=$prefix
-     fi
-     am_cv_python_pythondir=`$PYTHON -c "
-$am_python_setup_sysconfig
-if can_use_sysconfig:
-    sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
-else:
-    from distutils import sysconfig
-    sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
-sys.stdout.write(sitedir)"`
-     case $am_cv_python_pythondir in
-     $am_py_prefix*)
-       am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
-       am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
-       ;;
-     *)
-       case $am_py_prefix in
-         /usr|/System*) ;;
-         *)
-         am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
-         ;;
-       esac
-       ;;
-     esac
-    ])
-  AC_SUBST([pythondir], [$am_cv_python_pythondir])
-
-  dnl pkgpythondir -- $PACKAGE directory under pythondir.  Was
-  dnl   PYTHON_SITE_PACKAGE in previous betas, but this naming is
-  dnl   more consistent with the rest of automake.
-
-  AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
-
-  dnl pyexecdir -- directory for installing python extension modules
-  dnl   (shared libraries)
-  dnl Query distutils for this directory.
-  AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
-    [am_cv_python_pyexecdir],
-    [if test "x$exec_prefix" = xNONE
-     then
-       am_py_exec_prefix=$am_py_prefix
-     else
-       am_py_exec_prefix=$exec_prefix
-     fi
-     am_cv_python_pyexecdir=`$PYTHON -c "
-$am_python_setup_sysconfig
-if can_use_sysconfig:
-    sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
-else:
-    from distutils import sysconfig
-    sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
-sys.stdout.write(sitedir)"`
-     case $am_cv_python_pyexecdir in
-     $am_py_exec_prefix*)
-       am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
-       am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
-       ;;
-     *)
-       case $am_py_exec_prefix in
-         /usr|/System*) ;;
-         *)
-          am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
-          ;;
-       esac
-       ;;
-     esac
-    ])
-  AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
-
-  dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
-
-  AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
-
-  dnl Run any user-specified action.
-  $2
-  fi
-
-])
-
-
-# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
-# ---------------------------------------------------------------------------
-# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
-# Run ACTION-IF-FALSE otherwise.
-# This test uses sys.hexversion instead of the string equivalent (first
-# word of sys.version), in order to cope with versions such as 2.2c1.
-# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000).
-AC_DEFUN([AM_PYTHON_CHECK_VERSION],
- [prog="import sys
-# split strings by '.' and convert to numeric.  Append some zeros
-# because we need at least 4 digits for the hex conversion.
-# map returns an iterator in Python 3.0 and a list in 2.x
-minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]]
-minverhex = 0
-# xrange is not present in Python 3.0 and range returns an iterator
-for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
-sys.exit(sys.hexversion < minverhex)"
-  AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
-
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_RUN_LOG(COMMAND)
-# -------------------
-# Run COMMAND, save the exit status in ac_status, and log it.
-# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
-AC_DEFUN([AM_RUN_LOG],
-[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
-   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   (exit $ac_status); }])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[[\\\"\#\$\&\'\`$am_lf]]*)
-    AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
-  *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   am_has_slept=no
-   for am_try in 1 2; do
-     echo "timestamp, slept: $am_has_slept" > conftest.file
-     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-     if test "$[*]" = "X"; then
-       # -L didn't work.
-       set X `ls -t "$srcdir/configure" conftest.file`
-     fi
-     if test "$[*]" != "X $srcdir/configure conftest.file" \
-       && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-       # If neither matched, then we have a broken ls.  This can happen
-       # if, for instance, CONFIG_SHELL is bash and it inherits a
-       # broken ls alias from the environment.  This has actually
-       # happened.  Such a system could not be considered "sane".
-       AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-  alias in your environment])
-     fi
-     if test "$[2]" = conftest.file || test $am_try -eq 2; then
-       break
-     fi
-     # Just in case.
-     sleep 1
-     am_has_slept=yes
-   done
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT([yes])
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
-  ( sleep 1 ) &
-  am_sleep_pid=$!
-fi
-AC_CONFIG_COMMANDS_PRE(
-  [AC_MSG_CHECKING([that generated files are newer than configure])
-   if test -n "$am_sleep_pid"; then
-     # Hide warnings about reused PIDs.
-     wait $am_sleep_pid 2>/dev/null
-   fi
-   AC_MSG_RESULT([done])])
-rm -f conftest.file
-])
-
-# Copyright (C) 2009-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# ("yes" being less verbose, "no" or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules], [dnl
-AS_HELP_STRING(
-  [--enable-silent-rules],
-  [less verbose build output (undo: "make V=1")])
-AS_HELP_STRING(
-  [--disable-silent-rules],
-  [verbose build output (undo: "make V=0")])dnl
-])
-case $enable_silent_rules in @%:@ (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-dnl
-dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
-   [am_cv_make_support_nested_variables],
-   [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-       @$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
-  dnl Using '$V' instead of '$(V)' breaks IRIX make.
-  AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor 'install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in "make install-strip", and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip".  However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of 'v7', 'ustar', or 'pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-#
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.  Yes, it's still used
-# in the wild :-(  We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
-
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-
-m4_if([$1], [v7],
-  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-
-  [m4_case([$1],
-    [ustar],
-     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
-      # There is notably a 21 bits limit for the UID and the GID.  In fact,
-      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
-      # and bug#13588).
-      am_max_uid=2097151 # 2^21 - 1
-      am_max_gid=$am_max_uid
-      # The $UID and $GID variables are not portable, so we need to resort
-      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
-      # below are definitely unexpected, so allow the users to see them
-      # (that is, avoid stderr redirection).
-      am_uid=`id -u || echo unknown`
-      am_gid=`id -g || echo unknown`
-      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
-      if test $am_uid -le $am_max_uid; then
-         AC_MSG_RESULT([yes])
-      else
-         AC_MSG_RESULT([no])
-         _am_tools=none
-      fi
-      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
-      if test $am_gid -le $am_max_gid; then
-         AC_MSG_RESULT([yes])
-      else
-        AC_MSG_RESULT([no])
-        _am_tools=none
-      fi],
-
-  [pax],
-    [],
-
-  [m4_fatal([Unknown tar format])])
-
-  AC_MSG_CHECKING([how to create a $1 tar archive])
-
-  # Go ahead even if we have the value already cached.  We do so because we
-  # need to set the values for the 'am__tar' and 'am__untar' variables.
-  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
-
-  for _am_tool in $_am_tools; do
-    case $_am_tool in
-    gnutar)
-      for _am_tar in tar gnutar gtar; do
-        AM_RUN_LOG([$_am_tar --version]) && break
-      done
-      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-      am__untar="$_am_tar -xf -"
-      ;;
-    plaintar)
-      # Must skip GNU tar: if it does not support --format= it doesn't create
-      # ustar tarball either.
-      (tar --version) >/dev/null 2>&1 && continue
-      am__tar='tar chf - "$$tardir"'
-      am__tar_='tar chf - "$tardir"'
-      am__untar='tar xf -'
-      ;;
-    pax)
-      am__tar='pax -L -x $1 -w "$$tardir"'
-      am__tar_='pax -L -x $1 -w "$tardir"'
-      am__untar='pax -r'
-      ;;
-    cpio)
-      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-      am__untar='cpio -i -H $1 -d'
-      ;;
-    none)
-      am__tar=false
-      am__tar_=false
-      am__untar=false
-      ;;
-    esac
-
-    # If the value was cached, stop now.  We just wanted to have am__tar
-    # and am__untar set.
-    test -n "${am_cv_prog_tar_$1}" && break
-
-    # tar/untar a dummy directory, and stop if the command works.
-    rm -rf conftest.dir
-    mkdir conftest.dir
-    echo GrepMe > conftest.dir/file
-    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-    rm -rf conftest.dir
-    if test -s conftest.tar; then
-      AM_RUN_LOG([$am__untar <conftest.tar])
-      AM_RUN_LOG([cat conftest.dir/file])
-      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-    fi
-  done
-  rm -rf conftest.dir
-
-  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/ax_append_compile_flags.m4])
-m4_include([m4/ax_append_flag.m4])
-m4_include([m4/ax_append_link_flags.m4])
-m4_include([m4/ax_check_compile_flag.m4])
-m4_include([m4/ax_check_link_flag.m4])
-m4_include([m4/ax_code_coverage.m4])
-m4_include([m4/ax_compiler_flags.m4])
-m4_include([m4/ax_compiler_flags_cflags.m4])
-m4_include([m4/ax_compiler_flags_gir.m4])
-m4_include([m4/ax_compiler_flags_ldflags.m4])
-m4_include([m4/ax_is_release.m4])
-m4_include([m4/ax_require_defined.m4])
-m4_include([m4/glib-2.0.m4])
-m4_include([m4/introspection.m4])
-m4_include([m4/libtool.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
-m4_include([m4/pkg.m4])
-m4_include([m4/python.m4])
diff --git a/autogen.sh b/autogen.sh
deleted file mode 100755 (executable)
index 56b7d0a..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-test -n "$srcdir" || srcdir=$(dirname "$0")
-test -n "$srcdir" || srcdir=.
-
-olddir=$(pwd)
-
-cd $srcdir
-
-(test -f configure.ac) || {
-        echo "*** ERROR: Directory '$srcdir' does not look like the top-level project directory ***"
-        exit 1
-}
-
-# shellcheck disable=SC2016
-PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac)
-
-if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
-        echo "*** WARNING: I am going to run 'configure' with no arguments." >&2
-        echo "*** If you wish to pass any to it, please specify them on the" >&2
-        echo "*** '$0' command line." >&2
-        echo "" >&2
-fi
-
-aclocal --install || exit 1
-autoreconf --verbose --force --install || exit 1
-
-cd "$olddir"
-if [ "$NOCONFIGURE" = "" ]; then
-        $srcdir/configure "$@" || exit 1
-
-        if [ "$1" = "--help" ]; then exit 0 else
-                echo "Now type 'make' to compile $PKG_NAME" || exit 1
-        fi
-else
-        echo "Skipping configure process."
-fi
diff --git a/compile b/compile
deleted file mode 100755 (executable)
index a85b723..0000000
--- a/compile
+++ /dev/null
@@ -1,347 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand '-c -o'.
-
-scriptversion=2012-10-14.11; # UTC
-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey@cygnus.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-nl='
-'
-
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent tools from complaining about whitespace usage.
-IFS=" ""       $nl"
-
-file_conv=
-
-# func_file_conv build_file lazy
-# Convert a $build file to $host form and store it in $file
-# Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
-func_file_conv ()
-{
-  file=$1
-  case $file in
-    / | /[!/]*) # absolute file, and not a UNC file
-      if test -z "$file_conv"; then
-       # lazily determine how to convert abs files
-       case `uname -s` in
-         MINGW*)
-           file_conv=mingw
-           ;;
-         CYGWIN*)
-           file_conv=cygwin
-           ;;
-         *)
-           file_conv=wine
-           ;;
-       esac
-      fi
-      case $file_conv/,$2, in
-       *,$file_conv,*)
-         ;;
-       mingw/*)
-         file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
-         ;;
-       cygwin/*)
-         file=`cygpath -m "$file" || echo "$file"`
-         ;;
-       wine/*)
-         file=`winepath -w "$file" || echo "$file"`
-         ;;
-      esac
-      ;;
-  esac
-}
-
-# func_cl_dashL linkdir
-# Make cl look for libraries in LINKDIR
-func_cl_dashL ()
-{
-  func_file_conv "$1"
-  if test -z "$lib_path"; then
-    lib_path=$file
-  else
-    lib_path="$lib_path;$file"
-  fi
-  linker_opts="$linker_opts -LIBPATH:$file"
-}
-
-# func_cl_dashl library
-# Do a library search-path lookup for cl
-func_cl_dashl ()
-{
-  lib=$1
-  found=no
-  save_IFS=$IFS
-  IFS=';'
-  for dir in $lib_path $LIB
-  do
-    IFS=$save_IFS
-    if $shared && test -f "$dir/$lib.dll.lib"; then
-      found=yes
-      lib=$dir/$lib.dll.lib
-      break
-    fi
-    if test -f "$dir/$lib.lib"; then
-      found=yes
-      lib=$dir/$lib.lib
-      break
-    fi
-    if test -f "$dir/lib$lib.a"; then
-      found=yes
-      lib=$dir/lib$lib.a
-      break
-    fi
-  done
-  IFS=$save_IFS
-
-  if test "$found" != yes; then
-    lib=$lib.lib
-  fi
-}
-
-# func_cl_wrapper cl arg...
-# Adjust compile command to suit cl
-func_cl_wrapper ()
-{
-  # Assume a capable shell
-  lib_path=
-  shared=:
-  linker_opts=
-  for arg
-  do
-    if test -n "$eat"; then
-      eat=
-    else
-      case $1 in
-       -o)
-         # configure might choose to run compile as 'compile cc -o foo foo.c'.
-         eat=1
-         case $2 in
-           *.o | *.[oO][bB][jJ])
-             func_file_conv "$2"
-             set x "$@" -Fo"$file"
-             shift
-             ;;
-           *)
-             func_file_conv "$2"
-             set x "$@" -Fe"$file"
-             shift
-             ;;
-         esac
-         ;;
-       -I)
-         eat=1
-         func_file_conv "$2" mingw
-         set x "$@" -I"$file"
-         shift
-         ;;
-       -I*)
-         func_file_conv "${1#-I}" mingw
-         set x "$@" -I"$file"
-         shift
-         ;;
-       -l)
-         eat=1
-         func_cl_dashl "$2"
-         set x "$@" "$lib"
-         shift
-         ;;
-       -l*)
-         func_cl_dashl "${1#-l}"
-         set x "$@" "$lib"
-         shift
-         ;;
-       -L)
-         eat=1
-         func_cl_dashL "$2"
-         ;;
-       -L*)
-         func_cl_dashL "${1#-L}"
-         ;;
-       -static)
-         shared=false
-         ;;
-       -Wl,*)
-         arg=${1#-Wl,}
-         save_ifs="$IFS"; IFS=','
-         for flag in $arg; do
-           IFS="$save_ifs"
-           linker_opts="$linker_opts $flag"
-         done
-         IFS="$save_ifs"
-         ;;
-       -Xlinker)
-         eat=1
-         linker_opts="$linker_opts $2"
-         ;;
-       -*)
-         set x "$@" "$1"
-         shift
-         ;;
-       *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
-         func_file_conv "$1"
-         set x "$@" -Tp"$file"
-         shift
-         ;;
-       *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
-         func_file_conv "$1" mingw
-         set x "$@" "$file"
-         shift
-         ;;
-       *)
-         set x "$@" "$1"
-         shift
-         ;;
-      esac
-    fi
-    shift
-  done
-  if test -n "$linker_opts"; then
-    linker_opts="-link$linker_opts"
-  fi
-  exec "$@" $linker_opts
-  exit 1
-}
-
-eat=
-
-case $1 in
-  '')
-     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand '-c -o'.
-Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file 'INSTALL'.
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "compile $scriptversion"
-    exit $?
-    ;;
-  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
-    func_cl_wrapper "$@"      # Doesn't return...
-    ;;
-esac
-
-ofile=
-cfile=
-
-for arg
-do
-  if test -n "$eat"; then
-    eat=
-  else
-    case $1 in
-      -o)
-       # configure might choose to run compile as 'compile cc -o foo foo.c'.
-       # So we strip '-o arg' only if arg is an object.
-       eat=1
-       case $2 in
-         *.o | *.obj)
-           ofile=$2
-           ;;
-         *)
-           set x "$@" -o "$2"
-           shift
-           ;;
-       esac
-       ;;
-      *.c)
-       cfile=$1
-       set x "$@" "$1"
-       shift
-       ;;
-      *)
-       set x "$@" "$1"
-       shift
-       ;;
-    esac
-  fi
-  shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
-  # If no '-o' option was seen then we might have been invoked from a
-  # pattern rule where we don't need one.  That is ok -- this is a
-  # normal compilation that the losing compiler can handle.  If no
-  # '.c' file was seen then we are probably linking.  That is also
-  # ok.
-  exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use '[/\\:.-]' here to ensure that we don't use the same name
-# that we are using for the .o file.  Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
-while true; do
-  if mkdir "$lockdir" >/dev/null 2>&1; then
-    break
-  fi
-  sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
-  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
-  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/config.guess b/config.guess
deleted file mode 100755 (executable)
index f50dcdb..0000000
+++ /dev/null
@@ -1,1480 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright 1992-2018 Free Software Foundation, Inc.
-
-timestamp='2018-02-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
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see <https://www.gnu.org/licenses/>.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program.  This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
-#
-# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
-#
-# You can get the latest version of this script from:
-# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
-#
-# Please send patches to <config-patches@gnu.org>.
-
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Options:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright 1992-2018 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."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )        # Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > "$dummy.c" ;
-       for c in cc gcc c89 c99 ; do
-         if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
-            CC_FOR_BUILD="$c"; break ;
-         fi ;
-       done ;
-       if test x"$CC_FOR_BUILD" = x ; then
-         CC_FOR_BUILD=no_compiler_found ;
-       fi
-       ;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-       PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-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' | sed 's, ,,g'`"
-
-       # If ldd exists, use it to detect musl libc.
-       if command -v ldd >/dev/null && \
-               ldd --version 2>&1 | grep -q ^musl
-       then
-           LIBC=musl
-       fi
-       ;;
-esac
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
-    *:NetBSD:*:*)
-       # NetBSD (nbsd) targets should (where applicable) match one or
-       # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
-       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-       # switched to ELF, *-*-netbsd* would select the old
-       # object file format.  This provides both forward
-       # compatibility and a consistent mechanism for selecting the
-       # object file format.
-       #
-       # Note: NetBSD doesn't particularly care about the vendor
-       # portion of the name.  We always set it to "unknown".
-       sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
-           "/sbin/$sysctl" 2>/dev/null || \
-           "/usr/sbin/$sysctl" 2>/dev/null || \
-           echo unknown)`
-       case "$UNAME_MACHINE_ARCH" in
-           armeb) machine=armeb-unknown ;;
-           arm*) machine=arm-unknown ;;
-           sh3el) machine=shl-unknown ;;
-           sh3eb) machine=sh-unknown ;;
-           sh5el) machine=sh5le-unknown ;;
-           earmv*)
-               arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
-               endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
-               machine="${arch}${endian}"-unknown
-               ;;
-           *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
-       esac
-       # The Operating System including object format, if it has switched
-       # to ELF recently (or will in the future) and ABI.
-       case "$UNAME_MACHINE_ARCH" in
-           earm*)
-               os=netbsdelf
-               ;;
-           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-               eval "$set_cc_for_build"
-               if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-                       | grep -q __ELF__
-               then
-                   # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-                   # Return netbsd for either.  FIX?
-                   os=netbsd
-               else
-                   os=netbsdelf
-               fi
-               ;;
-           *)
-               os=netbsd
-               ;;
-       esac
-       # Determine ABI tags.
-       case "$UNAME_MACHINE_ARCH" in
-           earm*)
-               expr='s/^earmv[0-9]/-eabi/;s/eb$//'
-               abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
-               ;;
-       esac
-       # The OS release
-       # Debian GNU/NetBSD machines have a different userland, and
-       # thus, need a distinct triplet. However, they do not need
-       # kernel version information, so it can be replaced with a
-       # suitable tag, in the style of linux-gnu.
-       case "$UNAME_VERSION" in
-           Debian*)
-               release='-gnu'
-               ;;
-           *)
-               release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
-               ;;
-       esac
-       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-       # contains redundant information, the shorter form:
-       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "$machine-${os}${release}${abi}"
-       exit ;;
-    *:Bitrig:*:*)
-       UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-       echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
-       exit ;;
-    *:OpenBSD:*:*)
-       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-       echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
-       exit ;;
-    *:LibertyBSD:*:*)
-       UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
-       echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
-       exit ;;
-    *:MidnightBSD:*:*)
-       echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
-       exit ;;
-    *:ekkoBSD:*:*)
-       echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
-       exit ;;
-    *:SolidBSD:*:*)
-       echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
-       exit ;;
-    macppc:MirBSD:*:*)
-       echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
-       exit ;;
-    *:MirBSD:*:*)
-       echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
-       exit ;;
-    *:Sortix:*:*)
-       echo "$UNAME_MACHINE"-unknown-sortix
-       exit ;;
-    *:Redox:*:*)
-       echo "$UNAME_MACHINE"-unknown-redox
-       exit ;;
-    mips:OSF1:*.*)
-        echo mips-dec-osf1
-        exit ;;
-    alpha:OSF1:*:*)
-       case $UNAME_RELEASE in
-       *4.0)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-               ;;
-       *5.*)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-               ;;
-       esac
-       # According to Compaq, /usr/sbin/psrinfo has been available on
-       # OSF/1 and Tru64 systems produced since 1995.  I hope that
-       # covers most systems running today.  This code pipes the CPU
-       # types through head -n 1, so we only detect the type of CPU 0.
-       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-       case "$ALPHA_CPU_TYPE" in
-           "EV4 (21064)")
-               UNAME_MACHINE=alpha ;;
-           "EV4.5 (21064)")
-               UNAME_MACHINE=alpha ;;
-           "LCA4 (21066/21068)")
-               UNAME_MACHINE=alpha ;;
-           "EV5 (21164)")
-               UNAME_MACHINE=alphaev5 ;;
-           "EV5.6 (21164A)")
-               UNAME_MACHINE=alphaev56 ;;
-           "EV5.6 (21164PC)")
-               UNAME_MACHINE=alphapca56 ;;
-           "EV5.7 (21164PC)")
-               UNAME_MACHINE=alphapca57 ;;
-           "EV6 (21264)")
-               UNAME_MACHINE=alphaev6 ;;
-           "EV6.7 (21264A)")
-               UNAME_MACHINE=alphaev67 ;;
-           "EV6.8CB (21264C)")
-               UNAME_MACHINE=alphaev68 ;;
-           "EV6.8AL (21264B)")
-               UNAME_MACHINE=alphaev68 ;;
-           "EV6.8CX (21264D)")
-               UNAME_MACHINE=alphaev68 ;;
-           "EV6.9A (21264/EV69A)")
-               UNAME_MACHINE=alphaev69 ;;
-           "EV7 (21364)")
-               UNAME_MACHINE=alphaev7 ;;
-           "EV7.9 (21364A)")
-               UNAME_MACHINE=alphaev79 ;;
-       esac
-       # A Pn.n version is a patched version.
-       # A Vn.n version is a released version.
-       # A Tn.n version is a released field test version.
-       # A Xn.n version is an unreleased experimental baselevel.
-       # 1.2 uses "1.2" for uname -r.
-       echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
-       # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
-       exitcode=$?
-       trap '' 0
-       exit $exitcode ;;
-    Amiga*:UNIX_System_V:4.0:*)
-       echo m68k-unknown-sysv4
-       exit ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-       echo "$UNAME_MACHINE"-unknown-amigaos
-       exit ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-       echo "$UNAME_MACHINE"-unknown-morphos
-       exit ;;
-    *:OS/390:*:*)
-       echo i370-ibm-openedition
-       exit ;;
-    *:z/VM:*:*)
-       echo s390-ibm-zvmoe
-       exit ;;
-    *:OS400:*:*)
-       echo powerpc-ibm-os400
-       exit ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-       echo arm-acorn-riscix"$UNAME_RELEASE"
-       exit ;;
-    arm*:riscos:*:*|arm*:RISCOS:*:*)
-       echo arm-unknown-riscos
-       exit ;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-       echo hppa1.1-hitachi-hiuxmpp
-       exit ;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-       if test "`(/bin/universe) 2>/dev/null`" = att ; then
-               echo pyramid-pyramid-sysv3
-       else
-               echo pyramid-pyramid-bsd
-       fi
-       exit ;;
-    NILE*:*:*:dcosx)
-       echo pyramid-pyramid-svr4
-       exit ;;
-    DRS?6000:unix:4.0:6*)
-       echo sparc-icl-nx6
-       exit ;;
-    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-       case `/usr/bin/uname -p` in
-           sparc) echo sparc-icl-nx7; exit ;;
-       esac ;;
-    s390x:SunOS:*:*)
-       echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
-       exit ;;
-    sun4H:SunOS:5.*:*)
-       echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-       exit ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-       echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
-       exit ;;
-    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-       echo i386-pc-auroraux"$UNAME_RELEASE"
-       exit ;;
-    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-       eval "$set_cc_for_build"
-       SUN_ARCH=i386
-       # If there is a compiler, see if it is configured for 64-bit objects.
-       # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
-       # This test works for both compilers.
-       if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
-           if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-               (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
-               grep IS_64BIT_ARCH >/dev/null
-           then
-               SUN_ARCH=x86_64
-           fi
-       fi
-       echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-       exit ;;
-    sun4*:SunOS:6*:*)
-       # According to config.sub, this is the proper way to canonicalize
-       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-       # it's likely to be more like Solaris than SunOS4.
-       echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-       exit ;;
-    sun4*:SunOS:*:*)
-       case "`/usr/bin/arch -k`" in
-           Series*|S4*)
-               UNAME_RELEASE=`uname -v`
-               ;;
-       esac
-       # Japanese Language versions have a version number like `4.1.3-JL'.
-       echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
-       exit ;;
-    sun3*:SunOS:*:*)
-       echo m68k-sun-sunos"$UNAME_RELEASE"
-       exit ;;
-    sun*:*:4.2BSD:*)
-       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-       test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
-       case "`/bin/arch`" in
-           sun3)
-               echo m68k-sun-sunos"$UNAME_RELEASE"
-               ;;
-           sun4)
-               echo sparc-sun-sunos"$UNAME_RELEASE"
-               ;;
-       esac
-       exit ;;
-    aushp:SunOS:*:*)
-       echo sparc-auspex-sunos"$UNAME_RELEASE"
-       exit ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint"$UNAME_RELEASE"
-       exit ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint"$UNAME_RELEASE"
-       exit ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-       echo m68k-atari-mint"$UNAME_RELEASE"
-       exit ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-       echo m68k-milan-mint"$UNAME_RELEASE"
-       exit ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-       echo m68k-hades-mint"$UNAME_RELEASE"
-       exit ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-       echo m68k-unknown-mint"$UNAME_RELEASE"
-       exit ;;
-    m68k:machten:*:*)
-       echo m68k-apple-machten"$UNAME_RELEASE"
-       exit ;;
-    powerpc:machten:*:*)
-       echo powerpc-apple-machten"$UNAME_RELEASE"
-       exit ;;
-    RISC*:Mach:*:*)
-       echo mips-dec-mach_bsd4.3
-       exit ;;
-    RISC*:ULTRIX:*:*)
-       echo mips-dec-ultrix"$UNAME_RELEASE"
-       exit ;;
-    VAX*:ULTRIX*:*:*)
-       echo vax-dec-ultrix"$UNAME_RELEASE"
-       exit ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-       echo clipper-intergraph-clix"$UNAME_RELEASE"
-       exit ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-       eval "$set_cc_for_build"
-       sed 's/^        //' << EOF > "$dummy.c"
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-       int main (int argc, char *argv[]) {
-#else
-       int main (argc, argv) int argc; char *argv[]; {
-#endif
-       #if defined (host_mips) && defined (MIPSEB)
-       #if defined (SYSTYPE_SYSV)
-         printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_SVR4)
-         printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-         printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
-       #endif
-       #endif
-         exit (-1);
-       }
-EOF
-       $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
-         dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-         SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
-           { echo "$SYSTEM_NAME"; exit; }
-       echo mips-mips-riscos"$UNAME_RELEASE"
-       exit ;;
-    Motorola:PowerMAX_OS:*:*)
-       echo powerpc-motorola-powermax
-       exit ;;
-    Motorola:*:4.3:PL8-*)
-       echo powerpc-harris-powermax
-       exit ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-       echo powerpc-harris-powermax
-       exit ;;
-    Night_Hawk:Power_UNIX:*:*)
-       echo powerpc-harris-powerunix
-       exit ;;
-    m88k:CX/UX:7*:*)
-       echo m88k-harris-cxux7
-       exit ;;
-    m88k:*:4*:R4*)
-       echo m88k-motorola-sysv4
-       exit ;;
-    m88k:*:3*:R3*)
-       echo m88k-motorola-sysv3
-       exit ;;
-    AViiON:dgux:*:*)
-       # DG/UX returns AViiON for all architectures
-       UNAME_PROCESSOR=`/usr/bin/uname -p`
-       if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
-       then
-           if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
-              [ "$TARGET_BINARY_INTERFACE"x = x ]
-           then
-               echo m88k-dg-dgux"$UNAME_RELEASE"
-           else
-               echo m88k-dg-dguxbcs"$UNAME_RELEASE"
-           fi
-       else
-           echo i586-dg-dgux"$UNAME_RELEASE"
-       fi
-       exit ;;
-    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
-       echo m88k-dolphin-sysv3
-       exit ;;
-    M88*:*:R3*:*)
-       # Delta 88k system running SVR3
-       echo m88k-motorola-sysv3
-       exit ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-       echo m88k-tektronix-sysv3
-       exit ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-       echo m68k-tektronix-bsd
-       exit ;;
-    *:IRIX*:*:*)
-       echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
-       exit ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-       exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-       echo i386-ibm-aix
-       exit ;;
-    ia64:AIX:*:*)
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
-       else
-               IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
-       fi
-       echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
-       exit ;;
-    *:AIX:2:3)
-       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-               eval "$set_cc_for_build"
-               sed 's/^                //' << EOF > "$dummy.c"
-               #include <sys/systemcfg.h>
-
-               main()
-                       {
-                       if (!__power_pc())
-                               exit(1);
-                       puts("powerpc-ibm-aix3.2.5");
-                       exit(0);
-                       }
-EOF
-               if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
-               then
-                       echo "$SYSTEM_NAME"
-               else
-                       echo rs6000-ibm-aix3.2.5
-               fi
-       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-               echo rs6000-ibm-aix3.2.4
-       else
-               echo rs6000-ibm-aix3.2
-       fi
-       exit ;;
-    *:AIX:*:[4567])
-       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-       if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
-               IBM_ARCH=rs6000
-       else
-               IBM_ARCH=powerpc
-       fi
-       if [ -x /usr/bin/lslpp ] ; then
-               IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
-                          awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
-       else
-               IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
-       fi
-       echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
-       exit ;;
-    *:AIX:*:*)
-       echo rs6000-ibm-aix
-       exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
-       echo romp-ibm-bsd4.4
-       exit ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-       echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
-       exit ;;                             # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-       echo rs6000-bull-bosx
-       exit ;;
-    DPX/2?00:B.O.S.:*:*)
-       echo m68k-bull-sysv3
-       exit ;;
-    9000/[34]??:4.3bsd:1.*:*)
-       echo m68k-hp-bsd
-       exit ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-       echo m68k-hp-bsd4.4
-       exit ;;
-    9000/[34678]??:HP-UX:*:*)
-       HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
-       case "$UNAME_MACHINE" in
-           9000/31?)            HP_ARCH=m68000 ;;
-           9000/[34]??)         HP_ARCH=m68k ;;
-           9000/[678][0-9][0-9])
-               if [ -x /usr/bin/getconf ]; then
-                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                   sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                   case "$sc_cpu_version" in
-                     523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
-                     528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
-                     532)                      # CPU_PA_RISC2_0
-                       case "$sc_kernel_bits" in
-                         32) HP_ARCH=hppa2.0n ;;
-                         64) HP_ARCH=hppa2.0w ;;
-                         '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
-                       esac ;;
-                   esac
-               fi
-               if [ "$HP_ARCH" = "" ]; then
-                   eval "$set_cc_for_build"
-                   sed 's/^            //' << EOF > "$dummy.c"
-
-               #define _HPUX_SOURCE
-               #include <stdlib.h>
-               #include <unistd.h>
-
-               int main ()
-               {
-               #if defined(_SC_KERNEL_BITS)
-                   long bits = sysconf(_SC_KERNEL_BITS);
-               #endif
-                   long cpu  = sysconf (_SC_CPU_VERSION);
-
-                   switch (cpu)
-                       {
-                       case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-                       case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-                       case CPU_PA_RISC2_0:
-               #if defined(_SC_KERNEL_BITS)
-                           switch (bits)
-                               {
-                               case 64: puts ("hppa2.0w"); break;
-                               case 32: puts ("hppa2.0n"); break;
-                               default: puts ("hppa2.0"); break;
-                               } break;
-               #else  /* !defined(_SC_KERNEL_BITS) */
-                           puts ("hppa2.0"); break;
-               #endif
-                       default: puts ("hppa1.0"); break;
-                       }
-                   exit (0);
-               }
-EOF
-                   (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
-                   test -z "$HP_ARCH" && HP_ARCH=hppa
-               fi ;;
-       esac
-       if [ "$HP_ARCH" = hppa2.0w ]
-       then
-           eval "$set_cc_for_build"
-
-           # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-           # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
-           # generating 64-bit code.  GNU and HP use different nomenclature:
-           #
-           # $ CC_FOR_BUILD=cc ./config.guess
-           # => hppa2.0w-hp-hpux11.23
-           # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-           # => hppa64-hp-hpux11.23
-
-           if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
-               grep -q __LP64__
-           then
-               HP_ARCH=hppa2.0w
-           else
-               HP_ARCH=hppa64
-           fi
-       fi
-       echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
-       exit ;;
-    ia64:HP-UX:*:*)
-       HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
-       echo ia64-hp-hpux"$HPUX_REV"
-       exit ;;
-    3050*:HI-UX:*:*)
-       eval "$set_cc_for_build"
-       sed 's/^        //' << EOF > "$dummy.c"
-       #include <unistd.h>
-       int
-       main ()
-       {
-         long cpu = sysconf (_SC_CPU_VERSION);
-         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-            results, however.  */
-         if (CPU_IS_PA_RISC (cpu))
-           {
-             switch (cpu)
-               {
-                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-                 default: puts ("hppa-hitachi-hiuxwe2"); break;
-               }
-           }
-         else if (CPU_IS_HP_MC68K (cpu))
-           puts ("m68k-hitachi-hiuxwe2");
-         else puts ("unknown-hitachi-hiuxwe2");
-         exit (0);
-       }
-EOF
-       $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
-               { echo "$SYSTEM_NAME"; exit; }
-       echo unknown-hitachi-hiuxwe2
-       exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
-       echo hppa1.1-hp-bsd
-       exit ;;
-    9000/8??:4.3bsd:*:*)
-       echo hppa1.0-hp-bsd
-       exit ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-       echo hppa1.0-hp-mpeix
-       exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
-       echo hppa1.1-hp-osf
-       exit ;;
-    hp8??:OSF1:*:*)
-       echo hppa1.0-hp-osf
-       exit ;;
-    i*86:OSF1:*:*)
-       if [ -x /usr/sbin/sysversion ] ; then
-           echo "$UNAME_MACHINE"-unknown-osf1mk
-       else
-           echo "$UNAME_MACHINE"-unknown-osf1
-       fi
-       exit ;;
-    parisc*:Lites*:*:*)
-       echo hppa1.1-hp-lites
-       exit ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-       echo c1-convex-bsd
-       exit ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-       echo c34-convex-bsd
-       exit ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-       echo c38-convex-bsd
-       exit ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-       echo c4-convex-bsd
-       exit ;;
-    CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*[A-Z]90:*:*:*)
-       echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
-       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-             -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*TS:*:*:*)
-       echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*T3E:*:*:*)
-       echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*SV1:*:*:*)
-       echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    *:UNICOS/mp:*:*)
-       echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-       FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
-       FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
-       FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
-       echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
-    5000:UNIX_System_V:4.*:*)
-       FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
-       FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
-       echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-       echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
-       exit ;;
-    sparc*:BSD/OS:*:*)
-       echo sparc-unknown-bsdi"$UNAME_RELEASE"
-       exit ;;
-    *:BSD/OS:*:*)
-       echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
-       exit ;;
-    *:FreeBSD:*:*)
-       UNAME_PROCESSOR=`/usr/bin/uname -p`
-       case "$UNAME_PROCESSOR" in
-           amd64)
-               UNAME_PROCESSOR=x86_64 ;;
-           i386)
-               UNAME_PROCESSOR=i586 ;;
-       esac
-       echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
-       exit ;;
-    i*:CYGWIN*:*)
-       echo "$UNAME_MACHINE"-pc-cygwin
-       exit ;;
-    *:MINGW64*:*)
-       echo "$UNAME_MACHINE"-pc-mingw64
-       exit ;;
-    *:MINGW*:*)
-       echo "$UNAME_MACHINE"-pc-mingw32
-       exit ;;
-    *:MSYS*:*)
-       echo "$UNAME_MACHINE"-pc-msys
-       exit ;;
-    i*:PW*:*)
-       echo "$UNAME_MACHINE"-pc-pw32
-       exit ;;
-    *:Interix*:*)
-       case "$UNAME_MACHINE" in
-           x86)
-               echo i586-pc-interix"$UNAME_RELEASE"
-               exit ;;
-           authenticamd | genuineintel | EM64T)
-               echo x86_64-unknown-interix"$UNAME_RELEASE"
-               exit ;;
-           IA64)
-               echo ia64-unknown-interix"$UNAME_RELEASE"
-               exit ;;
-       esac ;;
-    i*:UWIN*:*)
-       echo "$UNAME_MACHINE"-pc-uwin
-       exit ;;
-    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-       echo x86_64-unknown-cygwin
-       exit ;;
-    prep*:SunOS:5.*:*)
-       echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-       exit ;;
-    *:GNU:*:*)
-       # the GNU system
-       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 "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
-       exit ;;
-    i*86:Minix:*:*)
-       echo "$UNAME_MACHINE"-pc-minix
-       exit ;;
-    aarch64:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    aarch64_be:Linux:*:*)
-       UNAME_MACHINE=aarch64_be
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    alpha:Linux:*:*)
-       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-         EV5)   UNAME_MACHINE=alphaev5 ;;
-         EV56)  UNAME_MACHINE=alphaev56 ;;
-         PCA56) UNAME_MACHINE=alphapca56 ;;
-         PCA57) UNAME_MACHINE=alphapca56 ;;
-         EV6)   UNAME_MACHINE=alphaev6 ;;
-         EV67)  UNAME_MACHINE=alphaev67 ;;
-         EV68*) UNAME_MACHINE=alphaev68 ;;
-       esac
-       objdump --private-headers /bin/sh | grep -q ld.so.1
-       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-"$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-"$LIBC"eabi
-           else
-               echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
-           fi
-       fi
-       exit ;;
-    avr32*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    cris:Linux:*:*)
-       echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
-       exit ;;
-    crisv32:Linux:*:*)
-       echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
-       exit ;;
-    e2k:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    frv:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    hexagon:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    i*86:Linux:*:*)
-       echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
-       exit ;;
-    ia64:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    k1om:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    m32r*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    m68*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    mips:Linux:*:* | mips64:Linux:*:*)
-       eval "$set_cc_for_build"
-       sed 's/^        //' << EOF > "$dummy.c"
-       #undef CPU
-       #undef ${UNAME_MACHINE}
-       #undef ${UNAME_MACHINE}el
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=${UNAME_MACHINE}el
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=${UNAME_MACHINE}
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
-       test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
-       ;;
-    mips64el:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    openrisc*:Linux:*:*)
-       echo or1k-unknown-linux-"$LIBC"
-       exit ;;
-    or32:Linux:*:* | or1k*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    padre:Linux:*:*)
-       echo sparc-unknown-linux-"$LIBC"
-       exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-       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-"$LIBC" ;;
-         PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
-         *)    echo hppa-unknown-linux-"$LIBC" ;;
-       esac
-       exit ;;
-    ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-"$LIBC"
-       exit ;;
-    ppc:Linux:*:*)
-       echo powerpc-unknown-linux-"$LIBC"
-       exit ;;
-    ppc64le:Linux:*:*)
-       echo powerpc64le-unknown-linux-"$LIBC"
-       exit ;;
-    ppcle:Linux:*:*)
-       echo powerpcle-unknown-linux-"$LIBC"
-       exit ;;
-    riscv32:Linux:*:* | riscv64:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-       echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
-       exit ;;
-    sh64*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    sh*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    tile*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    vax:Linux:*:*)
-       echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
-       exit ;;
-    x86_64:Linux:*:*)
-       if objdump -f /bin/sh | grep -q elf32-x86-64; then
-           echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32
-       else
-           echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
-       fi
-       exit ;;
-    xtensa*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    i*86:DYNIX/ptx:4*:*)
-       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-       # earlier versions are messed up and put the nodename in both
-       # sysname and nodename.
-       echo i386-sequent-sysv4
-       exit ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-       # Unixware is an offshoot of SVR4, but it has its own version
-       # number series starting with 2...
-       # I am not positive that other SVR4 systems won't match this,
-       # I just have to hope.  -- rms.
-       # Use sysv4.2uw... so that sysv4* matches it.
-       echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
-       exit ;;
-    i*86:OS/2:*:*)
-       # If we were able to find `uname', then EMX Unix compatibility
-       # is probably installed.
-       echo "$UNAME_MACHINE"-pc-os2-emx
-       exit ;;
-    i*86:XTS-300:*:STOP)
-       echo "$UNAME_MACHINE"-unknown-stop
-       exit ;;
-    i*86:atheos:*:*)
-       echo "$UNAME_MACHINE"-unknown-atheos
-       exit ;;
-    i*86:syllable:*:*)
-       echo "$UNAME_MACHINE"-pc-syllable
-       exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-       echo i386-unknown-lynxos"$UNAME_RELEASE"
-       exit ;;
-    i*86:*DOS:*:*)
-       echo "$UNAME_MACHINE"-pc-msdosdjgpp
-       exit ;;
-    i*86:*:4.*:*)
-       UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
-       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-               echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
-       else
-               echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
-       fi
-       exit ;;
-    i*86:*:5:[678]*)
-       # UnixWare 7.x, OpenUNIX and OpenServer 6.
-       case `/bin/uname -X | grep "^Machine"` in
-           *486*)           UNAME_MACHINE=i486 ;;
-           *Pentium)        UNAME_MACHINE=i586 ;;
-           *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-       esac
-       echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
-       exit ;;
-    i*86:*:3.2:*)
-       if test -f /usr/options/cb.name; then
-               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-               echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
-       elif /bin/uname -X 2>/dev/null >/dev/null ; then
-               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-                       && UNAME_MACHINE=i586
-               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
-       else
-               echo "$UNAME_MACHINE"-pc-sysv32
-       fi
-       exit ;;
-    pc:*:*:*)
-       # Left here for compatibility:
-       # uname -m prints for DJGPP always 'pc', but it prints nothing about
-       # the processor, so we play safe by assuming i586.
-       # Note: whatever this is, it MUST be the same as what config.sub
-       # prints for the "djgpp" host, or else GDB configure will decide that
-       # this is a cross-build.
-       echo i586-pc-msdosdjgpp
-       exit ;;
-    Intel:Mach:3*:*)
-       echo i386-pc-mach3
-       exit ;;
-    paragon:*:*:*)
-       echo i860-intel-osf1
-       exit ;;
-    i860:*:4.*:*) # i860-SVR4
-       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-         echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
-       else # Add other i860-SVR4 vendors below as they are discovered.
-         echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
-       fi
-       exit ;;
-    mini*:CTIX:SYS*5:*)
-       # "miniframe"
-       echo m68010-convergent-sysv
-       exit ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-       echo m68k-convergent-sysv
-       exit ;;
-    M680?0:D-NIX:5.3:*)
-       echo m68k-diab-dnix
-       exit ;;
-    M68*:*:R3V[5678]*:*)
-       test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-       OS_REL=''
-       test -r /etc/.relid \
-       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
-       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-         && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && { echo i486-ncr-sysv4; exit; } ;;
-    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
-       OS_REL='.3'
-       test -r /etc/.relid \
-           && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-           && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
-       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-           && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
-       /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-           && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-       echo m68k-unknown-lynxos"$UNAME_RELEASE"
-       exit ;;
-    mc68030:UNIX_System_V:4.*:*)
-       echo m68k-atari-sysv4
-       exit ;;
-    TSUNAMI:LynxOS:2.*:*)
-       echo sparc-unknown-lynxos"$UNAME_RELEASE"
-       exit ;;
-    rs6000:LynxOS:2.*:*)
-       echo rs6000-unknown-lynxos"$UNAME_RELEASE"
-       exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-       echo powerpc-unknown-lynxos"$UNAME_RELEASE"
-       exit ;;
-    SM[BE]S:UNIX_SV:*:*)
-       echo mips-dde-sysv"$UNAME_RELEASE"
-       exit ;;
-    RM*:ReliantUNIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
-    RM*:SINIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
-    *:SINIX-*:*:*)
-       if uname -p 2>/dev/null >/dev/null ; then
-               UNAME_MACHINE=`(uname -p) 2>/dev/null`
-               echo "$UNAME_MACHINE"-sni-sysv4
-       else
-               echo ns32k-sni-sysv
-       fi
-       exit ;;
-    PENTIUM:*:4.0*:*)  # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                       # says <Richard.M.Bartel@ccMail.Census.GOV>
-       echo i586-unisys-sysv4
-       exit ;;
-    *:UNIX_System_V:4*:FTX*)
-       # From Gerald Hewes <hewes@openmarket.com>.
-       # How about differentiating between stratus architectures? -djm
-       echo hppa1.1-stratus-sysv4
-       exit ;;
-    *:*:*:FTX*)
-       # From seanf@swdc.stratus.com.
-       echo i860-stratus-sysv4
-       exit ;;
-    i*86:VOS:*:*)
-       # From Paul.Green@stratus.com.
-       echo "$UNAME_MACHINE"-stratus-vos
-       exit ;;
-    *:VOS:*:*)
-       # From Paul.Green@stratus.com.
-       echo hppa1.1-stratus-vos
-       exit ;;
-    mc68*:A/UX:*:*)
-       echo m68k-apple-aux"$UNAME_RELEASE"
-       exit ;;
-    news*:NEWS-OS:6*:*)
-       echo mips-sony-newsos6
-       exit ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-       if [ -d /usr/nec ]; then
-               echo mips-nec-sysv"$UNAME_RELEASE"
-       else
-               echo mips-unknown-sysv"$UNAME_RELEASE"
-       fi
-       exit ;;
-    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
-       echo powerpc-be-beos
-       exit ;;
-    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
-       echo powerpc-apple-beos
-       exit ;;
-    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
-       echo i586-pc-beos
-       exit ;;
-    BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
-       echo i586-pc-haiku
-       exit ;;
-    x86_64:Haiku:*:*)
-       echo x86_64-unknown-haiku
-       exit ;;
-    SX-4:SUPER-UX:*:*)
-       echo sx4-nec-superux"$UNAME_RELEASE"
-       exit ;;
-    SX-5:SUPER-UX:*:*)
-       echo sx5-nec-superux"$UNAME_RELEASE"
-       exit ;;
-    SX-6:SUPER-UX:*:*)
-       echo sx6-nec-superux"$UNAME_RELEASE"
-       exit ;;
-    SX-7:SUPER-UX:*:*)
-       echo sx7-nec-superux"$UNAME_RELEASE"
-       exit ;;
-    SX-8:SUPER-UX:*:*)
-       echo sx8-nec-superux"$UNAME_RELEASE"
-       exit ;;
-    SX-8R:SUPER-UX:*:*)
-       echo sx8r-nec-superux"$UNAME_RELEASE"
-       exit ;;
-    SX-ACE:SUPER-UX:*:*)
-       echo sxace-nec-superux"$UNAME_RELEASE"
-       exit ;;
-    Power*:Rhapsody:*:*)
-       echo powerpc-apple-rhapsody"$UNAME_RELEASE"
-       exit ;;
-    *:Rhapsody:*:*)
-       echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
-       exit ;;
-    *:Darwin:*:*)
-       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       eval "$set_cc_for_build"
-       if test "$UNAME_PROCESSOR" = unknown ; then
-           UNAME_PROCESSOR=powerpc
-       fi
-       if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
-           if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
-               if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-                      (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
-                      grep IS_64BIT_ARCH >/dev/null
-               then
-                   case $UNAME_PROCESSOR in
-                       i386) UNAME_PROCESSOR=x86_64 ;;
-                       powerpc) UNAME_PROCESSOR=powerpc64 ;;
-                   esac
-               fi
-               # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
-               if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
-                      (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
-                      grep IS_PPC >/dev/null
-               then
-                   UNAME_PROCESSOR=powerpc
-               fi
-           fi
-       elif test "$UNAME_PROCESSOR" = i386 ; then
-           # Avoid executing cc on OS X 10.9, as it ships with a stub
-           # that puts up a graphical alert prompting to install
-           # developer tools.  Any system running Mac OS X 10.7 or
-           # later (Darwin 11 and later) is required to have a 64-bit
-           # processor. This is not true of the ARM version of Darwin
-           # that Apple uses in portable devices.
-           UNAME_PROCESSOR=x86_64
-       fi
-       echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
-       exit ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-       UNAME_PROCESSOR=`uname -p`
-       if test "$UNAME_PROCESSOR" = x86; then
-               UNAME_PROCESSOR=i386
-               UNAME_MACHINE=pc
-       fi
-       echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
-       exit ;;
-    *:QNX:*:4*)
-       echo i386-pc-qnx
-       exit ;;
-    NEO-*:NONSTOP_KERNEL:*:*)
-       echo neo-tandem-nsk"$UNAME_RELEASE"
-       exit ;;
-    NSE-*:NONSTOP_KERNEL:*:*)
-       echo nse-tandem-nsk"$UNAME_RELEASE"
-       exit ;;
-    NSR-*:NONSTOP_KERNEL:*:*)
-       echo nsr-tandem-nsk"$UNAME_RELEASE"
-       exit ;;
-    NSV-*:NONSTOP_KERNEL:*:*)
-       echo nsv-tandem-nsk"$UNAME_RELEASE"
-       exit ;;
-    NSX-*:NONSTOP_KERNEL:*:*)
-       echo nsx-tandem-nsk"$UNAME_RELEASE"
-       exit ;;
-    *:NonStop-UX:*:*)
-       echo mips-compaq-nonstopux
-       exit ;;
-    BS2000:POSIX*:*:*)
-       echo bs2000-siemens-sysv
-       exit ;;
-    DS/*:UNIX_System_V:*:*)
-       echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
-       exit ;;
-    *:Plan9:*:*)
-       # "uname -m" is not consistent, so use $cputype instead. 386
-       # is converted to i386 for consistency with other x86
-       # operating systems.
-       if test "$cputype" = 386; then
-           UNAME_MACHINE=i386
-       else
-           UNAME_MACHINE="$cputype"
-       fi
-       echo "$UNAME_MACHINE"-unknown-plan9
-       exit ;;
-    *:TOPS-10:*:*)
-       echo pdp10-unknown-tops10
-       exit ;;
-    *:TENEX:*:*)
-       echo pdp10-unknown-tenex
-       exit ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-       echo pdp10-dec-tops20
-       exit ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-       echo pdp10-xkl-tops20
-       exit ;;
-    *:TOPS-20:*:*)
-       echo pdp10-unknown-tops20
-       exit ;;
-    *:ITS:*:*)
-       echo pdp10-unknown-its
-       exit ;;
-    SEI:*:*:SEIUX)
-       echo mips-sei-seiux"$UNAME_RELEASE"
-       exit ;;
-    *:DragonFly:*:*)
-       echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
-       exit ;;
-    *:*VMS:*:*)
-       UNAME_MACHINE=`(uname -p) 2>/dev/null`
-       case "$UNAME_MACHINE" in
-           A*) echo alpha-dec-vms ; exit ;;
-           I*) echo ia64-dec-vms ; exit ;;
-           V*) echo vax-dec-vms ; exit ;;
-       esac ;;
-    *:XENIX:*:SysV)
-       echo i386-pc-xenix
-       exit ;;
-    i*86:skyos:*:*)
-       echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
-       exit ;;
-    i*86:rdos:*:*)
-       echo "$UNAME_MACHINE"-pc-rdos
-       exit ;;
-    i*86:AROS:*:*)
-       echo "$UNAME_MACHINE"-pc-aros
-       exit ;;
-    x86_64:VMkernel:*:*)
-       echo "$UNAME_MACHINE"-unknown-esx
-       exit ;;
-    amd64:Isilon\ OneFS:*:*)
-       echo x86_64-unknown-onefs
-       exit ;;
-esac
-
-echo "$0: unable to guess system type" >&2
-
-case "$UNAME_MACHINE:$UNAME_SYSTEM" in
-    mips:Linux | mips64:Linux)
-       # If we got here on MIPS GNU/Linux, output extra information.
-       cat >&2 <<EOF
-
-NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
-the system type. Please install a C compiler and try again.
-EOF
-       ;;
-esac
-
-cat >&2 <<EOF
-
-This script (version $timestamp), has failed to recognize the
-operating system you are using. If your script is old, overwrite *all*
-copies of config.guess and config.sub with the latest versions from:
-
-  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
-and
-  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
-
-If $0 has already been updated, send the following data and any
-information you think might be pertinent to config-patches@gnu.org to
-provide the necessary information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = "$UNAME_MACHINE"
-UNAME_RELEASE = "$UNAME_RELEASE"
-UNAME_SYSTEM  = "$UNAME_SYSTEM"
-UNAME_VERSION = "$UNAME_VERSION"
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-functions 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/config.h.in b/config.h.in
deleted file mode 100644 (file)
index 81ef751..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to the sub-directory where libtool stores uninstalled libraries. */
-#undef LT_OBJDIR
-
-/* Define shared library extension */
-#undef OS_EXT
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* pygobject major version */
-#undef PYGOBJECT_MAJOR_VERSION
-
-/* pygobject micro version */
-#undef PYGOBJECT_MICRO_VERSION
-
-/* pygobject minor version */
-#undef PYGOBJECT_MINOR_VERSION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Version number of package */
-#undef VERSION
diff --git a/config.sub b/config.sub
deleted file mode 100755 (executable)
index 1d8e98b..0000000
+++ /dev/null
@@ -1,1801 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-#   Copyright 1992-2018 Free Software Foundation, Inc.
-
-timestamp='2018-02-22'
-
-# 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
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see <https://www.gnu.org/licenses/>.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program.  This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
-
-
-# Please send patches to <config-patches@gnu.org>.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
-
-Canonicalize a configuration name.
-
-Options:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright 1992-2018 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."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )        # Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo "$1"
-       exit ;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
-  kopensolaris*-gnu* | cloudabi*-eabi* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  android-linux)
-    os=-linux-android
-    basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
-    ;;
-  *)
-    basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
-    if [ "$basic_machine" != "$1" ]
-    then os=`echo "$1" | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-       -sun*os*)
-               # Prevent following clause from handling this invalid input.
-               ;;
-       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray | -microblaze*)
-               os=
-               basic_machine=$1
-               ;;
-       -bluegene*)
-               os=-cnk
-               ;;
-       -sim | -cisco | -oki | -wec | -winbond)
-               os=
-               basic_machine=$1
-               ;;
-       -scout)
-               ;;
-       -wrs)
-               os=-vxworks
-               basic_machine=$1
-               ;;
-       -chorusos*)
-               os=-chorusos
-               basic_machine=$1
-               ;;
-       -chorusrdb)
-               os=-chorusrdb
-               basic_machine=$1
-               ;;
-       -hiux*)
-               os=-hiuxwe2
-               ;;
-       -sco6)
-               os=-sco5v6
-               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5)
-               os=-sco3.2v5
-               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco4)
-               os=-sco3.2v4
-               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2.[4-9]*)
-               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2v[4-9]*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5v6*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco*)
-               os=-sco3.2v2
-               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -udk*)
-               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -isc)
-               os=-isc2.2
-               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -clix*)
-               basic_machine=clipper-intergraph
-               ;;
-       -isc*)
-               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -lynx*178)
-               os=-lynxos178
-               ;;
-       -lynx*5)
-               os=-lynxos5
-               ;;
-       -lynx*)
-               os=-lynxos
-               ;;
-       -ptx*)
-               basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
-               ;;
-       -psos*)
-               os=-psos
-               ;;
-       -mint | -mint[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-       # Recognize the basic CPU types without company name.
-       # Some are omitted here because they have special meanings below.
-       1750a | 580 \
-       | a29k \
-       | aarch64 | aarch64_be \
-       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-       | am33_2.0 \
-       | arc | arceb \
-       | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
-       | avr | avr32 \
-       | ba \
-       | be32 | be64 \
-       | bfin \
-       | c4x | c8051 | clipper \
-       | d10v | d30v | dlx | dsp16xx \
-       | e2k | epiphany \
-       | fido | fr30 | frv | ft32 \
-       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-       | hexagon \
-       | i370 | i860 | i960 | ia16 | ia64 \
-       | ip2k | iq2000 \
-       | k1om \
-       | le32 | le64 \
-       | lm32 \
-       | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
-       | mips | mipsbe | mipseb | mipsel | mipsle \
-       | mips16 \
-       | mips64 | mips64el \
-       | mips64octeon | mips64octeonel \
-       | mips64orion | mips64orionel \
-       | mips64r5900 | mips64r5900el \
-       | mips64vr | mips64vrel \
-       | mips64vr4100 | mips64vr4100el \
-       | mips64vr4300 | mips64vr4300el \
-       | mips64vr5000 | mips64vr5000el \
-       | mips64vr5900 | mips64vr5900el \
-       | mipsisa32 | mipsisa32el \
-       | mipsisa32r2 | mipsisa32r2el \
-       | mipsisa32r6 | mipsisa32r6el \
-       | mipsisa64 | mipsisa64el \
-       | mipsisa64r2 | mipsisa64r2el \
-       | mipsisa64r6 | mipsisa64r6el \
-       | mipsisa64sb1 | mipsisa64sb1el \
-       | mipsisa64sr71k | mipsisa64sr71kel \
-       | mipsr5900 | mipsr5900el \
-       | mipstx39 | mipstx39el \
-       | mn10200 | mn10300 \
-       | moxie \
-       | mt \
-       | msp430 \
-       | nds32 | nds32le | nds32be \
-       | nios | nios2 | nios2eb | nios2el \
-       | ns16k | ns32k \
-       | open8 | or1k | or1knd | or32 \
-       | pdp10 | pj | pjl \
-       | powerpc | powerpc64 | powerpc64le | powerpcle \
-       | pru \
-       | pyramid \
-       | riscv32 | riscv64 \
-       | rl78 | rx \
-       | score \
-       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-       | sh64 | sh64le \
-       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-       | spu \
-       | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
-       | ubicom32 \
-       | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-       | visium \
-       | wasm32 \
-       | x86 | xc16x | xstormy16 | xtensa \
-       | z8k | z80)
-               basic_machine=$basic_machine-unknown
-               ;;
-       c54x)
-               basic_machine=tic54x-unknown
-               ;;
-       c55x)
-               basic_machine=tic55x-unknown
-               ;;
-       c6x)
-               basic_machine=tic6x-unknown
-               ;;
-       leon|leon[3-9])
-               basic_machine=sparc-$basic_machine
-               ;;
-       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
-               basic_machine=$basic_machine-unknown
-               os=-none
-               ;;
-       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
-               ;;
-       ms1)
-               basic_machine=mt-unknown
-               ;;
-
-       strongarm | thumb | xscale)
-               basic_machine=arm-unknown
-               ;;
-       xgate)
-               basic_machine=$basic_machine-unknown
-               os=-none
-               ;;
-       xscaleeb)
-               basic_machine=armeb-unknown
-               ;;
-
-       xscaleel)
-               basic_machine=armel-unknown
-               ;;
-
-       # We use `pc' rather than `unknown'
-       # because (1) that's what they normally are, and
-       # (2) the word "unknown" tends to confuse beginning users.
-       i*86 | x86_64)
-         basic_machine=$basic_machine-pc
-         ;;
-       # Object if more than one company name word.
-       *-*-*)
-               echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
-               exit 1
-               ;;
-       # Recognize the basic CPU types with company name.
-       580-* \
-       | a29k-* \
-       | aarch64-* | aarch64_be-* \
-       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
-       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-       | avr-* | avr32-* \
-       | ba-* \
-       | be32-* | be64-* \
-       | bfin-* | bs2000-* \
-       | c[123]* | c30-* | [cjt]90-* | c4x-* \
-       | c8051-* | clipper-* | craynv-* | cydra-* \
-       | d10v-* | d30v-* | dlx-* \
-       | e2k-* | elxsi-* \
-       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-       | h8300-* | h8500-* \
-       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-       | hexagon-* \
-       | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
-       | ip2k-* | iq2000-* \
-       | k1om-* \
-       | le32-* | le64-* \
-       | lm32-* \
-       | m32c-* | m32r-* | m32rle-* \
-       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
-       | microblaze-* | microblazeel-* \
-       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-       | mips16-* \
-       | mips64-* | mips64el-* \
-       | mips64octeon-* | mips64octeonel-* \
-       | mips64orion-* | mips64orionel-* \
-       | mips64r5900-* | mips64r5900el-* \
-       | mips64vr-* | mips64vrel-* \
-       | mips64vr4100-* | mips64vr4100el-* \
-       | mips64vr4300-* | mips64vr4300el-* \
-       | mips64vr5000-* | mips64vr5000el-* \
-       | mips64vr5900-* | mips64vr5900el-* \
-       | mipsisa32-* | mipsisa32el-* \
-       | mipsisa32r2-* | mipsisa32r2el-* \
-       | mipsisa32r6-* | mipsisa32r6el-* \
-       | mipsisa64-* | mipsisa64el-* \
-       | mipsisa64r2-* | mipsisa64r2el-* \
-       | mipsisa64r6-* | mipsisa64r6el-* \
-       | mipsisa64sb1-* | mipsisa64sb1el-* \
-       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
-       | mipsr5900-* | mipsr5900el-* \
-       | mipstx39-* | mipstx39el-* \
-       | mmix-* \
-       | mt-* \
-       | msp430-* \
-       | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* | nios2eb-* | nios2el-* \
-       | none-* | np1-* | ns16k-* | ns32k-* \
-       | open8-* \
-       | or1k*-* \
-       | orion-* \
-       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
-       | pru-* \
-       | pyramid-* \
-       | riscv32-* | riscv64-* \
-       | rl78-* | romp-* | rs6000-* | rx-* \
-       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-       | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
-       | tahoe-* \
-       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-       | tile*-* \
-       | tron-* \
-       | ubicom32-* \
-       | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
-       | vax-* \
-       | visium-* \
-       | wasm32-* \
-       | we32k-* \
-       | x86-* | x86_64-* | xc16x-* | xps100-* \
-       | xstormy16-* | xtensa*-* \
-       | ymp-* \
-       | z8k-* | z80-*)
-               ;;
-       # Recognize the basic CPU types without company name, with glob match.
-       xtensa*)
-               basic_machine=$basic_machine-unknown
-               ;;
-       # Recognize the various machine names and aliases which stand
-       # for a CPU type and a company and sometimes even an OS.
-       386bsd)
-               basic_machine=i386-pc
-               os=-bsd
-               ;;
-       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-               basic_machine=m68000-att
-               ;;
-       3b*)
-               basic_machine=we32k-att
-               ;;
-       a29khif)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       abacus)
-               basic_machine=abacus-unknown
-               ;;
-       adobe68k)
-               basic_machine=m68010-adobe
-               os=-scout
-               ;;
-       alliant | fx80)
-               basic_machine=fx80-alliant
-               ;;
-       altos | altos3068)
-               basic_machine=m68k-altos
-               ;;
-       am29k)
-               basic_machine=a29k-none
-               os=-bsd
-               ;;
-       amd64)
-               basic_machine=x86_64-pc
-               ;;
-       amd64-*)
-               basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       amdahl)
-               basic_machine=580-amdahl
-               os=-sysv
-               ;;
-       amiga | amiga-*)
-               basic_machine=m68k-unknown
-               ;;
-       amigaos | amigados)
-               basic_machine=m68k-unknown
-               os=-amigaos
-               ;;
-       amigaunix | amix)
-               basic_machine=m68k-unknown
-               os=-sysv4
-               ;;
-       apollo68)
-               basic_machine=m68k-apollo
-               os=-sysv
-               ;;
-       apollo68bsd)
-               basic_machine=m68k-apollo
-               os=-bsd
-               ;;
-       aros)
-               basic_machine=i386-pc
-               os=-aros
-               ;;
-       asmjs)
-               basic_machine=asmjs-unknown
-               ;;
-       aux)
-               basic_machine=m68k-apple
-               os=-aux
-               ;;
-       balance)
-               basic_machine=ns32k-sequent
-               os=-dynix
-               ;;
-       blackfin)
-               basic_machine=bfin-unknown
-               os=-linux
-               ;;
-       blackfin-*)
-               basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               os=-linux
-               ;;
-       bluegene*)
-               basic_machine=powerpc-ibm
-               os=-cnk
-               ;;
-       c54x-*)
-               basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       c55x-*)
-               basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       c6x-*)
-               basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       c90)
-               basic_machine=c90-cray
-               os=-unicos
-               ;;
-       cegcc)
-               basic_machine=arm-unknown
-               os=-cegcc
-               ;;
-       convex-c1)
-               basic_machine=c1-convex
-               os=-bsd
-               ;;
-       convex-c2)
-               basic_machine=c2-convex
-               os=-bsd
-               ;;
-       convex-c32)
-               basic_machine=c32-convex
-               os=-bsd
-               ;;
-       convex-c34)
-               basic_machine=c34-convex
-               os=-bsd
-               ;;
-       convex-c38)
-               basic_machine=c38-convex
-               os=-bsd
-               ;;
-       cray | j90)
-               basic_machine=j90-cray
-               os=-unicos
-               ;;
-       craynv)
-               basic_machine=craynv-cray
-               os=-unicosmp
-               ;;
-       cr16 | cr16-*)
-               basic_machine=cr16-unknown
-               os=-elf
-               ;;
-       crds | unos)
-               basic_machine=m68k-crds
-               ;;
-       crisv32 | crisv32-* | etraxfs*)
-               basic_machine=crisv32-axis
-               ;;
-       cris | cris-* | etrax*)
-               basic_machine=cris-axis
-               ;;
-       crx)
-               basic_machine=crx-unknown
-               os=-elf
-               ;;
-       da30 | da30-*)
-               basic_machine=m68k-da30
-               ;;
-       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-               basic_machine=mips-dec
-               ;;
-       decsystem10* | dec10*)
-               basic_machine=pdp10-dec
-               os=-tops10
-               ;;
-       decsystem20* | dec20*)
-               basic_machine=pdp10-dec
-               os=-tops20
-               ;;
-       delta | 3300 | motorola-3300 | motorola-delta \
-             | 3300-motorola | delta-motorola)
-               basic_machine=m68k-motorola
-               ;;
-       delta88)
-               basic_machine=m88k-motorola
-               os=-sysv3
-               ;;
-       dicos)
-               basic_machine=i686-pc
-               os=-dicos
-               ;;
-       djgpp)
-               basic_machine=i586-pc
-               os=-msdosdjgpp
-               ;;
-       dpx20 | dpx20-*)
-               basic_machine=rs6000-bull
-               os=-bosx
-               ;;
-       dpx2*)
-               basic_machine=m68k-bull
-               os=-sysv3
-               ;;
-       e500v[12])
-               basic_machine=powerpc-unknown
-               os=$os"spe"
-               ;;
-       e500v[12]-*)
-               basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               os=$os"spe"
-               ;;
-       ebmon29k)
-               basic_machine=a29k-amd
-               os=-ebmon
-               ;;
-       elxsi)
-               basic_machine=elxsi-elxsi
-               os=-bsd
-               ;;
-       encore | umax | mmax)
-               basic_machine=ns32k-encore
-               ;;
-       es1800 | OSE68k | ose68k | ose | OSE)
-               basic_machine=m68k-ericsson
-               os=-ose
-               ;;
-       fx2800)
-               basic_machine=i860-alliant
-               ;;
-       genix)
-               basic_machine=ns32k-ns
-               ;;
-       gmicro)
-               basic_machine=tron-gmicro
-               os=-sysv
-               ;;
-       go32)
-               basic_machine=i386-pc
-               os=-go32
-               ;;
-       h3050r* | hiux*)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       h8300hms)
-               basic_machine=h8300-hitachi
-               os=-hms
-               ;;
-       h8300xray)
-               basic_machine=h8300-hitachi
-               os=-xray
-               ;;
-       h8500hms)
-               basic_machine=h8500-hitachi
-               os=-hms
-               ;;
-       harris)
-               basic_machine=m88k-harris
-               os=-sysv3
-               ;;
-       hp300-*)
-               basic_machine=m68k-hp
-               ;;
-       hp300bsd)
-               basic_machine=m68k-hp
-               os=-bsd
-               ;;
-       hp300hpux)
-               basic_machine=m68k-hp
-               os=-hpux
-               ;;
-       hp3k9[0-9][0-9] | hp9[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k2[0-9][0-9] | hp9k31[0-9])
-               basic_machine=m68000-hp
-               ;;
-       hp9k3[2-9][0-9])
-               basic_machine=m68k-hp
-               ;;
-       hp9k6[0-9][0-9] | hp6[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k7[0-79][0-9] | hp7[0-79][0-9])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k78[0-9] | hp78[0-9])
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][13679] | hp8[0-9][13679])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][0-9] | hp8[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hppaosf)
-               basic_machine=hppa1.1-hp
-               os=-osf
-               ;;
-       hppro)
-               basic_machine=hppa1.1-hp
-               os=-proelf
-               ;;
-       i370-ibm* | ibm*)
-               basic_machine=i370-ibm
-               ;;
-       i*86v32)
-               basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
-               os=-sysv32
-               ;;
-       i*86v4*)
-               basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
-               os=-sysv4
-               ;;
-       i*86v)
-               basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
-               os=-sysv
-               ;;
-       i*86sol2)
-               basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
-               os=-solaris2
-               ;;
-       i386mach)
-               basic_machine=i386-mach
-               os=-mach
-               ;;
-       vsta)
-               basic_machine=i386-unknown
-               os=-vsta
-               ;;
-       iris | iris4d)
-               basic_machine=mips-sgi
-               case $os in
-                   -irix*)
-                       ;;
-                   *)
-                       os=-irix4
-                       ;;
-               esac
-               ;;
-       isi68 | isi)
-               basic_machine=m68k-isi
-               os=-sysv
-               ;;
-       leon-*|leon[3-9]-*)
-               basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
-               ;;
-       m68knommu)
-               basic_machine=m68k-unknown
-               os=-linux
-               ;;
-       m68knommu-*)
-               basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               os=-linux
-               ;;
-       magnum | m3230)
-               basic_machine=mips-mips
-               os=-sysv
-               ;;
-       merlin)
-               basic_machine=ns32k-utek
-               os=-sysv
-               ;;
-       microblaze*)
-               basic_machine=microblaze-xilinx
-               ;;
-       mingw64)
-               basic_machine=x86_64-pc
-               os=-mingw64
-               ;;
-       mingw32)
-               basic_machine=i686-pc
-               os=-mingw32
-               ;;
-       mingw32ce)
-               basic_machine=arm-unknown
-               os=-mingw32ce
-               ;;
-       miniframe)
-               basic_machine=m68000-convergent
-               ;;
-       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-       mips3*-*)
-               basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
-               ;;
-       mips3*)
-               basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
-               ;;
-       monitor)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       morphos)
-               basic_machine=powerpc-unknown
-               os=-morphos
-               ;;
-       moxiebox)
-               basic_machine=moxie-unknown
-               os=-moxiebox
-               ;;
-       msdos)
-               basic_machine=i386-pc
-               os=-msdos
-               ;;
-       ms1-*)
-               basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
-               ;;
-       msys)
-               basic_machine=i686-pc
-               os=-msys
-               ;;
-       mvs)
-               basic_machine=i370-ibm
-               os=-mvs
-               ;;
-       nacl)
-               basic_machine=le32-unknown
-               os=-nacl
-               ;;
-       ncr3000)
-               basic_machine=i486-ncr
-               os=-sysv4
-               ;;
-       netbsd386)
-               basic_machine=i386-unknown
-               os=-netbsd
-               ;;
-       netwinder)
-               basic_machine=armv4l-rebel
-               os=-linux
-               ;;
-       news | news700 | news800 | news900)
-               basic_machine=m68k-sony
-               os=-newsos
-               ;;
-       news1000)
-               basic_machine=m68030-sony
-               os=-newsos
-               ;;
-       news-3600 | risc-news)
-               basic_machine=mips-sony
-               os=-newsos
-               ;;
-       necv70)
-               basic_machine=v70-nec
-               os=-sysv
-               ;;
-       next | m*-next)
-               basic_machine=m68k-next
-               case $os in
-                   -nextstep* )
-                       ;;
-                   -ns2*)
-                     os=-nextstep2
-                       ;;
-                   *)
-                     os=-nextstep3
-                       ;;
-               esac
-               ;;
-       nh3000)
-               basic_machine=m68k-harris
-               os=-cxux
-               ;;
-       nh[45]000)
-               basic_machine=m88k-harris
-               os=-cxux
-               ;;
-       nindy960)
-               basic_machine=i960-intel
-               os=-nindy
-               ;;
-       mon960)
-               basic_machine=i960-intel
-               os=-mon960
-               ;;
-       nonstopux)
-               basic_machine=mips-compaq
-               os=-nonstopux
-               ;;
-       np1)
-               basic_machine=np1-gould
-               ;;
-       neo-tandem)
-               basic_machine=neo-tandem
-               ;;
-       nse-tandem)
-               basic_machine=nse-tandem
-               ;;
-       nsr-tandem)
-               basic_machine=nsr-tandem
-               ;;
-       nsv-tandem)
-               basic_machine=nsv-tandem
-               ;;
-       nsx-tandem)
-               basic_machine=nsx-tandem
-               ;;
-       op50n-* | op60c-*)
-               basic_machine=hppa1.1-oki
-               os=-proelf
-               ;;
-       openrisc | openrisc-*)
-               basic_machine=or32-unknown
-               ;;
-       os400)
-               basic_machine=powerpc-ibm
-               os=-os400
-               ;;
-       OSE68000 | ose68000)
-               basic_machine=m68000-ericsson
-               os=-ose
-               ;;
-       os68k)
-               basic_machine=m68k-none
-               os=-os68k
-               ;;
-       pa-hitachi)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       paragon)
-               basic_machine=i860-intel
-               os=-osf
-               ;;
-       parisc)
-               basic_machine=hppa-unknown
-               os=-linux
-               ;;
-       parisc-*)
-               basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               os=-linux
-               ;;
-       pbd)
-               basic_machine=sparc-tti
-               ;;
-       pbb)
-               basic_machine=m68k-tti
-               ;;
-       pc532 | pc532-*)
-               basic_machine=ns32k-pc532
-               ;;
-       pc98)
-               basic_machine=i386-pc
-               ;;
-       pc98-*)
-               basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       pentium | p5 | k5 | k6 | nexgen | viac3)
-               basic_machine=i586-pc
-               ;;
-       pentiumpro | p6 | 6x86 | athlon | athlon_*)
-               basic_machine=i686-pc
-               ;;
-       pentiumii | pentium2 | pentiumiii | pentium3)
-               basic_machine=i686-pc
-               ;;
-       pentium4)
-               basic_machine=i786-pc
-               ;;
-       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-               basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       pentiumpro-* | p6-* | 6x86-* | athlon-*)
-               basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-               basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       pentium4-*)
-               basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       pn)
-               basic_machine=pn-gould
-               ;;
-       power)  basic_machine=power-ibm
-               ;;
-       ppc | ppcbe)    basic_machine=powerpc-unknown
-               ;;
-       ppc-* | ppcbe-*)
-               basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       ppcle | powerpclittle)
-               basic_machine=powerpcle-unknown
-               ;;
-       ppcle-* | powerpclittle-*)
-               basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       ppc64)  basic_machine=powerpc64-unknown
-               ;;
-       ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       ppc64le | powerpc64little)
-               basic_machine=powerpc64le-unknown
-               ;;
-       ppc64le-* | powerpc64little-*)
-               basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       ps2)
-               basic_machine=i386-ibm
-               ;;
-       pw32)
-               basic_machine=i586-unknown
-               os=-pw32
-               ;;
-       rdos | rdos64)
-               basic_machine=x86_64-pc
-               os=-rdos
-               ;;
-       rdos32)
-               basic_machine=i386-pc
-               os=-rdos
-               ;;
-       rom68k)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       rm[46]00)
-               basic_machine=mips-siemens
-               ;;
-       rtpc | rtpc-*)
-               basic_machine=romp-ibm
-               ;;
-       s390 | s390-*)
-               basic_machine=s390-ibm
-               ;;
-       s390x | s390x-*)
-               basic_machine=s390x-ibm
-               ;;
-       sa29200)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       sb1)
-               basic_machine=mipsisa64sb1-unknown
-               ;;
-       sb1el)
-               basic_machine=mipsisa64sb1el-unknown
-               ;;
-       sde)
-               basic_machine=mipsisa32-sde
-               os=-elf
-               ;;
-       sei)
-               basic_machine=mips-sei
-               os=-seiux
-               ;;
-       sequent)
-               basic_machine=i386-sequent
-               ;;
-       sh5el)
-               basic_machine=sh5le-unknown
-               ;;
-       simso-wrs)
-               basic_machine=sparclite-wrs
-               os=-vxworks
-               ;;
-       sps7)
-               basic_machine=m68k-bull
-               os=-sysv2
-               ;;
-       spur)
-               basic_machine=spur-unknown
-               ;;
-       st2000)
-               basic_machine=m68k-tandem
-               ;;
-       stratus)
-               basic_machine=i860-stratus
-               os=-sysv4
-               ;;
-       strongarm-* | thumb-*)
-               basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
-               ;;
-       sun2)
-               basic_machine=m68000-sun
-               ;;
-       sun2os3)
-               basic_machine=m68000-sun
-               os=-sunos3
-               ;;
-       sun2os4)
-               basic_machine=m68000-sun
-               os=-sunos4
-               ;;
-       sun3os3)
-               basic_machine=m68k-sun
-               os=-sunos3
-               ;;
-       sun3os4)
-               basic_machine=m68k-sun
-               os=-sunos4
-               ;;
-       sun4os3)
-               basic_machine=sparc-sun
-               os=-sunos3
-               ;;
-       sun4os4)
-               basic_machine=sparc-sun
-               os=-sunos4
-               ;;
-       sun4sol2)
-               basic_machine=sparc-sun
-               os=-solaris2
-               ;;
-       sun3 | sun3-*)
-               basic_machine=m68k-sun
-               ;;
-       sun4)
-               basic_machine=sparc-sun
-               ;;
-       sun386 | sun386i | roadrunner)
-               basic_machine=i386-sun
-               ;;
-       sv1)
-               basic_machine=sv1-cray
-               os=-unicos
-               ;;
-       symmetry)
-               basic_machine=i386-sequent
-               os=-dynix
-               ;;
-       t3e)
-               basic_machine=alphaev5-cray
-               os=-unicos
-               ;;
-       t90)
-               basic_machine=t90-cray
-               os=-unicos
-               ;;
-       tile*)
-               basic_machine=$basic_machine-unknown
-               os=-linux-gnu
-               ;;
-       tx39)
-               basic_machine=mipstx39-unknown
-               ;;
-       tx39el)
-               basic_machine=mipstx39el-unknown
-               ;;
-       toad1)
-               basic_machine=pdp10-xkl
-               os=-tops20
-               ;;
-       tower | tower-32)
-               basic_machine=m68k-ncr
-               ;;
-       tpf)
-               basic_machine=s390x-ibm
-               os=-tpf
-               ;;
-       udi29k)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       ultra3)
-               basic_machine=a29k-nyu
-               os=-sym1
-               ;;
-       v810 | necv810)
-               basic_machine=v810-nec
-               os=-none
-               ;;
-       vaxv)
-               basic_machine=vax-dec
-               os=-sysv
-               ;;
-       vms)
-               basic_machine=vax-dec
-               os=-vms
-               ;;
-       vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
-       vxworks960)
-               basic_machine=i960-wrs
-               os=-vxworks
-               ;;
-       vxworks68)
-               basic_machine=m68k-wrs
-               os=-vxworks
-               ;;
-       vxworks29k)
-               basic_machine=a29k-wrs
-               os=-vxworks
-               ;;
-       w65*)
-               basic_machine=w65-wdc
-               os=-none
-               ;;
-       w89k-*)
-               basic_machine=hppa1.1-winbond
-               os=-proelf
-               ;;
-       x64)
-               basic_machine=x86_64-pc
-               ;;
-       xbox)
-               basic_machine=i686-pc
-               os=-mingw32
-               ;;
-       xps | xps100)
-               basic_machine=xps100-honeywell
-               ;;
-       xscale-* | xscalee[bl]-*)
-               basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
-               ;;
-       ymp)
-               basic_machine=ymp-cray
-               os=-unicos
-               ;;
-       none)
-               basic_machine=none-none
-               os=-none
-               ;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-       w89k)
-               basic_machine=hppa1.1-winbond
-               ;;
-       op50n)
-               basic_machine=hppa1.1-oki
-               ;;
-       op60c)
-               basic_machine=hppa1.1-oki
-               ;;
-       romp)
-               basic_machine=romp-ibm
-               ;;
-       mmix)
-               basic_machine=mmix-knuth
-               ;;
-       rs6000)
-               basic_machine=rs6000-ibm
-               ;;
-       vax)
-               basic_machine=vax-dec
-               ;;
-       pdp11)
-               basic_machine=pdp11-dec
-               ;;
-       we32k)
-               basic_machine=we32k-att
-               ;;
-       sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
-               basic_machine=sh-unknown
-               ;;
-       cydra)
-               basic_machine=cydra-cydrome
-               ;;
-       orion)
-               basic_machine=orion-highlevel
-               ;;
-       orion105)
-               basic_machine=clipper-highlevel
-               ;;
-       mac | mpw | mac-mpw)
-               basic_machine=m68k-apple
-               ;;
-       pmac | pmac-mpw)
-               basic_machine=powerpc-apple
-               ;;
-       *-unknown)
-               # Make sure to match an already-canonicalized machine name.
-               ;;
-       *)
-               echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-       *-digital*)
-               basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
-               ;;
-       *-commodore*)
-               basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
-               ;;
-       *)
-               ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-       # First match some system type aliases that might get confused
-       # with valid system types.
-       # -solaris* is a basic system type, with this one exception.
-       -auroraux)
-               os=-auroraux
-               ;;
-       -solaris1 | -solaris1.*)
-               os=`echo $os | sed -e 's|solaris1|sunos4|'`
-               ;;
-       -solaris)
-               os=-solaris2
-               ;;
-       -unixware*)
-               os=-sysv4.2uw
-               ;;
-       -gnu/linux*)
-               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-               ;;
-       # es1800 is here to avoid being matched by es* (a different OS)
-       -es1800*)
-               os=-ose
-               ;;
-       # Now accept the basic system types.
-       # The portable systems comes first.
-       # Each alternative MUST end in a * to match a version number.
-       # -sysv* is not here because it comes later, after sysvr4.
-       -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* | -plan9* \
-             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* | -aros* | -cloudabi* | -sortix* \
-             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
-             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
-             | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
-             | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-             | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
-             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
-             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-             | -morphos* | -superux* | -rtmk* | -windiss* \
-             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
-             | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
-             | -midnightbsd*)
-       # Remember, each alternative MUST END IN *, to match a version number.
-               ;;
-       -qnx*)
-               case $basic_machine in
-                   x86-* | i*86-*)
-                       ;;
-                   *)
-                       os=-nto$os
-                       ;;
-               esac
-               ;;
-       -nto-qnx*)
-               ;;
-       -nto*)
-               os=`echo $os | sed -e 's|nto|nto-qnx|'`
-               ;;
-       -sim | -xray | -os68k* | -v88r* \
-             | -windows* | -osx | -abug | -netware* | -os9* \
-             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-               ;;
-       -mac*)
-               os=`echo "$os" | sed -e 's|mac|macos|'`
-               ;;
-       -linux-dietlibc)
-               os=-linux-dietlibc
-               ;;
-       -linux*)
-               os=`echo $os | sed -e 's|linux|linux-gnu|'`
-               ;;
-       -sunos5*)
-               os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
-               ;;
-       -sunos6*)
-               os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
-               ;;
-       -opened*)
-               os=-openedition
-               ;;
-       -os400*)
-               os=-os400
-               ;;
-       -wince*)
-               os=-wince
-               ;;
-       -utek*)
-               os=-bsd
-               ;;
-       -dynix*)
-               os=-bsd
-               ;;
-       -acis*)
-               os=-aos
-               ;;
-       -atheos*)
-               os=-atheos
-               ;;
-       -syllable*)
-               os=-syllable
-               ;;
-       -386bsd)
-               os=-bsd
-               ;;
-       -ctix* | -uts*)
-               os=-sysv
-               ;;
-       -nova*)
-               os=-rtmk-nova
-               ;;
-       -ns2)
-               os=-nextstep2
-               ;;
-       -nsk*)
-               os=-nsk
-               ;;
-       # Preserve the version number of sinix5.
-       -sinix5.*)
-               os=`echo $os | sed -e 's|sinix|sysv|'`
-               ;;
-       -sinix*)
-               os=-sysv4
-               ;;
-       -tpf*)
-               os=-tpf
-               ;;
-       -triton*)
-               os=-sysv3
-               ;;
-       -oss*)
-               os=-sysv3
-               ;;
-       -svr4*)
-               os=-sysv4
-               ;;
-       -svr3)
-               os=-sysv3
-               ;;
-       -sysvr4)
-               os=-sysv4
-               ;;
-       # This must come after -sysvr4.
-       -sysv*)
-               ;;
-       -ose*)
-               os=-ose
-               ;;
-       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-               os=-mint
-               ;;
-       -zvmoe)
-               os=-zvmoe
-               ;;
-       -dicos*)
-               os=-dicos
-               ;;
-       -pikeos*)
-               # Until real need of OS specific support for
-               # particular features comes up, bare metal
-               # configurations are quite functional.
-               case $basic_machine in
-                   arm*)
-                       os=-eabi
-                       ;;
-                   *)
-                       os=-elf
-                       ;;
-               esac
-               ;;
-       -nacl*)
-               ;;
-       -ios)
-               ;;
-       -none)
-               ;;
-       *)
-               # Get rid of the `-' at the beginning of $os.
-               os=`echo $os | sed 's/[^-]*-//'`
-               echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-       score-*)
-               os=-elf
-               ;;
-       spu-*)
-               os=-elf
-               ;;
-       *-acorn)
-               os=-riscix1.2
-               ;;
-       arm*-rebel)
-               os=-linux
-               ;;
-       arm*-semi)
-               os=-aout
-               ;;
-       c4x-* | tic4x-*)
-               os=-coff
-               ;;
-       c8051-*)
-               os=-elf
-               ;;
-       hexagon-*)
-               os=-elf
-               ;;
-       tic54x-*)
-               os=-coff
-               ;;
-       tic55x-*)
-               os=-coff
-               ;;
-       tic6x-*)
-               os=-coff
-               ;;
-       # This must come before the *-dec entry.
-       pdp10-*)
-               os=-tops20
-               ;;
-       pdp11-*)
-               os=-none
-               ;;
-       *-dec | vax-*)
-               os=-ultrix4.2
-               ;;
-       m68*-apollo)
-               os=-domain
-               ;;
-       i386-sun)
-               os=-sunos4.0.2
-               ;;
-       m68000-sun)
-               os=-sunos3
-               ;;
-       m68*-cisco)
-               os=-aout
-               ;;
-       mep-*)
-               os=-elf
-               ;;
-       mips*-cisco)
-               os=-elf
-               ;;
-       mips*-*)
-               os=-elf
-               ;;
-       or32-*)
-               os=-coff
-               ;;
-       *-tti)  # must be before sparc entry or we get the wrong os.
-               os=-sysv3
-               ;;
-       sparc-* | *-sun)
-               os=-sunos4.1.1
-               ;;
-       pru-*)
-               os=-elf
-               ;;
-       *-be)
-               os=-beos
-               ;;
-       *-ibm)
-               os=-aix
-               ;;
-       *-knuth)
-               os=-mmixware
-               ;;
-       *-wec)
-               os=-proelf
-               ;;
-       *-winbond)
-               os=-proelf
-               ;;
-       *-oki)
-               os=-proelf
-               ;;
-       *-hp)
-               os=-hpux
-               ;;
-       *-hitachi)
-               os=-hiux
-               ;;
-       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-               os=-sysv
-               ;;
-       *-cbm)
-               os=-amigaos
-               ;;
-       *-dg)
-               os=-dgux
-               ;;
-       *-dolphin)
-               os=-sysv3
-               ;;
-       m68k-ccur)
-               os=-rtu
-               ;;
-       m88k-omron*)
-               os=-luna
-               ;;
-       *-next)
-               os=-nextstep
-               ;;
-       *-sequent)
-               os=-ptx
-               ;;
-       *-crds)
-               os=-unos
-               ;;
-       *-ns)
-               os=-genix
-               ;;
-       i370-*)
-               os=-mvs
-               ;;
-       *-gould)
-               os=-sysv
-               ;;
-       *-highlevel)
-               os=-bsd
-               ;;
-       *-encore)
-               os=-bsd
-               ;;
-       *-sgi)
-               os=-irix
-               ;;
-       *-siemens)
-               os=-sysv4
-               ;;
-       *-masscomp)
-               os=-rtu
-               ;;
-       f30[01]-fujitsu | f700-fujitsu)
-               os=-uxpv
-               ;;
-       *-rom68k)
-               os=-coff
-               ;;
-       *-*bug)
-               os=-coff
-               ;;
-       *-apple)
-               os=-macos
-               ;;
-       *-atari*)
-               os=-mint
-               ;;
-       *)
-               os=-none
-               ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-       *-unknown)
-               case $os in
-                       -riscix*)
-                               vendor=acorn
-                               ;;
-                       -sunos*)
-                               vendor=sun
-                               ;;
-                       -cnk*|-aix*)
-                               vendor=ibm
-                               ;;
-                       -beos*)
-                               vendor=be
-                               ;;
-                       -hpux*)
-                               vendor=hp
-                               ;;
-                       -mpeix*)
-                               vendor=hp
-                               ;;
-                       -hiux*)
-                               vendor=hitachi
-                               ;;
-                       -unos*)
-                               vendor=crds
-                               ;;
-                       -dgux*)
-                               vendor=dg
-                               ;;
-                       -luna*)
-                               vendor=omron
-                               ;;
-                       -genix*)
-                               vendor=ns
-                               ;;
-                       -mvs* | -opened*)
-                               vendor=ibm
-                               ;;
-                       -os400*)
-                               vendor=ibm
-                               ;;
-                       -ptx*)
-                               vendor=sequent
-                               ;;
-                       -tpf*)
-                               vendor=ibm
-                               ;;
-                       -vxsim* | -vxworks* | -windiss*)
-                               vendor=wrs
-                               ;;
-                       -aux*)
-                               vendor=apple
-                               ;;
-                       -hms*)
-                               vendor=hitachi
-                               ;;
-                       -mpw* | -macos*)
-                               vendor=apple
-                               ;;
-                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-                               vendor=atari
-                               ;;
-                       -vos*)
-                               vendor=stratus
-                               ;;
-               esac
-               basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
-               ;;
-esac
-
-echo "$basic_machine$os"
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-functions 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/configure b/configure
deleted file mode 100755 (executable)
index 56b8805..0000000
--- a/configure
+++ /dev/null
@@ -1,18715 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for pygobject 3.28.3.
-#
-# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=pygobject>.
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
-  # into an infinite loop, continuously re-executing ourselves.
-  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-    _as_can_reexec=no; export _as_can_reexec;
-    # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
-  fi
-  # We don't want this to propagate to other subprocesses.
-          { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  export CONFIG_SHELL
-             # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://bugzilla.gnome.org/enter_bug.cgi?product=pygobject
-$0: about your system, including any error possibly output
-$0: before this message. Then install a modern shell, or
-$0: manually run the script under such a shell if you do
-$0: have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-  # already done that, so ensure we don't try to do so again and fall
-  # in an infinite loop.  This has already happened in practice.
-  _as_can_reexec=no; export _as_can_reexec
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='pygobject'
-PACKAGE_TARNAME='pygobject'
-PACKAGE_VERSION='3.28.3'
-PACKAGE_STRING='pygobject 3.28.3'
-PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=pygobject'
-PACKAGE_URL='https://wiki.gnome.org/Projects/PyGObject/'
-
-ac_unique_file="gi/gimodule.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-CODE_COVERAGE_RULES
-CODE_COVERAGE_LDFLAGS
-CODE_COVERAGE_LIBS
-CODE_COVERAGE_CXXFLAGS
-CODE_COVERAGE_CFLAGS
-CODE_COVERAGE_CPPFLAGS
-GENHTML
-LCOV
-GCOV
-CODE_COVERAGE_ENABLED
-CODE_COVERAGE_ENABLED_FALSE
-CODE_COVERAGE_ENABLED_TRUE
-WARN_SCANNERFLAGS
-WARN_LDFLAGS
-WARN_CFLAGS
-WITH_COMMON_FALSE
-WITH_COMMON_TRUE
-ENABLE_CAIRO_FALSE
-ENABLE_CAIRO_TRUE
-PYCAIRO_LIBS
-PYCAIRO_CFLAGS
-CAIRO_LIBS
-CAIRO_CFLAGS
-GI_DATADIR
-HAVE_INTROSPECTION_FALSE
-HAVE_INTROSPECTION_TRUE
-INTROSPECTION_MAKEFILE
-INTROSPECTION_LIBS
-INTROSPECTION_CFLAGS
-INTROSPECTION_TYPELIBDIR
-INTROSPECTION_GIRDIR
-INTROSPECTION_GENERATE
-INTROSPECTION_COMPILER
-INTROSPECTION_SCANNER
-GI_LIBS
-GI_CFLAGS
-GIO_LIBS
-GIO_CFLAGS
-FFI_LIBS
-FFI_CFLAGS
-PYTHON_VALGRIND_SUPP
-GLIB_COMPILE_RESOURCES
-GLIB_MKENUMS
-GOBJECT_QUERY
-GLIB_GENMARSHAL
-GLIB_LIBS
-GLIB_CFLAGS
-PKG_CONFIG_LIBDIR
-PKG_CONFIG_PATH
-PKG_CONFIG
-PYTHON_LIB_LOC
-PYTHON_LIBS
-PYTHON_INCLUDES
-PYTHON_SO
-pkgpyexecdir
-pyexecdir
-pkgpythondir
-pythondir
-PYTHON_PLATFORM
-PYTHON_EXEC_PREFIX
-PYTHON_PREFIX
-PYTHON_VERSION
-PYTHON
-CPP
-LT_SYS_LIBRARY_PATH
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-LIBTOOL
-OBJDUMP
-DLLTOOL
-AS
-OS_EXT
-OS_WIN32_FALSE
-OS_WIN32_TRUE
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
-PYGOBJECT_MICRO_VERSION
-PYGOBJECT_MINOR_VERSION
-PYGOBJECT_MAJOR_VERSION
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-runstatedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_silent_rules
-enable_static
-enable_shared
-with_pic
-enable_fast_install
-with_aix_soname
-enable_dependency_tracking
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-with_python
-enable_glibtest
-enable_cairo
-enable_introspection
-with_common
-enable_compile_warnings
-enable_Werror
-with_gcov
-enable_code_coverage
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-LT_SYS_LIBRARY_PATH
-CPP
-PYTHON
-PKG_CONFIG
-PKG_CONFIG_PATH
-PKG_CONFIG_LIBDIR
-FFI_CFLAGS
-FFI_LIBS
-GIO_CFLAGS
-GIO_LIBS
-GI_CFLAGS
-GI_LIBS
-CAIRO_CFLAGS
-CAIRO_LIBS
-PYCAIRO_CFLAGS
-PYCAIRO_LIBS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -runstatedir | --runstatedir | --runstatedi | --runstated \
-  | --runstate | --runstat | --runsta | --runst | --runs \
-  | --run | --ru | --r)
-    ac_prev=runstatedir ;;
-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
-  | --run=* | --ru=* | --r=*)
-    runstatedir=$ac_optarg ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir runstatedir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-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 pygobject 3.28.3 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/pygobject]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of pygobject 3.28.3:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-silent-rules   less verbose build output (undo: "make V=1")
-  --disable-silent-rules  verbose build output (undo: "make V=0")
-  --enable-static[=PKGS]  build static libraries [default=no]
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --enable-dependency-tracking
-                          do not reject slow dependency extractors
-  --disable-dependency-tracking
-                          speeds up one-time build
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --disable-glibtest      do not try to compile and run a test GLIB program
-  --enable-cairo          Enable Cairo bindings using introspection
-                          information
-  --enable-introspection=[no/auto/yes]
-                          Enable introspection for this build
-  --enable-compile-warnings=[no/yes/error]
-                          Enable compiler warnings and errors
-  --disable-Werror        Unconditionally make all compiler warnings non-fatal
-  --enable-code-coverage  Whether to enable code coverage support
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-aix-soname=aix|svr4|both
-                          shared library versioning (aka "SONAME") variant to
-                          provide on AIX, [default=aix].
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
-                          compiler's sysroot if not specified).
-  --with-python=PATH      Path to Python interpreter; searches $PATH if only a
-                          program name is given; if not given, searches for a
-                          few standard names such as "python3" or "python2"
-  --without-common        For package maintainers: do not install Python
-                          version independent files
-  --with-gcov=GCOV        use given GCOV for coverage (GCOV=gcov).
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  LT_SYS_LIBRARY_PATH
-              User-defined run-time library search path.
-  CPP         C preprocessor
-  PYTHON      the Python interpreter
-  PKG_CONFIG  path to pkg-config utility
-  PKG_CONFIG_PATH
-              directories to add to pkg-config's search path
-  PKG_CONFIG_LIBDIR
-              path overriding pkg-config's built-in search path
-  FFI_CFLAGS  C compiler flags for FFI, overriding pkg-config
-  FFI_LIBS    linker flags for FFI, overriding pkg-config
-  GIO_CFLAGS  C compiler flags for GIO, overriding pkg-config
-  GIO_LIBS    linker flags for GIO, overriding pkg-config
-  GI_CFLAGS   C compiler flags for GI, overriding pkg-config
-  GI_LIBS     linker flags for GI, overriding pkg-config
-  CAIRO_CFLAGS
-              C compiler flags for CAIRO, overriding pkg-config
-  CAIRO_LIBS  linker flags for CAIRO, overriding pkg-config
-  PYCAIRO_CFLAGS
-              C compiler flags for PYCAIRO, overriding pkg-config
-  PYCAIRO_LIBS
-              linker flags for PYCAIRO, overriding pkg-config
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=pygobject>.
-pygobject home page: <https://wiki.gnome.org/Projects/PyGObject/>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-pygobject configure 3.28.3
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-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 pygobject $as_me 3.28.3, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-        # $is_release = ($minor_version is even)
-        minor_version=`echo "$PACKAGE_VERSION" | sed 's/[^.][^.]*.\([^.][^.]*\).*/\1/'`
-        if test "$(( $minor_version % 2 ))" -ne 0; then :
-  ax_is_release=no
-else
-  ax_is_release=yes
-fi
-
-
-
-
-
-
-$as_echo "#define PYGOBJECT_MAJOR_VERSION 3" >>confdefs.h
-
-PYGOBJECT_MAJOR_VERSION=3
-
-
-$as_echo "#define PYGOBJECT_MINOR_VERSION 28" >>confdefs.h
-
-PYGOBJECT_MINOR_VERSION=28
-
-
-$as_echo "#define PYGOBJECT_MICRO_VERSION 3" >>confdefs.h
-
-PYGOBJECT_MICRO_VERSION=3
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
-  enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in # (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=0;;
-esac
-am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if $as_echo 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-       @$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
-    AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
-
-am__api_version='1.15'
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   am_has_slept=no
-   for am_try in 1 2; do
-     echo "timestamp, slept: $am_has_slept" > conftest.file
-     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-     if test "$*" = "X"; then
-       # -L didn't work.
-       set X `ls -t "$srcdir/configure" conftest.file`
-     fi
-     if test "$*" != "X $srcdir/configure conftest.file" \
-       && test "$*" != "X conftest.file $srcdir/configure"; then
-
-       # If neither matched, then we have a broken ls.  This can happen
-       # if, for instance, CONFIG_SHELL is bash and it inherits a
-       # broken ls alias from the environment.  This has actually
-       # happened.  Such a system could not be considered "sane".
-       as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-  alias in your environment" "$LINENO" 5
-     fi
-     if test "$2" = conftest.file || test $am_try -eq 2; then
-       break
-     fi
-     # Just in case.
-     sleep 1
-     am_has_slept=yes
-   done
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
-  ( sleep 1 ) &
-  am_sleep_pid=$!
-fi
-
-rm -f conftest.file
-
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --is-lightweight"; then
-  am_missing_run="$MISSING "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip".  However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='pygobject'
- VERSION='3.28.3'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# For better backward compatibility.  To be removed once Automake 1.9.x
-# dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
-mkdir_p='$(MKDIR_P)'
-
-# We need awk for the "check" target (and possibly the TAP driver).  The
-# system "awk" is bad on some platforms.
-# Always define AMTAR for backward compatibility.  Yes, it's still used
-# in the wild :-(  We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar  pax cpio none'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes.  So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
-  cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present.  This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell bug-automake@gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message.  This
-can help us improve future automake versions.
-
-END
-  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
-    echo 'Configuration will proceed anyway, since you have set the' >&2
-    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
-    echo >&2
-  else
-    cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
-    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
-  fi
-fi
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for build time linking with Python (Win32)" >&5
-$as_echo_n "checking for build time linking with Python (Win32)... " >&6; }
-case "$host" in
-  *-*-mingw*|*-*-cygwin*)
-    os_win32=yes
-    link_python_libs=yes
-    OS_EXT=dll
-    ;;
-  *-*-darwin*)
-    os_win32=no
-    link_python_libs=no
-    OS_EXT=dylib
-    ;;
-  *)
-    os_win32=no
-    link_python_libs=no
-    OS_EXT=so
-    ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $link_python_libs" >&5
-$as_echo "$link_python_libs" >&6; }
- if test "$os_win32" = "yes"; then
-  OS_WIN32_TRUE=
-  OS_WIN32_FALSE='#'
-else
-  OS_WIN32_TRUE='#'
-  OS_WIN32_FALSE=
-fi
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define OS_EXT "$OS_EXT"
-_ACEOF
-
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4.6'
-macro_revision='2.4.6'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain=$ac_aux_dir/ltmain.sh
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case $ECHO in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-  am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
-if ${am_cv_prog_cc_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-  # Make sure it works both with $CC and with simple cc.
-  # Following AC_PROG_CC_C_O, we do the test twice because some
-  # compilers refuse to overwrite an existing .o file with -o,
-  # though they will create one.
-  am_cv_prog_cc_c_o=yes
-  for am_i in 1 2; do
-    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
-   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } \
-         && test -f conftest2.$ac_objext; then
-      : OK
-    else
-      am_cv_prog_cc_c_o=no
-      break
-    fi
-  done
-  rm -f core conftest*
-  unset am_i
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
-$as_echo "$am_cv_prog_cc_c_o" >&6; }
-if test "$am_cv_prog_cc_c_o" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named 'D' -- because '-MD' means "put the output
-  # in D".
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
-      # Solaris 10 /bin/sh.
-      echo '/* dummy */' > sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with '-c' and '-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle '-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs.
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # After this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested.
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok '-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_FGREP" || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test yes = "$GCC"; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return, which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD=$ac_prog
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test yes = "$with_gnu_ld"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS=$lt_save_ifs
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD=$ac_dir/$ac_prog
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test no != "$with_gnu_ld" && break
-       ;;
-      *)
-       test yes != "$with_gnu_ld" && break
-       ;;
-      esac
-    fi
-  done
-  IFS=$lt_save_ifs
-else
-  lt_cv_path_LD=$LD # Let the user override the test with a path.
-fi
-fi
-
-LD=$lt_cv_path_LD
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM=$NM
-else
-  lt_nm_to_check=${ac_tool_prefix}nm
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS=$lt_save_ifs
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm=$ac_dir/$lt_tmp_nm
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
-       case $build_os in
-       mingw*) lt_bad_file=conftest.nm/nofile ;;
-       *) lt_bad_file=/dev/null ;;
-       esac
-       case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
-       *$lt_bad_file* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break 2
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break 2
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS=$lt_save_ifs
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test no != "$lt_cv_path_NM"; then
-  NM=$lt_cv_path_NM
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols -headers"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test : != "$DUMPBIN"; then
-    NM=$DUMPBIN
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring=ABCD
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len" && \
-       test undefined != "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test 17 != "$i" # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n "$lt_cv_sys_max_cmd_len"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test yes != "$GCC"; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test yes = "$GCC"; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# 'unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# that responds to the $file_magic_cmd with a given extended regex.
-# If you have 'file' or equivalent on your system and you're not sure
-# whether 'pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd* | netbsdelf*-gnu)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd* | bitrig*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-os2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh;
-  # decide which one to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd=$ECHO
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test 0 -eq "$ac_status"; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test 0 -ne "$ac_status"; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test no = "$lt_cv_ar_at_file"; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  bitrig* | openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test ia64 = "$host_cpu"; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  # Gets list of data symbols to import.
-  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
-  # Adjust the below global symbol transforms to fixup imported variables.
-  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
-  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
-  lt_c_name_lib_hook="\
-  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
-  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
-else
-  # Disable hooks by default.
-  lt_cv_sys_global_symbol_to_import=
-  lt_cdecl_hook=
-  lt_c_name_hook=
-  lt_c_name_lib_hook=
-fi
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n"\
-$lt_cdecl_hook\
-" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
-$lt_c_name_hook\
-" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
-
-# Transform an extracted symbol line into symbol name with lib prefix and
-# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
-$lt_c_name_lib_hook\
-" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function,
-    # D for any global variable and I for any imported variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
-"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
-"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
-"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
-"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
-/* DATA imports from DLLs on WIN32 can't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined __osf__
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS=conftstm.$ac_objext
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test yes = "$pipe_works"; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case $with_sysroot in #(
- yes)
-   if test yes = "$GCC"; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
-$as_echo "$with_sysroot" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
-$as_echo_n "checking for a working dd... " >&6; }
-if ${ac_cv_path_lt_DD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-: ${lt_DD:=$DD}
-if test -z "$lt_DD"; then
-  ac_path_lt_DD_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in dd; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_lt_DD" || continue
-if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
-  cmp -s conftest.i conftest.out \
-  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
-fi
-      $ac_path_lt_DD_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_lt_DD"; then
-    :
-  fi
-else
-  ac_cv_path_lt_DD=$lt_DD
-fi
-
-rm -f conftest.i conftest2.i conftest.out
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
-$as_echo "$ac_cv_path_lt_DD" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
-$as_echo_n "checking how to truncate binary pipes... " >&6; }
-if ${lt_cv_truncate_bin+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-lt_cv_truncate_bin=
-if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
-  cmp -s conftest.i conftest.out \
-  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
-fi
-rm -f conftest.i conftest2.i conftest.out
-test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
-$as_echo "$lt_cv_truncate_bin" >&6; }
-
-
-
-
-
-
-
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-func_cc_basename ()
-{
-    for cc_temp in $*""; do
-      case $cc_temp in
-        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-        \-*) ;;
-        *) break;;
-      esac
-    done
-    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-}
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test no = "$enable_libtool_lock" || enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out what ABI is being produced by ac_compile, and set mode
-  # options accordingly.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE=32
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE=64
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test yes = "$lt_cv_prog_gnu_ld"; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-mips64*-*linux*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    emul=elf
-    case `/usr/bin/file conftest.$ac_objext` in
-      *32-bit*)
-       emul="${emul}32"
-       ;;
-      *64-bit*)
-       emul="${emul}64"
-       ;;
-    esac
-    case `/usr/bin/file conftest.$ac_objext` in
-      *MSB*)
-       emul="${emul}btsmip"
-       ;;
-      *LSB*)
-       emul="${emul}ltsmip"
-       ;;
-    esac
-    case `/usr/bin/file conftest.$ac_objext` in
-      *N32*)
-       emul="${emul}n32"
-       ;;
-    esac
-    LD="${LD-ld} -m $emul"
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.  Note that the listed cases only cover the
-  # situations where additional linker options are needed (such as when
-  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
-  # vice versa); the common cases where no linker options are needed do
-  # not appear in the list.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           case `/usr/bin/file conftest.o` in
-             *x86-64*)
-               LD="${LD-ld} -m elf32_x86_64"
-               ;;
-             *)
-               LD="${LD-ld} -m elf_i386"
-               ;;
-           esac
-           ;;
-         powerpc64le-*linux*)
-           LD="${LD-ld} -m elf32lppclinux"
-           ;;
-         powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         powerpcle-*linux*)
-           LD="${LD-ld} -m elf64lppc"
-           ;;
-         powerpc-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS=$CFLAGS
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test yes != "$lt_cv_cc_needs_belf"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS=$SAVE_CFLAGS
-  fi
-  ;;
-*-*solaris*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*|x86_64-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD=${LD-ld}_sol2
-        fi
-        ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks=$enable_libtool_lock
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test yes != "$lt_cv_path_mainfest_tool"; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "$LT_MULTI_MODULE"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&5
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS=$save_LDFLAGS
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&5
-      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
-       10.[012][,.]*)
-         _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test yes = "$lt_cv_apple_cc_single_mod"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test yes = "$lt_cv_ld_exported_symbols_list"; then
-      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
-    fi
-    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-# func_munge_path_list VARIABLE PATH
-# -----------------------------------
-# VARIABLE is name of variable containing _space_ separated list of
-# directories to be munged by the contents of PATH, which is string
-# having a format:
-# "DIR[:DIR]:"
-#       string "DIR[ DIR]" will be prepended to VARIABLE
-# ":DIR[:DIR]"
-#       string "DIR[ DIR]" will be appended to VARIABLE
-# "DIRP[:DIRP]::[DIRA:]DIRA"
-#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
-#       "DIRA[ DIRA]" will be appended to VARIABLE
-# "DIR[:DIR]"
-#       VARIABLE will be replaced by "DIR[ DIR]"
-func_munge_path_list ()
-{
-    case x$2 in
-    x)
-        ;;
-    *:)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
-        ;;
-    x:*)
-        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    *::*)
-        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
-        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
-        ;;
-    *)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    esac
-}
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-enable_dlopen=yes
-enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AS"; then
-  ac_cv_prog_AS="$AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AS="${ac_tool_prefix}as"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
-$as_echo "$AS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AS"; then
-  ac_ct_AS=$AS
-  # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AS"; then
-  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_AS="as"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
-$as_echo "$ac_ct_AS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_AS" = x; then
-    AS="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AS=$ac_ct_AS
-  fi
-else
-  AS="$ac_cv_prog_AS"
-fi
-
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-  ;;
-esac
-
-test -z "$AS" && AS=as
-
-
-
-
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-# Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for pkg in $enableval; do
-       IFS=$lt_save_ifs
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac
-else
-  enable_static=no
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for pkg in $enableval; do
-       IFS=$lt_save_ifs
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for lt_pkg in $withval; do
-       IFS=$lt_save_ifs
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac
-else
-  pic_mode=default
-fi
-
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for pkg in $enableval; do
-       IFS=$lt_save_ifs
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-  shared_archive_member_spec=
-case $host,$enable_shared in
-power*-*-aix[5-9]*,yes)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
-$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
-
-# Check whether --with-aix-soname was given.
-if test "${with_aix_soname+set}" = set; then :
-  withval=$with_aix_soname; case $withval in
-    aix|svr4|both)
-      ;;
-    *)
-      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
-      ;;
-    esac
-    lt_cv_with_aix_soname=$with_aix_soname
-else
-  if ${lt_cv_with_aix_soname+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_with_aix_soname=aix
-fi
-
-    with_aix_soname=$lt_cv_with_aix_soname
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
-$as_echo "$with_aix_soname" >&6; }
-  if test aix != "$with_aix_soname"; then
-    # For the AIX way of multilib, we name the shared archive member
-    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
-    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
-    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
-    # the AIX toolchain works better with OBJECT_MODE set (default 32).
-    if test 64 = "${OBJECT_MODE-32}"; then
-      shared_archive_member_spec=shr_64
-    else
-      shared_archive_member_spec=shr
-    fi
-  fi
-  ;;
-*)
-  with_aix_soname=aix
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS=$ltmain
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}"; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test set != "${COLLECT_NAMES+set}"; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-old_CC=$CC
-old_CFLAGS=$CFLAGS
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-func_cc_basename $compiler
-cc_basename=$func_cc_basename_result
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD=$MAGIC_CMD
-  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS=$lt_save_ifs
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/${ac_tool_prefix}file"; then
-      lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD=$lt_cv_path_MAGIC_CMD
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS=$lt_save_ifs
-  MAGIC_CMD=$lt_save_MAGIC_CMD
-  ;;
-esac
-fi
-
-MAGIC_CMD=$lt_cv_path_MAGIC_CMD
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD=$MAGIC_CMD
-  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS=$lt_save_ifs
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/file"; then
-      lt_cv_path_MAGIC_CMD=$ac_dir/"file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD=$lt_cv_path_MAGIC_CMD
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS=$lt_save_ifs
-  MAGIC_CMD=$lt_save_MAGIC_CMD
-  ;;
-esac
-fi
-
-MAGIC_CMD=$lt_cv_path_MAGIC_CMD
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC=$CC
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test yes = "$GCC"; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"  ## exclude from sc_useless_quotes_in_assignment
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test yes = "$GCC"; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test ia64 = "$host_cpu"; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the '-m68020' flag to GCC prevents building anything better,
-            # like '-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      case $host_os in
-      os2*)
-       lt_prog_compiler_static='$wl-static'
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test ia64 = "$host_cpu"; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      case $cc_basename in
-      nagfor*)
-        # NAG Fortran compiler
-        lt_prog_compiler_wl='-Wl,-Wl,,'
-        lt_prog_compiler_pic='-PIC'
-        lt_prog_compiler_static='-Bstatic'
-        ;;
-      esac
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      case $host_os in
-      os2*)
-       lt_prog_compiler_static='$wl-static'
-       ;;
-      esac
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='$wl-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-      case $cc_basename in
-      # old Intel for x86_64, which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      tcc*)
-       # Fabrice Bellard et al's Tiny C Compiler
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ F* | *Sun*Fortran*)
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Qoption ld '
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-        *Intel*\ [CF]*Compiler*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fPIC'
-         lt_prog_compiler_static='-static'
-         ;;
-       *Portland\ Group*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fpic'
-         lt_prog_compiler_static='-Bstatic'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms that do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"  ## exclude from sc_useless_quotes_in_assignment
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_pic_works"; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS=$LDFLAGS
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS=$save_LDFLAGS
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_static_works"; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links=nottested
-if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test no = "$hard_links"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ' (' and ')$', so one must not match beginning or
-  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
-  # as well as any symbol that contains 'd'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test yes != "$GCC"; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd* | bitrig*)
-    with_gnu_ld=no
-    ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test yes = "$with_gnu_ld"; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test yes = "$lt_use_gnu_ld_interface"; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='$wl'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-    export_dynamic_flag_spec='$wl--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test ia64 != "$host_cpu"; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='$wl--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file, use it as
-       # is; otherwise, prepend EXPORTS...
-       archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
-          cp $export_symbols $output_objdir/$soname.def;
-        else
-          echo EXPORTS > $output_objdir/$soname.def;
-          cat $export_symbols >> $output_objdir/$soname.def;
-        fi~
-        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      shrext_cmds=.dll
-      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-       $ECHO EXPORTS >> $output_objdir/$libname.def~
-       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-       emximp -o $lib $output_objdir/$libname.def'
-      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-       $ECHO EXPORTS >> $output_objdir/$libname.def~
-       prefix_cmds="$SED"~
-       if test EXPORTS = "`$SED 1q $export_symbols`"; then
-         prefix_cmds="$prefix_cmds -e 1d";
-       fi~
-       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-       emximp -o $lib $output_objdir/$libname.def'
-      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='$wl-rpath,$libdir'
-      export_dynamic_flag_spec='$wl-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test linux-dietlibc = "$host_os"; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test no = "$tmp_diet"
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-        nagfor*)                        # NAGFOR 5.3
-          tmp_sharedflag='-Wl,-shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-
-        if test yes = "$supports_anon_versioning"; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-            echo "local: *; };" >> $output_objdir/$libname.ver~
-            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       tcc*)
-         export_dynamic_flag_spec='-rdynamic'
-         ;;
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test yes = "$supports_anon_versioning"; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-              echo "local: *; };" >> $output_objdir/$libname.ver~
-              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test no = "$ld_shlibs"; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test ia64 = "$host_cpu"; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to GNU nm, but means don't demangle to AIX nm.
-       # Without the "-l" option, or with the "-B" option, AIX nm treats
-       # weak defined symbols like other global defined symbols, whereas
-       # GNU nm marks them as "W".
-       # While the 'weak' keyword is ignored in the Export File, we need
-       # it in the Import File for the 'aix-soname' feature, so we have
-       # to replace the "-B" option with "-P" for AIX nm.
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # have runtime linking enabled, and use it for executables.
-       # For shared libraries, we enable/disable runtime linking
-       # depending on the kind of the shared library created -
-       # when "with_aix_soname,aix_use_runtimelinking" is:
-       # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
-       # "aix,yes"  lib.so          shared, rtl:yes, for executables
-       #            lib.a           static archive
-       # "both,no"  lib.so.V(shr.o) shared, rtl:yes
-       #            lib.a(lib.so.V) shared, rtl:no,  for executables
-       # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
-       #            lib.a(lib.so.V) shared, rtl:no
-       # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
-       #            lib.a           static archive
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
-           # With aix-soname=svr4, we create the lib.so.V shared archives only,
-           # so we don't have lib.a shared libs to link our executables.
-           # We have to force runtime linking in this case.
-           aix_use_runtimelinking=yes
-           LDFLAGS="$LDFLAGS -Wl,-brtl"
-         fi
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='$wl-f,'
-      case $with_aix_soname,$aix_use_runtimelinking in
-      aix,*) ;; # traditional, no import file
-      svr4,* | *,yes) # use import file
-       # The Import File defines what to hardcode.
-       hardcode_direct=no
-       hardcode_direct_absolute=no
-       ;;
-      esac
-
-      if test yes = "$GCC"; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`$CC -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test yes = "$aix_use_runtimelinking"; then
-         shared_flag="$shared_flag "'$wl-G'
-       fi
-       # Need to ensure runtime linking is disabled for the traditional
-       # shared library, or the linker may eventually find shared libraries
-       # /with/ Import File - we do not want to mix them.
-       shared_flag_aix='-shared'
-       shared_flag_svr4='-shared $wl-G'
-      else
-       # not using gcc
-       if test ia64 = "$host_cpu"; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test yes = "$aix_use_runtimelinking"; then
-           shared_flag='$wl-G'
-         else
-           shared_flag='$wl-bM:SRE'
-         fi
-         shared_flag_aix='$wl-bM:SRE'
-         shared_flag_svr4='$wl-G'
-       fi
-      fi
-
-      export_dynamic_flag_spec='$wl-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=/usr/lib:/lib
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
-      else
-       if test ia64 = "$host_cpu"; then
-         hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=/usr/lib:/lib
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' $wl-bernotok'
-         allow_undefined_flag=' $wl-berok'
-         if test yes = "$with_gnu_ld"; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
-         # -brtl affects multiple linker settings, -berok does not and is overridden later
-         compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
-         if test svr4 != "$with_aix_soname"; then
-           # This is similar to how AIX traditionally builds its shared libraries.
-           archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
-         fi
-         if test aix != "$with_aix_soname"; then
-           archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
-         else
-           # used by -dlpreopen to get the symbols
-           archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
-         fi
-         archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=.dll
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
-       archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
-            cp "$export_symbols" "$output_objdir/$soname.def";
-            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
-          else
-            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
-          fi~
-          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-          linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-          lt_tool_outputfile="@TOOL_OUTPUT@"~
-          case $lt_outputfile in
-            *.exe|*.EXE) ;;
-            *)
-              lt_outputfile=$lt_outputfile.exe
-              lt_tool_outputfile=$lt_tool_outputfile.exe
-              ;;
-          esac~
-          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
-            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-            $RM "$lt_outputfile.manifest";
-          fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=.dll
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test yes = "$lt_cv_ld_force_load"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag=$_lt_dar_allow_undefined
-  case $cc_basename in
-     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test yes = "$_lt_dar_can_shared"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
-    archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
-    module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test yes = "$GCC"; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='$wl+b $wl$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='$wl-E'
-      ;;
-
-    hpux10*)
-      if test yes,no = "$GCC,$with_gnu_ld"; then
-       archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test no = "$with_gnu_ld"; then
-       hardcode_libdir_flag_spec='$wl+b $wl$libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='$wl-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test yes,no = "$GCC,$with_gnu_ld"; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS=$LDFLAGS
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS=$save_LDFLAGS
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test yes = "$lt_cv_prog_compiler__b"; then
-    archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test no = "$with_gnu_ld"; then
-       hardcode_libdir_flag_spec='$wl+b $wl$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='$wl-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test yes = "$GCC"; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS=$LDFLAGS
-          LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS=$save_LDFLAGS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test yes = "$lt_cv_irix_exported_symbol"; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
-       fi
-       link_all_deplibs=no
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    linux*)
-      case $cc_basename in
-      tcc*)
-       # Fabrice Bellard et al's Tiny C Compiler
-       ld_shlibs=yes
-       archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-       ;;
-      esac
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd* | bitrig*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='$wl-rpath,$libdir'
-         export_dynamic_flag_spec='$wl-E'
-       else
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         hardcode_libdir_flag_spec='$wl-rpath,$libdir'
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      shrext_cmds=.dll
-      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-       $ECHO EXPORTS >> $output_objdir/$libname.def~
-       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-       emximp -o $lib $output_objdir/$libname.def'
-      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-       $ECHO EXPORTS >> $output_objdir/$libname.def~
-       prefix_cmds="$SED"~
-       if test EXPORTS = "`$SED 1q $export_symbols`"; then
-         prefix_cmds="$prefix_cmds -e 1d";
-       fi~
-       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-       emximp -o $lib $output_objdir/$libname.def'
-      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    osf3*)
-      if test yes = "$GCC"; then
-       allow_undefined_flag=' $wl-expect_unresolved $wl\*'
-       archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test yes = "$GCC"; then
-       allow_undefined_flag=' $wl-expect_unresolved $wl\*'
-       archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-       hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test yes = "$GCC"; then
-       wlarc='$wl'
-       archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='$wl'
-         archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands '-z linker_flag'.  GCC discards it without '$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test yes = "$GCC"; then
-         whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test sequent = "$host_vendor"; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='$wl-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test yes = "$GCC"; then
-       archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We CANNOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='$wl-z,text'
-      allow_undefined_flag='$wl-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='$wl-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='$wl-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test yes = "$GCC"; then
-       archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test sni = "$host_vendor"; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='$wl-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test no = "$ld_shlibs" && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test yes,yes = "$GCC,$enable_shared"; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test yes = "$GCC"; then
-  case $host_os in
-    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
-    *) lt_awk_arg='/^libraries:/' ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
-    *) lt_sed_strip_eq='s|=/|/|g' ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary...
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  # ...but if some path component already ends with the multilib dir we assume
-  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
-  case "$lt_multi_os_dir; $lt_search_path_spec " in
-  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
-    lt_multi_os_dir=
-    ;;
-  esac
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
-    elif test -n "$lt_multi_os_dir"; then
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS = " "; FS = "/|\n";} {
-  lt_foo = "";
-  lt_count = 0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo = "/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=.so
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-
-
-case $host_os in
-aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='$libname$release$shared_ext$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test ia64 = "$host_cpu"; then
-    # AIX 5 supports IA64
-    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line '#! .'.  This would cause the generated library to
-    # depend on '.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # Using Import Files as archive members, it is possible to support
-    # filename-based versioning of shared library archives on AIX. While
-    # this would work for both with and without runtime linking, it will
-    # prevent static linking of such archives. So we do filename-based
-    # shared library versioning with .so extension only, which is used
-    # when both runtime linking and shared linking is enabled.
-    # Unfortunately, runtime linking may impact performance, so we do
-    # not want this to be the default eventually. Also, we use the
-    # versioned .so libs for executables only if there is the -brtl
-    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
-    # To allow for filename-based versioning support, we need to create
-    # libNAME.so.V as an archive file, containing:
-    # *) an Import File, referring to the versioned filename of the
-    #    archive as well as the shared archive member, telling the
-    #    bitwidth (32 or 64) of that shared object, and providing the
-    #    list of exported symbols of that shared object, eventually
-    #    decorated with the 'weak' keyword
-    # *) the shared object with the F_LOADONLY flag set, to really avoid
-    #    it being seen by the linker.
-    # At run time we better use the real file rather than another symlink,
-    # but for link time we create the symlink libNAME.so -> libNAME.so.V
-
-    case $with_aix_soname,$aix_use_runtimelinking in
-    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    aix,yes) # traditional libtool
-      dynamic_linker='AIX unversionable lib.so'
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-      ;;
-    aix,no) # traditional AIX only
-      dynamic_linker='AIX lib.a(lib.so.V)'
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
-      ;;
-    svr4,*) # full svr4 only
-      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,yes) # both, prefer svr4
-      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # unpreferred sharedlib libNAME.a needs extra handling
-      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
-      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,no) # both, prefer aix
-      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
-      library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
-      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
-      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
-      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
-      ;;
-    esac
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='$libname$shared_ext'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=.dll
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \$file`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-    library_names_spec='$libname.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec=$LIB
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \$file`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
-  soname_spec='$libname$release$major$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[23].*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-      soname_spec='$libname$release$shared_ext$major'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2.*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    if test 32 = "$HPUX_IA64_MODE"; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
-    fi
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test yes = "$lt_cv_prog_gnu_ld"; then
-               version_type=linux # correct to gnu/linux during the next big refactor
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='$libname$release$shared_ext$major'
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
-  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-linux*android*)
-  version_type=none # Android doesn't support versioned libraries.
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext'
-  soname_spec='$libname$release$shared_ext'
-  finish_cmds=
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  dynamic_linker='Android linker'
-  # Don't embed -rpath directories since the linker doesn't support them.
-  hardcode_libdir_flag_spec='-L$libdir'
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Ideally, we could use ldconfig to report *all* directores which are
-  # searched for libraries, however this is still not possible.  Aside from not
-  # being certain /sbin/ldconfig is available, command
-  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
-  # even though it is searched at run-time.  Try to do the best guess by
-  # appending ld.so.conf contents (and includes) to the search path.
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd* | bitrig*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec=/usr/lib
-  need_lib_prefix=no
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-    need_version=no
-  else
-    need_version=yes
-  fi
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-os2*)
-  libname_spec='$name'
-  version_type=windows
-  shrext_cmds=.dll
-  need_version=no
-  need_lib_prefix=no
-  # OS/2 can only load a DLL with a base name of 8 characters or less.
-  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
-    v=$($ECHO $release$versuffix | tr -d .-);
-    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
-    $ECHO $n$v`$shared_ext'
-  library_names_spec='${libname}_dll.$libext'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=BEGINLIBPATH
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-  postinstall_cmds='base_file=`basename \$file`~
-    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
-    dldir=$destdir/`dirname \$dlpath`~
-    test -d \$dldir || mkdir -p \$dldir~
-    $install_prog $dir/$dlname \$dldir/$dlname~
-    chmod a+x \$dldir/$dlname~
-    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-    fi'
-  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
-    dlpath=$dir/\$dldll~
-    $RM \$dlpath'
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='$libname$release$shared_ext$major'
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test yes = "$with_gnu_ld"; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec; then
-    version_type=linux # correct to gnu/linux during the next big refactor
-    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
-    soname_spec='$libname$shared_ext.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=sco
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test yes = "$with_gnu_ld"; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test no = "$dynamic_linker" && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test yes = "$GCC"; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
-  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
-fi
-
-if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
-  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
-fi
-
-# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
-configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
-
-# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
-func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
-
-# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
-configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test yes = "$hardcode_automatic"; then
-
-  # We can hardcode non-existent directories.
-  if test no != "$hardcode_direct" &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
-     test no != "$hardcode_minus_L"; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test relink = "$hardcode_action" ||
-   test yes = "$inherit_rpath"; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test yes = "$shlibpath_overrides_runpath" ||
-     test no = "$enable_shared"; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test yes != "$enable_dlopen"; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen=load_add_on
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen=LoadLibrary
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen=dlopen
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-    # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
-else
-
-    lt_cv_dlopen=dyld
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  tpf*)
-    # Don't try to run any link tests for TPF.  We know it's impossible
-    # because TPF is a cross-compiler, and we know how we open DSOs.
-    lt_cv_dlopen=dlopen
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=no
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen=shl_load
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test no = "$lt_cv_dlopen"; then
-    enable_dlopen=no
-  else
-    enable_dlopen=yes
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS=$CPPFLAGS
-    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS=$LDFLAGS
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS=$LIBS
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test yes = "$cross_compiling"; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisibility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test yes = "$lt_cv_dlopen_self"; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test yes = "$cross_compiling"; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisibility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS=$save_CPPFLAGS
-    LDFLAGS=$save_LDFLAGS
-    LIBS=$save_LIBS
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP"; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report what library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test no = "$can_build_shared" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test yes = "$enable_shared" && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test ia64 != "$host_cpu"; then
-      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
-      yes,aix,yes) ;;                  # shared object as lib.so file only
-      yes,svr4,*) ;;                   # shared object as lib.so archive member only
-      yes,*) enable_static=no ;;       # shared object in lib.a archive as well
-      esac
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test yes = "$enable_shared" || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC=$lt_save_CC
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
-$as_echo_n "checking for library containing strerror... " >&6; }
-if ${ac_cv_search_strerror+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strerror ();
-int
-main ()
-{
-return strerror ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' cposix; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_strerror=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_strerror+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_strerror+:} false; then :
-
-else
-  ac_cv_search_strerror=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
-$as_echo "$ac_cv_search_strerror" >&6; }
-ac_res=$ac_cv_search_strerror
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
-if ${am_cv_prog_cc_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-  # Make sure it works both with $CC and with simple cc.
-  # Following AC_PROG_CC_C_O, we do the test twice because some
-  # compilers refuse to overwrite an existing .o file with -o,
-  # though they will create one.
-  am_cv_prog_cc_c_o=yes
-  for am_i in 1 2; do
-    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
-   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } \
-         && test -f conftest2.$ac_objext; then
-      : OK
-    else
-      am_cv_prog_cc_c_o=no
-      break
-    fi
-  done
-  rm -f core conftest*
-  unset am_i
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
-$as_echo "$am_cv_prog_cc_c_o" >&6; }
-if test "$am_cv_prog_cc_c_o" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named 'D' -- because '-MD' means "put the output
-  # in D".
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
-      # Solaris 10 /bin/sh.
-      echo '/* dummy */' > sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with '-c' and '-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle '-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs.
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # After this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested.
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok '-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-
-
-# option to specify python interpreter to use; this just sets $PYTHON, so that
-# we will fallback to reading $PYTHON if --with-python is not given, and
-# python.m4 will get the expected input
-
-# Check whether --with-python was given.
-if test "${with_python+set}" = set; then :
-  withval=$with_python; PYTHON="$withval"
-fi
-
-if test x"$PYTHON" = xyes; then
-       as_fn_error $? "--with-python option requires a path or program argument" "$LINENO" 5
-fi
-if test -n "$PYTHON" && ! which "$PYTHON"; then
-       as_fn_error $? "Python interpreter $PYTHON does not exist" "$LINENO" 5
-fi
-
-# check that we have the minimum version of python necessary to build
-
-
-
-
-        if test -n "$PYTHON"; then
-      # If the user set $PYTHON, use it and don't search something else.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version >= 2.7" >&5
-$as_echo_n "checking whether $PYTHON version >= 2.7... " >&6; }
-      prog="import sys
-# split strings by '.' and convert to numeric.  Append some zeros
-# because we need at least 4 digits for the hex conversion.
-# map returns an iterator in Python 3.0 and a list in 2.x
-minver = list(map(int, '2.7'.split('.'))) + [0, 0, 0]
-minverhex = 0
-# xrange is not present in Python 3.0 and range returns an iterator
-for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
-sys.exit(sys.hexversion < minverhex)"
-  if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
-   ($PYTHON -c "$prog") >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  as_fn_error $? "too old" "$LINENO" 5
-fi
-      am_display_PYTHON=$PYTHON
-    else
-      # Otherwise, try each interpreter until we find one that satisfies
-      # VERSION.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.7" >&5
-$as_echo_n "checking for a Python interpreter with version >= 2.7... " >&6; }
-if ${am_cv_pathless_PYTHON+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       for am_cv_pathless_PYTHON in python3 python3.3 python3.2 python3.1 python2 python2.7 python none; do
-         test "$am_cv_pathless_PYTHON" = none && break
-         prog="import sys
-# split strings by '.' and convert to numeric.  Append some zeros
-# because we need at least 4 digits for the hex conversion.
-# map returns an iterator in Python 3.0 and a list in 2.x
-minver = list(map(int, '2.7'.split('.'))) + [0, 0, 0]
-minverhex = 0
-# xrange is not present in Python 3.0 and range returns an iterator
-for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
-sys.exit(sys.hexversion < minverhex)"
-  if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
-   ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then :
-  break
-fi
-       done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
-$as_echo "$am_cv_pathless_PYTHON" >&6; }
-      # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
-      if test "$am_cv_pathless_PYTHON" = none; then
-       PYTHON=:
-      else
-        # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
-set dummy $am_cv_pathless_PYTHON; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PYTHON+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PYTHON in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PYTHON=$ac_cv_path_PYTHON
-if test -n "$PYTHON"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
-$as_echo "$PYTHON" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-      fi
-      am_display_PYTHON=$am_cv_pathless_PYTHON
-    fi
-
-
-  if test "$PYTHON" = :; then
-      as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5
-  else
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
-$as_echo_n "checking for $am_display_PYTHON version... " >&6; }
-if ${am_cv_python_version+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
-$as_echo "$am_cv_python_version" >&6; }
-  PYTHON_VERSION=$am_cv_python_version
-
-
-
-  PYTHON_PREFIX='${prefix}'
-
-  PYTHON_EXEC_PREFIX='${exec_prefix}'
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
-$as_echo_n "checking for $am_display_PYTHON platform... " >&6; }
-if ${am_cv_python_platform+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
-$as_echo "$am_cv_python_platform" >&6; }
-  PYTHON_PLATFORM=$am_cv_python_platform
-
-
-
-
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
-$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; }
-if ${am_cv_python_pythondir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX'))" 2>/dev/null ||
-     echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
-$as_echo "$am_cv_python_pythondir" >&6; }
-  pythondir=$am_cv_python_pythondir
-
-
-
-  pkgpythondir=\${pythondir}/$PACKAGE
-
-
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
-$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; }
-if ${am_cv_python_pyexecdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX'))" 2>/dev/null ||
-     echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"`
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
-$as_echo "$am_cv_python_pyexecdir" >&6; }
-  pyexecdir=$am_cv_python_pyexecdir
-
-
-
-  pkgpyexecdir=\${pyexecdir}/$PACKAGE
-
-
-
-  fi
-
-
-
-# check if we are building for python 3
-prog="import sys
-# split strings by '.' and convert to numeric.  Append some zeros
-# because we need at least 4 digits for the hex conversion.
-# map returns an iterator in Python 3.0 and a list in 2.x
-minver = list(map(int, '3.0'.split('.'))) + [0, 0, 0]
-minverhex = 0
-# xrange is not present in Python 3.0 and range returns an iterator
-for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
-sys.exit(sys.hexversion < minverhex)"
-  if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
-   ($PYTHON -c "$prog") >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then :
-  build_py3k=true
-else
-  build_py3k=false
-fi
-
-# if building for python 3 make sure we have the minimum version supported
-if test $build_py3k = true ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $PYTHON >= 3.4" >&5
-$as_echo_n "checking for $PYTHON >= 3.4... " >&6; }
-  prog="import sys
-# split strings by '.' and convert to numeric.  Append some zeros
-# because we need at least 4 digits for the hex conversion.
-# map returns an iterator in Python 3.0 and a list in 2.x
-minver = list(map(int, '3.4'.split('.'))) + [0, 0, 0]
-minverhex = 0
-# xrange is not present in Python 3.0 and range returns an iterator
-for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
-sys.exit(sys.hexversion < minverhex)"
-  if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
-   ($PYTHON -c "$prog") >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  as_fn_error $? "too old" "$LINENO" 5
-fi
-fi
-
-# - 'SO' for PyPy, CPython 2.7-3.2
-# - 'EXT_SUFFIX' for CPython3.3+ (http://bugs.python.org/issue16754)
-# - fallback to '.so'
-PYTHON_SO=`$PYTHON -c "import distutils.sysconfig, sys; get = distutils.sysconfig.get_config_var; sys.stdout.write(get('EXT_SUFFIX') or get('SO') or '.so');"`
-
-
-
-
-
-
-
-
-        # Find any Python interpreter.
-    if test -z "$PYTHON"; then
-      for ac_prog in python3 python3.3 python3.2 python3.1 python2 python2.7 python
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PYTHON+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PYTHON in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PYTHON=$ac_cv_path_PYTHON
-if test -n "$PYTHON"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
-$as_echo "$PYTHON" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$PYTHON" && break
-done
-test -n "$PYTHON" || PYTHON=":"
-
-    fi
-    am_display_PYTHON=python
-
-
-  if test "$PYTHON" = :; then
-      as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5
-  else
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
-$as_echo_n "checking for $am_display_PYTHON version... " >&6; }
-if ${am_cv_python_version+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
-$as_echo "$am_cv_python_version" >&6; }
-  PYTHON_VERSION=$am_cv_python_version
-
-
-
-  PYTHON_PREFIX='${prefix}'
-
-  PYTHON_EXEC_PREFIX='${exec_prefix}'
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
-$as_echo_n "checking for $am_display_PYTHON platform... " >&6; }
-if ${am_cv_python_platform+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
-$as_echo "$am_cv_python_platform" >&6; }
-  PYTHON_PLATFORM=$am_cv_python_platform
-
-
-  # Just factor out some code duplication.
-  am_python_setup_sysconfig="\
-import sys
-# Prefer sysconfig over distutils.sysconfig, for better compatibility
-# with python 3.x.  See automake bug#10227.
-try:
-    import sysconfig
-except ImportError:
-    can_use_sysconfig = 0
-else:
-    can_use_sysconfig = 1
-# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
-# <https://github.com/pypa/virtualenv/issues/118>
-try:
-    from platform import python_implementation
-    if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
-        can_use_sysconfig = 0
-except ImportError:
-    pass"
-
-
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
-$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; }
-if ${am_cv_python_pythondir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$prefix" = xNONE
-     then
-       am_py_prefix=$ac_default_prefix
-     else
-       am_py_prefix=$prefix
-     fi
-     am_cv_python_pythondir=`$PYTHON -c "
-$am_python_setup_sysconfig
-if can_use_sysconfig:
-    sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
-else:
-    from distutils import sysconfig
-    sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
-sys.stdout.write(sitedir)"`
-     case $am_cv_python_pythondir in
-     $am_py_prefix*)
-       am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
-       am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
-       ;;
-     *)
-       case $am_py_prefix in
-         /usr|/System*) ;;
-         *)
-         am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
-         ;;
-       esac
-       ;;
-     esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
-$as_echo "$am_cv_python_pythondir" >&6; }
-  pythondir=$am_cv_python_pythondir
-
-
-
-  pkgpythondir=\${pythondir}/$PACKAGE
-
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
-$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; }
-if ${am_cv_python_pyexecdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$exec_prefix" = xNONE
-     then
-       am_py_exec_prefix=$am_py_prefix
-     else
-       am_py_exec_prefix=$exec_prefix
-     fi
-     am_cv_python_pyexecdir=`$PYTHON -c "
-$am_python_setup_sysconfig
-if can_use_sysconfig:
-    sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
-else:
-    from distutils import sysconfig
-    sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
-sys.stdout.write(sitedir)"`
-     case $am_cv_python_pyexecdir in
-     $am_py_exec_prefix*)
-       am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
-       am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
-       ;;
-     *)
-       case $am_py_exec_prefix in
-         /usr|/System*) ;;
-         *)
-          am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
-          ;;
-       esac
-       ;;
-     esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
-$as_echo "$am_cv_python_pyexecdir" >&6; }
-  pyexecdir=$am_cv_python_pyexecdir
-
-
-
-  pkgpyexecdir=\${pyexecdir}/$PACKAGE
-
-
-
-  fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for headers required to compile python extensions" >&5
-$as_echo_n "checking for headers required to compile python extensions... " >&6; }
-if test "x$PYTHON_INCLUDES" = x; then
-  PYTHON_CONFIG=`which $PYTHON`-config
-  if test -x "$PYTHON_CONFIG"; then
-    PYTHON_INCLUDES=`$PYTHON_CONFIG --includes 2>/dev/null`
-  else
-    PYTHON_INCLUDES=`$PYTHON -c "import distutils.sysconfig, sys; sys.stdout.write(distutils.sysconfig.get_python_inc(True))"`
-    PYTHON_INCLUDES="-I$PYTHON_INCLUDES"
-  fi
-fi
-
-save_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <Python.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
-$as_echo "found" >&6; }
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
-as_fn_error $? "Python headers not found" "$LINENO" 5
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-CPPFLAGS="$save_CPPFLAGS"
-
-if test "x$link_python_libs" = "xyes"; then
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libraries required to embed python" >&5
-$as_echo_n "checking for libraries required to embed python... " >&6; }
-py_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`
-if test "x$PYTHON_LIBS" = x; then
-  PYTHON_CONFIG=`which $PYTHON`-config
-  if test -x "$PYTHON_CONFIG"; then
-    PYTHON_LIBS=`$PYTHON_CONFIG --ldflags 2>/dev/null`
-  else
-    PYTHON_LIBS="-L${py_prefix}/lib -lpython${PYTHON_VERSION}"
-  fi
-fi
-if test "x$PYTHON_LIB_LOC" = x; then
-       PYTHON_LIB_LOC="${py_prefix}/lib"
-fi
-
-
-save_LIBS="$LIBS"
-LIBS="$LIBS $PYTHON_LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char Py_Initialize ();
-int
-main ()
-{
-return Py_Initialize ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-           LIBS="$save_LIBS"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; };
-else
-           LIBS="$save_LIBS"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }; as_fn_error $? "Python libs not found. Windows requires Python modules to be explicitly linked to libpython." "$LINENO" 5
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-
-fi
-
-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
-
-# Check whether --enable-glibtest was given.
-if test "${enable_glibtest+set}" = set; then :
-  enableval=$enable_glibtest;
-else
-  enable_glibtest=yes
-fi
-
-
-  pkg_config_args=glib-2.0
-  for module in . gobject $extra_mods
-  do
-      case "$module" in
-         gmodule)
-             pkg_config_args="$pkg_config_args gmodule-2.0"
-         ;;
-         gmodule-no-export)
-             pkg_config_args="$pkg_config_args gmodule-no-export-2.0"
-         ;;
-         gobject)
-             pkg_config_args="$pkg_config_args gobject-2.0"
-         ;;
-         gthread)
-             pkg_config_args="$pkg_config_args gthread-2.0"
-         ;;
-         gio*)
-             pkg_config_args="$pkg_config_args $module-2.0"
-         ;;
-      esac
-  done
-
-
-
-
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-       if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
-  fi
-else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
-       _pkg_min_version=0.16
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
-       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       else
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-               PKG_CONFIG=""
-       fi
-fi
-
-  no_glib=""
-
-  if test "x$PKG_CONFIG" = x ; then
-    no_glib=yes
-    PKG_CONFIG=no
-  fi
-
-  min_glib_version=2.38.0
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB - version >= $min_glib_version" >&5
-$as_echo_n "checking for GLIB - version >= $min_glib_version... " >&6; }
-
-  if test x$PKG_CONFIG != xno ; then
-    ## don't try to run the test against uninstalled libtool libs
-    if $PKG_CONFIG --uninstalled $pkg_config_args; then
-         echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH"
-         enable_glibtest=no
-    fi
-
-    if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then
-         :
-    else
-         no_glib=yes
-    fi
-  fi
-
-  if test x"$no_glib" = x ; then
-    GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
-    GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0`
-    GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
-    GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable=glib_compile_resources gio-2.0`
-
-    GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args`
-    GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args`
-    glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \
-           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
-    glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \
-           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
-    glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \
-           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
-    if test "x$enable_glibtest" = "xyes" ; then
-      ac_save_CFLAGS="$CFLAGS"
-      ac_save_LIBS="$LIBS"
-      CFLAGS="$CFLAGS $GLIB_CFLAGS"
-      LIBS="$GLIB_LIBS $LIBS"
-      rm -f conf.glibtest
-      if test "$cross_compiling" = yes; then :
-  echo $ac_n "cross compiling; assumed OK... $ac_c"
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <glib.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
-  unsigned int major, minor, micro;
-
-  fclose (fopen ("conf.glibtest", "w"));
-
-  if (sscanf("$min_glib_version", "%u.%u.%u", &major, &minor, &micro) != 3) {
-     printf("%s, bad version string\n", "$min_glib_version");
-     exit(1);
-   }
-
-  if ((glib_major_version != $glib_config_major_version) ||
-      (glib_minor_version != $glib_config_minor_version) ||
-      (glib_micro_version != $glib_config_micro_version))
-    {
-      printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
-             $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
-             glib_major_version, glib_minor_version, glib_micro_version);
-      printf ("*** was found! If pkg-config was correct, then it is best\n");
-      printf ("*** to remove the old version of GLib. You may also be able to fix the error\n");
-      printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
-      printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
-      printf("*** required on your system.\n");
-      printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
-      printf("*** to point to the correct configuration files\n");
-    }
-  else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
-          (glib_minor_version != GLIB_MINOR_VERSION) ||
-           (glib_micro_version != GLIB_MICRO_VERSION))
-    {
-      printf("*** GLIB header files (version %d.%d.%d) do not match\n",
-            GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
-      printf("*** library (version %d.%d.%d)\n",
-            glib_major_version, glib_minor_version, glib_micro_version);
-    }
-  else
-    {
-      if ((glib_major_version > major) ||
-        ((glib_major_version == major) && (glib_minor_version > minor)) ||
-        ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
-      {
-        return 0;
-       }
-     else
-      {
-        printf("\n*** An old version of GLIB (%u.%u.%u) was found.\n",
-               glib_major_version, glib_minor_version, glib_micro_version);
-        printf("*** You need a version of GLIB newer than %u.%u.%u. The latest version of\n",
-              major, minor, micro);
-        printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
-        printf("***\n");
-        printf("*** If you have already installed a sufficiently new version, this error\n");
-        printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
-        printf("*** being found. The easiest way to fix this is to remove the old version\n");
-        printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n");
-        printf("*** correct copy of pkg-config. (In this case, you will have to\n");
-        printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
-        printf("*** so that the correct libraries are found at run-time))\n");
-      }
-    }
-  return 1;
-}
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  no_glib=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-       CFLAGS="$ac_save_CFLAGS"
-       LIBS="$ac_save_LIBS"
-     fi
-  fi
-  if test "x$no_glib" = x ; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&5
-$as_echo "yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&6; }
-     :
-  else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-     if test "$PKG_CONFIG" = "no" ; then
-       echo "*** A new enough version of pkg-config was not found."
-       echo "*** See http://www.freedesktop.org/software/pkgconfig/"
-     else
-       if test -f conf.glibtest ; then
-        :
-       else
-          echo "*** Could not run GLIB test program, checking why..."
-          ac_save_CFLAGS="$CFLAGS"
-          ac_save_LIBS="$LIBS"
-          CFLAGS="$CFLAGS $GLIB_CFLAGS"
-          LIBS="$LIBS $GLIB_LIBS"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <glib.h>
-#include <stdio.h>
-
-int
-main ()
-{
- return ((glib_major_version) || (glib_minor_version) || (glib_micro_version));
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-   echo "*** The test program compiled, but did not run. This usually means"
-          echo "*** that the run-time linker is not finding GLIB or finding the wrong"
-          echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
-          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
-          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
-          echo "*** is required on your system"
-         echo "***"
-          echo "*** If you have an old version installed, it is best to remove it, although"
-          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
-else
-   echo "*** The test program failed to compile or link. See the file config.log for the"
-          echo "*** exact error that occured. This usually means GLIB is incorrectly installed."
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-          CFLAGS="$ac_save_CFLAGS"
-          LIBS="$ac_save_LIBS"
-       fi
-     fi
-     GLIB_CFLAGS=""
-     GLIB_LIBS=""
-     GLIB_GENMARSHAL=""
-     GOBJECT_QUERY=""
-     GLIB_MKENUMS=""
-     GLIB_COMPILE_RESOURCES=""
-     as_fn_error $? "maybe you want the pygobject-2-4 branch?" "$LINENO" 5
-  fi
-
-
-
-
-
-
-  rm -f conf.glibtest
-
-if test -n "$export_dynamic"; then
-  GLIB_LIBS=`echo $GLIB_LIBS | sed -e "s/$export_dynamic//"`
-fi
-
-PYTHON_VALGRIND_SUPP=`$PYTHON -c "import sys; sys.stdout.write('python' + sys.version.__getitem__(0))"`
-
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FFI" >&5
-$as_echo_n "checking for FFI... " >&6; }
-
-if test -n "$FFI_CFLAGS"; then
-    pkg_cv_FFI_CFLAGS="$FFI_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libffi >= 3.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libffi >= 3.0") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_FFI_CFLAGS=`$PKG_CONFIG --cflags "libffi >= 3.0" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$FFI_LIBS"; then
-    pkg_cv_FFI_LIBS="$FFI_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libffi >= 3.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libffi >= 3.0") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_FFI_LIBS=`$PKG_CONFIG --libs "libffi >= 3.0" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               FFI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libffi >= 3.0" 2>&1`
-        else
-               FFI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libffi >= 3.0" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$FFI_PKG_ERRORS" >&5
-
-       as_fn_error $? "Package requirements (libffi >= 3.0) were not met:
-
-$FFI_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables FFI_CFLAGS
-and FFI_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables FFI_CFLAGS
-and FFI_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
-       FFI_CFLAGS=$pkg_cv_FFI_CFLAGS
-       FFI_LIBS=$pkg_cv_FFI_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-
-
-
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GIO" >&5
-$as_echo_n "checking for GIO... " >&6; }
-
-if test -n "$GIO_CFLAGS"; then
-    pkg_cv_GIO_CFLAGS="$GIO_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 >= 2.38.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gio-2.0 >= 2.38.0") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GIO_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0 >= 2.38.0" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$GIO_LIBS"; then
-    pkg_cv_GIO_LIBS="$GIO_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 >= 2.38.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gio-2.0 >= 2.38.0") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GIO_LIBS=`$PKG_CONFIG --libs "gio-2.0 >= 2.38.0" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               GIO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gio-2.0 >= 2.38.0" 2>&1`
-        else
-               GIO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gio-2.0 >= 2.38.0" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$GIO_PKG_ERRORS" >&5
-
-       as_fn_error $? "Package requirements (gio-2.0 >= 2.38.0) were not met:
-
-$GIO_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables GIO_CFLAGS
-and GIO_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables GIO_CFLAGS
-and GIO_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
-       GIO_CFLAGS=$pkg_cv_GIO_CFLAGS
-       GIO_LIBS=$pkg_cv_GIO_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-
-# Check whether --enable-cairo was given.
-if test "${enable_cairo+set}" = set; then :
-  enableval=$enable_cairo; enable_cairo=$enableval
-else
-  enable_cairo=yes
-fi
-
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GI" >&5
-$as_echo_n "checking for GI... " >&6; }
-
-if test -n "$GI_CFLAGS"; then
-    pkg_cv_GI_CFLAGS="$GI_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.38.0
-    gobject-introspection-1.0 >= 1.46.0
-\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.38.0
-    gobject-introspection-1.0 >= 1.46.0
-") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GI_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.38.0
-    gobject-introspection-1.0 >= 1.46.0
-" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$GI_LIBS"; then
-    pkg_cv_GI_LIBS="$GI_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.38.0
-    gobject-introspection-1.0 >= 1.46.0
-\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.38.0
-    gobject-introspection-1.0 >= 1.46.0
-") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GI_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.38.0
-    gobject-introspection-1.0 >= 1.46.0
-" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               GI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.38.0
-    gobject-introspection-1.0 >= 1.46.0
-" 2>&1`
-        else
-               GI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.38.0
-    gobject-introspection-1.0 >= 1.46.0
-" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$GI_PKG_ERRORS" >&5
-
-       as_fn_error $? "Package requirements (glib-2.0 >= 2.38.0
-    gobject-introspection-1.0 >= 1.46.0
-) were not met:
-
-$GI_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables GI_CFLAGS
-and GI_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables GI_CFLAGS
-and GI_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
-       GI_CFLAGS=$pkg_cv_GI_CFLAGS
-       GI_LIBS=$pkg_cv_GI_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-
-
-
-
-                # Check whether --enable-introspection was given.
-if test "${enable_introspection+set}" = set; then :
-  enableval=$enable_introspection;
-else
-  enable_introspection=auto
-fi
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gobject-introspection" >&5
-$as_echo_n "checking for gobject-introspection... " >&6; }
-
-        case $enable_introspection in #(
-  no) :
-            found_introspection="no (disabled, use --enable-introspection to enable)"
-     ;; #(
-      yes) :
-            if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-introspection-1.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gobject-introspection-1.0") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  :
-else
-  as_fn_error $? "gobject-introspection-1.0 is not installed" "$LINENO" 5
-fi
-        if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-introspection-1.0 >= 1.46.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gobject-introspection-1.0 >= 1.46.0") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  found_introspection=yes
-else
-  as_fn_error $? "You need to have gobject-introspection >= 1.46.0 installed to build pygobject" "$LINENO" 5
-fi
-     ;; #(
-      auto) :
-            if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-introspection-1.0 >= 1.46.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gobject-introspection-1.0 >= 1.46.0") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  found_introspection=yes
-else
-  found_introspection=no
-fi
-               enable_introspection=$found_introspection
-     ;; #(
-  *) :
-                as_fn_error $? "invalid argument passed to --enable-introspection, should be one of [no/auto/yes]" "$LINENO" 5
-     ;;
-esac
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $found_introspection" >&5
-$as_echo "$found_introspection" >&6; }
-
-    INTROSPECTION_SCANNER=
-    INTROSPECTION_COMPILER=
-    INTROSPECTION_GENERATE=
-    INTROSPECTION_GIRDIR=
-    INTROSPECTION_TYPELIBDIR=
-    if test "x$found_introspection" = "xyes"; then
-       INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
-       INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
-       INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
-       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
-       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
-       INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
-       INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
-       INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
-    fi
-
-
-
-
-
-
-
-
-
-     if test "x$found_introspection" = "xyes"; then
-  HAVE_INTROSPECTION_TRUE=
-  HAVE_INTROSPECTION_FALSE='#'
-else
-  HAVE_INTROSPECTION_TRUE='#'
-  HAVE_INTROSPECTION_FALSE=
-fi
-
-
-
-
-GI_DATADIR=$($PKG_CONFIG --variable=gidatadir gobject-introspection-1.0)
-
-
-if test "$enable_cairo" != no; then
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CAIRO" >&5
-$as_echo_n "checking for CAIRO... " >&6; }
-
-if test -n "$CAIRO_CFLAGS"; then
-    pkg_cv_CAIRO_CFLAGS="$CAIRO_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo cairo-gobject\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "cairo cairo-gobject") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo cairo-gobject" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$CAIRO_LIBS"; then
-    pkg_cv_CAIRO_LIBS="$CAIRO_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo cairo-gobject\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "cairo cairo-gobject") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_CAIRO_LIBS=`$PKG_CONFIG --libs "cairo cairo-gobject" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               CAIRO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "cairo cairo-gobject" 2>&1`
-        else
-               CAIRO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "cairo cairo-gobject" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$CAIRO_PKG_ERRORS" >&5
-
-       as_fn_error $? "Package requirements (cairo cairo-gobject) were not met:
-
-$CAIRO_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables CAIRO_CFLAGS
-and CAIRO_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables CAIRO_CFLAGS
-and CAIRO_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
-       CAIRO_CFLAGS=$pkg_cv_CAIRO_CFLAGS
-       CAIRO_LIBS=$pkg_cv_CAIRO_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-
-    if test $build_py3k = true; then
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PYCAIRO" >&5
-$as_echo_n "checking for PYCAIRO... " >&6; }
-
-if test -n "$PYCAIRO_CFLAGS"; then
-    pkg_cv_PYCAIRO_CFLAGS="$PYCAIRO_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"py3cairo >= 1.11.1
-        \""; } >&5
-  ($PKG_CONFIG --exists --print-errors "py3cairo >= 1.11.1
-        ") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_PYCAIRO_CFLAGS=`$PKG_CONFIG --cflags "py3cairo >= 1.11.1
-        " 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$PYCAIRO_LIBS"; then
-    pkg_cv_PYCAIRO_LIBS="$PYCAIRO_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"py3cairo >= 1.11.1
-        \""; } >&5
-  ($PKG_CONFIG --exists --print-errors "py3cairo >= 1.11.1
-        ") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_PYCAIRO_LIBS=`$PKG_CONFIG --libs "py3cairo >= 1.11.1
-        " 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               PYCAIRO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "py3cairo >= 1.11.1
-        " 2>&1`
-        else
-               PYCAIRO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "py3cairo >= 1.11.1
-        " 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$PYCAIRO_PKG_ERRORS" >&5
-
-       as_fn_error $? "Package requirements (py3cairo >= 1.11.1
-        ) were not met:
-
-$PYCAIRO_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables PYCAIRO_CFLAGS
-and PYCAIRO_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables PYCAIRO_CFLAGS
-and PYCAIRO_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
-       PYCAIRO_CFLAGS=$pkg_cv_PYCAIRO_CFLAGS
-       PYCAIRO_LIBS=$pkg_cv_PYCAIRO_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-    else
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PYCAIRO" >&5
-$as_echo_n "checking for PYCAIRO... " >&6; }
-
-if test -n "$PYCAIRO_CFLAGS"; then
-    pkg_cv_PYCAIRO_CFLAGS="$PYCAIRO_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pycairo >= 1.11.1
-        \""; } >&5
-  ($PKG_CONFIG --exists --print-errors "pycairo >= 1.11.1
-        ") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_PYCAIRO_CFLAGS=`$PKG_CONFIG --cflags "pycairo >= 1.11.1
-        " 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$PYCAIRO_LIBS"; then
-    pkg_cv_PYCAIRO_LIBS="$PYCAIRO_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pycairo >= 1.11.1
-        \""; } >&5
-  ($PKG_CONFIG --exists --print-errors "pycairo >= 1.11.1
-        ") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_PYCAIRO_LIBS=`$PKG_CONFIG --libs "pycairo >= 1.11.1
-        " 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               PYCAIRO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "pycairo >= 1.11.1
-        " 2>&1`
-        else
-               PYCAIRO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "pycairo >= 1.11.1
-        " 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$PYCAIRO_PKG_ERRORS" >&5
-
-       as_fn_error $? "Package requirements (pycairo >= 1.11.1
-        ) were not met:
-
-$PYCAIRO_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables PYCAIRO_CFLAGS
-and PYCAIRO_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables PYCAIRO_CFLAGS
-and PYCAIRO_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
-       PYCAIRO_CFLAGS=$pkg_cv_PYCAIRO_CFLAGS
-       PYCAIRO_LIBS=$pkg_cv_PYCAIRO_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-    fi
-fi
- if test "$enable_cairo" = "yes"; then
-  ENABLE_CAIRO_TRUE=
-  ENABLE_CAIRO_FALSE='#'
-else
-  ENABLE_CAIRO_TRUE='#'
-  ENABLE_CAIRO_FALSE=
-fi
-
-
-
-# Check whether --with-common was given.
-if test "${with_common+set}" = set; then :
-  withval=$with_common; with_common=$enableval
-else
-  with_common=yes
-fi
-
- if test "$with_common" = "yes"; then
-  WITH_COMMON_TRUE=
-  WITH_COMMON_FALSE='#'
-else
-  WITH_COMMON_TRUE='#'
-  WITH_COMMON_FALSE=
-fi
-
-
-# Disable -Werror always, see
-# https://mail.gnome.org/archives/desktop-devel-list/2017-April/msg00009.html
-
-    # C support is enabled by default.
-
-
-    # Only enable C++ support if AC_PROG_CXX is called. The redefinition of
-    # AC_PROG_CXX is so that a fatal error is emitted if this macro is called
-    # before AC_PROG_CXX, which would otherwise cause no C++ warnings to be
-    # checked.
-
-
-
-
-    # Default value for IS-RELEASE is $ax_is_release
-    ax_compiler_flags_is_release=yes
-
-    # Check whether --enable-compile-warnings was given.
-if test "${enable_compile_warnings+set}" = set; then :
-  enableval=$enable_compile_warnings;
-else
-  if test "$ax_compiler_flags_is_release" = "yes"; then :
-  enable_compile_warnings="yes"
-else
-  enable_compile_warnings="error"
-fi
-fi
-
-    # Check whether --enable-Werror was given.
-if test "${enable_Werror+set}" = set; then :
-  enableval=$enable_Werror;
-else
-  enable_Werror=maybe
-fi
-
-
-    # Return the user's chosen warning level
-    if test "$enable_Werror" = "no" -a \
-                "$enable_compile_warnings" = "error"; then :
-
-        enable_compile_warnings="yes"
-
-fi
-
-    ax_enable_compile_warnings=$enable_compile_warnings
-
-
-
-
-
-
-
-
-
-
-    # Variable names
-
-
-    ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-    # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
-    # flags, otherwise they are always appended to the warn_cflags variable, and
-    # Clang warns on them for every compilation unit.
-    # If this is passed to GCC, it will explode, so the flag must be enabled
-    # conditionally.
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Werror=unknown-warning-option" >&5
-$as_echo_n "checking whether C compiler accepts -Werror=unknown-warning-option... " >&6; }
-if ${ax_cv_check_cflags___Werror_unknown_warning_option+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  -Werror=unknown-warning-option"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ax_cv_check_cflags___Werror_unknown_warning_option=yes
-else
-  ax_cv_check_cflags___Werror_unknown_warning_option=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Werror_unknown_warning_option" >&5
-$as_echo "$ax_cv_check_cflags___Werror_unknown_warning_option" >&6; }
-if test "x$ax_cv_check_cflags___Werror_unknown_warning_option" = xyes; then :
-
-        ax_compiler_flags_test="-Werror=unknown-warning-option"
-
-else
-
-        ax_compiler_flags_test=""
-
-fi
-
-
-    # Check that -Wno-suggest-attribute=format is supported
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-suggest-attribute=format" >&5
-$as_echo_n "checking whether C compiler accepts -Wno-suggest-attribute=format... " >&6; }
-if ${ax_cv_check_cflags___Wno_suggest_attribute_format+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  -Wno-suggest-attribute=format"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ax_cv_check_cflags___Wno_suggest_attribute_format=yes
-else
-  ax_cv_check_cflags___Wno_suggest_attribute_format=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_suggest_attribute_format" >&5
-$as_echo "$ax_cv_check_cflags___Wno_suggest_attribute_format" >&6; }
-if test "x$ax_cv_check_cflags___Wno_suggest_attribute_format" = xyes; then :
-
-        ax_compiler_no_suggest_attribute_flags="-Wno-suggest-attribute=format"
-
-else
-
-        ax_compiler_no_suggest_attribute_flags=""
-
-fi
-
-
-    # Base flags
-
-
-
-
-for flag in          -fno-strict-aliasing              ; do
-  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
-
-if ${WARN_CFLAGS+:} false; then :
-
-  case " $WARN_CFLAGS " in #(
-  *" $flag "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains \$flag"; } >&5
-  (: WARN_CFLAGS already contains $flag) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append WARN_CFLAGS " $flag"
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
-  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  WARN_CFLAGS=$flag
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
-  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-else
-  :
-fi
-
-done
-
-
-    if test "$ax_enable_compile_warnings" != "no"; then :
-
-        # "yes" flags
-
-
-
-
-for flag in              -Wall             -Wextra             -Wundef             -Wnested-externs             -Wwrite-strings             -Wpointer-arith             -Wmissing-declarations             -Wmissing-prototypes             -Wstrict-prototypes             -Wredundant-decls             -Wno-unused-parameter             -Wno-missing-field-initializers             -Wdeclaration-after-statement             -Wformat=2             -Wold-style-definition             -Wcast-align             -Wformat-nonliteral             -Wformat-security             -Wsign-compare             -Wstrict-aliasing             -Wshadow             -Winline             -Wpacked             -Wmissing-format-attribute             -Wmissing-noreturn             -Winit-self             -Wredundant-decls             -Wmissing-include-dirs             -Wunused-but-set-variable             -Warray-bounds             -Wimplicit-function-declaration             -Wreturn-type             -Wswitch-enum             -Wswitch-default                                                                ; do
-  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
-
-if ${WARN_CFLAGS+:} false; then :
-
-  case " $WARN_CFLAGS " in #(
-  *" $flag "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains \$flag"; } >&5
-  (: WARN_CFLAGS already contains $flag) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append WARN_CFLAGS " $flag"
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
-  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  WARN_CFLAGS=$flag
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
-  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-else
-  :
-fi
-
-done
-
-
-fi
-    if test "$ax_enable_compile_warnings" = "error"; then :
-
-        # "error" flags; -Werror has to be appended unconditionally because
-        # it's not possible to test for
-        #
-        # suggest-attribute=format is disabled because it gives too many false
-        # positives
-
-if ${WARN_CFLAGS+:} false; then :
-
-  case " $WARN_CFLAGS " in #(
-  *" -Werror "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains -Werror"; } >&5
-  (: WARN_CFLAGS already contains -Werror) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append WARN_CFLAGS " -Werror"
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
-  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  WARN_CFLAGS=-Werror
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
-  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-
-
-
-
-
-for flag in              $ax_compiler_no_suggest_attribute_flags         ; do
-  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
-
-if ${WARN_CFLAGS+:} false; then :
-
-  case " $WARN_CFLAGS " in #(
-  *" $flag "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains \$flag"; } >&5
-  (: WARN_CFLAGS already contains $flag) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append WARN_CFLAGS " $flag"
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
-  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  WARN_CFLAGS=$flag
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
-  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-else
-  :
-fi
-
-done
-
-
-fi
-
-    # In the flags below, when disabling specific flags, always add *both*
-    # -Wno-foo and -Wno-error=foo. This fixes the situation where (for example)
-    # we enable -Werror, disable a flag, and a build bot passes CFLAGS=-Wall,
-    # which effectively turns that flag back on again as an error.
-    for flag in $WARN_CFLAGS; do
-        case $flag in #(
-  -Wno-*=*) :
-     ;; #(
-  -Wno-*) :
-
-
-
-
-
-for flag in -Wno-error=$($as_echo $flag | $SED 's/^-Wno-//'); do
-  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
-
-if ${WARN_CFLAGS+:} false; then :
-
-  case " $WARN_CFLAGS " in #(
-  *" $flag "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains \$flag"; } >&5
-  (: WARN_CFLAGS already contains $flag) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append WARN_CFLAGS " $flag"
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
-  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  WARN_CFLAGS=$flag
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
-  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-else
-  :
-fi
-
-done
-
-                 ;; #(
-  *) :
-     ;;
-esac
-    done
-
-    ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-    # Substitute the variables
-
-
-
-
-
-
-
-
-
-
-
-
-
-    # Variable names
-
-
-    # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
-    # flags, otherwise they are always appended to the warn_ldflags variable,
-    # and Clang warns on them for every compilation unit.
-    # If this is passed to GCC, it will explode, so the flag must be enabled
-    # conditionally.
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Werror=unknown-warning-option" >&5
-$as_echo_n "checking whether C compiler accepts -Werror=unknown-warning-option... " >&6; }
-if ${ax_cv_check_cflags___Werror_unknown_warning_option+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  -Werror=unknown-warning-option"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ax_cv_check_cflags___Werror_unknown_warning_option=yes
-else
-  ax_cv_check_cflags___Werror_unknown_warning_option=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Werror_unknown_warning_option" >&5
-$as_echo "$ax_cv_check_cflags___Werror_unknown_warning_option" >&6; }
-if test "x$ax_cv_check_cflags___Werror_unknown_warning_option" = xyes; then :
-
-        ax_compiler_flags_test="-Werror=unknown-warning-option"
-
-else
-
-        ax_compiler_flags_test=""
-
-fi
-
-
-    # macOS linker does not have --as-needed
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--no-as-needed" >&5
-$as_echo_n "checking whether the linker accepts -Wl,--no-as-needed... " >&6; }
-if ${ax_cv_check_ldflags___Wl___no_as_needed+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$LDFLAGS
-  LDFLAGS="$LDFLAGS  -Wl,--no-as-needed"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ax_cv_check_ldflags___Wl___no_as_needed=yes
-else
-  ax_cv_check_ldflags___Wl___no_as_needed=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___no_as_needed" >&5
-$as_echo "$ax_cv_check_ldflags___Wl___no_as_needed" >&6; }
-if test "x$ax_cv_check_ldflags___Wl___no_as_needed" = xyes; then :
-
-        ax_compiler_flags_as_needed_option="-Wl,--no-as-needed"
-
-else
-
-        ax_compiler_flags_as_needed_option=""
-
-fi
-
-
-    # macOS linker speaks with a different accent
-    ax_compiler_flags_fatal_warnings_option=""
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--fatal-warnings" >&5
-$as_echo_n "checking whether the linker accepts -Wl,--fatal-warnings... " >&6; }
-if ${ax_cv_check_ldflags___Wl___fatal_warnings+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$LDFLAGS
-  LDFLAGS="$LDFLAGS  -Wl,--fatal-warnings"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ax_cv_check_ldflags___Wl___fatal_warnings=yes
-else
-  ax_cv_check_ldflags___Wl___fatal_warnings=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___fatal_warnings" >&5
-$as_echo "$ax_cv_check_ldflags___Wl___fatal_warnings" >&6; }
-if test "x$ax_cv_check_ldflags___Wl___fatal_warnings" = xyes; then :
-
-        ax_compiler_flags_fatal_warnings_option="-Wl,--fatal-warnings"
-
-else
-  :
-fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-fatal_warnings" >&5
-$as_echo_n "checking whether the linker accepts -Wl,-fatal_warnings... " >&6; }
-if ${ax_cv_check_ldflags___Wl__fatal_warnings+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$LDFLAGS
-  LDFLAGS="$LDFLAGS  -Wl,-fatal_warnings"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ax_cv_check_ldflags___Wl__fatal_warnings=yes
-else
-  ax_cv_check_ldflags___Wl__fatal_warnings=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__fatal_warnings" >&5
-$as_echo "$ax_cv_check_ldflags___Wl__fatal_warnings" >&6; }
-if test "x$ax_cv_check_ldflags___Wl__fatal_warnings" = xyes; then :
-
-        ax_compiler_flags_fatal_warnings_option="-Wl,-fatal_warnings"
-
-else
-  :
-fi
-
-
-    # Base flags
-
-
-
-
-for flag in          $ax_compiler_flags_as_needed_option              ; do
-  as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts $flag" >&5
-$as_echo_n "checking whether the linker accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$LDFLAGS
-  LDFLAGS="$LDFLAGS $ax_compiler_flags_test $flag"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
-
-if ${WARN_LDFLAGS+:} false; then :
-
-  case " $WARN_LDFLAGS " in #(
-  *" $flag "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS already contains \$flag"; } >&5
-  (: WARN_LDFLAGS already contains $flag) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append WARN_LDFLAGS " $flag"
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
-  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  WARN_LDFLAGS=$flag
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
-  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-else
-  :
-fi
-
-done
-
-
-    if test "$ax_enable_compile_warnings" != "no"; then :
-
-        # "yes" flags
-
-
-
-
-for flag in       ; do
-  as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts $flag" >&5
-$as_echo_n "checking whether the linker accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$LDFLAGS
-  LDFLAGS="$LDFLAGS $ax_compiler_flags_test $flag"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
-
-if ${WARN_LDFLAGS+:} false; then :
-
-  case " $WARN_LDFLAGS " in #(
-  *" $flag "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS already contains \$flag"; } >&5
-  (: WARN_LDFLAGS already contains $flag) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append WARN_LDFLAGS " $flag"
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
-  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  WARN_LDFLAGS=$flag
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
-  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-else
-  :
-fi
-
-done
-
-
-fi
-    if test "$ax_enable_compile_warnings" = "error"; then :
-
-        # "error" flags; -Werror has to be appended unconditionally because
-        # it's not possible to test for
-        #
-        # suggest-attribute=format is disabled because it gives too many false
-        # positives
-
-
-
-
-for flag in              $ax_compiler_flags_fatal_warnings_option         ; do
-  as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts $flag" >&5
-$as_echo_n "checking whether the linker accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$LDFLAGS
-  LDFLAGS="$LDFLAGS $ax_compiler_flags_test $flag"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
-
-if ${WARN_LDFLAGS+:} false; then :
-
-  case " $WARN_LDFLAGS " in #(
-  *" $flag "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS already contains \$flag"; } >&5
-  (: WARN_LDFLAGS already contains $flag) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append WARN_LDFLAGS " $flag"
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
-  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  WARN_LDFLAGS=$flag
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
-  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-else
-  :
-fi
-
-done
-
-
-fi
-
-    # Substitute the variables
-
-
-
-
-
-
-    # Variable names
-
-
-    # Base flags
-
-if ${WARN_SCANNERFLAGS+:} false; then :
-
-  case " $WARN_SCANNERFLAGS " in #(
-  *"  "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS already contains "; } >&5
-  (: WARN_SCANNERFLAGS already contains ) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append WARN_SCANNERFLAGS " "
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
-  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  WARN_SCANNERFLAGS=
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
-  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-
-    if test "$ax_enable_compile_warnings" != "no"; then :
-
-        # "yes" flags
-
-if ${WARN_SCANNERFLAGS+:} false; then :
-
-  case " $WARN_SCANNERFLAGS " in #(
-  *"              --warn-all                                                              "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS already contains              --warn-all                                                             "; } >&5
-  (: WARN_SCANNERFLAGS already contains              --warn-all                                                             ) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append WARN_SCANNERFLAGS "              --warn-all                                                             "
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
-  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  WARN_SCANNERFLAGS=             --warn-all
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
-  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-
-fi
-    if test "$ax_enable_compile_warnings" = "error"; then :
-
-        # "error" flags
-
-if ${WARN_SCANNERFLAGS+:} false; then :
-
-  case " $WARN_SCANNERFLAGS " in #(
-  *"              --warn-error          "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS already contains              --warn-error         "; } >&5
-  (: WARN_SCANNERFLAGS already contains              --warn-error         ) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append WARN_SCANNERFLAGS "              --warn-error         "
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
-  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  WARN_SCANNERFLAGS=             --warn-error
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
-  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-
-fi
-
-    # Substitute the variables
-
-
-
-# Disable some warnings, either because they get generated by headers of
-# dependencies we don't control or because it was hard to fix them.
-# Feel free and try to get rid of them.
-# For clang only:
-
-
-
-
-for flag in -Wno-unknown-warning-option -Wno-incompatible-pointer-types-discards-qualifiers -Wno-cast-align; do
-  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  $flag"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
-
-if ${CFLAGS+:} false; then :
-
-  case " $CFLAGS " in #(
-  *" $flag "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$flag"; } >&5
-  (: CFLAGS already contains $flag) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append CFLAGS " $flag"
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5
-  (: CFLAGS="$CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  CFLAGS=$flag
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5
-  (: CFLAGS="$CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-else
-  :
-fi
-
-done
-
-# For gcc + clang:
-
-
-
-
-for flag in -Wno-discarded-qualifiers -Wno-redundant-decls -Wno-switch-enum -Wno-undef; do
-  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  $flag"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
-
-if ${CFLAGS+:} false; then :
-
-  case " $CFLAGS " in #(
-  *" $flag "*) :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$flag"; } >&5
-  (: CFLAGS already contains $flag) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } ;; #(
-  *) :
-
-     as_fn_append CFLAGS " $flag"
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5
-  (: CFLAGS="$CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-     ;;
-esac
-
-else
-
-  CFLAGS=$flag
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5
-  (: CFLAGS="$CFLAGS") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-
-fi
-
-else
-  :
-fi
-
-done
-
-
-
-
-
-       # allow to override gcov location
-
-# Check whether --with-gcov was given.
-if test "${with_gcov+set}" = set; then :
-  withval=$with_gcov; _AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov
-else
-  _AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov
-fi
-
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with code coverage support" >&5
-$as_echo_n "checking whether to build with code coverage support... " >&6; }
-       # Check whether --enable-code-coverage was given.
-if test "${enable_code_coverage+set}" = set; then :
-  enableval=$enable_code_coverage;
-else
-  enable_code_coverage=no
-fi
-
-
-        if test x$enable_code_coverage = xyes; then
-  CODE_COVERAGE_ENABLED_TRUE=
-  CODE_COVERAGE_ENABLED_FALSE='#'
-else
-  CODE_COVERAGE_ENABLED_TRUE='#'
-  CODE_COVERAGE_ENABLED_FALSE=
-fi
-
-       CODE_COVERAGE_ENABLED=$enable_code_coverage
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_code_coverage" >&5
-$as_echo "$enable_code_coverage" >&6; }
-
-       if  test "$enable_code_coverage" = "yes" ; then :
-
-               # check for gcov
-               if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH", so it can be a program name with args.
-set dummy ${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_GCOV+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$GCOV"; then
-  ac_cv_prog_GCOV="$GCOV" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_GCOV="${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-GCOV=$ac_cv_prog_GCOV
-if test -n "$GCOV"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCOV" >&5
-$as_echo "$GCOV" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_GCOV"; then
-  ac_ct_GCOV=$GCOV
-  # Extract the first word of "$_AX_CODE_COVERAGE_GCOV_PROG_WITH", so it can be a program name with args.
-set dummy $_AX_CODE_COVERAGE_GCOV_PROG_WITH; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_GCOV+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_GCOV"; then
-  ac_cv_prog_ac_ct_GCOV="$ac_ct_GCOV" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_GCOV="$_AX_CODE_COVERAGE_GCOV_PROG_WITH"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_GCOV=$ac_cv_prog_ac_ct_GCOV
-if test -n "$ac_ct_GCOV"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCOV" >&5
-$as_echo "$ac_ct_GCOV" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_GCOV" = x; then
-    GCOV=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    GCOV=$ac_ct_GCOV
-  fi
-else
-  GCOV="$ac_cv_prog_GCOV"
-fi
-
-               if test "X$GCOV" = "X:"; then :
-  as_fn_error $? "gcov is needed to do coverage" "$LINENO" 5
-fi
-
-
-                               if  test "$GCC" = "no" ; then :
-
-                       as_fn_error $? "not compiling with gcc, which is required for gcov code coverage" "$LINENO" 5
-
-fi
-
-               # Extract the first word of "lcov", so it can be a program name with args.
-set dummy lcov; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LCOV+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LCOV"; then
-  ac_cv_prog_LCOV="$LCOV" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_LCOV="lcov"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LCOV=$ac_cv_prog_LCOV
-if test -n "$LCOV"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LCOV" >&5
-$as_echo "$LCOV" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-               # Extract the first word of "genhtml", so it can be a program name with args.
-set dummy genhtml; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_GENHTML+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$GENHTML"; then
-  ac_cv_prog_GENHTML="$GENHTML" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_GENHTML="genhtml"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-GENHTML=$ac_cv_prog_GENHTML
-if test -n "$GENHTML"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GENHTML" >&5
-$as_echo "$GENHTML" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-               if  test -z "$LCOV" ; then :
-
-                       as_fn_error $? "To enable code coverage reporting you must have lcov installed" "$LINENO" 5
-
-fi
-
-               if  test -z "$GENHTML" ; then :
-
-                       as_fn_error $? "Could not find genhtml from the lcov package" "$LINENO" 5
-
-fi
-
-                                               CODE_COVERAGE_CPPFLAGS="-DNDEBUG"
-               CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
-               CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
-               CODE_COVERAGE_LIBS="-lgcov"
-               CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS"
-
-
-
-
-
-
-
-               CODE_COVERAGE_RULES_CHECK='
-       -$(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k check
-       $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture
-'
-               CODE_COVERAGE_RULES_CAPTURE='
-       $(code_coverage_v_lcov_cap)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(call code_coverage_sanitize,$(PACKAGE_NAME)-$(PACKAGE_VERSION))" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_OPTIONS)
-       $(code_coverage_v_lcov_ign)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_RMOPTS)
-       -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp
-       $(code_coverage_v_genhtml)LANG=C $(GENHTML) $(code_coverage_quiet) $(addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY)) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS)
-       @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html"
-'
-               CODE_COVERAGE_RULES_CLEAN='
-clean: code-coverage-clean
-distclean: code-coverage-clean
-code-coverage-clean:
-       -$(LCOV) --directory $(top_builddir) -z
-       -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY)
-       -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete
-'
-
-else
-
-               CODE_COVERAGE_RULES_CHECK='
-       @echo "Need to reconfigure with --enable-code-coverage"
-'
-               CODE_COVERAGE_RULES_CAPTURE="$CODE_COVERAGE_RULES_CHECK"
-               CODE_COVERAGE_RULES_CLEAN=''
-
-fi
-
-CODE_COVERAGE_RULES='
-# Code coverage
-#
-# Optional:
-#  - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting.
-#    Multiple directories may be specified, separated by whitespace.
-#    (Default: $(top_builddir))
-#  - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated
-#    by lcov for code coverage. (Default:
-#    $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info)
-#  - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage
-#    reports to be created. (Default:
-#    $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage)
-#  - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage,
-#    set to 0 to disable it and leave empty to stay with the default.
-#    (Default: empty)
-#  - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov
-#    instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE)
-#  - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov
-#    instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT)
-#  - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov
-#  - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the
-#    collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH)
-#  - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov
-#    instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)
-#  - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering
-#    lcov instance. (Default: empty)
-#  - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov
-#    instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT)
-#  - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the
-#    genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE)
-#  - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml
-#    instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT)
-#  - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore
-#
-# The generated report will be titled using the $(PACKAGE_NAME) and
-# $(PACKAGE_VERSION). In order to add the current git hash to the title,
-# use the git-version-gen script, available online.
-
-# Optional variables
-CODE_COVERAGE_DIRECTORY ?= $(top_builddir)
-CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info
-CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage
-CODE_COVERAGE_BRANCH_COVERAGE ?=
-CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\
---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE))
-CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT)
-CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)"
-CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH)
-CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)
-CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?=
-CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT)
-CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\
-$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\
---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE))
-CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT)
-CODE_COVERAGE_IGNORE_PATTERN ?=
-
-GITIGNOREFILES ?=
-GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY)
-
-code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V))
-code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY))
-code_coverage_v_lcov_cap_0 = @echo "  LCOV   --capture"\
- $(CODE_COVERAGE_OUTPUT_FILE);
-code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V))
-code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY))
-code_coverage_v_lcov_ign_0 = @echo "  LCOV   --remove /tmp/*"\
- $(CODE_COVERAGE_IGNORE_PATTERN);
-code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V))
-code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY))
-code_coverage_v_genhtml_0 = @echo "  GEN   " $(CODE_COVERAGE_OUTPUT_DIRECTORY);
-code_coverage_quiet = $(code_coverage_quiet_$(V))
-code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY))
-code_coverage_quiet_0 = --quiet
-
-# sanitizes the test-name: replaces with underscores: dashes and dots
-code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1)))
-
-# Use recursive makes in order to ignore errors during check
-check-code-coverage:'"$CODE_COVERAGE_RULES_CHECK"'
-
-# Capture code coverage data
-code-coverage-capture: code-coverage-capture-hook'"$CODE_COVERAGE_RULES_CAPTURE"'
-
-# Hook rule executed before code-coverage-capture, overridable by the user
-code-coverage-capture-hook:
-
-'"$CODE_COVERAGE_RULES_CLEAN"'
-
-A''M_DISTCHECK_CONFIGURE_FLAGS ?=
-A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage
-
-.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean
-'
-
-
-
-
-
-ac_config_files="$ac_config_files Makefile pygobject-3.0.pc gi/Makefile gi/repository/Makefile gi/overrides/Makefile examples/Makefile tests/Makefile pygtkcompat/Makefile PKG-INFO"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
-$as_echo_n "checking that generated files are newer than configure... " >&6; }
-   if test -n "$am_sleep_pid"; then
-     # Hide warnings about reused PIDs.
-     wait $am_sleep_pid 2>/dev/null
-   fi
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
-$as_echo "done" >&6; }
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${OS_WIN32_TRUE}" && test -z "${OS_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"OS_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_INTROSPECTION_TRUE}" && test -z "${HAVE_INTROSPECTION_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_INTROSPECTION\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ENABLE_CAIRO_TRUE}" && test -z "${ENABLE_CAIRO_FALSE}"; then
-  as_fn_error $? "conditional \"ENABLE_CAIRO\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${WITH_COMMON_TRUE}" && test -z "${WITH_COMMON_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_COMMON\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CODE_COVERAGE_ENABLED_TRUE}" && test -z "${CODE_COVERAGE_ENABLED_FALSE}"; then
-  as_fn_error $? "conditional \"CODE_COVERAGE_ENABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by pygobject $as_me 3.28.3, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=pygobject>.
-pygobject home page: <https://wiki.gnome.org/Projects/PyGObject/>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-pygobject config.status 3.28.3
-configured by $0, generated by GNU Autoconf 2.69,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
-configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in AS \
-DLLTOOL \
-OBJDUMP \
-SHELL \
-ECHO \
-PATH_SEPARATOR \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_import \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-lt_cv_nm_interface \
-nm_file_list_spec \
-lt_cv_truncate_bin \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-configure_time_dlsearch_path \
-configure_time_lt_sys_library_path; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-
-# See if we are running on zsh, and set the options that allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}"; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "pygobject-3.0.pc") CONFIG_FILES="$CONFIG_FILES pygobject-3.0.pc" ;;
-    "gi/Makefile") CONFIG_FILES="$CONFIG_FILES gi/Makefile" ;;
-    "gi/repository/Makefile") CONFIG_FILES="$CONFIG_FILES gi/repository/Makefile" ;;
-    "gi/overrides/Makefile") CONFIG_FILES="$CONFIG_FILES gi/overrides/Makefile" ;;
-    "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
-    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "pygtkcompat/Makefile") CONFIG_FILES="$CONFIG_FILES pygtkcompat/Makefile" ;;
-    "PKG-INFO") CONFIG_FILES="$CONFIG_FILES PKG-INFO" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Older Autoconf quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named 'Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running 'make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "$am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options that allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}"; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile=${ofile}T
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-# Generated automatically by $as_me ($PACKAGE) $VERSION
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-
-# Provide generalized library-building support services.
-# Written by Gordon Matzigkeit, 1996
-
-# Copyright (C) 2014 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program or library that is built
-# using GNU Libtool, you may include this file under the  same
-# distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=''
-
-# Configured defaults for sys_lib_dlsearch_path munging.
-: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Assembler program.
-AS=$lt_AS
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Object dumper program.
-OBJDUMP=$lt_OBJDUMP
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shared archive member basename,for filename based shared library versioning on AIX.
-shared_archive_member_spec=$shared_archive_member_spec
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm into a list of symbols to manually relocate.
-global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# The name lister interface.
-nm_interface=$lt_lt_cv_nm_interface
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and where our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# Command to truncate a binary pipe.
-lt_truncate_bin=$lt_lt_cv_truncate_bin
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Detected run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
-
-# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
-configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \$shlibpath_var if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-    cat <<'_LT_EOF' >> "$cfgfile"
-
-# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
-
-# func_munge_path_list VARIABLE PATH
-# -----------------------------------
-# VARIABLE is name of variable containing _space_ separated list of
-# directories to be munged by the contents of PATH, which is string
-# having a format:
-# "DIR[:DIR]:"
-#       string "DIR[ DIR]" will be prepended to VARIABLE
-# ":DIR[:DIR]"
-#       string "DIR[ DIR]" will be appended to VARIABLE
-# "DIRP[:DIRP]::[DIRA:]DIRA"
-#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
-#       "DIRA[ DIRA]" will be appended to VARIABLE
-# "DIR[:DIR]"
-#       VARIABLE will be replaced by "DIR[ DIR]"
-func_munge_path_list ()
-{
-    case x$2 in
-    x)
-        ;;
-    *:)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
-        ;;
-    x:*)
-        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    *::*)
-        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
-        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
-        ;;
-    *)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    esac
-}
-
-
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-func_cc_basename ()
-{
-    for cc_temp in $*""; do
-      case $cc_temp in
-        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-        \-*) ;;
-        *) break;;
-      esac
-    done
-    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-}
-
-
-# ### END FUNCTIONS SHARED WITH CONFIGURE
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test set != "${COLLECT_NAMES+set}"; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain=$ac_aux_dir/ltmain.sh
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
-       pygobject $VERSION
-
-       Is release:                     $ax_is_release
-       Using python interpreter:       $PYTHON
-       cairo support:                  $enable_cairo
-       code coverage support:          $enable_code_coverage
-" >&5
-$as_echo "
-       pygobject $VERSION
-
-       Is release:                     $ax_is_release
-       Using python interpreter:       $PYTHON
-       cairo support:                  $enable_cairo
-       code coverage support:          $enable_code_coverage
-" >&6; }
-
diff --git a/configure.ac b/configure.ac
deleted file mode 100644 (file)
index 72064c4..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
--*- mode: m4 -*-
-AC_PREREQ([2.68])
-
-# The version of python used is determined by the executable pointed to by the
-# --with-python switch, or if that's not set, by the PYTHON environment
-# variable.  For instance if your system installs Python 3 as python3 to
-# configure to compile pygobject under Python 3 you would do this:
-#   $ ./configure --with-python=python3
-# or
-#   $ PYTHON=python3 ./configure
-#
-# You can also build against a full interpreter path, such as
-#   $ ./configure --with-python=~/my-patched-python/python
-
-m4_define(python_min_ver, 2.7)
-m4_define(python3_min_ver, 3.4)
-
-dnl the pygobject version number
-m4_define(pygobject_major_version, 3)
-m4_define(pygobject_minor_version, 28)
-m4_define(pygobject_micro_version, 3)
-m4_define(pygobject_version, pygobject_major_version.pygobject_minor_version.pygobject_micro_version)
-
-dnl versions of packages we require ...
-m4_define(introspection_required_version, 1.46.0)
-m4_define(pycairo_required_version, 1.11.1)
-m4_define(glib_required_version, 2.38.0)
-m4_define(gio_required_version, 2.38.0)
-m4_define(libffi_required_version, 3.0)
-
-AC_INIT([pygobject],[pygobject_version],
-       [http://bugzilla.gnome.org/enter_bug.cgi?product=pygobject],
-       [pygobject],[https://wiki.gnome.org/Projects/PyGObject/])
-
-m4_ifndef([AX_IS_RELEASE], [AC_MSG_ERROR(['autoconf-archive' missing])])
-
-AX_IS_RELEASE([minor-version])
-AC_CONFIG_MACRO_DIR([m4])
-AC_CONFIG_SRCDIR([gi/gimodule.c])
-
-AC_DEFINE(PYGOBJECT_MAJOR_VERSION, pygobject_major_version, [pygobject major version])
-AC_SUBST(PYGOBJECT_MAJOR_VERSION, pygobject_major_version)
-AC_DEFINE(PYGOBJECT_MINOR_VERSION, pygobject_minor_version, [pygobject minor version])
-AC_SUBST(PYGOBJECT_MINOR_VERSION, pygobject_minor_version)
-AC_DEFINE(PYGOBJECT_MICRO_VERSION, pygobject_micro_version, [pygobject micro version])
-AC_SUBST(PYGOBJECT_MICRO_VERSION, pygobject_micro_version)
-
-AC_CONFIG_HEADERS(config.h)
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)])
-AM_INIT_AUTOMAKE([1.13 foreign no-dist-gzip dist-xz])
-
-AC_CANONICAL_BUILD
-AC_CANONICAL_HOST
-AC_MSG_CHECKING([for build time linking with Python (Win32)])
-case "$host" in
-  *-*-mingw*|*-*-cygwin*)
-    os_win32=yes
-    link_python_libs=yes
-    OS_EXT=dll
-    ;;
-  *-*-darwin*)
-    os_win32=no
-    link_python_libs=no
-    OS_EXT=dylib
-    ;;
-  *)
-    os_win32=no
-    link_python_libs=no
-    OS_EXT=so
-    ;;
-esac
-AC_MSG_RESULT([$link_python_libs])
-AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
-
-AC_SUBST(OS_EXT)
-AC_DEFINE_UNQUOTED(OS_EXT, "$OS_EXT", [Define shared library extension])
-
-LT_PREREQ([2.2.6])
-LT_INIT([dlopen win32-dll disable-static])
-
-AC_SEARCH_LIBS([strerror],[cposix])
-AC_PROG_CC
-AM_PROG_CC_C_O
-
-# option to specify python interpreter to use; this just sets $PYTHON, so that
-# we will fallback to reading $PYTHON if --with-python is not given, and
-# python.m4 will get the expected input
-AC_ARG_WITH(python,
-  AS_HELP_STRING([--with-python=PATH],[Path to Python interpreter; searches $PATH if only a program name is given; if not given, searches for a few standard names such as "python3" or "python2"]),
-  [PYTHON="$withval"], [])
-if test x"$PYTHON" = xyes; then
-       AC_MSG_ERROR([--with-python option requires a path or program argument])
-fi
-if test -n "$PYTHON" && ! which "$PYTHON"; then
-       AC_MSG_ERROR([Python interpreter $PYTHON does not exist])
-fi
-
-# check that we have the minimum version of python necessary to build
-JD_PATH_PYTHON(python_min_ver)
-
-# check if we are building for python 3
-AM_PYTHON_CHECK_VERSION([$PYTHON], [3.0],
-                        build_py3k=true,
-                        build_py3k=false)
-
-# if building for python 3 make sure we have the minimum version supported
-if test $build_py3k = true ; then
-  AC_MSG_CHECKING([for $PYTHON >=] python3_min_ver)
-  AM_PYTHON_CHECK_VERSION([$PYTHON], python3_min_ver,
-                         [AC_MSG_RESULT(yes)],
-                         [AC_MSG_ERROR(too old)])
-fi
-
-# - 'SO' for PyPy, CPython 2.7-3.2
-# - 'EXT_SUFFIX' for CPython3.3+ (http://bugs.python.org/issue16754)
-# - fallback to '.so'
-PYTHON_SO=`$PYTHON -c "import distutils.sysconfig, sys; get = distutils.sysconfig.get_config_var; sys.stdout.write(get('EXT_SUFFIX') or get('SO') or '.so');"`
-AC_SUBST(PYTHON_SO)
-
-PYG_CHECK_PYTHON_HEADERS(, AC_MSG_ERROR([Python headers not found]))
-if test "x$link_python_libs" = "xyes"; then
-  PYG_CHECK_PYTHON_LIBS(, AC_MSG_ERROR([Python libs not found. Windows requires Python modules to be explicitly linked to libpython.]))
-fi
-
-dnl get rid of the -export-dynamic stuff from the configure flags ...
-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
-
-dnl glib
-AM_PATH_GLIB_2_0(glib_required_version,,[AC_MSG_ERROR(maybe you want the pygobject-2-4 branch?)],gobject $extra_mods)
-if test -n "$export_dynamic"; then
-  GLIB_LIBS=`echo $GLIB_LIBS | sed -e "s/$export_dynamic//"`
-fi
-
-PYTHON_VALGRIND_SUPP=`$PYTHON -c "import sys; sys.stdout.write('python' + sys.version.__getitem__(0))"`
-AC_SUBST([PYTHON_VALGRIND_SUPP])
-
-dnl libffi
-PKG_CHECK_MODULES(FFI, libffi >= libffi_required_version)
-
-AC_SUBST(FFI_CFLAGS)
-AC_SUBST(FFI_LIBS)
-
-dnl gio
-PKG_CHECK_MODULES(GIO, gio-2.0 >= gio_required_version)
-
-AC_ARG_ENABLE(cairo,
-    AS_HELP_STRING([--enable-cairo],[Enable Cairo bindings using introspection information]),
-    enable_cairo=$enableval,
-    enable_cairo=yes)
-
-PKG_CHECK_MODULES(GI,
-    glib-2.0 >= glib_required_version
-    gobject-introspection-1.0 >= introspection_required_version
-)
-
-GOBJECT_INTROSPECTION_CHECK(introspection_required_version)
-
-GI_DATADIR=$($PKG_CONFIG --variable=gidatadir gobject-introspection-1.0)
-AC_SUBST(GI_DATADIR)
-
-if test "$enable_cairo" != no; then
-    PKG_CHECK_MODULES(CAIRO, cairo cairo-gobject)
-
-    if test $build_py3k = true; then
-        PKG_CHECK_MODULES(PYCAIRO,
-            py3cairo >= pycairo_required_version
-        )
-    else
-        PKG_CHECK_MODULES(PYCAIRO,
-            pycairo >= pycairo_required_version
-        )
-    fi
-fi
-AM_CONDITIONAL(ENABLE_CAIRO, test "$enable_cairo" = "yes")
-
-AC_ARG_WITH(common,
-    AS_HELP_STRING([--without-common],
-        [For package maintainers: do not install Python version independent files]),
-    with_common=$enableval,
-    with_common=yes)
-AM_CONDITIONAL(WITH_COMMON, test "$with_common" = "yes")
-
-# Disable -Werror always, see
-# https://mail.gnome.org/archives/desktop-devel-list/2017-April/msg00009.html
-AX_COMPILER_FLAGS(,, [yes])
-# Disable some warnings, either because they get generated by headers of
-# dependencies we don't control or because it was hard to fix them.
-# Feel free and try to get rid of them.
-# For clang only:
-AX_APPEND_COMPILE_FLAGS([-Wno-unknown-warning-option -Wno-incompatible-pointer-types-discards-qualifiers -Wno-cast-align])
-# For gcc + clang:
-AX_APPEND_COMPILE_FLAGS([-Wno-discarded-qualifiers -Wno-redundant-decls -Wno-switch-enum -Wno-undef])
-
-AX_CODE_COVERAGE()
-
-AC_CONFIG_FILES(
-  Makefile
-  pygobject-3.0.pc
-  gi/Makefile
-  gi/repository/Makefile
-  gi/overrides/Makefile
-  examples/Makefile
-  tests/Makefile
-  pygtkcompat/Makefile
-  PKG-INFO)
-AC_OUTPUT
-
-AC_MSG_RESULT([
-       pygobject $VERSION
-
-       Is release:                     $ax_is_release
-       Using python interpreter:       $PYTHON
-       cairo support:                  $enable_cairo
-       code coverage support:          $enable_code_coverage
-])
-
diff --git a/depcomp b/depcomp
deleted file mode 100755 (executable)
index b39f98f..0000000
--- a/depcomp
+++ /dev/null
@@ -1,791 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2016-01-11.22; # UTC
-
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-
-case $1 in
-  '')
-    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
-    exit 1;
-    ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
-  depmode     Dependency tracking mode.
-  source      Source file read by 'PROGRAMS ARGS'.
-  object      Object file output by 'PROGRAMS ARGS'.
-  DEPDIR      directory where to store dependencies.
-  depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputting dependencies.
-  libtool     Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "depcomp $scriptversion"
-    exit $?
-    ;;
-esac
-
-# Get the directory component of the given path, and save it in the
-# global variables '$dir'.  Note that this directory component will
-# be either empty or ending with a '/' character.  This is deliberate.
-set_dir_from ()
-{
-  case $1 in
-    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
-      *) dir=;;
-  esac
-}
-
-# Get the suffix-stripped basename of the given path, and save it the
-# global variable '$base'.
-set_base_from ()
-{
-  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
-}
-
-# If no dependency file was actually created by the compiler invocation,
-# we still have to create a dummy depfile, to avoid errors with the
-# Makefile "include basename.Plo" scheme.
-make_dummy_depfile ()
-{
-  echo "#dummy" > "$depfile"
-}
-
-# Factor out some common post-processing of the generated depfile.
-# Requires the auxiliary global variable '$tmpdepfile' to be set.
-aix_post_process_depfile ()
-{
-  # If the compiler actually managed to produce a dependency file,
-  # post-process it.
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form 'foo.o: dependency.h'.
-    # Do two passes, one to just change these to
-    #   $object: dependency.h
-    # and one to simply output
-    #   dependency.h:
-    # which is needed to avoid the deleted-header problem.
-    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
-      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
-    } > "$depfile"
-    rm -f "$tmpdepfile"
-  else
-    make_dummy_depfile
-  fi
-}
-
-# A tabulation character.
-tab='  '
-# A newline character.
-nl='
-'
-# Character ranges might be problematic outside the C locale.
-# These definitions help.
-upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
-lower=abcdefghijklmnopqrstuvwxyz
-digits=0123456789
-alpha=${upper}${lower}
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-  echo "depcomp: Variables source, object and depmode must be set" 1>&2
-  exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
-  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Avoid interferences from the environment.
-gccflag= dashmflag=
-
-# Some modes work just like other modes, but use different flags.  We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write.  Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
-  # HP compiler uses -M and no extra arg.
-  gccflag=-M
-  depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
-  # This is just like dashmstdout with a different argument.
-  dashmflag=-xM
-  depmode=dashmstdout
-fi
-
-cygpath_u="cygpath -u -f -"
-if test "$depmode" = msvcmsys; then
-  # This is just like msvisualcpp but w/o cygpath translation.
-  # Just convert the backslash-escaped backslashes to single forward
-  # slashes to satisfy depend.m4
-  cygpath_u='sed s,\\\\,/,g'
-  depmode=msvisualcpp
-fi
-
-if test "$depmode" = msvc7msys; then
-  # This is just like msvc7 but w/o cygpath translation.
-  # Just convert the backslash-escaped backslashes to single forward
-  # slashes to satisfy depend.m4
-  cygpath_u='sed s,\\\\,/,g'
-  depmode=msvc7
-fi
-
-if test "$depmode" = xlc; then
-  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
-  gccflag=-qmakedep=gcc,-MF
-  depmode=gcc
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff.  Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am.  Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
-  for arg
-  do
-    case $arg in
-    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
-    *)  set fnord "$@" "$arg" ;;
-    esac
-    shift # fnord
-    shift # $arg
-  done
-  "$@"
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  mv "$tmpdepfile" "$depfile"
-  ;;
-
-gcc)
-## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
-## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
-## (see the conditional assignment to $gccflag above).
-## There are various ways to get dependency output from gcc.  Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-##   up in a subdir.  Having to rename by hand is ugly.
-##   (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).  Also, it might not be
-##   supported by the other compilers which use the 'gcc' depmode.
-## - Using -M directly means running the compiler twice (even worse
-##   than renaming).
-  if test -z "$gccflag"; then
-    gccflag=-MD,
-  fi
-  "$@" -Wp,"$gccflag$tmpdepfile"
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  # The second -e expression handles DOS-style file names with drive
-  # letters.
-  sed -e 's/^[^:]*: / /' \
-      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the "deleted header file" problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header).  We avoid this by adding
-## dummy dependencies for each header file.  Too bad gcc doesn't do
-## this for us directly.
-## Some versions of gcc put a space before the ':'.  On the theory
-## that the space means something, we add a space to the output as
-## well.  hp depmode also adds that space, but also prefixes the VPATH
-## to the object.  Take care to not repeat it in the output.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-  tr ' ' "$nl" < "$tmpdepfile" \
-    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
-    | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like '#:fec' to the end of the
-    # dependency line.
-    tr ' ' "$nl" < "$tmpdepfile" \
-      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
-      | tr "$nl" ' ' >> "$depfile"
-    echo >> "$depfile"
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' "$nl" < "$tmpdepfile" \
-      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-      >> "$depfile"
-  else
-    make_dummy_depfile
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-xlc)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-aix)
-  # The C for AIX Compiler uses -M and outputs the dependencies
-  # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts '$object:' at the
-  # start of each line; $object doesn't have directory information.
-  # Version 6 uses the directory in both cases.
-  set_dir_from "$object"
-  set_base_from "$object"
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$base.u
-    tmpdepfile3=$dir.libs/$base.u
-    "$@" -Wc,-M
-  else
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$dir$base.u
-    tmpdepfile3=$dir$base.u
-    "$@" -M
-  fi
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-    exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  aix_post_process_depfile
-  ;;
-
-tcc)
-  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
-  # FIXME: That version still under development at the moment of writing.
-  #        Make that this statement remains true also for stable, released
-  #        versions.
-  # It will wrap lines (doesn't matter whether long or short) with a
-  # trailing '\', as in:
-  #
-  #   foo.o : \
-  #    foo.c \
-  #    foo.h \
-  #
-  # It will put a trailing '\' even on the last line, and will use leading
-  # spaces rather than leading tabs (at least since its commit 0394caf7
-  # "Emit spaces for -MD").
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
-  # We have to change lines of the first kind to '$object: \'.
-  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
-  # And for each line of the second kind, we have to emit a 'dep.h:'
-  # dummy dependency, to avoid the deleted-header problem.
-  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-## The order of this option in the case statement is important, since the
-## shell code in configure will try each of these formats in the order
-## listed in this file.  A plain '-MD' option would be understood by many
-## compilers, so we must ensure this comes after the gcc and icc options.
-pgcc)
-  # Portland's C compiler understands '-MD'.
-  # Will always output deps to 'file.d' where file is the root name of the
-  # source file under compilation, even if file resides in a subdirectory.
-  # The object file name does not affect the name of the '.d' file.
-  # pgcc 10.2 will output
-  #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using '\' :
-  #    foo.o: sub/foo.c ... \
-  #     sub/foo.h ... \
-  #     ...
-  set_dir_from "$object"
-  # Use the source, not the object, to determine the base name, since
-  # that's sadly what pgcc will do too.
-  set_base_from "$source"
-  tmpdepfile=$base.d
-
-  # For projects that build the same source file twice into different object
-  # files, the pgcc approach of using the *source* file root name can cause
-  # problems in parallel builds.  Use a locking strategy to avoid stomping on
-  # the same $tmpdepfile.
-  lockdir=$base.d-lock
-  trap "
-    echo '$0: caught signal, cleaning up...' >&2
-    rmdir '$lockdir'
-    exit 1
-  " 1 2 13 15
-  numtries=100
-  i=$numtries
-  while test $i -gt 0; do
-    # mkdir is a portable test-and-set.
-    if mkdir "$lockdir" 2>/dev/null; then
-      # This process acquired the lock.
-      "$@" -MD
-      stat=$?
-      # Release the lock.
-      rmdir "$lockdir"
-      break
-    else
-      # If the lock is being held by a different process, wait
-      # until the winning process is done or we timeout.
-      while test -d "$lockdir" && test $i -gt 0; do
-        sleep 1
-        i=`expr $i - 1`
-      done
-    fi
-    i=`expr $i - 1`
-  done
-  trap - 1 2 13 15
-  if test $i -le 0; then
-    echo "$0: failed to acquire lock after $numtries attempts" >&2
-    echo "$0: check lockdir '$lockdir'" >&2
-    exit 1
-  fi
-
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
-  # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
-    | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp2)
-  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
-  # compilers, which have integrated preprocessors.  The correct option
-  # to use with these is +Maked; it writes dependencies to a file named
-  # 'foo.d', which lands next to the object file, wherever that
-  # happens to be.
-  # Much of this is similar to the tru64 case; see comments there.
-  set_dir_from  "$object"
-  set_base_from "$object"
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir.libs/$base.d
-    "$@" -Wc,+Maked
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    "$@" +Maked
-  fi
-  stat=$?
-  if test $stat -ne 0; then
-     rm -f "$tmpdepfile1" "$tmpdepfile2"
-     exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add 'dependent.h:' lines.
-    sed -ne '2,${
-               s/^ *//
-               s/ \\*$//
-               s/$/:/
-               p
-             }' "$tmpdepfile" >> "$depfile"
-  else
-    make_dummy_depfile
-  fi
-  rm -f "$tmpdepfile" "$tmpdepfile2"
-  ;;
-
-tru64)
-  # The Tru64 compiler uses -MD to generate dependencies as a side
-  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
-  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-  # dependencies in 'foo.d' instead, so we check for that too.
-  # Subdirectories are respected.
-  set_dir_from  "$object"
-  set_base_from "$object"
-
-  if test "$libtool" = yes; then
-    # Libtool generates 2 separate objects for the 2 libraries.  These
-    # two compilations output dependencies in $dir.libs/$base.o.d and
-    # in $dir$base.o.d.  We have to check for both files, because
-    # one of the two compilations can be disabled.  We should prefer
-    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-    # automatically cleaned when .libs/ is deleted, while ignoring
-    # the former would cause a distcleancheck panic.
-    tmpdepfile1=$dir$base.o.d          # libtool 1.5
-    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
-    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
-    "$@" -Wc,-MD
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    tmpdepfile3=$dir$base.d
-    "$@" -MD
-  fi
-
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-    exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  # Same post-processing that is required for AIX mode.
-  aix_post_process_depfile
-  ;;
-
-msvc7)
-  if test "$libtool" = yes; then
-    showIncludes=-Wc,-showIncludes
-  else
-    showIncludes=-showIncludes
-  fi
-  "$@" $showIncludes > "$tmpdepfile"
-  stat=$?
-  grep -v '^Note: including file: ' "$tmpdepfile"
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  # The first sed program below extracts the file names and escapes
-  # backslashes for cygpath.  The second sed program outputs the file
-  # name when reading, but also accumulates all include files in the
-  # hold buffer in order to output them again at the end.  This only
-  # works with sed implementations that can handle large buffers.
-  sed < "$tmpdepfile" -n '
-/^Note: including file:  *\(.*\)/ {
-  s//\1/
-  s/\\/\\\\/g
-  p
-}' | $cygpath_u | sort -u | sed -n '
-s/ /\\ /g
-s/\(.*\)/'"$tab"'\1 \\/p
-s/.\(.*\) \\/\1:/
-H
-$ {
-  s/.*/'"$tab"'/
-  G
-  p
-}' >> "$depfile"
-  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
-  rm -f "$tmpdepfile"
-  ;;
-
-msvc7msys)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-#nosideeffect)
-  # This comment above is used by automake to tell side-effect
-  # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove '-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for ':'
-  # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
-  "$@" $dashmflag |
-    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this sed invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  tr ' ' "$nl" < "$tmpdepfile" \
-    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
-    | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-dashXmstdout)
-  # This case only exists to satisfy depend.m4.  It is never actually
-  # run, as this mode is specially recognized in the preamble.
-  exit 1
-  ;;
-
-makedepend)
-  "$@" || exit $?
-  # Remove any Libtool call
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-  # X makedepend
-  shift
-  cleared=no eat=no
-  for arg
-  do
-    case $cleared in
-    no)
-      set ""; shift
-      cleared=yes ;;
-    esac
-    if test $eat = yes; then
-      eat=no
-      continue
-    fi
-    case "$arg" in
-    -D*|-I*)
-      set fnord "$@" "$arg"; shift ;;
-    # Strip any option that makedepend may not understand.  Remove
-    # the object too, otherwise makedepend will parse it as a source file.
-    -arch)
-      eat=yes ;;
-    -*|$object)
-      ;;
-    *)
-      set fnord "$@" "$arg"; shift ;;
-    esac
-  done
-  obj_suffix=`echo "$object" | sed 's/^.*\././'`
-  touch "$tmpdepfile"
-  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
-  rm -f "$depfile"
-  # makedepend may prepend the VPATH from the source file name to the object.
-  # No need to regex-escape $object, excess matching of '.' is harmless.
-  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process the last invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed '1,2d' "$tmpdepfile" \
-    | tr ' ' "$nl" \
-    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
-    | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile" "$tmpdepfile".bak
-  ;;
-
-cpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove '-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  "$@" -E \
-    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-    | sed '$ s: \\$::' > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  cat < "$tmpdepfile" >> "$depfile"
-  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvisualcpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  IFS=" "
-  for arg
-  do
-    case "$arg" in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-        set fnord "$@"
-        shift
-        shift
-        ;;
-    *)
-        set fnord "$@" "$arg"
-        shift
-        shift
-        ;;
-    esac
-  done
-  "$@" -E 2>/dev/null |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
-  echo "$tab" >> "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvcmsys)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-none)
-  exec "$@"
-  ;;
-
-*)
-  echo "Unknown depmode $depmode" 1>&2
-  exit 1
-  ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
-# time-stamp-end: "; # UTC"
-# End:
index d18b8f0..830c23f 100644 (file)
@@ -13,8 +13,8 @@ We use the GNOME GitLab issue tracker:
 * Create a new issue: https://gitlab.gnome.org/GNOME/pygobject/issues/new
 
 
-|github-logo| Git Repo
-----------------------
+|git-logo| Git Repo
+-------------------
 
 PyGObject uses `Git <https://git-scm.com/>`_ for source control and the git
 repo is hosted on the `GNOME Gitlab instance <https://gitlab.gnome.org/>`__:
index 176c69e..9609974 100644 (file)
@@ -14,6 +14,7 @@ intersphinx_mapping = {
     'gio': ('https://lazka.github.io/pgi-docs/Gio-2.0', None),
     'python2': ('https://docs.python.org/2.7', None),
     'python3': ('https://docs.python.org/3', None),
+    'cairo': ('https://pycairo.readthedocs.io/en/latest', None),
 }
 
 source_suffix = '.rst'
@@ -51,10 +52,10 @@ html_theme_options = {
 
 extlinks = {
     'bzbug': ('https://bugzilla.gnome.org/show_bug.cgi?id=%s', 'bz#'),
-    'issue': ('https://gitlab.gnome.org/GNOME/pygobject/issues/%s', 'issue#'),
-    'commit': ('https://gitlab.gnome.org/GNOME/pygobject/commit/%s', 'commit#'),
+    'issue': ('https://gitlab.gnome.org/GNOME/pygobject/issues/%s', '#'),
+    'commit': ('https://gitlab.gnome.org/GNOME/pygobject/commit/%s', ''),
     'mr': (
-        'https://gitlab.gnome.org/GNOME/pygobject/merge_requests/%s', 'mr#'),
+        'https://gitlab.gnome.org/GNOME/pygobject/merge_requests/%s', '!'),
     'user': ('https://gitlab.gnome.org/%s', ''),
 }
 
index f41de73..82b97db 100644 (file)
@@ -2,10 +2,20 @@
 Contact
 =======
 
-**IRC**
-    #python on irc.gnome.org
+Issue Tracker
+    If you have any questions, problems or want to give feedback please file
+    an issue in our `issue tracker
+    <https://gitlab.gnome.org/GNOME/pygobject/issues>`__.
 
-    Logs for the channel: https://quodlibet.duckdns.org/irc/pygobject
+IRC
+    For chatting with the community we have an IRC channel named
+    ``#python`` on ``irc.gnome.org``. Logs for the channel are available at
+    https://quodlibet.duckdns.org/irc/pygobject.
 
-**Mailinglist**
-    https://mail.gnome.org/mailman/listinfo/python-hackers-list
+Mailing List
+    If you want to start a discussion with the Python community that is part
+    of the GNOME project use the mailing list at
+    https://mail.gnome.org/mailman/listinfo/python-hackers-list.
+
+If you are unsure which communication channel to use **please use the issue
+tracker**.
index f2c9624..4f4c075 100644 (file)
@@ -11,40 +11,6 @@ To pass extra arguments to pytest you can set "PYTEST_ADDOPTS":
     python3 setup.py test
 
 
-Using Autotools
----------------
-
-.. code:: shell
-
-    # Building for Python 2
-    ./autogen.sh --with-python=python2
-    make
-
-    # Building for Python 3
-    ./autogen.sh --with-python=python3
-    make
-
-    # Executing some code after the build
-    PYTHONPATH=. python3 foo.py
-
-    # To run the test suite
-    make check
-
-    # To test only a specific file/class/function::
-    make check TEST_NAMES=test_gi
-    make check TEST_NAMES=test_gi.TestUtf8
-    make check TEST_NAMES=test_gi.TestUtf8.test_utf8_full_return
-
-    # To execute all the tests in a gdb session
-    make check.gdb
-
-    # To executes all the tests in valgrind
-    make check.valgrind
-
-    # To execute flake8 tests
-    make check.quality
-
-
 Using Setuptools
 ----------------
 
@@ -67,8 +33,22 @@ Using Setuptools
     TEST_NAMES=test_gi.TestUtf8 python3 setup.py test
     TEST_NAMES=test_gi.TestUtf8.test_utf8_full_return python3 setup.py test
 
+    # To display stdout and pytest verbose output:
+    PYGI_TEST_VERBOSE=yes python3 setup.py test
+    # or:
+    python3 setup.py test -s
+
     # using pytest directly
     py.test-3 tests/test_gi.py
 
     # Running flake8 tests
     python3 setup.py quality
+
+    # Run under gdb
+    python3 setup.py test --gdb
+
+    # Run under valgrind
+    python3 setup.py test --valgrind --valgrind-log-file=valgrind.log
+
+    # Create a release tarball for GNOME
+    python3 setup.py sdist_gnome
index 081cd77..265a551 100644 (file)
@@ -1,26 +1,83 @@
 .. include:: ../icons.rst
 
-==================================
+.. _devenv:
+
+##################################
 Creating a Development Environment
-==================================
+##################################
+
+This describes how to setup a development environment for working on a project
+that uses PyGObject, or for working on PyGObject itself. Please follow the
+instructions on ":ref:`gettingstarted`" first, as they are a pre-requirement.
+
+.. _pipenv-setup:
+
+************
+Pipenv Setup
+************
 
-This describes how to work on PyGObject itself. Please follow the instructions
-on ":ref:`gettingstarted`" first, as they are a pre-requirement.
+.. _install-dependencies:
 
+Install Dependencies
+====================
+In order to compile Python and pip install pygobject, dependencies are need for
+your operating system.
+
+=========================================== ======================================== ==============================================
+|ubuntu-logo| :ref:`Ubuntu <ubuntu-dep>`    |fedora-logo| :ref:`Fedora <fedora-dep>` |arch-logo| :ref:`Arch Linux <arch-dep>`
+|windows-logo| :ref:`Windows <windows-dep>` |macosx-logo| :ref:`macOS <macosx-dep>`  |opensuse-logo| :ref:`openSUSE <opensuse-dep>`
+=========================================== ======================================== ==============================================
+
+.. _ubuntu-dep:
 
 |ubuntu-logo| Ubuntu / |debian-logo| Debian
 -------------------------------------------
 
 .. code:: console
 
-    sudo apt build-dep pygobject
-    sudo apt install autoconf-archive python3-pytest python3-flake8
-    git clone https://gitlab.gnome.org/GNOME/pygobject.git
-    cd pygobject
-    ./autogen.sh
-    make
-    make check
+    sudo apt-get install -y python3-venv python3-wheel python3-dev
+    sudo apt-get install -y libgirepository1.0-dev build-essential \
+      libbz2-dev libreadline-dev libssl-dev zlib1g-dev libsqlite3-dev wget \
+      curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libcairo2-dev
+
+
+.. _fedora-dep:
+
+|fedora-logo| Fedora
+--------------------
+
+.. code:: console
+
+    sudo dnf install -y python3-venv python3-wheel
+    sudo dnf install -y gcc zlib-devel bzip2 bzip2-devel readline-devel \
+      sqlite sqlite-devel openssl-devel tk-devel git python3-cairo-devel \
+      cairo-gobject-devel gobject-introspection-devel
+
+
+.. _arch-dep:
+
+|arch-logo| Arch Linux
+----------------------
+
+.. code:: console
+
+    sudo pacman -S --noconfirm python-virtualenv python-wheel
+    sudo pacman -S --noconfirm base-devel openssl zlib git gobject-introspection
+
+
+.. _opensuse-dep:
+
+|opensuse-logo| openSUSE
+------------------------
+
+.. code:: console
+
+    sudo zypper install -y python3-venv python3-wheel gobject-introspection \
+      python3-cairo-devel openssl zlib git
+    sudo zypper install --type pattern devel_basis
+
 
+.. _windows-dep:
 
 |windows-logo| Windows
 ----------------------
@@ -28,21 +85,182 @@ on ":ref:`gettingstarted`" first, as they are a pre-requirement.
 .. code:: console
 
     pacman -S --needed --noconfirm base-devel mingw-w64-i686-toolchain git \
-        mingw-w64-i686-python3 mingw-w64-i686-python3-cairo \
-        mingw-w64-i686-gobject-introspection mingw-w64-i686-gtk3 \
-        mingw-w64-i686-libffi autoconf-archive mingw-w64-i686-python3-pytest \
-        mingw-w64-i686-python3-pip
-    pip3 install --user flake8
-    git clone https://gitlab.gnome.org/GNOME/pygobject.git
-    cd pygobject
-    ./autogen.sh
-    make
-    make check
+       mingw-w64-i686-python3 mingw-w64-i686-python3-cairo \
+       mingw-w64-i686-gobject-introspection mingw-w64-i686-libffi
+
+.. _macosx-dep:
+
+|macosx-logo| macOS
+-------------------
+
+No extra dependencies needed.
+
+
+.. _install-pyenv:
+
+Install `pyenv`_
+================
+
+`pyenv`_ lets you easily switch between multiple versions of Python.
+
+============================================= =========================================
+|linux-logo| :ref:`Linux <linux-pyenv>`       |macosx-logo| :ref:`macOS <macosx-pyenv>`
+|windows-logo| :ref:`Windows <windows-pyenv>`
+============================================= =========================================
+
+.. _linux-pyenv:
+
+|linux-logo| Linux
+------------------
 
+.. code:: console
+
+    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
+    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
+    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
+    echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc
+    source ~/.bashrc
+    pyenv install 3.6.4
+
+
+.. _windows-pyenv:
+
+|windows-logo| Windows
+----------------------
+
+TODO: currently no way to install `pyenv`_ in Windows. So we'll use a normal
+`virtualenv`_ instead.
+
+.. code:: console
+
+    virtualenv --python 3 myvenv
+    source myvenv/bin/activate
+
+
+.. _macosx-pyenv:
 
 |macosx-logo| macOS
 -------------------
 
 .. code:: console
 
-    # TODO
+    brew install pyenv
+    pyenv install 3.6.4
+
+
+.. _install-pipsi:
+
+Install `pipsi`_
+================
+
+`pipsi`_ is a wrapper around virtualenv and pip which installs
+scripts provided by python packages into separate virtualenvs to shield them
+from your system and each other. We'll use this to install pipenv.
+
+============================================= =========================================
+|linux-logo| :ref:`Linux <linux-pipsi>`       |macosx-logo| :ref:`macOS <macosx-pipsi>`
+|windows-logo| :ref:`Windows <windows-pipsi>`
+============================================= =========================================
+
+.. _linux-pipsi:
+
+|linux-logo| Linux
+------------------
+
+.. code:: console
+
+    curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python3 - --src=git+https://github.com/mitsuhiko/pipsi.git\#egg=pipsi
+    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
+    source ~/.bashrc
+    pipsi install pew
+    pipsi install pipenv
+
+
+.. _windows-pipsi:
+
+|windows-logo| Windows
+----------------------
+
+.. code:: console
+
+    curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python3 - --src=git+https://github.com/mitsuhiko/pipsi.git\#egg=pipsi
+
+Add C:/\Users/\.local/\bin to your path via Control Panel->All Control Panel
+Items->System->Advanced System Setttings->Environment Variables
+
+.. code:: console
+
+    pipsi install pew
+    pipsi install pipenv
+
+
+.. _macosx-pipsi:
+
+|macosx-logo| macOS
+-------------------
+
+With homebrew:
+
+.. code:: console
+
+    brew install pipenv
+
+With pipsi:
+
+.. code:: console
+
+    curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python3 - --src=git+https://github.com/mitsuhiko/pipsi.git\#egg=pipsi
+    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
+    source ~/.bashrc
+    pipsi install pew
+    pipsi install pipenv
+
+
+.. _projects-pygobject-dependencies:
+
+************************************
+Projects with PyGObject Dependencies
+************************************
+
+If you are going to work on a project that has PyGObject as a dependency, then
+do the following additional steps:
+
+.. code:: console
+
+    git clone <url/projectname.git>
+    cd projectname
+    pipenv --python 3
+    pipenv install pycairo
+    pipenv install pygobject
+    pipenv shell
+
+
+.. _work-on-pygobject:
+
+*****************
+Work on PyGObject
+*****************
+
+.. _platform-ind-steps:
+
+Platform Independent Steps
+==========================
+
+
+If you are going to work on developing PyGObject itself, then do the following
+additional steps:
+
+.. code:: console
+
+    git clone https://gitlab.gnome.org/GNOME/pygobject.git
+    cd pygobject
+    pipenv --python 3
+    pipenv install pytest
+    pipenv install flake8
+    pipenv shell
+
+
+.. _pyenv: https://github.com/pyenv/pyenv
+.. _pipsi: https://github.com/mitsuhiko/pipsi
+.. _pipenv: https://github.com/pypa/pipenv
+.. _virtualenv: https://www.virtualenv.org
index fe2a6a4..4cee81a 100644 (file)
@@ -25,13 +25,13 @@ the following content and save it somewhere:
 Before we can run the example application we need to install PyGObject, GTK+
 and their dependencies. Follow the instructions for your platform below.
 
-======================================= ==================================== ==================================== ==========================================
-|ubuntu-logo| :ref:`Ubuntu <ubuntu>`    |fedora-logo| :ref:`Fedora <fedora>` |arch-logo| :ref:`Arch Linux <arch>` |opensuse-logo| :ref:`openSUSE <opensuse>`
-|windows-logo| :ref:`Windows <windows>` |macosx-logo| :ref:`macOS <macosx>`  |python-logo| :ref:`PyPI <pypi>`
-======================================= ==================================== ==================================== ==========================================
+======================================================= ==================================================== ==================================================== ==========================================================
+|ubuntu-logo| :ref:`Ubuntu <ubuntu-getting-started>`    |fedora-logo| :ref:`Fedora <fedora-getting-started>` |arch-logo| :ref:`Arch Linux <arch-getting-started>` |opensuse-logo| :ref:`openSUSE <opensuse-getting-started>`
+|windows-logo| :ref:`Windows <windows-getting-started>` |macosx-logo| :ref:`macOS <macosx-getting-started>`  |python-logo| :ref:`PyPI <pypi-getting-started>`
+======================================================= ==================================================== ==================================================== ==========================================================
 
 
-.. _windows:
+.. _windows-getting-started:
 
 |windows-logo| Windows
 ----------------------
@@ -48,7 +48,7 @@ and their dependencies. Follow the instructions for your platform below.
     :scale: 60%
 
 
-.. _ubuntu:
+.. _ubuntu-getting-started:
 
 |ubuntu-logo| Ubuntu / |debian-logo| Debian
 -------------------------------------------
@@ -62,7 +62,7 @@ and their dependencies. Follow the instructions for your platform below.
     :scale: 60%
 
 
-.. _fedora:
+.. _fedora-getting-started:
 
 |fedora-logo| Fedora
 --------------------
@@ -73,7 +73,7 @@ and their dependencies. Follow the instructions for your platform below.
 4) Run ``python3 hello.py``
 
 
-.. _arch:
+.. _arch-getting-started:
 
 |arch-logo| Arch Linux
 ----------------------
@@ -84,7 +84,7 @@ and their dependencies. Follow the instructions for your platform below.
 4) Run ``python3 hello.py``
 
 
-.. _opensuse:
+.. _opensuse-getting-started:
 
 |opensuse-logo| openSUSE
 ------------------------
@@ -95,14 +95,14 @@ and their dependencies. Follow the instructions for your platform below.
 4) Run ``python3 hello.py``
 
 
-.. _macosx:
+.. _macosx-getting-started:
 
 |macosx-logo| macOS
 -------------------
 
 1) Go to https://brew.sh/ and install homebrew
 2) Open a terminal
-3) Execute ``brew install pygobject3 --with-python3 gtk+3`` to install for both python2 and python3
+3) Execute ``brew install pygobject3 --with-python@2 gtk+3`` to install for both python2 and python3
 4) Change the directory to where your ``hello.py`` script can be found (e.g. ``cd Desktop``)
 5) Run ``python3 hello.py``
 
@@ -110,7 +110,7 @@ and their dependencies. Follow the instructions for your platform below.
     :scale: 70%
 
 
-.. _pypi:
+.. _pypi-getting-started:
 
 |python-logo| From PyPI
 -----------------------
@@ -126,3 +126,7 @@ dependencies are present yourself as pip will only take care of pycairo.
     source myvenv/bin/activate
     pip install pygobject
     python hello.py
+
+
+For more details on how to use a virtualenv with PyGObject, see the
+":ref:`devenv`" page.
index 7637df2..6ccf5ce 100644 (file)
 
     <i class="fa fa-github"></i>
 
+.. |git-logo| raw:: html
+
+    <i class="fa fa-git-square"></i>
+
 .. |bug-logo| raw:: html
 
     <i class="fa fa-bug"></i>
index 88f015f..5715ab8 100644 (file)
@@ -5,24 +5,22 @@ Maintainer Guide
 Making a Release
 ----------------
 
-#. Make sure configure.ac has the right version number
-#. Update NEWS file (use ``make release-news`` target and then edit as you see
-   fit)
-#. Run ``make distcheck``, fix any issues and commit.
+#. Make sure setup.py has the right version number
+#. Update NEWS file
+#. Run ``python3 setup.py distcheck``, fix any issues and commit.
 #. Commit NEWS as ``"release 3.X.Y"`` and push
 #. Tag with: ``git tag -s 3.X.Y -m "release 3.X.Y"``
 #. Push tag with: ``git push origin 3.X.Y``
-#. In case of a stable release ``python3 setup.py distcheck`` and
-   ``python3 setup.py sdist register upload``
-#. Commit post-release version bump to configure.ac
-#. Upload tarball: ``scp pygobject-3.X.Y.tar.gz user@master.gnome.org:``
+#. In case of a stable release, upload to PyPI:
+   ``twine upload dist/PyGObject-3.X.Y.tar.gz``
+#. Commit post-release version bump to setup.py
+#. Create GNOME tarball ``python3 setup.py sdist_gnome``
+#. Upload tarball: ``scp pygobject-3.X.Y.tar.xz user@master.gnome.org:``
 #. Install tarball:
-   ``ssh user@master.gnome.org 'ftpadmin install pygobject-3.X.Y.tar.gz'``
+   ``ssh user@master.gnome.org 'ftpadmin install pygobject-3.X.Y.tar.xz'``
 #. In case the release happens on a stable branch copy the NEWS changes to
    the master branch
 
-Based on https://wiki.gnome.org/MaintainersCorner/Releasing
-
 
 Branching
 ---------
@@ -32,5 +30,5 @@ can continue in the master branch unaffected by the freezes.
 
 #. Create the branch locally with: ``git checkout -b pygobject-3-2``
 #. Push new branch: ``git push origin pygobject-3-2``
-#. In master, update configure.ac to what will be the next version number
+#. In master, update setup.py to what will be the next version number
    (3.3.0)
index ab1fffe..7d6fafa 100644 (file)
@@ -6,19 +6,17 @@ Some notes on how to package PyGObject
 Source packages can be found at
 https://ftp.gnome.org/pub/GNOME/sources/pygobject
 
-
 Existing Packages:
 
 * https://www.archlinux.org/packages/extra/x86_64/python-gobject
-* https://packages.qa.debian.org/p/pygobject.html
+* https://tracker.debian.org/pkg/pygobject
 * https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-pygobject
 
-
 Building::
 
-    ./configure --with-python=${PYTHON} --prefix="${PREFIX}"
-    make check # if you want to run the test suite
-    make DESTDIR="${PKGDIR}" install
+    python3 setup.py build
+    python3 setup.py test # if you want to run the test suite
+    python3 setup.py install --prefix="${PREFIX}" --root="${PKGDIR}"
 
 Runtime dependencies:
 
@@ -37,15 +35,7 @@ Build dependencies:
     * cairo (optional)
     * pycairo (optional)
     * pkg-config
-
-    If autotools is used:
-
-        * gnome-common for PyGObject < 3.26
-        * autoconf-archive for PyGObject >= 3.26
-
-    If setup.py is used:
-
-        * setuptools
+    * setuptools (optional)
 
 Test Suite dependencies:
 
diff --git a/examples/Makefile.am b/examples/Makefile.am
deleted file mode 100644 (file)
index c023cc0..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-EXTRA_DIST = \
-       properties.py \
-       signal.py \
-       option.py \
-       cairo-demo.py \
-       demo
diff --git a/examples/Makefile.in b/examples/Makefile.in
deleted file mode 100644 (file)
index 644636c..0000000
+++ /dev/null
@@ -1,514 +0,0 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2017 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@
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) 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@
-subdir = examples
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
-       $(top_srcdir)/m4/ax_append_flag.m4 \
-       $(top_srcdir)/m4/ax_append_link_flags.m4 \
-       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
-       $(top_srcdir)/m4/ax_check_link_flag.m4 \
-       $(top_srcdir)/m4/ax_code_coverage.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_cflags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_gir.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_ldflags.m4 \
-       $(top_srcdir)/m4/ax_is_release.m4 \
-       $(top_srcdir)/m4/ax_require_defined.m4 \
-       $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/introspection.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/pkg.m4 \
-       $(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-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__DIST_COMMON = $(srcdir)/Makefile.in
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
-CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
-CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
-CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
-CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
-CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
-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@
-FFI_CFLAGS = @FFI_CFLAGS@
-FFI_LIBS = @FFI_LIBS@
-FGREP = @FGREP@
-GCOV = @GCOV@
-GENHTML = @GENHTML@
-GIO_CFLAGS = @GIO_CFLAGS@
-GIO_LIBS = @GIO_LIBS@
-GI_CFLAGS = @GI_CFLAGS@
-GI_DATADIR = @GI_DATADIR@
-GI_LIBS = @GI_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_QUERY = @GOBJECT_QUERY@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-LCOV = @LCOV@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_EXT = @OS_EXT@
-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@
-PYCAIRO_CFLAGS = @PYCAIRO_CFLAGS@
-PYCAIRO_LIBS = @PYCAIRO_LIBS@
-PYGOBJECT_MAJOR_VERSION = @PYGOBJECT_MAJOR_VERSION@
-PYGOBJECT_MICRO_VERSION = @PYGOBJECT_MICRO_VERSION@
-PYGOBJECT_MINOR_VERSION = @PYGOBJECT_MINOR_VERSION@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_LIB_LOC = @PYTHON_LIB_LOC@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_SO = @PYTHON_SO@
-PYTHON_VALGRIND_SUPP = @PYTHON_VALGRIND_SUPP@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WARN_LDFLAGS = @WARN_LDFLAGS@
-WARN_SCANNERFLAGS = @WARN_SCANNERFLAGS@
-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@
-runstatedir = @runstatedir@
-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@
-EXTRA_DIST = \
-       properties.py \
-       signal.py \
-       option.py \
-       cairo-demo.py \
-       demo
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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 examples/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign examples/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_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(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:
-
-
-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
-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:
-
-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: install-am install-strip
-
-.PHONY: all all-am check 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 \
-       tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
index d47b1cf..806c149 100644 (file)
@@ -29,20 +29,13 @@ cairo drawing operations instead of the Unicode heart character.
 
 from gi.repository import Gtk, Pango, PangoCairo, Gdk
 import cairo
-import sys
 import math
 
-# Python 2 and 3 handle UTF8 differently
-if sys.version_info < (3, 0):
-    BYTES_TEXT = "I \xe2\x99\xa5 GTK+"
-    UTF8_TEXT = unicode(BYTES_TEXT, 'UTF-8')
-    BYTES_HEART = "\xe2\x99\xa5"
-    HEART = unicode(BYTES_HEART, 'UTF-8')
-else:
-    UTF8_TEXT = "I â™¥ GTK+"
-    BYTES_TEXT = bytes(UTF8_TEXT, 'utf-8')
-    HEART = "♥"
-    BYTES_HEART = bytes(HEART, 'utf-8')
+
+UTF8_TEXT = u"I â™¥ GTK+"
+HEART = u"♥"
+BYTES_TEXT = UTF8_TEXT.encode("utf-8")
+BYTES_HEART = HEART.encode("utf-8")
 
 
 class RotatedTextApp:
diff --git a/gi/Makefile.am b/gi/Makefile.am
deleted file mode 100644 (file)
index 3841075..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-PLATFORM_VERSION = 3.0
-
-SUBDIRS = \
-       repository \
-       overrides
-
-extension_cppflags = \
-       $(PYTHON_INCLUDES) \
-       -DPY_SSIZE_T_CLEAN
-
-extension_ldflags = \
-       -module \
-       -avoid-version \
-       -shrext $(PYTHON_SO)
-
-if OS_WIN32
-# Windows requires Python modules to be explicitly linked to libpython.
-# Extension modules are shared libaries (.dll), but need to be
-# called .pyd for Python to load it as an extension module.
-extension_libadd = \
-       $(PYTHON_LIBS)
-
-extension_ldflags += \
-       -no-undefined
-endif
-
-pkgincludedir = $(includedir)/pygobject-$(PLATFORM_VERSION)
-if WITH_COMMON
-pkginclude_HEADERS = pygobject.h
-endif
-
-pygidir = $(pyexecdir)/gi
-
-pygi_LTLIBRARIES = _gi.la
-
-_gi_la_SOURCES = \
-       gobjectmodule.c \
-       gobjectmodule.h \
-       pygboxed.c \
-       pygboxed.h \
-       pygenum.c \
-       pygenum.h \
-       pygflags.c \
-       pygflags.h \
-       pyginterface.c \
-       pyginterface.h \
-       pygobject.h \
-       pygobject-internal.h \
-       pygobject-object.c \
-       pygobject-object.h \
-       pygparamspec.c \
-       pygparamspec.h \
-       pygpointer.c \
-       pygpointer.h \
-       pygtype.c \
-       pygtype.h \
-       pygoptioncontext.c \
-       pygoptioncontext.h \
-       pygoptiongroup.c \
-       pygoptiongroup.h \
-       pygspawn.c \
-       pygspawn.h \
-       pyglib.c \
-       pyglib.h \
-       pyglib-python-compat.h \
-       gimodule.c \
-       pygi-repository.c \
-       pygi-repository.h \
-       pygi-info.c \
-       pygi-info.h \
-       pygi-foreign.c \
-       pygi-foreign.h \
-       pygi-foreign-api.h \
-       pygi-struct.c \
-       pygi-struct.h \
-       pygi-source.c \
-       pygi-source.h \
-       pygi-argument.c \
-       pygi-argument.h \
-       pygi-resulttuple.c \
-       pygi-resulttuple.h \
-       pygi-type.c \
-       pygi-type.h \
-       pygi-boxed.c \
-       pygi-boxed.h \
-       pygi-closure.c \
-       pygi-closure.h \
-       pygi-ccallback.c \
-       pygi-ccallback.h \
-       pygi-util.c \
-       pygi-util.h \
-       pygi-property.c \
-       pygi-property.h \
-       pygi-signal-closure.c \
-       pygi-signal-closure.h \
-       pygi-invoke.c \
-       pygi-invoke.h \
-       pygi-invoke-state-struct.h \
-       pygi-cache.h \
-       pygi-cache.c \
-       pygi-marshal-cleanup.c \
-       pygi-marshal-cleanup.h \
-       pygi-basictype.c \
-       pygi-basictype.h \
-       pygi-list.c \
-       pygi-list.h \
-       pygi-array.c \
-       pygi-array.h \
-       pygi-error.c \
-       pygi-error.h \
-       pygi-object.c \
-       pygi-object.h \
-       pygi-value.c \
-       pygi-value.h \
-       pygi-enum-marshal.c \
-       pygi-enum-marshal.h \
-       pygi-struct-marshal.c \
-       pygi-struct-marshal.h \
-       pygi-hashtable.c \
-       pygi-hashtable.h
-_gi_la_CFLAGS = \
-       $(CODE_COVERAGE_CFLAGS) \
-       $(WARN_CFLAGS) \
-       $(extension_cppflags) \
-       $(GLIB_CFLAGS) \
-       $(GI_CFLAGS)
-_gi_la_CPPFLAGS = \
-       $(CODE_COVERAGE_CPPFLAGS) \
-       $(extension_cppflags)
-_gi_la_LIBADD = \
-       $(CODE_COVERAGE_LIBS) \
-       $(extension_libadd) \
-       $(GLIB_LIBS) \
-       $(GI_LIBS) \
-       $(FFI_LIBS)
-_gi_la_LDFLAGS = \
-       $(WARN_LDFLAGS) \
-       $(extension_ldflags) \
-       -export-symbols-regex "init_gi|PyInit__gi"
-
-if ENABLE_CAIRO
-pygi_LTLIBRARIES += _gi_cairo.la
-endif
-
-_gi_cairo_la_SOURCES = \
-       pygi-foreign-cairo.c
-_gi_cairo_la_CFLAGS = \
-       $(CODE_COVERAGE_CFLAGS) \
-       $(WARN_CFLAGS) \
-       $(GI_CFLAGS) \
-       $(CAIRO_CFLAGS) \
-       $(PYCAIRO_CFLAGS)
-_gi_cairo_la_CPPFLAGS = \
-       $(CODE_COVERAGE_CPPFLAGS) \
-       $(extension_cppflags)
-_gi_cairo_la_LIBADD = \
-       $(CODE_COVERAGE_LIBS) \
-       $(extension_libadd) \
-       $(GI_LIBS) \
-       $(CAIRO_LIBS) \
-       $(PYCAIRO_LIBS)
-_gi_cairo_la_LDFLAGS = \
-       $(WARN_LDFLAGS) \
-       $(extension_ldflags) \
-       -export-symbols-regex "init_gi_cairo|PyInit__gi_cairo"
-
-
-# This is to ensure we have a symlink to the .so in the
-# build directory, which the Python interpreter can load
-# directly without having to know how to parse .la files.
-%$(PYTHON_SO): %.la
-       $(LN_S) -f .libs/$@ $@
-
-all-local: $(LTLIBRARIES:.la=$(PYTHON_SO))
-
-check-local: $(LTLIBRARIES:.la=$(PYTHON_SO))
-clean-local:
-       rm -f $(LTLIBRARIES:.la=$(PYTHON_SO))
diff --git a/gi/Makefile.in b/gi/Makefile.in
deleted file mode 100644 (file)
index 134eba5..0000000
+++ /dev/null
@@ -1,1388 +0,0 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2017 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@
-
-
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) 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@
-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@
-@OS_WIN32_TRUE@am__append_1 = \
-@OS_WIN32_TRUE@        -no-undefined
-
-@ENABLE_CAIRO_TRUE@am__append_2 = _gi_cairo.la
-subdir = gi
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
-       $(top_srcdir)/m4/ax_append_flag.m4 \
-       $(top_srcdir)/m4/ax_append_link_flags.m4 \
-       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
-       $(top_srcdir)/m4/ax_check_link_flag.m4 \
-       $(top_srcdir)/m4/ax_code_coverage.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_cflags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_gir.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_ldflags.m4 \
-       $(top_srcdir)/m4/ax_is_release.m4 \
-       $(top_srcdir)/m4/ax_require_defined.m4 \
-       $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/introspection.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/pkg.m4 \
-       $(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__pkginclude_HEADERS_DIST) \
-       $(am__DIST_COMMON)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-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__installdirs = "$(DESTDIR)$(pygidir)" "$(DESTDIR)$(pkgincludedir)"
-LTLIBRARIES = $(pygi_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-@OS_WIN32_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
-_gi_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1)
-am__gi_la_OBJECTS = _gi_la-gobjectmodule.lo _gi_la-pygboxed.lo \
-       _gi_la-pygenum.lo _gi_la-pygflags.lo _gi_la-pyginterface.lo \
-       _gi_la-pygobject-object.lo _gi_la-pygparamspec.lo \
-       _gi_la-pygpointer.lo _gi_la-pygtype.lo \
-       _gi_la-pygoptioncontext.lo _gi_la-pygoptiongroup.lo \
-       _gi_la-pygspawn.lo _gi_la-pyglib.lo _gi_la-gimodule.lo \
-       _gi_la-pygi-repository.lo _gi_la-pygi-info.lo \
-       _gi_la-pygi-foreign.lo _gi_la-pygi-struct.lo \
-       _gi_la-pygi-source.lo _gi_la-pygi-argument.lo \
-       _gi_la-pygi-resulttuple.lo _gi_la-pygi-type.lo \
-       _gi_la-pygi-boxed.lo _gi_la-pygi-closure.lo \
-       _gi_la-pygi-ccallback.lo _gi_la-pygi-util.lo \
-       _gi_la-pygi-property.lo _gi_la-pygi-signal-closure.lo \
-       _gi_la-pygi-invoke.lo _gi_la-pygi-cache.lo \
-       _gi_la-pygi-marshal-cleanup.lo _gi_la-pygi-basictype.lo \
-       _gi_la-pygi-list.lo _gi_la-pygi-array.lo _gi_la-pygi-error.lo \
-       _gi_la-pygi-object.lo _gi_la-pygi-value.lo \
-       _gi_la-pygi-enum-marshal.lo _gi_la-pygi-struct-marshal.lo \
-       _gi_la-pygi-hashtable.lo
-_gi_la_OBJECTS = $(am__gi_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 = 
-_gi_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(_gi_la_CFLAGS) $(CFLAGS) \
-       $(_gi_la_LDFLAGS) $(LDFLAGS) -o $@
-_gi_cairo_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am__gi_cairo_la_OBJECTS = _gi_cairo_la-pygi-foreign-cairo.lo
-_gi_cairo_la_OBJECTS = $(am__gi_cairo_la_OBJECTS)
-_gi_cairo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(_gi_cairo_la_CFLAGS) \
-       $(CFLAGS) $(_gi_cairo_la_LDFLAGS) $(LDFLAGS) -o $@
-@ENABLE_CAIRO_TRUE@am__gi_cairo_la_rpath = -rpath $(pygidir)
-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 = 
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-       $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
-SOURCES = $(_gi_la_SOURCES) $(_gi_cairo_la_SOURCES)
-DIST_SOURCES = $(_gi_la_SOURCES) $(_gi_cairo_la_SOURCES)
-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;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-am__pkginclude_HEADERS_DIST = pygobject.h
-HEADERS = $(pkginclude_HEADERS)
-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 \
-       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
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
-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"
-pkgincludedir = $(includedir)/pygobject-$(PLATFORM_VERSION)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
-CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
-CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
-CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
-CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
-CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
-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@
-FFI_CFLAGS = @FFI_CFLAGS@
-FFI_LIBS = @FFI_LIBS@
-FGREP = @FGREP@
-GCOV = @GCOV@
-GENHTML = @GENHTML@
-GIO_CFLAGS = @GIO_CFLAGS@
-GIO_LIBS = @GIO_LIBS@
-GI_CFLAGS = @GI_CFLAGS@
-GI_DATADIR = @GI_DATADIR@
-GI_LIBS = @GI_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_QUERY = @GOBJECT_QUERY@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-LCOV = @LCOV@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_EXT = @OS_EXT@
-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@
-PYCAIRO_CFLAGS = @PYCAIRO_CFLAGS@
-PYCAIRO_LIBS = @PYCAIRO_LIBS@
-PYGOBJECT_MAJOR_VERSION = @PYGOBJECT_MAJOR_VERSION@
-PYGOBJECT_MICRO_VERSION = @PYGOBJECT_MICRO_VERSION@
-PYGOBJECT_MINOR_VERSION = @PYGOBJECT_MINOR_VERSION@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_LIB_LOC = @PYTHON_LIB_LOC@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_SO = @PYTHON_SO@
-PYTHON_VALGRIND_SUPP = @PYTHON_VALGRIND_SUPP@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WARN_LDFLAGS = @WARN_LDFLAGS@
-WARN_SCANNERFLAGS = @WARN_SCANNERFLAGS@
-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@
-runstatedir = @runstatedir@
-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@
-PLATFORM_VERSION = 3.0
-SUBDIRS = \
-       repository \
-       overrides
-
-extension_cppflags = \
-       $(PYTHON_INCLUDES) \
-       -DPY_SSIZE_T_CLEAN
-
-extension_ldflags = -module -avoid-version -shrext $(PYTHON_SO) \
-       $(am__append_1)
-
-# Windows requires Python modules to be explicitly linked to libpython.
-# Extension modules are shared libaries (.dll), but need to be
-# called .pyd for Python to load it as an extension module.
-@OS_WIN32_TRUE@extension_libadd = \
-@OS_WIN32_TRUE@        $(PYTHON_LIBS)
-
-@WITH_COMMON_TRUE@pkginclude_HEADERS = pygobject.h
-pygidir = $(pyexecdir)/gi
-pygi_LTLIBRARIES = _gi.la $(am__append_2)
-_gi_la_SOURCES = \
-       gobjectmodule.c \
-       gobjectmodule.h \
-       pygboxed.c \
-       pygboxed.h \
-       pygenum.c \
-       pygenum.h \
-       pygflags.c \
-       pygflags.h \
-       pyginterface.c \
-       pyginterface.h \
-       pygobject.h \
-       pygobject-internal.h \
-       pygobject-object.c \
-       pygobject-object.h \
-       pygparamspec.c \
-       pygparamspec.h \
-       pygpointer.c \
-       pygpointer.h \
-       pygtype.c \
-       pygtype.h \
-       pygoptioncontext.c \
-       pygoptioncontext.h \
-       pygoptiongroup.c \
-       pygoptiongroup.h \
-       pygspawn.c \
-       pygspawn.h \
-       pyglib.c \
-       pyglib.h \
-       pyglib-python-compat.h \
-       gimodule.c \
-       pygi-repository.c \
-       pygi-repository.h \
-       pygi-info.c \
-       pygi-info.h \
-       pygi-foreign.c \
-       pygi-foreign.h \
-       pygi-foreign-api.h \
-       pygi-struct.c \
-       pygi-struct.h \
-       pygi-source.c \
-       pygi-source.h \
-       pygi-argument.c \
-       pygi-argument.h \
-       pygi-resulttuple.c \
-       pygi-resulttuple.h \
-       pygi-type.c \
-       pygi-type.h \
-       pygi-boxed.c \
-       pygi-boxed.h \
-       pygi-closure.c \
-       pygi-closure.h \
-       pygi-ccallback.c \
-       pygi-ccallback.h \
-       pygi-util.c \
-       pygi-util.h \
-       pygi-property.c \
-       pygi-property.h \
-       pygi-signal-closure.c \
-       pygi-signal-closure.h \
-       pygi-invoke.c \
-       pygi-invoke.h \
-       pygi-invoke-state-struct.h \
-       pygi-cache.h \
-       pygi-cache.c \
-       pygi-marshal-cleanup.c \
-       pygi-marshal-cleanup.h \
-       pygi-basictype.c \
-       pygi-basictype.h \
-       pygi-list.c \
-       pygi-list.h \
-       pygi-array.c \
-       pygi-array.h \
-       pygi-error.c \
-       pygi-error.h \
-       pygi-object.c \
-       pygi-object.h \
-       pygi-value.c \
-       pygi-value.h \
-       pygi-enum-marshal.c \
-       pygi-enum-marshal.h \
-       pygi-struct-marshal.c \
-       pygi-struct-marshal.h \
-       pygi-hashtable.c \
-       pygi-hashtable.h
-
-_gi_la_CFLAGS = \
-       $(CODE_COVERAGE_CFLAGS) \
-       $(WARN_CFLAGS) \
-       $(extension_cppflags) \
-       $(GLIB_CFLAGS) \
-       $(GI_CFLAGS)
-
-_gi_la_CPPFLAGS = \
-       $(CODE_COVERAGE_CPPFLAGS) \
-       $(extension_cppflags)
-
-_gi_la_LIBADD = \
-       $(CODE_COVERAGE_LIBS) \
-       $(extension_libadd) \
-       $(GLIB_LIBS) \
-       $(GI_LIBS) \
-       $(FFI_LIBS)
-
-_gi_la_LDFLAGS = \
-       $(WARN_LDFLAGS) \
-       $(extension_ldflags) \
-       -export-symbols-regex "init_gi|PyInit__gi"
-
-_gi_cairo_la_SOURCES = \
-       pygi-foreign-cairo.c
-
-_gi_cairo_la_CFLAGS = \
-       $(CODE_COVERAGE_CFLAGS) \
-       $(WARN_CFLAGS) \
-       $(GI_CFLAGS) \
-       $(CAIRO_CFLAGS) \
-       $(PYCAIRO_CFLAGS)
-
-_gi_cairo_la_CPPFLAGS = \
-       $(CODE_COVERAGE_CPPFLAGS) \
-       $(extension_cppflags)
-
-_gi_cairo_la_LIBADD = \
-       $(CODE_COVERAGE_LIBS) \
-       $(extension_libadd) \
-       $(GI_LIBS) \
-       $(CAIRO_LIBS) \
-       $(PYCAIRO_LIBS)
-
-_gi_cairo_la_LDFLAGS = \
-       $(WARN_LDFLAGS) \
-       $(extension_ldflags) \
-       -export-symbols-regex "init_gi_cairo|PyInit__gi_cairo"
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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 gi/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign gi/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_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-pygiLTLIBRARIES: $(pygi_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       @list='$(pygi_LTLIBRARIES)'; test -n "$(pygidir)" || list=; \
-       list2=; for p in $$list; do \
-         if test -f $$p; then \
-           list2="$$list2 $$p"; \
-         else :; fi; \
-       done; \
-       test -z "$$list2" || { \
-         echo " $(MKDIR_P) '$(DESTDIR)$(pygidir)'"; \
-         $(MKDIR_P) "$(DESTDIR)$(pygidir)" || exit 1; \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pygidir)'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pygidir)"; \
-       }
-
-uninstall-pygiLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pygi_LTLIBRARIES)'; test -n "$(pygidir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pygidir)/$$f'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pygidir)/$$f"; \
-       done
-
-clean-pygiLTLIBRARIES:
-       -test -z "$(pygi_LTLIBRARIES)" || rm -f $(pygi_LTLIBRARIES)
-       @list='$(pygi_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}; \
-       }
-
-_gi.la: $(_gi_la_OBJECTS) $(_gi_la_DEPENDENCIES) $(EXTRA__gi_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(_gi_la_LINK) -rpath $(pygidir) $(_gi_la_OBJECTS) $(_gi_la_LIBADD) $(LIBS)
-
-_gi_cairo.la: $(_gi_cairo_la_OBJECTS) $(_gi_cairo_la_DEPENDENCIES) $(EXTRA__gi_cairo_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(_gi_cairo_la_LINK) $(am__gi_cairo_la_rpath) $(_gi_cairo_la_OBJECTS) $(_gi_cairo_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_cairo_la-pygi-foreign-cairo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-gimodule.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-gobjectmodule.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygboxed.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygenum.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygflags.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-argument.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-array.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-basictype.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-boxed.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-cache.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-ccallback.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-enum-marshal.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-error.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-foreign.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-hashtable.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-info.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-invoke.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-list.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-marshal-cleanup.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-object.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-property.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-repository.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-resulttuple.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-signal-closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-source.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-struct-marshal.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-struct.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-type.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-util.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygi-value.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pyginterface.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pyglib.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygobject-object.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygoptioncontext.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygoptiongroup.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygparamspec.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygpointer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygspawn.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_gi_la-pygtype.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-_gi_la-gobjectmodule.lo: gobjectmodule.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-gobjectmodule.lo -MD -MP -MF $(DEPDIR)/_gi_la-gobjectmodule.Tpo -c -o _gi_la-gobjectmodule.lo `test -f 'gobjectmodule.c' || echo '$(srcdir)/'`gobjectmodule.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-gobjectmodule.Tpo $(DEPDIR)/_gi_la-gobjectmodule.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='gobjectmodule.c' object='_gi_la-gobjectmodule.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-gobjectmodule.lo `test -f 'gobjectmodule.c' || echo '$(srcdir)/'`gobjectmodule.c
-
-_gi_la-pygboxed.lo: pygboxed.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygboxed.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygboxed.Tpo -c -o _gi_la-pygboxed.lo `test -f 'pygboxed.c' || echo '$(srcdir)/'`pygboxed.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygboxed.Tpo $(DEPDIR)/_gi_la-pygboxed.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygboxed.c' object='_gi_la-pygboxed.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygboxed.lo `test -f 'pygboxed.c' || echo '$(srcdir)/'`pygboxed.c
-
-_gi_la-pygenum.lo: pygenum.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygenum.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygenum.Tpo -c -o _gi_la-pygenum.lo `test -f 'pygenum.c' || echo '$(srcdir)/'`pygenum.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygenum.Tpo $(DEPDIR)/_gi_la-pygenum.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygenum.c' object='_gi_la-pygenum.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygenum.lo `test -f 'pygenum.c' || echo '$(srcdir)/'`pygenum.c
-
-_gi_la-pygflags.lo: pygflags.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygflags.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygflags.Tpo -c -o _gi_la-pygflags.lo `test -f 'pygflags.c' || echo '$(srcdir)/'`pygflags.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygflags.Tpo $(DEPDIR)/_gi_la-pygflags.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygflags.c' object='_gi_la-pygflags.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygflags.lo `test -f 'pygflags.c' || echo '$(srcdir)/'`pygflags.c
-
-_gi_la-pyginterface.lo: pyginterface.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pyginterface.lo -MD -MP -MF $(DEPDIR)/_gi_la-pyginterface.Tpo -c -o _gi_la-pyginterface.lo `test -f 'pyginterface.c' || echo '$(srcdir)/'`pyginterface.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pyginterface.Tpo $(DEPDIR)/_gi_la-pyginterface.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pyginterface.c' object='_gi_la-pyginterface.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pyginterface.lo `test -f 'pyginterface.c' || echo '$(srcdir)/'`pyginterface.c
-
-_gi_la-pygobject-object.lo: pygobject-object.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygobject-object.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygobject-object.Tpo -c -o _gi_la-pygobject-object.lo `test -f 'pygobject-object.c' || echo '$(srcdir)/'`pygobject-object.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygobject-object.Tpo $(DEPDIR)/_gi_la-pygobject-object.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygobject-object.c' object='_gi_la-pygobject-object.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygobject-object.lo `test -f 'pygobject-object.c' || echo '$(srcdir)/'`pygobject-object.c
-
-_gi_la-pygparamspec.lo: pygparamspec.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygparamspec.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygparamspec.Tpo -c -o _gi_la-pygparamspec.lo `test -f 'pygparamspec.c' || echo '$(srcdir)/'`pygparamspec.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygparamspec.Tpo $(DEPDIR)/_gi_la-pygparamspec.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygparamspec.c' object='_gi_la-pygparamspec.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygparamspec.lo `test -f 'pygparamspec.c' || echo '$(srcdir)/'`pygparamspec.c
-
-_gi_la-pygpointer.lo: pygpointer.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygpointer.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygpointer.Tpo -c -o _gi_la-pygpointer.lo `test -f 'pygpointer.c' || echo '$(srcdir)/'`pygpointer.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygpointer.Tpo $(DEPDIR)/_gi_la-pygpointer.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygpointer.c' object='_gi_la-pygpointer.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygpointer.lo `test -f 'pygpointer.c' || echo '$(srcdir)/'`pygpointer.c
-
-_gi_la-pygtype.lo: pygtype.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygtype.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygtype.Tpo -c -o _gi_la-pygtype.lo `test -f 'pygtype.c' || echo '$(srcdir)/'`pygtype.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygtype.Tpo $(DEPDIR)/_gi_la-pygtype.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygtype.c' object='_gi_la-pygtype.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygtype.lo `test -f 'pygtype.c' || echo '$(srcdir)/'`pygtype.c
-
-_gi_la-pygoptioncontext.lo: pygoptioncontext.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygoptioncontext.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygoptioncontext.Tpo -c -o _gi_la-pygoptioncontext.lo `test -f 'pygoptioncontext.c' || echo '$(srcdir)/'`pygoptioncontext.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygoptioncontext.Tpo $(DEPDIR)/_gi_la-pygoptioncontext.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygoptioncontext.c' object='_gi_la-pygoptioncontext.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygoptioncontext.lo `test -f 'pygoptioncontext.c' || echo '$(srcdir)/'`pygoptioncontext.c
-
-_gi_la-pygoptiongroup.lo: pygoptiongroup.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygoptiongroup.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygoptiongroup.Tpo -c -o _gi_la-pygoptiongroup.lo `test -f 'pygoptiongroup.c' || echo '$(srcdir)/'`pygoptiongroup.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygoptiongroup.Tpo $(DEPDIR)/_gi_la-pygoptiongroup.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygoptiongroup.c' object='_gi_la-pygoptiongroup.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygoptiongroup.lo `test -f 'pygoptiongroup.c' || echo '$(srcdir)/'`pygoptiongroup.c
-
-_gi_la-pygspawn.lo: pygspawn.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygspawn.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygspawn.Tpo -c -o _gi_la-pygspawn.lo `test -f 'pygspawn.c' || echo '$(srcdir)/'`pygspawn.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygspawn.Tpo $(DEPDIR)/_gi_la-pygspawn.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygspawn.c' object='_gi_la-pygspawn.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygspawn.lo `test -f 'pygspawn.c' || echo '$(srcdir)/'`pygspawn.c
-
-_gi_la-pyglib.lo: pyglib.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pyglib.lo -MD -MP -MF $(DEPDIR)/_gi_la-pyglib.Tpo -c -o _gi_la-pyglib.lo `test -f 'pyglib.c' || echo '$(srcdir)/'`pyglib.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pyglib.Tpo $(DEPDIR)/_gi_la-pyglib.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pyglib.c' object='_gi_la-pyglib.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pyglib.lo `test -f 'pyglib.c' || echo '$(srcdir)/'`pyglib.c
-
-_gi_la-gimodule.lo: gimodule.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-gimodule.lo -MD -MP -MF $(DEPDIR)/_gi_la-gimodule.Tpo -c -o _gi_la-gimodule.lo `test -f 'gimodule.c' || echo '$(srcdir)/'`gimodule.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-gimodule.Tpo $(DEPDIR)/_gi_la-gimodule.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='gimodule.c' object='_gi_la-gimodule.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-gimodule.lo `test -f 'gimodule.c' || echo '$(srcdir)/'`gimodule.c
-
-_gi_la-pygi-repository.lo: pygi-repository.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-repository.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-repository.Tpo -c -o _gi_la-pygi-repository.lo `test -f 'pygi-repository.c' || echo '$(srcdir)/'`pygi-repository.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-repository.Tpo $(DEPDIR)/_gi_la-pygi-repository.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-repository.c' object='_gi_la-pygi-repository.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-repository.lo `test -f 'pygi-repository.c' || echo '$(srcdir)/'`pygi-repository.c
-
-_gi_la-pygi-info.lo: pygi-info.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-info.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-info.Tpo -c -o _gi_la-pygi-info.lo `test -f 'pygi-info.c' || echo '$(srcdir)/'`pygi-info.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-info.Tpo $(DEPDIR)/_gi_la-pygi-info.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-info.c' object='_gi_la-pygi-info.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-info.lo `test -f 'pygi-info.c' || echo '$(srcdir)/'`pygi-info.c
-
-_gi_la-pygi-foreign.lo: pygi-foreign.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-foreign.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-foreign.Tpo -c -o _gi_la-pygi-foreign.lo `test -f 'pygi-foreign.c' || echo '$(srcdir)/'`pygi-foreign.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-foreign.Tpo $(DEPDIR)/_gi_la-pygi-foreign.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-foreign.c' object='_gi_la-pygi-foreign.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-foreign.lo `test -f 'pygi-foreign.c' || echo '$(srcdir)/'`pygi-foreign.c
-
-_gi_la-pygi-struct.lo: pygi-struct.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-struct.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-struct.Tpo -c -o _gi_la-pygi-struct.lo `test -f 'pygi-struct.c' || echo '$(srcdir)/'`pygi-struct.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-struct.Tpo $(DEPDIR)/_gi_la-pygi-struct.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-struct.c' object='_gi_la-pygi-struct.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-struct.lo `test -f 'pygi-struct.c' || echo '$(srcdir)/'`pygi-struct.c
-
-_gi_la-pygi-source.lo: pygi-source.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-source.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-source.Tpo -c -o _gi_la-pygi-source.lo `test -f 'pygi-source.c' || echo '$(srcdir)/'`pygi-source.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-source.Tpo $(DEPDIR)/_gi_la-pygi-source.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-source.c' object='_gi_la-pygi-source.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-source.lo `test -f 'pygi-source.c' || echo '$(srcdir)/'`pygi-source.c
-
-_gi_la-pygi-argument.lo: pygi-argument.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-argument.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-argument.Tpo -c -o _gi_la-pygi-argument.lo `test -f 'pygi-argument.c' || echo '$(srcdir)/'`pygi-argument.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-argument.Tpo $(DEPDIR)/_gi_la-pygi-argument.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-argument.c' object='_gi_la-pygi-argument.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-argument.lo `test -f 'pygi-argument.c' || echo '$(srcdir)/'`pygi-argument.c
-
-_gi_la-pygi-resulttuple.lo: pygi-resulttuple.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-resulttuple.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-resulttuple.Tpo -c -o _gi_la-pygi-resulttuple.lo `test -f 'pygi-resulttuple.c' || echo '$(srcdir)/'`pygi-resulttuple.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-resulttuple.Tpo $(DEPDIR)/_gi_la-pygi-resulttuple.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-resulttuple.c' object='_gi_la-pygi-resulttuple.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-resulttuple.lo `test -f 'pygi-resulttuple.c' || echo '$(srcdir)/'`pygi-resulttuple.c
-
-_gi_la-pygi-type.lo: pygi-type.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-type.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-type.Tpo -c -o _gi_la-pygi-type.lo `test -f 'pygi-type.c' || echo '$(srcdir)/'`pygi-type.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-type.Tpo $(DEPDIR)/_gi_la-pygi-type.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-type.c' object='_gi_la-pygi-type.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-type.lo `test -f 'pygi-type.c' || echo '$(srcdir)/'`pygi-type.c
-
-_gi_la-pygi-boxed.lo: pygi-boxed.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-boxed.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-boxed.Tpo -c -o _gi_la-pygi-boxed.lo `test -f 'pygi-boxed.c' || echo '$(srcdir)/'`pygi-boxed.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-boxed.Tpo $(DEPDIR)/_gi_la-pygi-boxed.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-boxed.c' object='_gi_la-pygi-boxed.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-boxed.lo `test -f 'pygi-boxed.c' || echo '$(srcdir)/'`pygi-boxed.c
-
-_gi_la-pygi-closure.lo: pygi-closure.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-closure.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-closure.Tpo -c -o _gi_la-pygi-closure.lo `test -f 'pygi-closure.c' || echo '$(srcdir)/'`pygi-closure.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-closure.Tpo $(DEPDIR)/_gi_la-pygi-closure.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-closure.c' object='_gi_la-pygi-closure.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-closure.lo `test -f 'pygi-closure.c' || echo '$(srcdir)/'`pygi-closure.c
-
-_gi_la-pygi-ccallback.lo: pygi-ccallback.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-ccallback.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-ccallback.Tpo -c -o _gi_la-pygi-ccallback.lo `test -f 'pygi-ccallback.c' || echo '$(srcdir)/'`pygi-ccallback.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-ccallback.Tpo $(DEPDIR)/_gi_la-pygi-ccallback.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-ccallback.c' object='_gi_la-pygi-ccallback.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-ccallback.lo `test -f 'pygi-ccallback.c' || echo '$(srcdir)/'`pygi-ccallback.c
-
-_gi_la-pygi-util.lo: pygi-util.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-util.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-util.Tpo -c -o _gi_la-pygi-util.lo `test -f 'pygi-util.c' || echo '$(srcdir)/'`pygi-util.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-util.Tpo $(DEPDIR)/_gi_la-pygi-util.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-util.c' object='_gi_la-pygi-util.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-util.lo `test -f 'pygi-util.c' || echo '$(srcdir)/'`pygi-util.c
-
-_gi_la-pygi-property.lo: pygi-property.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-property.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-property.Tpo -c -o _gi_la-pygi-property.lo `test -f 'pygi-property.c' || echo '$(srcdir)/'`pygi-property.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-property.Tpo $(DEPDIR)/_gi_la-pygi-property.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-property.c' object='_gi_la-pygi-property.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-property.lo `test -f 'pygi-property.c' || echo '$(srcdir)/'`pygi-property.c
-
-_gi_la-pygi-signal-closure.lo: pygi-signal-closure.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-signal-closure.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-signal-closure.Tpo -c -o _gi_la-pygi-signal-closure.lo `test -f 'pygi-signal-closure.c' || echo '$(srcdir)/'`pygi-signal-closure.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-signal-closure.Tpo $(DEPDIR)/_gi_la-pygi-signal-closure.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-signal-closure.c' object='_gi_la-pygi-signal-closure.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-signal-closure.lo `test -f 'pygi-signal-closure.c' || echo '$(srcdir)/'`pygi-signal-closure.c
-
-_gi_la-pygi-invoke.lo: pygi-invoke.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-invoke.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-invoke.Tpo -c -o _gi_la-pygi-invoke.lo `test -f 'pygi-invoke.c' || echo '$(srcdir)/'`pygi-invoke.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-invoke.Tpo $(DEPDIR)/_gi_la-pygi-invoke.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-invoke.c' object='_gi_la-pygi-invoke.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-invoke.lo `test -f 'pygi-invoke.c' || echo '$(srcdir)/'`pygi-invoke.c
-
-_gi_la-pygi-cache.lo: pygi-cache.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-cache.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-cache.Tpo -c -o _gi_la-pygi-cache.lo `test -f 'pygi-cache.c' || echo '$(srcdir)/'`pygi-cache.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-cache.Tpo $(DEPDIR)/_gi_la-pygi-cache.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-cache.c' object='_gi_la-pygi-cache.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-cache.lo `test -f 'pygi-cache.c' || echo '$(srcdir)/'`pygi-cache.c
-
-_gi_la-pygi-marshal-cleanup.lo: pygi-marshal-cleanup.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-marshal-cleanup.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-marshal-cleanup.Tpo -c -o _gi_la-pygi-marshal-cleanup.lo `test -f 'pygi-marshal-cleanup.c' || echo '$(srcdir)/'`pygi-marshal-cleanup.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-marshal-cleanup.Tpo $(DEPDIR)/_gi_la-pygi-marshal-cleanup.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-marshal-cleanup.c' object='_gi_la-pygi-marshal-cleanup.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-marshal-cleanup.lo `test -f 'pygi-marshal-cleanup.c' || echo '$(srcdir)/'`pygi-marshal-cleanup.c
-
-_gi_la-pygi-basictype.lo: pygi-basictype.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-basictype.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-basictype.Tpo -c -o _gi_la-pygi-basictype.lo `test -f 'pygi-basictype.c' || echo '$(srcdir)/'`pygi-basictype.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-basictype.Tpo $(DEPDIR)/_gi_la-pygi-basictype.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-basictype.c' object='_gi_la-pygi-basictype.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-basictype.lo `test -f 'pygi-basictype.c' || echo '$(srcdir)/'`pygi-basictype.c
-
-_gi_la-pygi-list.lo: pygi-list.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-list.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-list.Tpo -c -o _gi_la-pygi-list.lo `test -f 'pygi-list.c' || echo '$(srcdir)/'`pygi-list.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-list.Tpo $(DEPDIR)/_gi_la-pygi-list.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-list.c' object='_gi_la-pygi-list.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-list.lo `test -f 'pygi-list.c' || echo '$(srcdir)/'`pygi-list.c
-
-_gi_la-pygi-array.lo: pygi-array.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-array.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-array.Tpo -c -o _gi_la-pygi-array.lo `test -f 'pygi-array.c' || echo '$(srcdir)/'`pygi-array.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-array.Tpo $(DEPDIR)/_gi_la-pygi-array.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-array.c' object='_gi_la-pygi-array.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-array.lo `test -f 'pygi-array.c' || echo '$(srcdir)/'`pygi-array.c
-
-_gi_la-pygi-error.lo: pygi-error.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-error.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-error.Tpo -c -o _gi_la-pygi-error.lo `test -f 'pygi-error.c' || echo '$(srcdir)/'`pygi-error.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-error.Tpo $(DEPDIR)/_gi_la-pygi-error.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-error.c' object='_gi_la-pygi-error.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-error.lo `test -f 'pygi-error.c' || echo '$(srcdir)/'`pygi-error.c
-
-_gi_la-pygi-object.lo: pygi-object.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-object.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-object.Tpo -c -o _gi_la-pygi-object.lo `test -f 'pygi-object.c' || echo '$(srcdir)/'`pygi-object.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-object.Tpo $(DEPDIR)/_gi_la-pygi-object.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-object.c' object='_gi_la-pygi-object.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-object.lo `test -f 'pygi-object.c' || echo '$(srcdir)/'`pygi-object.c
-
-_gi_la-pygi-value.lo: pygi-value.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-value.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-value.Tpo -c -o _gi_la-pygi-value.lo `test -f 'pygi-value.c' || echo '$(srcdir)/'`pygi-value.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-value.Tpo $(DEPDIR)/_gi_la-pygi-value.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-value.c' object='_gi_la-pygi-value.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-value.lo `test -f 'pygi-value.c' || echo '$(srcdir)/'`pygi-value.c
-
-_gi_la-pygi-enum-marshal.lo: pygi-enum-marshal.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-enum-marshal.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-enum-marshal.Tpo -c -o _gi_la-pygi-enum-marshal.lo `test -f 'pygi-enum-marshal.c' || echo '$(srcdir)/'`pygi-enum-marshal.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-enum-marshal.Tpo $(DEPDIR)/_gi_la-pygi-enum-marshal.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-enum-marshal.c' object='_gi_la-pygi-enum-marshal.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-enum-marshal.lo `test -f 'pygi-enum-marshal.c' || echo '$(srcdir)/'`pygi-enum-marshal.c
-
-_gi_la-pygi-struct-marshal.lo: pygi-struct-marshal.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-struct-marshal.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-struct-marshal.Tpo -c -o _gi_la-pygi-struct-marshal.lo `test -f 'pygi-struct-marshal.c' || echo '$(srcdir)/'`pygi-struct-marshal.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-struct-marshal.Tpo $(DEPDIR)/_gi_la-pygi-struct-marshal.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-struct-marshal.c' object='_gi_la-pygi-struct-marshal.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-struct-marshal.lo `test -f 'pygi-struct-marshal.c' || echo '$(srcdir)/'`pygi-struct-marshal.c
-
-_gi_la-pygi-hashtable.lo: pygi-hashtable.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -MT _gi_la-pygi-hashtable.lo -MD -MP -MF $(DEPDIR)/_gi_la-pygi-hashtable.Tpo -c -o _gi_la-pygi-hashtable.lo `test -f 'pygi-hashtable.c' || echo '$(srcdir)/'`pygi-hashtable.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_la-pygi-hashtable.Tpo $(DEPDIR)/_gi_la-pygi-hashtable.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-hashtable.c' object='_gi_la-pygi-hashtable.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) $(_gi_la_CPPFLAGS) $(CPPFLAGS) $(_gi_la_CFLAGS) $(CFLAGS) -c -o _gi_la-pygi-hashtable.lo `test -f 'pygi-hashtable.c' || echo '$(srcdir)/'`pygi-hashtable.c
-
-_gi_cairo_la-pygi-foreign-cairo.lo: pygi-foreign-cairo.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(_gi_cairo_la_CPPFLAGS) $(CPPFLAGS) $(_gi_cairo_la_CFLAGS) $(CFLAGS) -MT _gi_cairo_la-pygi-foreign-cairo.lo -MD -MP -MF $(DEPDIR)/_gi_cairo_la-pygi-foreign-cairo.Tpo -c -o _gi_cairo_la-pygi-foreign-cairo.lo `test -f 'pygi-foreign-cairo.c' || echo '$(srcdir)/'`pygi-foreign-cairo.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/_gi_cairo_la-pygi-foreign-cairo.Tpo $(DEPDIR)/_gi_cairo_la-pygi-foreign-cairo.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='pygi-foreign-cairo.c' object='_gi_cairo_la-pygi-foreign-cairo.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) $(_gi_cairo_la_CPPFLAGS) $(CPPFLAGS) $(_gi_cairo_la_CFLAGS) $(CFLAGS) -c -o _gi_cairo_la-pygi-foreign-cairo.lo `test -f 'pygi-foreign-cairo.c' || echo '$(srcdir)/'`pygi-foreign-cairo.c
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-install-pkgincludeHEADERS: $(pkginclude_HEADERS)
-       @$(NORMAL_INSTALL)
-       @list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \
-       if test -n "$$list"; then \
-         echo " $(MKDIR_P) '$(DESTDIR)$(pkgincludedir)'"; \
-         $(MKDIR_P) "$(DESTDIR)$(pkgincludedir)" || exit 1; \
-       fi; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(pkgincludedir)'"; \
-         $(INSTALL_HEADER) $$files "$(DESTDIR)$(pkgincludedir)" || exit $$?; \
-       done
-
-uninstall-pkgincludeHEADERS:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       dir='$(DESTDIR)$(pkgincludedir)'; $(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-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 \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-       $(am__define_uniq_tagged_files); \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
-       list='$(am__tagged_files)'; \
-       case "$(srcdir)" in \
-         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-         *) sdir=$(subdir)/$(srcdir) ;; \
-       esac; \
-       for i in $$list; do \
-         if test -f "$$i"; then \
-           echo "$(subdir)/$$i"; \
-         else \
-           echo "$$sdir/$$i"; \
-         fi; \
-       done >> $(top_builddir)/cscope.files
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-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
-       @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-local
-check: check-recursive
-all-am: Makefile $(LTLIBRARIES) $(HEADERS) all-local
-installdirs: installdirs-recursive
-installdirs-am:
-       for dir in "$(DESTDIR)$(pygidir)" "$(DESTDIR)$(pkgincludedir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-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-recursive
-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:
-
-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-recursive
-
-clean-am: clean-generic clean-libtool clean-local \
-       clean-pygiLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-pkgincludeHEADERS install-pygiLTLIBRARIES
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-pkgincludeHEADERS uninstall-pygiLTLIBRARIES
-
-.MAKE: $(am__recursive_targets) check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
-       check check-am check-local clean clean-generic clean-libtool \
-       clean-local clean-pygiLTLIBRARIES 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-pkgincludeHEADERS install-ps install-ps-am \
-       install-pygiLTLIBRARIES install-strip 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-pkgincludeHEADERS uninstall-pygiLTLIBRARIES
-
-.PRECIOUS: Makefile
-
-
-# This is to ensure we have a symlink to the .so in the
-# build directory, which the Python interpreter can load
-# directly without having to know how to parse .la files.
-%$(PYTHON_SO): %.la
-       $(LN_S) -f .libs/$@ $@
-
-all-local: $(LTLIBRARIES:.la=$(PYTHON_SO))
-
-check-local: $(LTLIBRARIES:.la=$(PYTHON_SO))
-clean-local:
-       rm -f $(LTLIBRARIES:.la=$(PYTHON_SO))
-
-# 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 185c4d4..212136e 100644 (file)
@@ -44,6 +44,7 @@ from ._gi import _API
 from ._gi import Repository
 from ._gi import PyGIDeprecationWarning
 from ._gi import PyGIWarning
+from ._compat import string_types
 
 _API = _API  # pyflakes
 PyGIDeprecationWarning = PyGIDeprecationWarning
@@ -108,12 +109,8 @@ def require_version(namespace, version):
     """
     repository = Repository.get_default()
 
-    if sys.version_info[0] <= 2:
-        if not isinstance(version, basestring):
-            raise ValueError('Namespace version needs to be a string.')
-    else:
-        if not isinstance(version, str):
-            raise ValueError('Namespace version needs to be a string.')
+    if not isinstance(version, string_types):
+        raise ValueError('Namespace version needs to be a string.')
 
     if namespace in repository.get_loaded_namespaces():
         loaded_version = repository.get_version(namespace)
diff --git a/gi/_compat.py b/gi/_compat.py
new file mode 100644 (file)
index 0000000..b8a3506
--- /dev/null
@@ -0,0 +1,52 @@
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, see <http://www.gnu.org/licenses/>.
+
+import sys
+
+PY2 = PY3 = False
+if sys.version_info[0] == 2:
+    PY2 = True
+
+    from StringIO import StringIO
+    StringIO
+
+    from UserList import UserList
+    UserList
+
+    long_ = eval("long")
+    integer_types = eval("(int, long)")
+    string_types = eval("(basestring,)")
+    text_type = eval("unicode")
+
+    reload = eval("reload")
+
+    exec("def reraise(tp, value, tb):\n raise tp, value, tb")
+else:
+    PY3 = True
+
+    from io import StringIO
+    StringIO
+
+    from collections import UserList
+    UserList
+
+    long_ = int
+    integer_types = (int,)
+    string_types = (str,)
+    text_type = str
+
+    from importlib import reload
+    reload
+
+    def reraise(tp, value, tb):
+        raise tp(value).with_traceback(tb)
index 2153f90..6fca96b 100644 (file)
 from . import _gi
 
 TYPE_INVALID = _gi.TYPE_INVALID
-TYPE_NONE = _gi.type_from_name('void')
-TYPE_INTERFACE = _gi.type_from_name('GInterface')
-TYPE_CHAR = _gi.type_from_name('gchar')
-TYPE_UCHAR = _gi.type_from_name('guchar')
-TYPE_BOOLEAN = _gi.type_from_name('gboolean')
-TYPE_INT = _gi.type_from_name('gint')
-TYPE_UINT = _gi.type_from_name('guint')
-TYPE_LONG = _gi.type_from_name('glong')
-TYPE_ULONG = _gi.type_from_name('gulong')
-TYPE_INT64 = _gi.type_from_name('gint64')
-TYPE_UINT64 = _gi.type_from_name('guint64')
-TYPE_ENUM = _gi.type_from_name('GEnum')
-TYPE_FLAGS = _gi.type_from_name('GFlags')
-TYPE_FLOAT = _gi.type_from_name('gfloat')
-TYPE_DOUBLE = _gi.type_from_name('gdouble')
-TYPE_STRING = _gi.type_from_name('gchararray')
-TYPE_POINTER = _gi.type_from_name('gpointer')
-TYPE_BOXED = _gi.type_from_name('GBoxed')
-TYPE_PARAM = _gi.type_from_name('GParam')
-TYPE_OBJECT = _gi.type_from_name('GObject')
-TYPE_PYOBJECT = _gi.type_from_name('PyObject')
-TYPE_GTYPE = _gi.type_from_name('GType')
-TYPE_STRV = _gi.type_from_name('GStrv')
-TYPE_VARIANT = _gi.type_from_name('GVariant')
+TYPE_NONE = _gi.GType.from_name('void')
+TYPE_INTERFACE = _gi.GType.from_name('GInterface')
+TYPE_CHAR = _gi.GType.from_name('gchar')
+TYPE_UCHAR = _gi.GType.from_name('guchar')
+TYPE_BOOLEAN = _gi.GType.from_name('gboolean')
+TYPE_INT = _gi.GType.from_name('gint')
+TYPE_UINT = _gi.GType.from_name('guint')
+TYPE_LONG = _gi.GType.from_name('glong')
+TYPE_ULONG = _gi.GType.from_name('gulong')
+TYPE_INT64 = _gi.GType.from_name('gint64')
+TYPE_UINT64 = _gi.GType.from_name('guint64')
+TYPE_ENUM = _gi.GType.from_name('GEnum')
+TYPE_FLAGS = _gi.GType.from_name('GFlags')
+TYPE_FLOAT = _gi.GType.from_name('gfloat')
+TYPE_DOUBLE = _gi.GType.from_name('gdouble')
+TYPE_STRING = _gi.GType.from_name('gchararray')
+TYPE_POINTER = _gi.GType.from_name('gpointer')
+TYPE_BOXED = _gi.GType.from_name('GBoxed')
+TYPE_PARAM = _gi.GType.from_name('GParam')
+TYPE_OBJECT = _gi.GType.from_name('GObject')
+TYPE_PYOBJECT = _gi.GType.from_name('PyObject')
+TYPE_GTYPE = _gi.GType.from_name('GType')
+TYPE_STRV = _gi.GType.from_name('GStrv')
+TYPE_VARIANT = _gi.GType.from_name('GVariant')
 TYPE_UNICHAR = TYPE_UINT
index 6b684ce..6440ef7 100644 (file)
@@ -38,8 +38,9 @@ class GError(RuntimeError):
         return "%s: %s (%d)" % (self.domain, self.message, self.code)
 
     def __repr__(self):
-        return "%s.%s('%s', '%s', %d)" % (GError.__module__, GError.__name__,
-                                          self.message, self.domain, self.code)
+        return "%s.%s('%s', '%s', %d)" % (
+            GError.__module__.rsplit(".", 1)[-1], GError.__name__,
+            self.message, self.domain, self.code)
 
     def copy(self):
         return GError(self.message, self.domain, self.code)
diff --git a/gi/_gtktemplate.py b/gi/_gtktemplate.py
new file mode 100644 (file)
index 0000000..37707e8
--- /dev/null
@@ -0,0 +1,218 @@
+# Copyright 2015 Dustin Spicuzza <dustin@virtualroadside.com>
+#           2018 Nikita Churaev <lamefun.x0r@gmail.com>
+#           2018 Christoph Reiter <reiter.christoph@gmail.com>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
+# USA
+
+from gi.repository import GLib, GObject, Gio
+
+
+def connect_func(builder, obj, signal_name, handler_name,
+                 connect_object, flags, cls):
+
+    if handler_name not in cls.__gtktemplate_methods__:
+        return
+
+    method_name = cls.__gtktemplate_methods__[handler_name]
+    template_inst = builder.get_object(cls.__gtype_name__)
+    template_inst.__gtktemplate_handlers__.add(handler_name)
+    handler = getattr(template_inst, method_name)
+
+    after = int(flags & GObject.ConnectFlags.AFTER)
+    swapped = int(flags & GObject.ConnectFlags.SWAPPED)
+    if swapped:
+        raise RuntimeError(
+            "%r not supported" % GObject.ConnectFlags.SWAPPED)
+
+    if connect_object is not None:
+        if after:
+            func = obj.connect_object_after
+        else:
+            func = obj.connect_object
+        func(signal_name, handler, connect_object)
+    else:
+        if after:
+            func = obj.connect_after
+        else:
+            func = obj.connect
+        func(signal_name, handler)
+
+
+def register_template(cls):
+    bound_methods = {}
+    bound_widgets = {}
+
+    for attr_name, obj in list(cls.__dict__.items()):
+        if isinstance(obj, CallThing):
+            setattr(cls, attr_name, obj._func)
+            handler_name = obj._name
+            if handler_name is None:
+                handler_name = attr_name
+
+            if handler_name in bound_methods:
+                old_attr_name = bound_methods[handler_name]
+                raise RuntimeError(
+                    "Error while exposing handler %r as %r, "
+                    "already available as %r" % (
+                        handler_name, attr_name, old_attr_name))
+            else:
+                bound_methods[handler_name] = attr_name
+        elif isinstance(obj, Child):
+            widget_name = obj._name
+            if widget_name is None:
+                widget_name = attr_name
+
+            if widget_name in bound_widgets:
+                old_attr_name = bound_widgets[widget_name]
+                raise RuntimeError(
+                    "Error while exposing child %r as %r, "
+                    "already available as %r" % (
+                        widget_name, attr_name, old_attr_name))
+            else:
+                bound_widgets[widget_name] = attr_name
+                cls.bind_template_child_full(widget_name, False, 0)
+
+    cls.__gtktemplate_methods__ = bound_methods
+    cls.__gtktemplate_widgets__ = bound_widgets
+
+    cls.set_connect_func(connect_func, cls)
+
+    base_init_template = cls.init_template
+    cls.__dontuse_ginstance_init__ = \
+        lambda s: init_template(s, cls, base_init_template)
+    # To make this file work with older PyGObject we expose our init code
+    # as init_template() but make it a noop when we call it ourselves first
+    cls.init_template = cls.__dontuse_ginstance_init__
+
+
+def init_template(self, cls, base_init_template):
+    cls.init_template = lambda s: None
+
+    if self.__class__ is not cls:
+        raise TypeError(
+            "Inheritance from classes with @Gtk.Template decorators "
+            "is not allowed at this time")
+
+    self.__gtktemplate_handlers__ = set()
+
+    base_init_template(self)
+
+    for widget_name, attr_name in self.__gtktemplate_widgets__.items():
+        self.__dict__[attr_name] = self.get_template_child(cls, widget_name)
+
+    for handler_name, attr_name in self.__gtktemplate_methods__.items():
+        if handler_name not in self.__gtktemplate_handlers__:
+            raise RuntimeError(
+                "Handler '%s' was declared with @Gtk.Template.Callback "
+                "but was not present in template" % handler_name)
+
+
+class Child(object):
+
+    def __init__(self, name=None):
+        self._name = name
+
+
+class CallThing(object):
+
+    def __init__(self, name, func):
+        self._name = name
+        self._func = func
+
+
+class Callback(object):
+
+    def __init__(self, name=None):
+        self._name = name
+
+    def __call__(self, func):
+        return CallThing(self._name, func)
+
+
+class Template(object):
+
+    def __init__(self, **kwargs):
+        self.string = None
+        self.filename = None
+        self.resource_path = None
+        if "string" in kwargs:
+            self.string = kwargs.pop("string")
+        elif "filename" in kwargs:
+            self.filename = kwargs.pop("filename")
+        elif "resource_path" in kwargs:
+            self.resource_path = kwargs.pop("resource_path")
+        else:
+            raise TypeError(
+                "Requires one of the following arguments: "
+                "string, filename, resource_path")
+
+        if kwargs:
+            raise TypeError("Unhandled keyword arguments %r" % kwargs)
+
+    @classmethod
+    def from_file(cls, filename):
+        return cls(filename=filename)
+
+    @classmethod
+    def from_string(cls, string):
+        return cls(string=string)
+
+    @classmethod
+    def from_resource(cls, resource_path):
+        return cls(resource_path=resource_path)
+
+    Callback = Callback
+
+    Child = Child
+
+    def __call__(self, cls):
+        from gi.repository import Gtk
+
+        if not isinstance(cls, type) or not issubclass(cls, Gtk.Widget):
+            raise TypeError("Can only use @Gtk.Template on Widgets")
+
+        if "__gtype_name__" not in cls.__dict__:
+            raise TypeError(
+                "%r does not have a __gtype_name__. Set it to the name "
+                "of the class in your template" % cls.__name__)
+
+        if hasattr(cls, "__gtktemplate_methods__"):
+            raise TypeError("Cannot nest template classes")
+
+        if self.string is not None:
+            data = self.string
+            if not isinstance(data, bytes):
+                data = data.encode("utf-8")
+            bytes_ = GLib.Bytes.new(data)
+            cls.set_template(bytes_)
+            register_template(cls)
+            return cls
+        elif self.resource_path is not None:
+            Gio.resources_get_info(
+                self.resource_path, Gio.ResourceLookupFlags.NONE)
+            cls.set_template_from_resource(self.resource_path)
+            register_template(cls)
+            return cls
+        else:
+            assert self.filename is not None
+            file_ = Gio.File.new_for_path(self.filename)
+            bytes_ = GLib.Bytes.new(file_.load_contents()[1])
+            cls.set_template(bytes_)
+            register_template(cls)
+            return cls
+
+
+__all__ = ["Template"]
index 45c74a3..3791137 100644 (file)
@@ -32,13 +32,7 @@ import optparse
 from optparse import OptParseError, OptionError, OptionValueError, \
     BadOptionError, OptionConflictError
 from .module import get_introspection_module
-
-if sys.version_info >= (3, 0):
-    _basestring = str
-    _bytes = lambda s: s.encode()
-else:
-    _basestring = basestring
-    _bytes = str
+from ._compat import string_types
 
 from gi import _gi
 from gi._error import GError
@@ -137,10 +131,13 @@ class Option(optparse.Option):
             flags |= GLib.OptionFlags.FILENAME
 
         for (long_name, short_name) in zip(self._long_opts, self._short_opts):
-            yield (long_name[2:], _bytes(short_name[1]), flags, self.help, self.metavar)
+            short_bytes = short_name[1]
+            if not isinstance(short_bytes, bytes):
+                short_bytes = short_bytes.encode("utf-8")
+            yield (long_name[2:], short_bytes, flags, self.help, self.metavar)
 
         for long_name in self._long_opts[len(self._short_opts):]:
-            yield (long_name[2:], _bytes('\0'), flags, self.help, self.metavar)
+            yield (long_name[2:], b'\0', flags, self.help, self.metavar)
 
 
 class OptionGroup(optparse.OptionGroup):
@@ -233,7 +230,7 @@ class OptionGroup(optparse.OptionGroup):
     def set_values_to_defaults(self):
         for option in self.option_list:
             default = self.defaults.get(option.dest)
-            if isinstance(default, _basestring):
+            if isinstance(default, string_types):
                 opt_str = option.get_opt_string()
                 self.defaults[option.dest] = option.check_value(
                     opt_str, default)
@@ -313,7 +310,7 @@ class OptionParser(optparse.OptionParser):
         return context
 
     def add_option_group(self, *args, **kwargs):
-        if isinstance(args[0], _basestring):
+        if isinstance(args[0], string_types):
             optparse.OptionParser.add_option_group(self,
                                                    OptionGroup(self, *args, **kwargs))
             return
index 6874068..5176e97 100644 (file)
@@ -20,10 +20,11 @@ import os
 import sys
 import socket
 import signal
-import ctypes
 import threading
 from contextlib import closing, contextmanager
 
+from . import _gi
+
 
 def ensure_socket_not_inheritable(sock):
     """Ensures that the socket is not inherited by child processes
@@ -139,21 +140,7 @@ def wakeup_on_signal():
             _wakeup_fd_is_active = False
 
 
-def create_pythonapi():
-    # We need our own instance of ctypes.pythonapi so we don't modify the
-    # global shared one. Adapted from the ctypes source.
-    if os.name == "nt":
-        return ctypes.PyDLL("python dll", None, sys.dllhandle)
-    elif sys.platform == "cygwin":
-        return ctypes.PyDLL("libpython%d.%d.dll" % sys.version_info[:2])
-    else:
-        return ctypes.PyDLL(None)
-
-
-pydll = create_pythonapi()
-PyOS_getsig = pydll.PyOS_getsig
-PyOS_getsig.restype = ctypes.c_void_p
-PyOS_getsig.argtypes = [ctypes.c_int]
+PyOS_getsig = _gi.pyos_getsig
 
 # We save the signal pointer so we can detect if glib has changed the
 # signal handler behind Python's back (GLib.unix_signal_add)
@@ -237,9 +224,8 @@ def register_sigint_fallback(callback):
             try:
                 yield
             finally:
-                cb = _callback_stack.pop()
                 if _sigint_called:
-                    cb()
+                    _callback_stack.pop()()
         else:
             # There is a signal handler set by the user, just do nothing
             yield
@@ -256,11 +242,9 @@ def register_sigint_fallback(callback):
         _callback_stack.pop()()
 
     _callback_stack.append(callback)
-    try:
-        with sigint_handler_set_and_restore_default(sigint_handler):
+    with sigint_handler_set_and_restore_default(sigint_handler):
+        try:
             yield
-    finally:
-        if _sigint_called:
-            signal.default_int_handler(signal.SIGINT, None)
-        else:
-            _callback_stack.pop()
+        finally:
+            if _sigint_called:
+                signal.default_int_handler(signal.SIGINT, None)
index e81de2e..a4b5e17 100644 (file)
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, see <http://www.gnu.org/licenses/>.
 
-import sys
 import traceback
 
 from . import _gi
-
+from ._compat import string_types, long_
 from ._constants import \
     TYPE_NONE, TYPE_INTERFACE, TYPE_CHAR, TYPE_UCHAR, \
     TYPE_BOOLEAN, TYPE_INT, TYPE_UINT, TYPE_LONG, \
@@ -39,13 +38,6 @@ G_MINLONG = _gi.G_MINLONG
 G_MAXLONG = _gi.G_MAXLONG
 G_MAXULONG = _gi.G_MAXULONG
 
-if sys.version_info >= (3, 0):
-    _basestring = str
-    _long = int
-else:
-    _basestring = basestring
-    _long = long
-
 
 class Property(object):
     """Creates a new Property which when used in conjunction with
@@ -104,7 +96,7 @@ class Property(object):
     """
     _type_from_pytype_lookup = {
         # Put long_ first in case long_ and int are the same so int clobbers long_
-        _long: TYPE_LONG,
+        long_: TYPE_LONG,
         int: TYPE_INT,
         bool: TYPE_BOOLEAN,
         float: TYPE_DOUBLE,
@@ -162,11 +154,11 @@ class Property(object):
         self.default = self._get_default(default)
         self._check_default()
 
-        if not isinstance(nick, _basestring):
+        if not isinstance(nick, string_types):
             raise TypeError("nick must be a string")
         self.nick = nick
 
-        if not isinstance(blurb, _basestring):
+        if not isinstance(blurb, string_types):
             raise TypeError("blurb must be a string")
         self.blurb = blurb
         # Always clobber __doc__ with blurb even if blurb is empty because
@@ -210,7 +202,7 @@ class Property(object):
     def __repr__(self):
         return '<GObject Property %s (%s)>' % (
             self.name or '(uninitialized)',
-            _gi.type_name(self.type))
+            self.type.name)
 
     def __get__(self, instance, klass):
         if instance is None:
@@ -308,24 +300,24 @@ class Property(object):
         elif ptype == TYPE_GTYPE:
             if default is not None:
                 raise TypeError("GType types does not have default values")
-        elif _gi.type_is_a(ptype, TYPE_ENUM):
+        elif ptype.is_a(TYPE_ENUM):
             if default is None:
                 raise TypeError("enum properties needs a default value")
-            elif not _gi.type_is_a(default, ptype):
+            elif not _gi.GType(default).is_a(ptype):
                 raise TypeError("enum value %s must be an instance of %r" %
                                 (default, ptype))
-        elif _gi.type_is_a(ptype, TYPE_FLAGS):
-            if not _gi.type_is_a(default, ptype):
+        elif ptype.is_a(TYPE_FLAGS):
+            if not _gi.GType(default).is_a(ptype):
                 raise TypeError("flags value %s must be an instance of %r" %
                                 (default, ptype))
-        elif _gi.type_is_a(ptype, TYPE_STRV) and default is not None:
+        elif ptype.is_a(TYPE_STRV) and default is not None:
             if not isinstance(default, list):
                 raise TypeError("Strv value %s must be a list" % repr(default))
             for val in default:
                 if type(val) not in (str, bytes):
                     raise TypeError("Strv value %s must contain only strings" % str(default))
-        elif _gi.type_is_a(ptype, TYPE_VARIANT) and default is not None:
-            if not hasattr(default, '__gtype__') or not _gi.type_is_a(default, TYPE_VARIANT):
+        elif ptype.is_a(TYPE_VARIANT) and default is not None:
+            if not hasattr(default, '__gtype__') or not _gi.GType(default).is_a(TYPE_VARIANT):
                 raise TypeError("variant value %s must be an instance of %r" %
                                 (default, ptype))
 
index 29d36ea..8a1f0a4 100644 (file)
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, see <http://www.gnu.org/licenses/>.
 
-import sys
-
 from . import _gi
 
-# Callable went away in python 3.0 and came back in 3.2.
-# Use versioning to figure out when to define it, otherwise we have to deal with
-# the complexity of using __builtin__ or builtin between python versions to
-# check if callable exists which PyFlakes will also complain about.
-if (3, 0) <= sys.version_info < (3, 2):
-    def callable(fn):
-        return hasattr(fn, '__call__')
-
 
 class Signal(str):
     """Object which gives a nice API for creating and binding signals.
@@ -115,7 +105,7 @@ class Signal(str):
 
         def disconnect(self, handler_id):
             """Same as GObject.Object.disconnect."""
-            self.instance.disconnect(handler_id)
+            self.gobj.disconnect(handler_id)
 
         def emit(self, *args, **kargs):
             """Same as GObject.Object.emit except there is no need to specify
@@ -129,11 +119,9 @@ class Signal(str):
 
     def __init__(self, name='', func=None, flags=_gi.SIGNAL_RUN_FIRST,
                  return_type=None, arg_types=None, doc='', accumulator=None, accu_data=None):
-        if func and not name:
-            name = func.__name__
-        elif callable(name):
+        if func is None and callable(name):
             func = name
-            name = func.__name__
+
         if func and not doc:
             doc = func.__doc__
 
@@ -180,8 +168,7 @@ class Signal(str):
 
     def copy(self, newName=None):
         """Returns a renamed copy of the Signal."""
-        if newName is None:
-            newName = self.name
+
         return type(self)(name=newName, func=self.func, flags=self.flags,
                           return_type=self.return_type, arg_types=self.arg_types,
                           doc=self.__doc__, accumulator=self.accumulator, accu_data=self.accu_data)
index 48ddee2..8e5d722 100644 (file)
 #include <glib-object.h>
 
 #include "config.h"
-#include "pyglib.h"
 #include "pyginterface.h"
 #include "pygi-repository.h"
-#include "pyglib.h"
-#include "pygtype.h"
+#include "pygi-type.h"
 #include "pygenum.h"
 #include "pygboxed.h"
 #include "pygflags.h"
 #include "pygoptioncontext.h"
 #include "pygoptiongroup.h"
 #include "pygspawn.h"
-#include "gobjectmodule.h"
 #include "pygparamspec.h"
 #include "pygpointer.h"
-
-#include <pyglib-python-compat.h>
+#include "pygobject-internal.h"
+#include "pygi-value.h"
+#include "pygi-property.h"
+#include "pygi-util.h"
+#include "gimodule.h"
+#include "pygi-python-compat.h"
+#include "pygi-basictype.h"
 
 PyObject *PyGIWarning;
 PyObject *PyGIDeprecationWarning;
 PyObject *_PyGIDefaultArgPlaceholder;
 
-
-/* Defined by PYGLIB_MODULE_START */
-extern PyObject *pyglib__gobject_module_create (void);
-
 /* Returns a new flag/enum type or %NULL */
 static PyObject *
 flags_enum_from_gtype (GType g_type,
@@ -86,6 +84,1353 @@ flags_enum_from_gtype (GType g_type,
     return new_type;
 }
 
+static void pyg_flags_add_constants(PyObject *module, GType flags_type,
+                                   const gchar *strip_prefix);
+
+/**
+ * pyg_enum_add_constants:
+ * @module: a Python module
+ * @enum_type: the GType of the enumeration.
+ * @strip_prefix: the prefix to strip from the constant names.
+ *
+ * Adds constants to the given Python module for each value name of
+ * the enumeration.  A prefix will be stripped from each enum name.
+ */
+static void
+pyg_enum_add_constants(PyObject *module, GType enum_type,
+                      const gchar *strip_prefix)
+{
+    GEnumClass *eclass;
+    guint i;
+
+    if (!G_TYPE_IS_ENUM(enum_type)) {
+       if (G_TYPE_IS_FLAGS(enum_type)) /* See bug #136204 */
+           pyg_flags_add_constants(module, enum_type, strip_prefix);
+       else
+           g_warning("`%s' is not an enum type", g_type_name(enum_type));
+       return;
+    }
+    g_return_if_fail (strip_prefix != NULL);
+
+    eclass = G_ENUM_CLASS(g_type_class_ref(enum_type));
+
+    for (i = 0; i < eclass->n_values; i++) {
+       const gchar *name = eclass->values[i].value_name;
+       gint value = eclass->values[i].value;
+
+       PyModule_AddIntConstant(module,
+                               (char*) pyg_constant_strip_prefix(name, strip_prefix),
+                               (long) value);
+    }
+
+    g_type_class_unref(eclass);
+}
+
+/**
+ * pyg_flags_add_constants:
+ * @module: a Python module
+ * @flags_type: the GType of the flags type.
+ * @strip_prefix: the prefix to strip from the constant names.
+ *
+ * Adds constants to the given Python module for each value name of
+ * the flags set.  A prefix will be stripped from each flag name.
+ */
+static void
+pyg_flags_add_constants(PyObject *module, GType flags_type,
+                       const gchar *strip_prefix)
+{
+    GFlagsClass *fclass;
+    guint i;
+
+    if (!G_TYPE_IS_FLAGS(flags_type)) {
+       if (G_TYPE_IS_ENUM(flags_type)) /* See bug #136204 */
+           pyg_enum_add_constants(module, flags_type, strip_prefix);
+       else
+           g_warning("`%s' is not an flags type", g_type_name(flags_type));
+       return;
+    }
+    g_return_if_fail (strip_prefix != NULL);
+
+    fclass = G_FLAGS_CLASS(g_type_class_ref(flags_type));
+
+    for (i = 0; i < fclass->n_values; i++) {
+       const gchar *name = fclass->values[i].value_name;
+       guint value = fclass->values[i].value;
+
+       PyModule_AddIntConstant(module,
+                               (char*) pyg_constant_strip_prefix(name, strip_prefix),
+                               (long) value);
+    }
+
+    g_type_class_unref(fclass);
+}
+
+/**
+ * pyg_set_thread_block_funcs:
+ * Deprecated, only available for ABI compatibility.
+ */
+static void
+_pyg_set_thread_block_funcs (PyGThreadBlockFunc block_threads_func,
+                            PyGThreadBlockFunc unblock_threads_func)
+{
+    PyGILState_STATE state = PyGILState_Ensure ();
+    PyErr_Warn (PyExc_DeprecationWarning,
+                "Using pyg_set_thread_block_funcs is not longer needed. "
+                "PyGObject always uses Py_BLOCK/UNBLOCK_THREADS.");
+    PyGILState_Release (state);
+}
+
+static GParamSpec *
+create_property (const gchar  *prop_name,
+                GType         prop_type,
+                const gchar  *nick,
+                const gchar  *blurb,
+                PyObject     *args,
+                GParamFlags   flags)
+{
+    GParamSpec *pspec = NULL;
+
+    switch (G_TYPE_FUNDAMENTAL(prop_type)) {
+    case G_TYPE_CHAR:
+       {
+           gchar minimum, maximum, default_value;
+
+           if (!PyArg_ParseTuple(args, "ccc", &minimum, &maximum,
+                                 &default_value))
+               return NULL;
+           pspec = g_param_spec_char (prop_name, nick, blurb, minimum,
+                                      maximum, default_value, flags);
+       }
+       break;
+    case G_TYPE_UCHAR:
+       {
+           gchar minimum, maximum, default_value;
+
+           if (!PyArg_ParseTuple(args, "ccc", &minimum, &maximum,
+                                 &default_value))
+               return NULL;
+           pspec = g_param_spec_uchar (prop_name, nick, blurb, minimum,
+                                       maximum, default_value, flags);
+       }
+       break;
+    case G_TYPE_BOOLEAN:
+       {
+           gboolean default_value;
+
+           if (!PyArg_ParseTuple(args, "i", &default_value))
+               return NULL;
+           pspec = g_param_spec_boolean (prop_name, nick, blurb,
+                                         default_value, flags);
+       }
+       break;
+    case G_TYPE_INT:
+       {
+           gint minimum, maximum, default_value;
+
+           if (!PyArg_ParseTuple(args, "iii", &minimum, &maximum,
+                                 &default_value))
+               return NULL;
+           pspec = g_param_spec_int (prop_name, nick, blurb, minimum,
+                                     maximum, default_value, flags);
+       }
+       break;
+    case G_TYPE_UINT:
+       {
+           guint minimum, maximum, default_value;
+
+           if (!PyArg_ParseTuple(args, "III", &minimum, &maximum,
+                                 &default_value))
+               return NULL;
+           pspec = g_param_spec_uint (prop_name, nick, blurb, minimum,
+                                      maximum, default_value, flags);
+       }
+       break;
+    case G_TYPE_LONG:
+       {
+           glong minimum, maximum, default_value;
+
+           if (!PyArg_ParseTuple(args, "lll", &minimum, &maximum,
+                                 &default_value))
+               return NULL;
+           pspec = g_param_spec_long (prop_name, nick, blurb, minimum,
+                                      maximum, default_value, flags);
+       }
+       break;
+    case G_TYPE_ULONG:
+       {
+           gulong minimum, maximum, default_value;
+
+           if (!PyArg_ParseTuple(args, "kkk", &minimum, &maximum,
+                                 &default_value))
+               return NULL;
+           pspec = g_param_spec_ulong (prop_name, nick, blurb, minimum,
+                                       maximum, default_value, flags);
+       }
+       break;
+    case G_TYPE_INT64:
+       {
+           gint64 minimum, maximum, default_value;
+
+           if (!PyArg_ParseTuple(args, "LLL", &minimum, &maximum,
+                                 &default_value))
+               return NULL;
+           pspec = g_param_spec_int64 (prop_name, nick, blurb, minimum,
+                                       maximum, default_value, flags);
+       }
+       break;
+    case G_TYPE_UINT64:
+       {
+           guint64 minimum, maximum, default_value;
+
+           if (!PyArg_ParseTuple(args, "KKK", &minimum, &maximum,
+                                 &default_value))
+               return NULL;
+           pspec = g_param_spec_uint64 (prop_name, nick, blurb, minimum,
+                                        maximum, default_value, flags);
+       }
+       break;
+    case G_TYPE_ENUM:
+       {
+           gint default_value;
+           PyObject *pydefault;
+
+           if (!PyArg_ParseTuple(args, "O", &pydefault))
+               return NULL;
+
+           if (pyg_enum_get_value(prop_type, pydefault,
+                                  (gint *)&default_value))
+               return NULL;
+
+           pspec = g_param_spec_enum (prop_name, nick, blurb,
+                                      prop_type, default_value, flags);
+       }
+       break;
+    case G_TYPE_FLAGS:
+       {
+           guint default_value;
+           PyObject *pydefault;
+
+           if (!PyArg_ParseTuple(args, "O", &pydefault))
+               return NULL;
+
+           if (pyg_flags_get_value(prop_type, pydefault,
+                                   &default_value))
+               return NULL;
+
+           pspec = g_param_spec_flags (prop_name, nick, blurb,
+                                       prop_type, default_value, flags);
+       }
+       break;
+    case G_TYPE_FLOAT:
+       {
+           gfloat minimum, maximum, default_value;
+
+           if (!PyArg_ParseTuple(args, "fff", &minimum, &maximum,
+                                 &default_value))
+               return NULL;
+           pspec = g_param_spec_float (prop_name, nick, blurb, minimum,
+                                       maximum, default_value, flags);
+       }
+       break;
+    case G_TYPE_DOUBLE:
+       {
+           gdouble minimum, maximum, default_value;
+
+           if (!PyArg_ParseTuple(args, "ddd", &minimum, &maximum,
+                                 &default_value))
+               return NULL;
+           pspec = g_param_spec_double (prop_name, nick, blurb, minimum,
+                                        maximum, default_value, flags);
+       }
+       break;
+    case G_TYPE_STRING:
+       {
+           const gchar *default_value;
+
+           if (!PyArg_ParseTuple(args, "z", &default_value))
+               return NULL;
+           pspec = g_param_spec_string (prop_name, nick, blurb,
+                                        default_value, flags);
+       }
+       break;
+    case G_TYPE_PARAM:
+       if (!PyArg_ParseTuple(args, ""))
+           return NULL;
+       pspec = g_param_spec_param (prop_name, nick, blurb, prop_type, flags);
+       break;
+    case G_TYPE_BOXED:
+       if (!PyArg_ParseTuple(args, ""))
+           return NULL;
+       pspec = g_param_spec_boxed (prop_name, nick, blurb, prop_type, flags);
+       break;
+    case G_TYPE_POINTER:
+       if (!PyArg_ParseTuple(args, ""))
+           return NULL;
+       if (prop_type == G_TYPE_GTYPE)
+           pspec = g_param_spec_gtype (prop_name, nick, blurb, G_TYPE_NONE, flags);
+       else
+           pspec = g_param_spec_pointer (prop_name, nick, blurb, flags);
+       break;
+    case G_TYPE_OBJECT:
+    case G_TYPE_INTERFACE:
+       if (!PyArg_ParseTuple(args, ""))
+           return NULL;
+       pspec = g_param_spec_object (prop_name, nick, blurb, prop_type, flags);
+       break;
+    case G_TYPE_VARIANT:
+       {
+           PyObject *pydefault;
+            GVariant *default_value = NULL;
+
+           if (!PyArg_ParseTuple(args, "O", &pydefault))
+               return NULL;
+            if (pydefault != Py_None)
+                default_value = pyg_boxed_get (pydefault, GVariant);
+           pspec = g_param_spec_variant (prop_name, nick, blurb, G_VARIANT_TYPE_ANY, default_value, flags);
+       }
+       break;
+    default:
+       /* unhandled pspec type ... */
+       break;
+    }
+
+    if (!pspec) {
+       char buf[128];
+
+       g_snprintf(buf, sizeof(buf), "could not create param spec for type %s",
+                  g_type_name(prop_type));
+       PyErr_SetString(PyExc_TypeError, buf);
+       return NULL;
+    }
+
+    return pspec;
+}
+
+static GParamSpec *
+pyg_param_spec_from_object (PyObject *tuple)
+{
+    Py_ssize_t val_length;
+    const gchar *prop_name;
+    GType prop_type;
+    const gchar *nick, *blurb;
+    PyObject *slice, *item, *py_prop_type;
+    GParamSpec *pspec;
+    gint intvalue;
+
+    val_length = PyTuple_Size(tuple);
+    if (val_length < 4) {
+       PyErr_SetString(PyExc_TypeError,
+                       "paramspec tuples must be at least 4 elements long");
+       return NULL;
+    }
+
+    slice = PySequence_GetSlice(tuple, 0, 4);
+    if (!slice) {
+       return NULL;
+    }
+
+    if (!PyArg_ParseTuple(slice, "sOzz", &prop_name, &py_prop_type, &nick, &blurb)) {
+       Py_DECREF(slice);
+       return NULL;
+    }
+
+    Py_DECREF(slice);
+
+    prop_type = pyg_type_from_object(py_prop_type);
+    if (!prop_type) {
+       return NULL;
+    }
+
+    item = PyTuple_GetItem(tuple, val_length-1);
+    if (!PYGLIB_PyLong_Check(item)) {
+       PyErr_SetString(PyExc_TypeError,
+                       "last element in tuple must be an int");
+       return NULL;
+    }
+
+    if (!pygi_gint_from_py (item, &intvalue))
+       return NULL;
+
+    /* slice is the extra items in the tuple */
+    slice = PySequence_GetSlice(tuple, 4, val_length-1);
+    pspec = create_property(prop_name, prop_type,
+                           nick, blurb, slice,
+                           intvalue);
+
+    return pspec;
+}
+
+/**
+ * pyg_parse_constructor_args: helper function for PyGObject constructors
+ * @obj_type: GType of the GObject, for parameter introspection
+ * @arg_names: %NULL-terminated array of constructor argument names
+ * @prop_names: %NULL-terminated array of property names, with direct
+ * correspondence to @arg_names
+ * @params: GParameter array where parameters will be placed; length
+ * of this array must be at least equal to the number of
+ * arguments/properties
+ * @nparams: output parameter to contain actual number of arguments found
+ * @py_args: array of PyObject* containing the actual constructor arguments
+ *
+ * Parses an array of PyObject's and creates a GParameter array
+ *
+ * Return value: %TRUE if all is successful, otherwise %FALSE and
+ * python exception set.
+ **/
+static gboolean
+pyg_parse_constructor_args(GType        obj_type,
+                           char       **arg_names,
+                           char       **prop_names,
+                           GParameter  *params,
+                           guint       *nparams,
+                           PyObject   **py_args)
+{
+    guint arg_i, param_i;
+    GObjectClass *oclass;
+
+    oclass = g_type_class_ref(obj_type);
+    g_return_val_if_fail(oclass, FALSE);
+
+    for (param_i = arg_i = 0; arg_names[arg_i]; ++arg_i) {
+        GParamSpec *spec;
+        if (!py_args[arg_i])
+            continue;
+        spec = g_object_class_find_property(oclass, prop_names[arg_i]);
+        params[param_i].name = prop_names[arg_i];
+        g_value_init(&params[param_i].value, spec->value_type);
+        if (pyg_value_from_pyobject(&params[param_i].value, py_args[arg_i]) == -1) {
+            guint i;
+            PyErr_Format(PyExc_TypeError, "could not convert parameter '%s' of type '%s'",
+                         arg_names[arg_i], g_type_name(spec->value_type));
+            g_type_class_unref(oclass);
+            for (i = 0; i < param_i; ++i)
+                g_value_unset(&params[i].value);
+            return FALSE;
+        }
+        ++param_i;
+    }
+    g_type_class_unref(oclass);
+    *nparams = param_i;
+    return TRUE;
+}
+
+/* Only for backwards compatibility */
+static int
+pygobject_enable_threads(void)
+{
+    return 0;
+}
+
+static int
+pygobject_gil_state_ensure (void)
+{
+    return PyGILState_Ensure ();
+}
+
+static void
+pygobject_gil_state_release (int flag)
+{
+    PyGILState_Release(flag);
+}
+
+static void
+pyg_register_class_init(GType gtype, PyGClassInitFunc class_init)
+{
+    GSList *list;
+
+    list = g_type_get_qdata(gtype, pygobject_class_init_key);
+    list = g_slist_prepend(list, class_init);
+    g_type_set_qdata(gtype, pygobject_class_init_key, list);
+}
+
+static gboolean
+add_properties (GObjectClass *klass, PyObject *properties)
+{
+    gboolean ret = TRUE;
+    Py_ssize_t pos = 0;
+    PyObject *key, *value;
+
+    while (PyDict_Next(properties, &pos, &key, &value)) {
+       const gchar *prop_name;
+       GType prop_type;
+       const gchar *nick, *blurb;
+       GParamFlags flags;
+       Py_ssize_t val_length;
+       PyObject *slice, *item, *py_prop_type;
+       GParamSpec *pspec;
+
+       /* values are of format (type,nick,blurb, type_specific_args, flags) */
+
+       if (!PYGLIB_PyUnicode_Check(key)) {
+           PyErr_SetString(PyExc_TypeError,
+                           "__gproperties__ keys must be strings");
+           ret = FALSE;
+           break;
+       }
+       prop_name = PYGLIB_PyUnicode_AsString (key);
+
+       if (!PyTuple_Check(value)) {
+           PyErr_SetString(PyExc_TypeError,
+                           "__gproperties__ values must be tuples");
+           ret = FALSE;
+           break;
+       }
+       val_length = PyTuple_Size(value);
+       if (val_length < 4) {
+           PyErr_SetString(PyExc_TypeError,
+                           "__gproperties__ values must be at least 4 elements long");
+           ret = FALSE;
+           break;
+       }
+
+       slice = PySequence_GetSlice(value, 0, 3);
+       if (!slice) {
+           ret = FALSE;
+           break;
+       }
+       if (!PyArg_ParseTuple(slice, "Ozz", &py_prop_type, &nick, &blurb)) {
+           Py_DECREF(slice);
+           ret = FALSE;
+           break;
+       }
+       Py_DECREF(slice);
+       prop_type = pyg_type_from_object(py_prop_type);
+       if (!prop_type) {
+           ret = FALSE;
+           break;
+       }
+       item = PyTuple_GetItem(value, val_length-1);
+       if (!PYGLIB_PyLong_Check(item)) {
+           PyErr_SetString(PyExc_TypeError,
+               "last element in __gproperties__ value tuple must be an int");
+           ret = FALSE;
+           break;
+       }
+       if (!pygi_gint_from_py (item, &flags)) {
+           ret = FALSE;
+           break;
+       }
+
+       /* slice is the extra items in the tuple */
+       slice = PySequence_GetSlice(value, 3, val_length-1);
+       pspec = create_property(prop_name, prop_type, nick, blurb,
+                               slice, flags);
+       Py_DECREF(slice);
+
+       if (pspec) {
+           g_object_class_install_property(klass, 1, pspec);
+       } else {
+            PyObject *type, *pvalue, *traceback;
+           ret = FALSE;
+            PyErr_Fetch(&type, &pvalue, &traceback);
+            if (PYGLIB_PyUnicode_Check(pvalue)) {
+                char msg[256];
+                g_snprintf(msg, 256,
+                          "%s (while registering property '%s' for GType '%s')",
+               PYGLIB_PyUnicode_AsString(pvalue),
+                          prop_name, G_OBJECT_CLASS_NAME(klass));
+                Py_DECREF(pvalue);
+                value = PYGLIB_PyUnicode_FromString(msg);
+            }
+            PyErr_Restore(type, pvalue, traceback);
+           break;
+       }
+    }
+
+    return ret;
+}
+
+static gboolean
+override_signal(GType instance_type, const gchar *signal_name)
+{
+    guint signal_id;
+
+    signal_id = g_signal_lookup(signal_name, instance_type);
+    if (!signal_id) {
+       gchar buf[128];
+
+       g_snprintf(buf, sizeof(buf), "could not look up %s", signal_name);
+       PyErr_SetString(PyExc_TypeError, buf);
+       return FALSE;
+    }
+    g_signal_override_class_closure(signal_id, instance_type,
+                                   pyg_signal_class_closure_get());
+    return TRUE;
+}
+
+typedef struct _PyGSignalAccumulatorData {
+    PyObject *callable;
+    PyObject *user_data;
+} PyGSignalAccumulatorData;
+
+
+static gboolean
+_pyg_signal_accumulator(GSignalInvocationHint *ihint,
+                        GValue *return_accu,
+                        const GValue *handler_return,
+                        gpointer _data)
+{
+    PyObject *py_ihint, *py_return_accu, *py_handler_return, *py_detail;
+    PyObject *py_retval;
+    gboolean retval = FALSE;
+    PyGSignalAccumulatorData *data = _data;
+    PyGILState_STATE state;
+
+    state = PyGILState_Ensure();
+    if (ihint->detail)
+        py_detail = PYGLIB_PyUnicode_FromString(g_quark_to_string(ihint->detail));
+    else {
+        Py_INCREF(Py_None);
+        py_detail = Py_None;
+    }
+
+    py_ihint = Py_BuildValue("lNi", (long int) ihint->signal_id,
+                             py_detail, ihint->run_type);
+    py_handler_return = pyg_value_as_pyobject(handler_return, TRUE);
+    py_return_accu = pyg_value_as_pyobject(return_accu, FALSE);
+    if (data->user_data)
+        py_retval = PyObject_CallFunction(data->callable, "NNNO", py_ihint,
+                                          py_return_accu, py_handler_return,
+                                          data->user_data);
+    else
+        py_retval = PyObject_CallFunction(data->callable, "NNN", py_ihint,
+                                          py_return_accu, py_handler_return);
+    if (!py_retval)
+       PyErr_Print();
+    else {
+        if (!PyTuple_Check(py_retval) || PyTuple_Size(py_retval) != 2) {
+            PyErr_SetString(PyExc_TypeError, "accumulator function must return"
+                            " a (bool, object) tuple");
+            PyErr_Print();
+        } else {
+            retval = PyObject_IsTrue(PyTuple_GET_ITEM(py_retval, 0));
+            if (pyg_value_from_pyobject(return_accu, PyTuple_GET_ITEM(py_retval, 1))) {
+                PyErr_Print();
+            }
+        }
+        Py_DECREF(py_retval);
+    }
+    PyGILState_Release(state);
+    return retval;
+}
+
+static gboolean
+create_signal (GType instance_type, const gchar *signal_name, PyObject *tuple)
+{
+    GSignalFlags signal_flags;
+    PyObject *py_return_type, *py_param_types;
+    GType return_type;
+    guint n_params, i;
+    Py_ssize_t py_n_params;
+    GType *param_types;
+    guint signal_id;
+    GSignalAccumulator accumulator = NULL;
+    PyGSignalAccumulatorData *accum_data = NULL;
+    PyObject *py_accum = NULL, *py_accum_data = NULL;
+
+    if (!PyArg_ParseTuple(tuple, "iOO|OO", &signal_flags, &py_return_type,
+                         &py_param_types, &py_accum, &py_accum_data))
+    {
+       gchar buf[128];
+
+       PyErr_Clear();
+       g_snprintf(buf, sizeof(buf),
+                  "value for __gsignals__['%s'] not in correct format", signal_name);
+       PyErr_SetString(PyExc_TypeError, buf);
+       return FALSE;
+    }
+
+    if (py_accum && py_accum != Py_None && !PyCallable_Check(py_accum))
+    {
+       gchar buf[128];
+
+       g_snprintf(buf, sizeof(buf),
+                  "accumulator for __gsignals__['%s'] must be callable", signal_name);
+       PyErr_SetString(PyExc_TypeError, buf);
+       return FALSE;
+    }
+
+    return_type = pyg_type_from_object(py_return_type);
+    if (!return_type)
+       return FALSE;
+    if (!PySequence_Check(py_param_types)) {
+       gchar buf[128];
+
+       g_snprintf(buf, sizeof(buf),
+                  "third element of __gsignals__['%s'] tuple must be a sequence", signal_name);
+       PyErr_SetString(PyExc_TypeError, buf);
+       return FALSE;
+    }
+    py_n_params = PySequence_Length(py_param_types);
+    if (py_n_params < 0)
+        return FALSE;
+
+    if (!pygi_guint_from_pyssize (py_n_params, &n_params))
+        return FALSE;
+
+    param_types = g_new(GType, n_params);
+    for (i = 0; i < n_params; i++) {
+       PyObject *item = PySequence_GetItem(py_param_types, i);
+
+       param_types[i] = pyg_type_from_object(item);
+       if (param_types[i] == 0) {
+           Py_DECREF(item);
+           g_free(param_types);
+           return FALSE;
+       }
+       Py_DECREF(item);
+    }
+
+    if (py_accum != NULL && py_accum != Py_None) {
+        accum_data = g_new(PyGSignalAccumulatorData, 1);
+        accum_data->callable = py_accum;
+        Py_INCREF(py_accum);
+        accum_data->user_data = py_accum_data;
+        Py_XINCREF(py_accum_data);
+        accumulator = _pyg_signal_accumulator;
+    }
+
+    signal_id = g_signal_newv(signal_name, instance_type, signal_flags,
+                             pyg_signal_class_closure_get(),
+                             accumulator, accum_data,
+                             gi_cclosure_marshal_generic,
+                             return_type, n_params, param_types);
+    g_free(param_types);
+
+    if (signal_id == 0) {
+       gchar buf[128];
+
+       g_snprintf(buf, sizeof(buf), "could not create signal for %s",
+                  signal_name);
+       PyErr_SetString(PyExc_RuntimeError, buf);
+       return FALSE;
+    }
+    return TRUE;
+}
+
+
+static PyObject *
+add_signals (GObjectClass *klass, PyObject *signals)
+{
+    gboolean ret = TRUE;
+    Py_ssize_t pos = 0;
+    PyObject *key, *value, *overridden_signals = NULL;
+    GType instance_type = G_OBJECT_CLASS_TYPE (klass);
+
+    overridden_signals = PyDict_New();
+    while (PyDict_Next(signals, &pos, &key, &value)) {
+       const gchar *signal_name;
+        gchar *signal_name_canon, *c;
+
+       if (!PYGLIB_PyUnicode_Check(key)) {
+           PyErr_SetString(PyExc_TypeError,
+                           "__gsignals__ keys must be strings");
+           ret = FALSE;
+           break;
+       }
+       signal_name = PYGLIB_PyUnicode_AsString (key);
+
+       if (value == Py_None ||
+           (PYGLIB_PyUnicode_Check(value) &&
+            !strcmp(PYGLIB_PyUnicode_AsString(value), "override")))
+        {
+              /* canonicalize signal name, replacing '-' with '_' */
+            signal_name_canon = g_strdup(signal_name);
+            for (c = signal_name_canon; *c; ++c)
+                if (*c == '-')
+                    *c = '_';
+            if (PyDict_SetItemString(overridden_signals,
+                                    signal_name_canon, key)) {
+                g_free(signal_name_canon);
+                ret = FALSE;
+                break;
+            }
+            g_free(signal_name_canon);
+
+           ret = override_signal(instance_type, signal_name);
+       } else {
+           ret = create_signal(instance_type, signal_name, value);
+       }
+
+       if (!ret)
+           break;
+    }
+    if (ret)
+        return overridden_signals;
+    else {
+        Py_XDECREF(overridden_signals);
+        return NULL;
+    }
+}
+
+static void
+pyg_object_get_property (GObject *object, guint property_id,
+                        GValue *value, GParamSpec *pspec)
+{
+    PyObject *object_wrapper, *retval;
+    PyGILState_STATE state;
+
+    state = PyGILState_Ensure();
+
+    object_wrapper = g_object_get_qdata(object, pygobject_wrapper_key);
+
+    if (object_wrapper)
+      Py_INCREF (object_wrapper);
+    else
+      object_wrapper = pygobject_new(object);
+
+    if (object_wrapper == NULL) {
+       PyGILState_Release(state);
+       return;
+    }
+
+    retval = pygi_call_do_get_property (object_wrapper, pspec);
+    if (retval && pyg_value_from_pyobject (value, retval) < 0) {
+        PyErr_Print();
+    }
+    Py_DECREF(object_wrapper);
+    Py_XDECREF(retval);
+
+    PyGILState_Release(state);
+}
+
+static void
+pyg_object_set_property (GObject *object, guint property_id,
+                        const GValue *value, GParamSpec *pspec)
+{
+    PyObject *object_wrapper, *retval;
+    PyObject *py_pspec, *py_value;
+    PyGILState_STATE state;
+
+    state = PyGILState_Ensure();
+
+    object_wrapper = g_object_get_qdata(object, pygobject_wrapper_key);
+
+    if (object_wrapper)
+      Py_INCREF (object_wrapper);
+    else
+      object_wrapper = pygobject_new(object);
+
+    if (object_wrapper == NULL) {
+       PyGILState_Release(state);
+       return;
+    }
+
+    py_pspec = pyg_param_spec_new(pspec);
+    py_value = pyg_value_as_pyobject (value, TRUE);
+
+    retval = PyObject_CallMethod(object_wrapper, "do_set_property",
+                                "OO", py_pspec, py_value);
+    if (retval) {
+       Py_DECREF(retval);
+    } else {
+       PyErr_Print();
+    }
+
+    Py_DECREF(object_wrapper);
+    Py_DECREF(py_pspec);
+    Py_DECREF(py_value);
+
+    PyGILState_Release(state);
+}
+
+static void
+pyg_object_class_init(GObjectClass *class, PyObject *py_class)
+{
+    PyObject *gproperties, *gsignals, *overridden_signals;
+    PyObject *class_dict = ((PyTypeObject*) py_class)->tp_dict;
+
+    class->set_property = pyg_object_set_property;
+    class->get_property = pyg_object_get_property;
+
+    /* install signals */
+    /* we look this up in the instance dictionary, so we don't
+     * accidentally get a parent type's __gsignals__ attribute. */
+    gsignals = PyDict_GetItemString(class_dict, "__gsignals__");
+    if (gsignals) {
+       if (!PyDict_Check(gsignals)) {
+           PyErr_SetString(PyExc_TypeError,
+                           "__gsignals__ attribute not a dict!");
+           return;
+       }
+       if (!(overridden_signals = add_signals(class, gsignals))) {
+           return;
+       }
+        if (PyDict_SetItemString(class_dict, "__gsignals__",
+                                overridden_signals)) {
+            return;
+        }
+        Py_DECREF(overridden_signals);
+
+        PyDict_DelItemString(class_dict, "__gsignals__");
+    } else {
+       PyErr_Clear();
+    }
+
+    /* install properties */
+    /* we look this up in the instance dictionary, so we don't
+     * accidentally get a parent type's __gproperties__ attribute. */
+    gproperties = PyDict_GetItemString(class_dict, "__gproperties__");
+    if (gproperties) {
+       if (!PyDict_Check(gproperties)) {
+           PyErr_SetString(PyExc_TypeError,
+                           "__gproperties__ attribute not a dict!");
+           return;
+       }
+       if (!add_properties(class, gproperties)) {
+           return;
+       }
+       PyDict_DelItemString(class_dict, "__gproperties__");
+       /* Borrowed reference. Py_DECREF(gproperties); */
+    } else {
+       PyErr_Clear();
+    }
+}
+
+static GPrivate pygobject_construction_wrapper;
+
+static inline void
+pygobject_init_wrapper_set(PyObject *wrapper)
+{
+    g_private_set(&pygobject_construction_wrapper, wrapper);
+}
+
+static inline PyObject *
+pygobject_init_wrapper_get(void)
+{
+    return (PyObject *) g_private_get(&pygobject_construction_wrapper);
+}
+
+int
+pygobject_constructv(PyGObject  *self,
+                     guint       n_parameters,
+                     GParameter *parameters)
+{
+    GObject *obj;
+
+    g_assert (self->obj == NULL);
+    pygobject_init_wrapper_set((PyObject *) self);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+    obj = g_object_newv(pyg_type_from_object((PyObject *) self),
+                        n_parameters, parameters);
+G_GNUC_END_IGNORE_DEPRECATIONS
+    if (g_object_is_floating (obj))
+        self->private_flags.flags |= PYGOBJECT_GOBJECT_WAS_FLOATING;
+    pygobject_sink (obj);
+
+    pygobject_init_wrapper_set(NULL);
+    self->obj = obj;
+    pygobject_register_wrapper((PyObject *) self);
+
+    return 0;
+}
+
+static void
+pygobject__g_instance_init(GTypeInstance   *instance,
+                           gpointer         g_class)
+{
+    GObject *object = (GObject *) instance;
+    PyObject *wrapper, *args, *kwargs;
+    PyGILState_STATE state;
+
+    wrapper = g_object_get_qdata(object, pygobject_wrapper_key);
+    if (wrapper == NULL) {
+        wrapper = pygobject_init_wrapper_get();
+        if (wrapper && ((PyGObject *) wrapper)->obj == NULL) {
+            ((PyGObject *) wrapper)->obj = object;
+            pygobject_register_wrapper(wrapper);
+        }
+    }
+    pygobject_init_wrapper_set(NULL);
+
+    state = PyGILState_Ensure();
+
+    if (wrapper == NULL) {
+          /* this looks like a python object created through
+           * g_object_new -> we have no python wrapper, so create it
+           * now */
+        wrapper = pygobject_new_full(object,
+                                     /*steal=*/ FALSE,
+                                     g_class);
+
+        /* float the wrapper ref here because we are going to orphan it
+         * so we don't destroy the wrapper. The next call to pygobject_new_full
+         * will take the ref */
+        pygobject_ref_float ((PyGObject *) wrapper);
+        args = PyTuple_New(0);
+        kwargs = PyDict_New();
+        if (Py_TYPE(wrapper)->tp_init(wrapper, args, kwargs))
+            PyErr_Print();
+
+        Py_DECREF(args);
+        Py_DECREF(kwargs);
+    }
+
+    /* XXX: used for Gtk.Template */
+    if (PyObject_HasAttrString (wrapper, "__dontuse_ginstance_init__")) {
+        PyObject *result;
+        result = PyObject_CallMethod (wrapper, "__dontuse_ginstance_init__", NULL);
+        if (result == NULL)
+            PyErr_Print ();
+        else
+            Py_DECREF (result);
+    }
+
+    PyGILState_Release(state);
+}
+
+/*  This implementation is bad, see bug 566571 for an example why.
+ *  Instead of scanning explicitly declared bases for interfaces, we
+ *  should automatically initialize all implemented interfaces to
+ *  prevent bugs like that one.  However, this will lead to
+ *  performance degradation as each virtual method in derived classes
+ *  will round-trip through do_*() stuff, *even* if it is not
+ *  overriden.  We need to teach codegen to retain parent method
+ *  instead of setting virtual to *_proxy_do_*() if corresponding
+ *  do_*() is not overriden.  Ok, that was a messy explanation.
+ */
+static void
+pyg_type_add_interfaces(PyTypeObject *class, GType instance_type,
+                        PyObject *bases,
+                        GType *parent_interfaces, guint n_parent_interfaces)
+{
+    int i;
+
+    if (!bases) {
+        g_warning("type has no bases");
+        return;
+    }
+
+    for (i = 0; i < PyTuple_GET_SIZE(bases); ++i) {
+        PyObject *base = PyTuple_GET_ITEM(bases, i);
+        GType itype;
+        const GInterfaceInfo *iinfo;
+        GInterfaceInfo iinfo_copy;
+
+        /* 'base' can also be a PyClassObject, see bug #566571. */
+        if (!PyType_Check(base))
+            continue;
+
+        if (!PyType_IsSubtype((PyTypeObject*) base, &PyGInterface_Type))
+            continue;
+
+        itype = pyg_type_from_object(base);
+
+        /* Happens for _implementations_ of an interface. */
+        if (!G_TYPE_IS_INTERFACE(itype))
+            continue;
+
+        iinfo = pyg_lookup_interface_info(itype);
+        if (!iinfo) {
+            gchar *error;
+            error = g_strdup_printf("Interface type %s "
+                                    "has no Python implementation support",
+                                    ((PyTypeObject *) base)->tp_name);
+            PyErr_Warn(PyExc_RuntimeWarning, error);
+            g_free(error);
+            continue;
+        }
+
+        iinfo_copy = *iinfo;
+        iinfo_copy.interface_data = class;
+        g_type_add_interface_static(instance_type, itype, &iinfo_copy);
+    }
+}
+
+static int
+pyg_run_class_init(GType gtype, gpointer gclass, PyTypeObject *pyclass)
+{
+    GSList *list;
+    PyGClassInitFunc class_init;
+    GType parent_type;
+    int rv;
+
+    parent_type = g_type_parent(gtype);
+    if (parent_type) {
+        rv = pyg_run_class_init(parent_type, gclass, pyclass);
+        if (rv)
+           return rv;
+    }
+
+    list = g_type_get_qdata(gtype, pygobject_class_init_key);
+    for (; list; list = list->next) {
+       class_init = list->data;
+        rv = class_init(gclass, pyclass);
+        if (rv)
+           return rv;
+    }
+
+    return 0;
+}
+
+static char *
+get_type_name_for_class(PyTypeObject *class)
+{
+    gint i, name_serial;
+    char name_serial_str[16];
+    PyObject *module;
+    char *type_name = NULL;
+
+    /* make name for new GType */
+    name_serial = 1;
+    /* give up after 1000 tries, just in case.. */
+    while (name_serial < 1000)
+    {
+       g_free(type_name);
+       g_snprintf(name_serial_str, 16, "-v%i", name_serial);
+       module = PyObject_GetAttrString((PyObject *)class, "__module__");
+       if (module && PYGLIB_PyUnicode_Check(module)) {
+           type_name = g_strconcat(PYGLIB_PyUnicode_AsString(module), ".",
+                                   class->tp_name,
+                                   name_serial > 1 ? name_serial_str : NULL,
+                                   NULL);
+           Py_DECREF(module);
+       } else {
+           if (module)
+               Py_DECREF(module);
+           else
+               PyErr_Clear();
+           type_name = g_strconcat(class->tp_name,
+                                   name_serial > 1 ? name_serial_str : NULL,
+                                   NULL);
+       }
+       /* convert '.' in type name to '+', which isn't banned (grumble) */
+       for (i = 0; type_name[i] != '\0'; i++)
+           if (type_name[i] == '.')
+               type_name[i] = '+';
+       if (g_type_from_name(type_name) == 0)
+           break;              /* we now have a unique name */
+       ++name_serial;
+    }
+
+    return type_name;
+}
+
+static int
+pyg_type_register(PyTypeObject *class, const char *type_name)
+{
+    PyObject *gtype;
+    GType parent_type, instance_type;
+    GType *parent_interfaces;
+    guint n_parent_interfaces;
+    GTypeQuery query;
+    gpointer gclass;
+    GTypeInfo type_info = {
+       0,    /* class_size */
+
+       (GBaseInitFunc) NULL,
+       (GBaseFinalizeFunc) NULL,
+
+       (GClassInitFunc) pyg_object_class_init,
+       (GClassFinalizeFunc) NULL,
+       NULL, /* class_data */
+
+       0,    /* instance_size */
+       0,    /* n_preallocs */
+       (GInstanceInitFunc) pygobject__g_instance_init
+    };
+    gchar *new_type_name;
+
+    /* find the GType of the parent */
+    parent_type = pyg_type_from_object((PyObject *)class);
+    if (!parent_type)
+       return -1;
+
+    parent_interfaces = g_type_interfaces(parent_type, &n_parent_interfaces);
+
+    if (type_name)
+       /* care is taken below not to free this */
+        new_type_name = (gchar *) type_name;
+    else
+       new_type_name = get_type_name_for_class(class);
+
+    /* set class_data that will be passed to the class_init function. */
+    type_info.class_data = class;
+
+    /* fill in missing values of GTypeInfo struct */
+    g_type_query(parent_type, &query);
+    type_info.class_size = (guint16)query.class_size;
+    type_info.instance_size = (guint16)query.instance_size;
+
+    /* create new typecode */
+    instance_type = g_type_register_static(parent_type, new_type_name,
+                                          &type_info, 0);
+    if (instance_type == 0) {
+       PyErr_Format(PyExc_RuntimeError,
+                    "could not create new GType: %s (subclass of %s)",
+                    new_type_name,
+                    g_type_name(parent_type));
+
+        if (type_name == NULL)
+            g_free(new_type_name);
+
+       return -1;
+    }
+
+    if (type_name == NULL)
+        g_free(new_type_name);
+
+    /* store pointer to the class with the GType */
+    Py_INCREF(class);
+    g_type_set_qdata(instance_type, g_quark_from_string("PyGObject::class"),
+                    class);
+
+    /* Mark this GType as a custom python type */
+    g_type_set_qdata(instance_type, pygobject_custom_key,
+                     GINT_TO_POINTER (1));
+
+    /* set new value of __gtype__ on class */
+    gtype = pyg_type_wrapper_new(instance_type);
+    PyObject_SetAttrString((PyObject *)class, "__gtype__", gtype);
+    Py_DECREF(gtype);
+
+    /* if no __doc__, set it to the auto doc descriptor */
+    if (PyDict_GetItemString(class->tp_dict, "__doc__") == NULL) {
+       PyDict_SetItemString(class->tp_dict, "__doc__",
+                            pyg_object_descr_doc_get());
+    }
+
+    /*
+     * Note, all interfaces need to be registered before the first
+     * g_type_class_ref(), see bug #686149.
+     *
+     * See also comment above pyg_type_add_interfaces().
+     */
+    pyg_type_add_interfaces(class, instance_type, class->tp_bases,
+                            parent_interfaces, n_parent_interfaces);
+
+
+    gclass = g_type_class_ref(instance_type);
+    if (PyErr_Occurred() != NULL) {
+        g_type_class_unref(gclass);
+        g_free(parent_interfaces);
+        return -1;
+    }
+
+    if (pyg_run_class_init(instance_type, gclass, class)) {
+        g_type_class_unref(gclass);
+        g_free(parent_interfaces);
+        return -1;
+    }
+    g_type_class_unref(gclass);
+    g_free(parent_interfaces);
+
+    if (PyErr_Occurred() != NULL)
+        return -1;
+    return 0;
+}
+
+static PyObject *
+_wrap_pyg_type_register(PyObject *self, PyObject *args)
+{
+    PyTypeObject *class;
+    char *type_name = NULL;
+
+    if (!PyArg_ParseTuple(args, "O!|z:gobject.type_register",
+                         &PyType_Type, &class, &type_name))
+       return NULL;
+    if (!PyType_IsSubtype(class, &PyGObject_Type)) {
+       PyErr_SetString(PyExc_TypeError,
+                       "argument must be a GObject subclass");
+       return NULL;
+    }
+
+      /* Check if type already registered */
+    if (pyg_type_from_object((PyObject *) class) ==
+        pyg_type_from_object((PyObject *) class->tp_base))
+    {
+        if (pyg_type_register(class, type_name))
+            return NULL;
+    }
+
+    Py_INCREF(class);
+    return (PyObject *) class;
+}
+
+static GHashTable *log_handlers = NULL;
+static gboolean log_handlers_disabled = FALSE;
+
+static void
+remove_handler(gpointer domain,
+               gpointer handler,
+              gpointer unused)
+{
+    g_log_remove_handler(domain, GPOINTER_TO_UINT(handler));
+}
+
+static void
+_log_func(const gchar *log_domain,
+          GLogLevelFlags log_level,
+          const gchar *message,
+          gpointer user_data)
+{
+    if (G_LIKELY(Py_IsInitialized()))
+    {
+       PyGILState_STATE state;
+       PyObject* warning = user_data;
+
+       state = PyGILState_Ensure();
+       PyErr_Warn(warning, (char *) message);
+       PyGILState_Release(state);
+    } else
+        g_log_default_handler(log_domain, log_level, message, user_data);
+}
+
+static void
+add_warning_redirection(const char *domain,
+                        PyObject   *warning)
+{
+    g_return_if_fail(domain != NULL);
+    g_return_if_fail(warning != NULL);
+
+    if (!log_handlers_disabled)
+    {
+       guint handler;
+       gpointer old_handler;
+
+       if (!log_handlers)
+           log_handlers = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
+
+       if ((old_handler = g_hash_table_lookup(log_handlers, domain)))
+           g_log_remove_handler(domain, GPOINTER_TO_UINT(old_handler));
+
+       handler = g_log_set_handler(domain, G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING,
+                                   _log_func, warning);
+       g_hash_table_insert(log_handlers, g_strdup(domain), GUINT_TO_POINTER(handler));
+    }
+}
+
+static void
+disable_warning_redirections(void)
+{
+    log_handlers_disabled = TRUE;
+
+    if (log_handlers)
+    {
+       g_hash_table_foreach(log_handlers, remove_handler, NULL);
+       g_hash_table_destroy(log_handlers);
+       log_handlers = NULL;
+    }
+}
+
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+static int
+pygi_register_warnings(PyObject *d)
+{
+    PyObject *warning;
+
+    warning = PyErr_NewException("gobject.Warning", PyExc_Warning, NULL);
+    if (warning == NULL)
+        return -1;
+    PyDict_SetItemString(d, "Warning", warning);
+    add_warning_redirection("GLib", warning);
+    add_warning_redirection("GLib-GObject", warning);
+    add_warning_redirection("GThread", warning);
+
+    return 0;
+}
 
 static PyObject *
 _wrap_pyg_enum_add (PyObject *self,
@@ -159,7 +1504,7 @@ _wrap_pyg_enum_register_new_gtype_and_add (PyObject *self,
 
         enum_value = &g_enum_values[i];
         enum_value->value_nick = g_strdup (name);
-        enum_value->value = g_value_info_get_value (value_info);
+        enum_value->value = (gint)g_value_info_get_value (value_info);
 
         if (c_identifier == NULL) {
             enum_value->value_name = enum_value->value_nick;
@@ -278,7 +1623,7 @@ _wrap_pyg_flags_register_new_gtype_and_add (PyObject *self,
 
         flags_value = &g_flags_values[i];
         flags_value->value_nick = g_strdup (name);
-        flags_value->value = g_value_info_get_value (value_info);
+        flags_value->value = (guint)g_value_info_get_value (value_info);
 
         if (c_identifier == NULL) {
             flags_value->value_name = flags_value->value_nick;
@@ -439,6 +1784,7 @@ _wrap_pyg_hook_up_vfunc_implementation (PyObject *self, PyObject *args)
     GIFieldInfo *field_info = NULL;
     gpointer *method_ptr = NULL;
     PyGICClosure *closure = NULL;
+    PyGIClosureCache *cache = NULL;
 
     if (!PyArg_ParseTuple (args, "O!O!O:hook_up_vfunc_implementation",
                            &PyGIBaseInfo_Type, &py_info,
@@ -465,7 +1811,8 @@ _wrap_pyg_hook_up_vfunc_implementation (PyObject *self, PyObject *args)
         offset = g_field_info_get_offset (field_info);
         method_ptr = G_STRUCT_MEMBER_P (implementor_vtable, offset);
 
-        closure = _pygi_make_native_closure ( (GICallableInfo*) callback_info,
+        cache = pygi_closure_cache_new (callback_info);
+        closure = _pygi_make_native_closure ( (GICallableInfo*) callback_info, cache,
                                               GI_SCOPE_TYPE_NOTIFIED, py_function, NULL);
 
         *method_ptr = closure->closure;
@@ -533,9 +1880,9 @@ _wrap_pyg_variant_type_from_string (PyObject *self, PyObject *args)
         return NULL;
     }
 
-    py_type = _pygi_type_import_by_name ("GLib", "VariantType");
+    py_type = pygi_type_import_by_name ("GLib", "VariantType");
 
-    py_variant = _pygi_boxed_new ( (PyTypeObject *) py_type, type_string, FALSE, 0);
+    py_variant = pygi_boxed_new ( (PyTypeObject *) py_type, type_string, FALSE, 0);
 
     return py_variant;
 }
@@ -619,6 +1966,286 @@ pyg_channel_read(PyObject* self, PyObject *args, PyObject *kwargs)
     return NULL;
 }
 
+static gboolean
+marshal_emission_hook(GSignalInvocationHint *ihint,
+                     guint n_param_values,
+                     const GValue *param_values,
+                     gpointer user_data)
+{
+    PyGILState_STATE state;
+    gboolean retval = FALSE;
+    PyObject *func, *args;
+    PyObject *retobj;
+    PyObject *params;
+    guint i;
+
+    state = PyGILState_Ensure();
+
+    /* construct Python tuple for the parameter values */
+    params = PyTuple_New(n_param_values);
+
+    for (i = 0; i < n_param_values; i++) {
+       PyObject *item = pyg_value_as_pyobject(&param_values[i], FALSE);
+
+       /* error condition */
+       if (!item) {
+           goto out;
+       }
+       PyTuple_SetItem(params, i, item);
+    }
+
+    args = (PyObject *)user_data;
+    func = PyTuple_GetItem(args, 0);
+    args = PySequence_Concat(params, PyTuple_GetItem(args, 1));
+    Py_DECREF(params);
+
+    /* params passed to function may have extra arguments */
+
+    retobj = PyObject_CallObject(func, args);
+    Py_DECREF(args);
+    if (retobj == NULL) {
+        PyErr_Print();
+    }
+
+    retval = (retobj == Py_True ? TRUE : FALSE);
+    Py_XDECREF(retobj);
+out:
+    PyGILState_Release(state);
+    return retval;
+}
+
+/**
+ * pyg_destroy_notify:
+ * @user_data: a PyObject pointer.
+ *
+ * A function that can be used as a GDestroyNotify callback that will
+ * call Py_DECREF on the data.
+ */
+static void
+pyg_destroy_notify(gpointer user_data)
+{
+    PyObject *obj = (PyObject *)user_data;
+    PyGILState_STATE state;
+
+    state = PyGILState_Ensure();
+    Py_DECREF(obj);
+    PyGILState_Release(state);
+}
+
+static PyObject *
+pyg_add_emission_hook(PyGObject *self, PyObject *args)
+{
+    PyObject *first, *callback, *extra_args, *data, *repr;
+    gchar *name;
+    gulong hook_id;
+    guint sigid;
+    Py_ssize_t len;
+    GQuark detail = 0;
+    GType gtype;
+    PyObject *pygtype;
+
+    len = PyTuple_Size(args);
+    if (len < 3) {
+       PyErr_SetString(PyExc_TypeError,
+                       "gobject.add_emission_hook requires at least 3 arguments");
+       return NULL;
+    }
+    first = PySequence_GetSlice(args, 0, 3);
+    if (!PyArg_ParseTuple(first, "OsO:add_emission_hook",
+                         &pygtype, &name, &callback)) {
+       Py_DECREF(first);
+       return NULL;
+    }
+    Py_DECREF(first);
+
+    if ((gtype = pyg_type_from_object(pygtype)) == 0) {
+       return NULL;
+    }
+    if (!PyCallable_Check(callback)) {
+       PyErr_SetString(PyExc_TypeError, "third argument must be callable");
+       return NULL;
+    }
+
+    if (!g_signal_parse_name(name, gtype, &sigid, &detail, TRUE)) {
+       repr = PyObject_Repr((PyObject*)self);
+       PyErr_Format(PyExc_TypeError, "%s: unknown signal name: %s",
+                       PYGLIB_PyUnicode_AsString(repr),
+                    name);
+       Py_DECREF(repr);
+       return NULL;
+    }
+    extra_args = PySequence_GetSlice(args, 3, len);
+    if (extra_args == NULL)
+       return NULL;
+
+    data = Py_BuildValue("(ON)", callback, extra_args);
+    if (data == NULL)
+      return NULL;
+
+    hook_id = g_signal_add_emission_hook(sigid, detail,
+                                        marshal_emission_hook,
+                                        data,
+                                        (GDestroyNotify)pyg_destroy_notify);
+
+    return pygi_gulong_to_py (hook_id);
+}
+
+static PyObject *
+pyg_signal_new(PyObject *self, PyObject *args)
+{
+    gchar *signal_name;
+    PyObject *py_type;
+    GSignalFlags signal_flags;
+    GType return_type;
+    PyObject *py_return_type, *py_param_types;
+
+    GType instance_type = 0;
+    Py_ssize_t py_n_params;
+    guint n_params, i;
+    GType *param_types;
+
+    guint signal_id;
+
+    if (!PyArg_ParseTuple(args, "sOiOO:gobject.signal_new", &signal_name,
+                         &py_type, &signal_flags, &py_return_type,
+                         &py_param_types))
+       return NULL;
+
+    instance_type = pyg_type_from_object(py_type);
+    if (!instance_type)
+       return NULL;
+    if (!(G_TYPE_IS_INSTANTIATABLE(instance_type) || G_TYPE_IS_INTERFACE(instance_type))) {
+       PyErr_SetString(PyExc_TypeError,
+                       "argument 2 must be an object type or interface type");
+       return NULL;
+    }
+
+    return_type = pyg_type_from_object(py_return_type);
+    if (!return_type)
+       return NULL;
+
+    if (!PySequence_Check(py_param_types)) {
+       PyErr_SetString(PyExc_TypeError,
+                       "argument 5 must be a sequence of GType codes");
+       return NULL;
+    }
+
+    py_n_params = PySequence_Length(py_param_types);
+    if (py_n_params < 0)
+        return FALSE;
+
+    if (!pygi_guint_from_pyssize (py_n_params, &n_params))
+        return FALSE;
+
+    param_types = g_new(GType, n_params);
+    for (i = 0; i < n_params; i++) {
+       PyObject *item = PySequence_GetItem(py_param_types, i);
+
+       param_types[i] = pyg_type_from_object(item);
+       if (param_types[i] == 0) {
+           PyErr_Clear();
+           Py_DECREF(item);
+           PyErr_SetString(PyExc_TypeError,
+                           "argument 5 must be a sequence of GType codes");
+           g_free(param_types);
+           return NULL;
+       }
+       Py_DECREF(item);
+    }
+
+    signal_id = g_signal_newv(signal_name, instance_type, signal_flags,
+                             pyg_signal_class_closure_get(),
+                             (GSignalAccumulator)0, NULL,
+                             (GSignalCMarshaller)0,
+                             return_type, n_params, param_types);
+    g_free(param_types);
+    if (signal_id != 0)
+       return pygi_guint_to_py (signal_id);
+    PyErr_SetString(PyExc_RuntimeError, "could not create signal");
+    return NULL;
+}
+
+static PyObject *
+pyg_object_class_list_properties (PyObject *self, PyObject *args)
+{
+    GParamSpec **specs;
+    PyObject *py_itype, *list;
+    GType itype;
+    GObjectClass *class = NULL;
+    gpointer iface = NULL;
+    guint nprops;
+    guint i;
+
+    if (!PyArg_ParseTuple(args, "O:gobject.list_properties",
+                         &py_itype))
+       return NULL;
+    if ((itype = pyg_type_from_object(py_itype)) == 0)
+       return NULL;
+
+    if (G_TYPE_IS_INTERFACE(itype)) {
+        iface = g_type_default_interface_ref(itype);
+        if (!iface) {
+            PyErr_SetString(PyExc_RuntimeError,
+                            "could not get a reference to interface type");
+            return NULL;
+        }
+        specs = g_object_interface_list_properties(iface, &nprops);
+    } else if (g_type_is_a(itype, G_TYPE_OBJECT)) {
+        class = g_type_class_ref(itype);
+        if (!class) {
+            PyErr_SetString(PyExc_RuntimeError,
+                            "could not get a reference to type class");
+            return NULL;
+        }
+        specs = g_object_class_list_properties(class, &nprops);
+    } else {
+       PyErr_SetString(PyExc_TypeError,
+                        "type must be derived from GObject or an interface");
+       return NULL;
+    }
+
+    list = PyTuple_New(nprops);
+    if (list == NULL) {
+       g_free(specs);
+       g_type_class_unref(class);
+       return NULL;
+    }
+    for (i = 0; i < nprops; i++) {
+       PyTuple_SetItem(list, i, pyg_param_spec_new(specs[i]));
+    }
+    g_free(specs);
+    if (class)
+        g_type_class_unref(class);
+    else
+        g_type_default_interface_unref(iface);
+
+    return list;
+}
+
+static PyObject *
+pyg__install_metaclass(PyObject *dummy, PyTypeObject *metaclass)
+{
+    Py_INCREF(metaclass);
+    PyGObject_MetaType = metaclass;
+    Py_INCREF(metaclass);
+
+    Py_TYPE(&PyGObject_Type) = metaclass;
+
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+
+static PyObject *
+_wrap_pyig_pyos_getsig (PyObject *self, PyObject *args)
+{
+    int sig_num;
+
+    if (!PyArg_ParseTuple (args, "i:pyos_getsig", &sig_num))
+        return NULL;
+
+    return PyLong_FromVoidPtr ((void *)(PyOS_getsig (sig_num)));
+}
+
 static PyMethodDef _gi_functions[] = {
     { "enum_add", (PyCFunction) _wrap_pyg_enum_add, METH_VARARGS | METH_KEYWORDS },
     { "enum_register_new_gtype_and_add", (PyCFunction) _wrap_pyg_enum_register_new_gtype_and_add, METH_VARARGS | METH_KEYWORDS },
@@ -629,6 +2256,7 @@ static PyMethodDef _gi_functions[] = {
     { "hook_up_vfunc_implementation", (PyCFunction) _wrap_pyg_hook_up_vfunc_implementation, METH_VARARGS },
     { "variant_type_from_string", (PyCFunction) _wrap_pyg_variant_type_from_string, METH_VARARGS },
     { "source_new", (PyCFunction) _wrap_pyg_source_new, METH_NOARGS },
+    { "pyos_getsig", (PyCFunction) _wrap_pyig_pyos_getsig, METH_VARARGS },
     { "source_set_callback", (PyCFunction) pyg_source_set_callback, METH_VARARGS },
     { "io_channel_read", (PyCFunction) pyg_channel_read, METH_VARARGS },
     { "require_foreign", (PyCFunction) pygi_require_foreign, METH_VARARGS | METH_KEYWORDS },
@@ -641,17 +2269,12 @@ static PyMethodDef _gi_functions[] = {
       "\n"
       "Execute a child program asynchronously within a glib.MainLoop()\n"
       "See the reference manual for a complete reference.\n" },
-    { "type_name", pyg_type_name, METH_VARARGS },
-    { "type_from_name", pyg_type_from_name, METH_VARARGS },
-    { "type_is_a", pyg_type_is_a, METH_VARARGS },
     { "type_register", _wrap_pyg_type_register, METH_VARARGS },
     { "signal_new", pyg_signal_new, METH_VARARGS },
     { "list_properties",
       pyg_object_class_list_properties, METH_VARARGS },
     { "new",
       (PyCFunction)pyg_object_new, METH_VARARGS|METH_KEYWORDS },
-    { "signal_accumulator_true_handled",
-      (PyCFunction)pyg_signal_accumulator_true_handled, METH_VARARGS },
     { "add_emission_hook",
       (PyCFunction)pyg_add_emission_hook, METH_VARARGS },
     { "_install_metaclass",
@@ -667,6 +2290,158 @@ static struct PyGI_API CAPI = {
   pygi_register_foreign_struct,
 };
 
+struct _PyGObject_Functions pygobject_api_functions = {
+  pygobject_register_class,
+  pygobject_register_wrapper,
+  pygobject_lookup_class,
+  pygobject_new,
+
+  pyg_closure_new,
+  pygobject_watch_closure,
+  pyg_destroy_notify,
+
+  pyg_type_from_object,
+  pyg_type_wrapper_new,
+  pyg_enum_get_value,
+  pyg_flags_get_value,
+  pyg_register_gtype_custom,
+  pyg_value_from_pyobject,
+  pyg_value_as_pyobject,
+
+  pyg_register_interface,
+
+  &PyGBoxed_Type,
+  pygi_register_gboxed,
+  pygi_gboxed_new,
+
+  &PyGPointer_Type,
+  pyg_register_pointer,
+  pyg_pointer_new,
+
+  pyg_enum_add_constants,
+  pyg_flags_add_constants,
+
+  pyg_constant_strip_prefix,
+
+  pygi_error_check,
+
+  _pyg_set_thread_block_funcs,
+  (PyGThreadBlockFunc)0, /* block_threads */
+  (PyGThreadBlockFunc)0, /* unblock_threads */
+
+  &PyGParamSpec_Type,
+  pyg_param_spec_new,
+  pyg_param_spec_from_object,
+
+  pyg_pyobj_to_unichar_conv,
+  pyg_parse_constructor_args,
+  pyg_param_gvalue_as_pyobject,
+  pyg_param_gvalue_from_pyobject,
+
+  &PyGEnum_Type,
+  pyg_enum_add,
+  pyg_enum_from_gtype,
+
+  &PyGFlags_Type,
+  pyg_flags_add,
+  pyg_flags_from_gtype,
+
+  TRUE, /* threads_enabled */
+
+  pygobject_enable_threads,
+  pygobject_gil_state_ensure,
+  pygobject_gil_state_release,
+  pyg_register_class_init,
+  pyg_register_interface_info,
+
+  pyg_closure_set_exception_handler,
+
+  add_warning_redirection,
+  disable_warning_redirections,
+
+  NULL, /* previously type_register_custom */
+
+  pygi_gerror_exception_check,
+
+  pyg_option_group_new,
+  pyg_type_from_object_strict,
+
+  pygobject_new_full,
+  &PyGObject_Type,
+
+  pyg_value_from_pyobject_with_error
+};
+
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+static int
+pygi_register_api(PyObject *d)
+{
+    PyObject *api;
+
+    api = PYGLIB_CPointer_WrapPointer(&pygobject_api_functions, "gobject._PyGObject_API");
+    if (api == NULL)
+        return -1;
+    PyDict_SetItemString(d, "_PyGObject_API", api);
+    Py_DECREF(api);
+    return 0;
+}
+
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+static int
+pygi_register_constants(PyObject *m)
+{
+    /* PyFloat_ return a new ref, and add object takes the ref */
+    PyModule_AddObject(m,       "G_MINFLOAT", pygi_gfloat_to_py (G_MINFLOAT));
+    PyModule_AddObject(m,       "G_MAXFLOAT", pygi_gfloat_to_py (G_MAXFLOAT));
+    PyModule_AddObject(m,       "G_MINDOUBLE", pygi_gdouble_to_py (G_MINDOUBLE));
+    PyModule_AddObject(m,       "G_MAXDOUBLE", pygi_gdouble_to_py (G_MAXDOUBLE));
+    PyModule_AddIntConstant(m,  "G_MINSHORT", G_MINSHORT);
+    PyModule_AddIntConstant(m,  "G_MAXSHORT", G_MAXSHORT);
+    PyModule_AddIntConstant(m,  "G_MAXUSHORT", G_MAXUSHORT);
+    PyModule_AddIntConstant(m,  "G_MININT", G_MININT);
+    PyModule_AddIntConstant(m,  "G_MAXINT", G_MAXINT);
+    PyModule_AddObject(m,       "G_MAXUINT", pygi_guint_to_py (G_MAXUINT));
+    PyModule_AddObject(m,       "G_MINLONG", pygi_glong_to_py (G_MINLONG));
+    PyModule_AddObject(m,       "G_MAXLONG", pygi_glong_to_py (G_MAXLONG));
+    PyModule_AddObject(m,       "G_MAXULONG", pygi_gulong_to_py (G_MAXULONG));
+    PyModule_AddObject(m,       "G_MAXSIZE", pygi_gsize_to_py (G_MAXSIZE));
+    PyModule_AddObject(m,       "G_MAXSSIZE", pygi_gssize_to_py (G_MAXSSIZE));
+    PyModule_AddObject(m,       "G_MINSSIZE", pygi_gssize_to_py (G_MINSSIZE));
+    PyModule_AddObject(m,       "G_MINOFFSET", pygi_gint64_to_py (G_MINOFFSET));
+    PyModule_AddObject(m,       "G_MAXOFFSET", pygi_gint64_to_py (G_MAXOFFSET));
+
+    PyModule_AddIntConstant(m, "SIGNAL_RUN_FIRST", G_SIGNAL_RUN_FIRST);
+    PyModule_AddIntConstant(m, "PARAM_READWRITE", G_PARAM_READWRITE);
+
+    /* The rest of the types are set in __init__.py */
+    PyModule_AddObject(m, "TYPE_INVALID", pyg_type_wrapper_new(G_TYPE_INVALID));
+    PyModule_AddObject(m, "TYPE_GSTRING", pyg_type_wrapper_new(G_TYPE_GSTRING));
+
+    return 0;
+}
+
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+static int
+pygi_register_version_tuples(PyObject *d)
+{
+    PyObject *tuple;
+
+    /* pygobject version */
+    tuple = Py_BuildValue ("(iii)",
+                           PYGOBJECT_MAJOR_VERSION,
+                           PYGOBJECT_MINOR_VERSION,
+                           PYGOBJECT_MICRO_VERSION);
+    PyDict_SetItemString(d, "pygobject_version", tuple);
+    Py_DECREF (tuple);
+    return 0;
+}
+
 PYGLIB_MODULE_START(_gi, "_gi")
 {
     PyObject *api;
@@ -681,34 +2456,58 @@ PYGLIB_MODULE_START(_gi, "_gi")
 
     PyModule_AddStringConstant(module, "__package__", "gi._gi");
 
-    pygi_foreign_init ();
-    pygi_error_register_types (module);
-    _pygi_repository_register_types (module);
-    _pygi_info_register_types (module);
-    _pygi_struct_register_types (module);
-    _pygi_boxed_register_types (module);
-    _pygi_ccallback_register_types (module);
-    pygi_resulttuple_register_types (module);
-
-    pyglib_spawn_register_types (module_dict);
-    pyglib_option_context_register_types (module_dict);
-    pyglib_option_group_register_types (module_dict);
-
-    pygobject_register_api (module_dict);
-    pygobject_register_constants (module);
-    pygobject_register_features (module_dict);
-    pygobject_register_version_tuples (module_dict);
-    pygobject_register_warnings (module_dict);
-    pygobject_type_register_types (module_dict);
-    pygobject_object_register_types (module_dict);
-    pygobject_interface_register_types (module_dict);
-    pygobject_paramspec_register_types (module_dict);
-    pygobject_boxed_register_types (module_dict);
-    pygobject_pointer_register_types (module_dict);
-    pygobject_enum_register_types (module_dict);
-    pygobject_flags_register_types (module_dict);
+    if (pygi_foreign_init () < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_error_register_types (module) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_repository_register_types (module) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_info_register_types (module) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_type_register_types (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_pointer_register_types (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_struct_register_types (module) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_gboxed_register_types (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_boxed_register_types (module) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_ccallback_register_types (module) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_resulttuple_register_types (module) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+
+    if (pygi_spawn_register_types (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_option_context_register_types (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_option_group_register_types (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+
+    if (pygi_register_api (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_register_constants (module) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_register_version_tuples (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_register_warnings (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pyi_object_register_types (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_interface_register_types (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_paramspec_register_types (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_enum_register_types (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
+    if (pygi_flags_register_types (module_dict) < 0)
+        return PYGLIB_MODULE_ERROR_RETURN;
 
     PyGIWarning = PyErr_NewException ("gi.PyGIWarning", PyExc_Warning, NULL);
+    if (PyGIWarning == NULL)
+        return PYGLIB_MODULE_ERROR_RETURN;
 
     /* Use RuntimeWarning as the base class of PyGIDeprecationWarning
      * for unstable (odd minor version) and use DeprecationWarning for
diff --git a/gi/gimodule.h b/gi/gimodule.h
new file mode 100644 (file)
index 0000000..7917ef6
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef _PYGOBJECT_GIMODULE_H_
+#define _PYGOBJECT_GIMODULE_H_
+
+#include "pygobject-internal.h"
+
+int           pygobject_constructv (PyGObject   *self,
+                                    guint        n_parameters,
+                                    GParameter  *parameters);
+
+#endif /*_PYGOBJECT_GIMODULE_H_*/
diff --git a/gi/gobjectmodule.c b/gi/gobjectmodule.c
deleted file mode 100644 (file)
index b3501ee..0000000
+++ /dev/null
@@ -1,1990 +0,0 @@
-/* -*- Mode: C; c-basic-offset: 4 -*-
- * pygtk- Python bindings for the GTK toolkit.
- * Copyright (C) 1998-2003  James Henstridge
- *
- *   gobjectmodule.c: wrapper for the gobject library.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <Python.h>
-#include <gobject/gvaluecollector.h>
-#include <girepository.h>
-#include <pyglib.h>
-#include <pythread.h>
-#include "gobjectmodule.h"
-#include "pygboxed.h"
-#include "pygenum.h"
-#include "pygflags.h"
-#include "pyginterface.h"
-#include "pygparamspec.h"
-#include "pygpointer.h"
-#include "pygtype.h"
-#include "pygoptiongroup.h"
-#include "pygobject-object.h"
-
-#include "pygi-value.h"
-#include "pygi-error.h"
-#include "pygi-property.h"
-
-static GHashTable *log_handlers = NULL;
-static gboolean log_handlers_disabled = FALSE;
-
-static void pyg_flags_add_constants(PyObject *module, GType flags_type,
-                                   const gchar *strip_prefix);
-
-static int pyg_type_register(PyTypeObject *class, const char *type_name);
-
-/* -------------- GDK threading hooks ---------------------------- */
-
-/**
- * pyg_set_thread_block_funcs:
- * Deprecated, only available for ABI compatibility.
- */
-static void
-_pyg_set_thread_block_funcs (PyGThreadBlockFunc block_threads_func,
-                            PyGThreadBlockFunc unblock_threads_func)
-{
-    PyGILState_STATE state = PyGILState_Ensure ();
-    PyErr_Warn (PyExc_DeprecationWarning,
-                "Using pyg_set_thread_block_funcs is not longer needed. "
-                "PyGObject always uses Py_BLOCK/UNBLOCK_THREADS.");
-    PyGILState_Release (state);
-}
-
-/**
- * pyg_destroy_notify:
- * @user_data: a PyObject pointer.
- *
- * A function that can be used as a GDestroyNotify callback that will
- * call Py_DECREF on the data.
- */
-static void
-pyg_destroy_notify(gpointer user_data)
-{
-    PyObject *obj = (PyObject *)user_data;
-    PyGILState_STATE state;
-
-    state = PyGILState_Ensure();
-    Py_DECREF(obj);
-    PyGILState_Release(state);
-}
-
-
-/* ---------------- gobject module functions -------------------- */
-
-PyObject *
-pyg_type_name (PyObject *self, PyObject *args)
-{
-    PyObject *gtype;
-    GType type;
-    const gchar *name;
-
-#if 0
-    if (PyErr_Warn(PyExc_DeprecationWarning,
-                  "gobject.type_name is deprecated; "
-                  "use GType.name instead"))
-        return NULL;
-#endif
-
-    if (!PyArg_ParseTuple(args, "O:gobject.type_name", &gtype))
-       return NULL;
-    if ((type = pyg_type_from_object(gtype)) == 0)
-       return NULL;
-    name = g_type_name(type);
-    if (name)
-       return PYGLIB_PyUnicode_FromString(name);
-    PyErr_SetString(PyExc_RuntimeError, "unknown typecode");
-    return NULL;
-}
-
-PyObject *
-pyg_type_from_name (PyObject *self, PyObject *args)
-{
-    const gchar *name;
-    GType type;
-    PyObject *repr = NULL;
-#if 0
-    if (PyErr_Warn(PyExc_DeprecationWarning,
-                  "gobject.type_from_name is deprecated; "
-                  "use GType.from_name instead"))
-        return NULL;
-#endif
-    if (!PyArg_ParseTuple(args, "s:gobject.type_from_name", &name))
-       return NULL;
-    type = g_type_from_name(name);
-    if (type != 0)
-       return pyg_type_wrapper_new(type);
-    repr = PyObject_Repr((PyObject*)self);
-    PyErr_Format(PyExc_RuntimeError, "%s: unknown type name: %s",
-         PYGLIB_PyUnicode_AsString(repr),
-                name);
-    Py_DECREF(repr);
-    return NULL;
-}
-
-PyObject *
-pyg_type_is_a (PyObject *self, PyObject *args)
-{
-    PyObject *gtype, *gparent;
-    GType type, parent;
-#if 0
-    if (PyErr_Warn(PyExc_DeprecationWarning,
-                  "gobject.type_is_a is deprecated; "
-                  "use GType.is_a instead"))
-        return NULL;
-#endif
-    if (!PyArg_ParseTuple(args, "OO:gobject.type_is_a", &gtype, &gparent))
-       return NULL;
-    if ((type = pyg_type_from_object(gtype)) == 0)
-       return NULL;
-    if ((parent = pyg_type_from_object(gparent)) == 0)
-       return NULL;
-    return PyBool_FromLong(g_type_is_a(type, parent));
-}
-
-static void
-pyg_object_set_property (GObject *object, guint property_id,
-                        const GValue *value, GParamSpec *pspec)
-{
-    PyObject *object_wrapper, *retval;
-    PyObject *py_pspec, *py_value;
-    PyGILState_STATE state;
-
-    state = PyGILState_Ensure();
-
-    object_wrapper = g_object_get_qdata(object, pygobject_wrapper_key);
-
-    if (object_wrapper)
-      Py_INCREF (object_wrapper);
-    else
-      object_wrapper = pygobject_new(object);
-
-    if (object_wrapper == NULL) {
-       PyGILState_Release(state);
-       return;
-    }
-
-    py_pspec = pyg_param_spec_new(pspec);
-    py_value = pyg_value_as_pyobject (value, TRUE);
-
-    retval = PyObject_CallMethod(object_wrapper, "do_set_property",
-                                "OO", py_pspec, py_value);
-    if (retval) {
-       Py_DECREF(retval);
-    } else {
-       PyErr_Print();
-    }
-
-    Py_DECREF(object_wrapper);
-    Py_DECREF(py_pspec);
-    Py_DECREF(py_value);
-
-    PyGILState_Release(state);
-}
-
-static void
-pyg_object_get_property (GObject *object, guint property_id,
-                        GValue *value, GParamSpec *pspec)
-{
-    PyObject *object_wrapper, *retval;
-    PyGILState_STATE state;
-
-    state = PyGILState_Ensure();
-
-    object_wrapper = g_object_get_qdata(object, pygobject_wrapper_key);
-
-    if (object_wrapper)
-      Py_INCREF (object_wrapper);
-    else
-      object_wrapper = pygobject_new(object);
-
-    if (object_wrapper == NULL) {
-       PyGILState_Release(state);
-       return;
-    }
-
-    retval = pygi_call_do_get_property (object_wrapper, pspec);
-    if (retval && pyg_value_from_pyobject (value, retval) < 0) {
-        PyErr_Print();
-    }
-    Py_DECREF(object_wrapper);
-    Py_XDECREF(retval);
-
-    PyGILState_Release(state);
-}
-
-typedef struct _PyGSignalAccumulatorData {
-    PyObject *callable;
-    PyObject *user_data;
-} PyGSignalAccumulatorData;
-
-static gboolean
-_pyg_signal_accumulator(GSignalInvocationHint *ihint,
-                        GValue *return_accu,
-                        const GValue *handler_return,
-                        gpointer _data)
-{
-    PyObject *py_ihint, *py_return_accu, *py_handler_return, *py_detail;
-    PyObject *py_retval;
-    gboolean retval = FALSE;
-    PyGSignalAccumulatorData *data = _data;
-    PyGILState_STATE state;
-
-    state = PyGILState_Ensure();
-    if (ihint->detail)
-        py_detail = PYGLIB_PyUnicode_FromString(g_quark_to_string(ihint->detail));
-    else {
-        Py_INCREF(Py_None);
-        py_detail = Py_None;
-    }
-
-    py_ihint = Py_BuildValue("lNi", (long int) ihint->signal_id,
-                             py_detail, ihint->run_type);
-    py_handler_return = pyg_value_as_pyobject(handler_return, TRUE);
-    py_return_accu = pyg_value_as_pyobject(return_accu, FALSE);
-    if (data->user_data)
-        py_retval = PyObject_CallFunction(data->callable, "NNNO", py_ihint,
-                                          py_return_accu, py_handler_return,
-                                          data->user_data);
-    else
-        py_retval = PyObject_CallFunction(data->callable, "NNN", py_ihint,
-                                          py_return_accu, py_handler_return);
-    if (!py_retval)
-       PyErr_Print();
-    else {
-        if (!PyTuple_Check(py_retval) || PyTuple_Size(py_retval) != 2) {
-            PyErr_SetString(PyExc_TypeError, "accumulator function must return"
-                            " a (bool, object) tuple");
-            PyErr_Print();
-        } else {
-            retval = PyObject_IsTrue(PyTuple_GET_ITEM(py_retval, 0));
-            if (pyg_value_from_pyobject(return_accu, PyTuple_GET_ITEM(py_retval, 1))) {
-                PyErr_Print();
-            }
-        }
-        Py_DECREF(py_retval);
-    }
-    PyGILState_Release(state);
-    return retval;
-}
-
-static gboolean
-create_signal (GType instance_type, const gchar *signal_name, PyObject *tuple)
-{
-    GSignalFlags signal_flags;
-    PyObject *py_return_type, *py_param_types;
-    GType return_type;
-    guint n_params, i;
-    GType *param_types;
-    guint signal_id;
-    GSignalAccumulator accumulator = NULL;
-    PyGSignalAccumulatorData *accum_data = NULL;
-    PyObject *py_accum = NULL, *py_accum_data = NULL;
-
-    if (!PyArg_ParseTuple(tuple, "iOO|OO", &signal_flags, &py_return_type,
-                         &py_param_types, &py_accum, &py_accum_data))
-    {
-       gchar buf[128];
-
-       PyErr_Clear();
-       g_snprintf(buf, sizeof(buf),
-                  "value for __gsignals__['%s'] not in correct format", signal_name);
-       PyErr_SetString(PyExc_TypeError, buf);
-       return FALSE;
-    }
-
-    if (py_accum && py_accum != Py_None && !PyCallable_Check(py_accum))
-    {
-       gchar buf[128];
-
-       g_snprintf(buf, sizeof(buf),
-                  "accumulator for __gsignals__['%s'] must be callable", signal_name);
-       PyErr_SetString(PyExc_TypeError, buf);
-       return FALSE;
-    }
-
-    return_type = pyg_type_from_object(py_return_type);
-    if (!return_type)
-       return FALSE;
-    if (!PySequence_Check(py_param_types)) {
-       gchar buf[128];
-
-       g_snprintf(buf, sizeof(buf),
-                  "third element of __gsignals__['%s'] tuple must be a sequence", signal_name);
-       PyErr_SetString(PyExc_TypeError, buf);
-       return FALSE;
-    }
-    n_params = PySequence_Length(py_param_types);
-    param_types = g_new(GType, n_params);
-    for (i = 0; i < n_params; i++) {
-       PyObject *item = PySequence_GetItem(py_param_types, i);
-
-       param_types[i] = pyg_type_from_object(item);
-       if (param_types[i] == 0) {
-           Py_DECREF(item);
-           g_free(param_types);
-           return FALSE;
-       }
-       Py_DECREF(item);
-    }
-
-    if (py_accum != NULL && py_accum != Py_None) {
-        accum_data = g_new(PyGSignalAccumulatorData, 1);
-        accum_data->callable = py_accum;
-        Py_INCREF(py_accum);
-        accum_data->user_data = py_accum_data;
-        Py_XINCREF(py_accum_data);
-        accumulator = _pyg_signal_accumulator;
-    }
-
-    signal_id = g_signal_newv(signal_name, instance_type, signal_flags,
-                             pyg_signal_class_closure_get(),
-                             accumulator, accum_data,
-                             gi_cclosure_marshal_generic,
-                             return_type, n_params, param_types);
-    g_free(param_types);
-
-    if (signal_id == 0) {
-       gchar buf[128];
-
-       g_snprintf(buf, sizeof(buf), "could not create signal for %s",
-                  signal_name);
-       PyErr_SetString(PyExc_RuntimeError, buf);
-       return FALSE;
-    }
-    return TRUE;
-}
-
-static gboolean
-override_signal(GType instance_type, const gchar *signal_name)
-{
-    guint signal_id;
-
-    signal_id = g_signal_lookup(signal_name, instance_type);
-    if (!signal_id) {
-       gchar buf[128];
-
-       g_snprintf(buf, sizeof(buf), "could not look up %s", signal_name);
-       PyErr_SetString(PyExc_TypeError, buf);
-       return FALSE;
-    }
-    g_signal_override_class_closure(signal_id, instance_type,
-                                   pyg_signal_class_closure_get());
-    return TRUE;
-}
-
-static PyObject *
-add_signals (GObjectClass *klass, PyObject *signals)
-{
-    gboolean ret = TRUE;
-    Py_ssize_t pos = 0;
-    PyObject *key, *value, *overridden_signals = NULL;
-    GType instance_type = G_OBJECT_CLASS_TYPE (klass);
-
-    overridden_signals = PyDict_New();
-    while (PyDict_Next(signals, &pos, &key, &value)) {
-       const gchar *signal_name;
-        gchar *signal_name_canon, *c;
-
-       if (!PYGLIB_PyUnicode_Check(key)) {
-           PyErr_SetString(PyExc_TypeError,
-                           "__gsignals__ keys must be strings");
-           ret = FALSE;
-           break;
-       }
-       signal_name = PYGLIB_PyUnicode_AsString (key);
-
-       if (value == Py_None ||
-           (PYGLIB_PyUnicode_Check(value) &&
-            !strcmp(PYGLIB_PyUnicode_AsString(value), "override")))
-        {
-              /* canonicalize signal name, replacing '-' with '_' */
-            signal_name_canon = g_strdup(signal_name);
-            for (c = signal_name_canon; *c; ++c)
-                if (*c == '-')
-                    *c = '_';
-            if (PyDict_SetItemString(overridden_signals,
-                                    signal_name_canon, key)) {
-                g_free(signal_name_canon);
-                ret = FALSE;
-                break;
-            }
-            g_free(signal_name_canon);
-
-           ret = override_signal(instance_type, signal_name);
-       } else {
-           ret = create_signal(instance_type, signal_name, value);
-       }
-
-       if (!ret)
-           break;
-    }
-    if (ret)
-        return overridden_signals;
-    else {
-        Py_XDECREF(overridden_signals);
-        return NULL;
-    }
-}
-
-static GParamSpec *
-create_property (const gchar  *prop_name,
-                GType         prop_type,
-                const gchar  *nick,
-                const gchar  *blurb,
-                PyObject     *args,
-                GParamFlags   flags)
-{
-    GParamSpec *pspec = NULL;
-
-    switch (G_TYPE_FUNDAMENTAL(prop_type)) {
-    case G_TYPE_CHAR:
-       {
-           gchar minimum, maximum, default_value;
-
-           if (!PyArg_ParseTuple(args, "ccc", &minimum, &maximum,
-                                 &default_value))
-               return NULL;
-           pspec = g_param_spec_char (prop_name, nick, blurb, minimum,
-                                      maximum, default_value, flags);
-       }
-       break;
-    case G_TYPE_UCHAR:
-       {
-           gchar minimum, maximum, default_value;
-
-           if (!PyArg_ParseTuple(args, "ccc", &minimum, &maximum,
-                                 &default_value))
-               return NULL;
-           pspec = g_param_spec_uchar (prop_name, nick, blurb, minimum,
-                                       maximum, default_value, flags);
-       }
-       break;
-    case G_TYPE_BOOLEAN:
-       {
-           gboolean default_value;
-
-           if (!PyArg_ParseTuple(args, "i", &default_value))
-               return NULL;
-           pspec = g_param_spec_boolean (prop_name, nick, blurb,
-                                         default_value, flags);
-       }
-       break;
-    case G_TYPE_INT:
-       {
-           gint minimum, maximum, default_value;
-
-           if (!PyArg_ParseTuple(args, "iii", &minimum, &maximum,
-                                 &default_value))
-               return NULL;
-           pspec = g_param_spec_int (prop_name, nick, blurb, minimum,
-                                     maximum, default_value, flags);
-       }
-       break;
-    case G_TYPE_UINT:
-       {
-           guint minimum, maximum, default_value;
-
-           if (!PyArg_ParseTuple(args, "III", &minimum, &maximum,
-                                 &default_value))
-               return NULL;
-           pspec = g_param_spec_uint (prop_name, nick, blurb, minimum,
-                                      maximum, default_value, flags);
-       }
-       break;
-    case G_TYPE_LONG:
-       {
-           glong minimum, maximum, default_value;
-
-           if (!PyArg_ParseTuple(args, "lll", &minimum, &maximum,
-                                 &default_value))
-               return NULL;
-           pspec = g_param_spec_long (prop_name, nick, blurb, minimum,
-                                      maximum, default_value, flags);
-       }
-       break;
-    case G_TYPE_ULONG:
-       {
-           gulong minimum, maximum, default_value;
-
-           if (!PyArg_ParseTuple(args, "kkk", &minimum, &maximum,
-                                 &default_value))
-               return NULL;
-           pspec = g_param_spec_ulong (prop_name, nick, blurb, minimum,
-                                       maximum, default_value, flags);
-       }
-       break;
-    case G_TYPE_INT64:
-       {
-           gint64 minimum, maximum, default_value;
-
-           if (!PyArg_ParseTuple(args, "LLL", &minimum, &maximum,
-                                 &default_value))
-               return NULL;
-           pspec = g_param_spec_int64 (prop_name, nick, blurb, minimum,
-                                       maximum, default_value, flags);
-       }
-       break;
-    case G_TYPE_UINT64:
-       {
-           guint64 minimum, maximum, default_value;
-
-           if (!PyArg_ParseTuple(args, "KKK", &minimum, &maximum,
-                                 &default_value))
-               return NULL;
-           pspec = g_param_spec_uint64 (prop_name, nick, blurb, minimum,
-                                        maximum, default_value, flags);
-       }
-       break;
-    case G_TYPE_ENUM:
-       {
-           gint default_value;
-           PyObject *pydefault;
-
-           if (!PyArg_ParseTuple(args, "O", &pydefault))
-               return NULL;
-
-           if (pyg_enum_get_value(prop_type, pydefault,
-                                  (gint *)&default_value))
-               return NULL;
-
-           pspec = g_param_spec_enum (prop_name, nick, blurb,
-                                      prop_type, default_value, flags);
-       }
-       break;
-    case G_TYPE_FLAGS:
-       {
-           guint default_value;
-           PyObject *pydefault;
-
-           if (!PyArg_ParseTuple(args, "O", &pydefault))
-               return NULL;
-
-           if (pyg_flags_get_value(prop_type, pydefault,
-                                   &default_value))
-               return NULL;
-
-           pspec = g_param_spec_flags (prop_name, nick, blurb,
-                                       prop_type, default_value, flags);
-       }
-       break;
-    case G_TYPE_FLOAT:
-       {
-           gfloat minimum, maximum, default_value;
-
-           if (!PyArg_ParseTuple(args, "fff", &minimum, &maximum,
-                                 &default_value))
-               return NULL;
-           pspec = g_param_spec_float (prop_name, nick, blurb, minimum,
-                                       maximum, default_value, flags);
-       }
-       break;
-    case G_TYPE_DOUBLE:
-       {
-           gdouble minimum, maximum, default_value;
-
-           if (!PyArg_ParseTuple(args, "ddd", &minimum, &maximum,
-                                 &default_value))
-               return NULL;
-           pspec = g_param_spec_double (prop_name, nick, blurb, minimum,
-                                        maximum, default_value, flags);
-       }
-       break;
-    case G_TYPE_STRING:
-       {
-           const gchar *default_value;
-
-           if (!PyArg_ParseTuple(args, "z", &default_value))
-               return NULL;
-           pspec = g_param_spec_string (prop_name, nick, blurb,
-                                        default_value, flags);
-       }
-       break;
-    case G_TYPE_PARAM:
-       if (!PyArg_ParseTuple(args, ""))
-           return NULL;
-       pspec = g_param_spec_param (prop_name, nick, blurb, prop_type, flags);
-       break;
-    case G_TYPE_BOXED:
-       if (!PyArg_ParseTuple(args, ""))
-           return NULL;
-       pspec = g_param_spec_boxed (prop_name, nick, blurb, prop_type, flags);
-       break;
-    case G_TYPE_POINTER:
-       if (!PyArg_ParseTuple(args, ""))
-           return NULL;
-       if (prop_type == G_TYPE_GTYPE)
-           pspec = g_param_spec_gtype (prop_name, nick, blurb, G_TYPE_NONE, flags);
-       else
-           pspec = g_param_spec_pointer (prop_name, nick, blurb, flags);
-       break;
-    case G_TYPE_OBJECT:
-    case G_TYPE_INTERFACE:
-       if (!PyArg_ParseTuple(args, ""))
-           return NULL;
-       pspec = g_param_spec_object (prop_name, nick, blurb, prop_type, flags);
-       break;
-    case G_TYPE_VARIANT:
-       {
-           PyObject *pydefault;
-            GVariant *default_value = NULL;
-
-           if (!PyArg_ParseTuple(args, "O", &pydefault))
-               return NULL;
-            if (pydefault != Py_None)
-                default_value = pyg_boxed_get (pydefault, GVariant);
-           pspec = g_param_spec_variant (prop_name, nick, blurb, G_VARIANT_TYPE_ANY, default_value, flags);
-       }
-       break;
-    default:
-       /* unhandled pspec type ... */
-       break;
-    }
-
-    if (!pspec) {
-       char buf[128];
-
-       g_snprintf(buf, sizeof(buf), "could not create param spec for type %s",
-                  g_type_name(prop_type));
-       PyErr_SetString(PyExc_TypeError, buf);
-       return NULL;
-    }
-
-    return pspec;
-}
-
-static GParamSpec *
-pyg_param_spec_from_object (PyObject *tuple)
-{
-    gint val_length;
-    const gchar *prop_name;
-    GType prop_type;
-    const gchar *nick, *blurb;
-    PyObject *slice, *item, *py_prop_type;
-    GParamSpec *pspec;
-
-    val_length = PyTuple_Size(tuple);
-    if (val_length < 4) {
-       PyErr_SetString(PyExc_TypeError,
-                       "paramspec tuples must be at least 4 elements long");
-       return NULL;
-    }
-
-    slice = PySequence_GetSlice(tuple, 0, 4);
-    if (!slice) {
-       return NULL;
-    }
-
-    if (!PyArg_ParseTuple(slice, "sOzz", &prop_name, &py_prop_type, &nick, &blurb)) {
-       Py_DECREF(slice);
-       return NULL;
-    }
-
-    Py_DECREF(slice);
-
-    prop_type = pyg_type_from_object(py_prop_type);
-    if (!prop_type) {
-       return NULL;
-    }
-
-    item = PyTuple_GetItem(tuple, val_length-1);
-    if (!PYGLIB_PyLong_Check(item)) {
-       PyErr_SetString(PyExc_TypeError,
-                       "last element in tuple must be an int");
-       return NULL;
-    }
-
-    /* slice is the extra items in the tuple */
-    slice = PySequence_GetSlice(tuple, 4, val_length-1);
-    pspec = create_property(prop_name, prop_type,
-                           nick, blurb, slice,
-                           PYGLIB_PyLong_AsLong(item));
-
-    return pspec;
-}
-
-static gboolean
-add_properties (GObjectClass *klass, PyObject *properties)
-{
-    gboolean ret = TRUE;
-    Py_ssize_t pos = 0;
-    PyObject *key, *value;
-
-    while (PyDict_Next(properties, &pos, &key, &value)) {
-       const gchar *prop_name;
-       GType prop_type;
-       const gchar *nick, *blurb;
-       GParamFlags flags;
-       gint val_length;
-       PyObject *slice, *item, *py_prop_type;
-       GParamSpec *pspec;
-
-       /* values are of format (type,nick,blurb, type_specific_args, flags) */
-
-       if (!PYGLIB_PyUnicode_Check(key)) {
-           PyErr_SetString(PyExc_TypeError,
-                           "__gproperties__ keys must be strings");
-           ret = FALSE;
-           break;
-       }
-       prop_name = PYGLIB_PyUnicode_AsString (key);
-
-       if (!PyTuple_Check(value)) {
-           PyErr_SetString(PyExc_TypeError,
-                           "__gproperties__ values must be tuples");
-           ret = FALSE;
-           break;
-       }
-       val_length = PyTuple_Size(value);
-       if (val_length < 4) {
-           PyErr_SetString(PyExc_TypeError,
-                           "__gproperties__ values must be at least 4 elements long");
-           ret = FALSE;
-           break;
-       }
-
-       slice = PySequence_GetSlice(value, 0, 3);
-       if (!slice) {
-           ret = FALSE;
-           break;
-       }
-       if (!PyArg_ParseTuple(slice, "Ozz", &py_prop_type, &nick, &blurb)) {
-           Py_DECREF(slice);
-           ret = FALSE;
-           break;
-       }
-       Py_DECREF(slice);
-       prop_type = pyg_type_from_object(py_prop_type);
-       if (!prop_type) {
-           ret = FALSE;
-           break;
-       }
-       item = PyTuple_GetItem(value, val_length-1);
-       if (!PYGLIB_PyLong_Check(item)) {
-           PyErr_SetString(PyExc_TypeError,
-               "last element in __gproperties__ value tuple must be an int");
-           ret = FALSE;
-           break;
-       }
-       flags = PYGLIB_PyLong_AsLong(item);
-
-       /* slice is the extra items in the tuple */
-       slice = PySequence_GetSlice(value, 3, val_length-1);
-       pspec = create_property(prop_name, prop_type, nick, blurb,
-                               slice, flags);
-       Py_DECREF(slice);
-
-       if (pspec) {
-           g_object_class_install_property(klass, 1, pspec);
-       } else {
-            PyObject *type, *pvalue, *traceback;
-           ret = FALSE;
-            PyErr_Fetch(&type, &pvalue, &traceback);
-            if (PYGLIB_PyUnicode_Check(pvalue)) {
-                char msg[256];
-                g_snprintf(msg, 256,
-                          "%s (while registering property '%s' for GType '%s')",
-               PYGLIB_PyUnicode_AsString(pvalue),
-                          prop_name, G_OBJECT_CLASS_NAME(klass));
-                Py_DECREF(pvalue);
-                value = PYGLIB_PyUnicode_FromString(msg);
-            }
-            PyErr_Restore(type, pvalue, traceback);
-           break;
-       }
-    }
-
-    return ret;
-}
-
-static void
-pyg_object_class_init(GObjectClass *class, PyObject *py_class)
-{
-    PyObject *gproperties, *gsignals, *overridden_signals;
-    PyObject *class_dict = ((PyTypeObject*) py_class)->tp_dict;
-
-    class->set_property = pyg_object_set_property;
-    class->get_property = pyg_object_get_property;
-
-    /* install signals */
-    /* we look this up in the instance dictionary, so we don't
-     * accidentally get a parent type's __gsignals__ attribute. */
-    gsignals = PyDict_GetItemString(class_dict, "__gsignals__");
-    if (gsignals) {
-       if (!PyDict_Check(gsignals)) {
-           PyErr_SetString(PyExc_TypeError,
-                           "__gsignals__ attribute not a dict!");
-           return;
-       }
-       if (!(overridden_signals = add_signals(class, gsignals))) {
-           return;
-       }
-        if (PyDict_SetItemString(class_dict, "__gsignals__",
-                                overridden_signals)) {
-            return;
-        }
-        Py_DECREF(overridden_signals);
-
-        PyDict_DelItemString(class_dict, "__gsignals__");
-    } else {
-       PyErr_Clear();
-    }
-
-    /* install properties */
-    /* we look this up in the instance dictionary, so we don't
-     * accidentally get a parent type's __gproperties__ attribute. */
-    gproperties = PyDict_GetItemString(class_dict, "__gproperties__");
-    if (gproperties) {
-       if (!PyDict_Check(gproperties)) {
-           PyErr_SetString(PyExc_TypeError,
-                           "__gproperties__ attribute not a dict!");
-           return;
-       }
-       if (!add_properties(class, gproperties)) {
-           return;
-       }
-       PyDict_DelItemString(class_dict, "__gproperties__");
-       /* Borrowed reference. Py_DECREF(gproperties); */
-    } else {
-       PyErr_Clear();
-    }
-}
-
-static void
-pyg_register_class_init(GType gtype, PyGClassInitFunc class_init)
-{
-    GSList *list;
-
-    list = g_type_get_qdata(gtype, pygobject_class_init_key);
-    list = g_slist_prepend(list, class_init);
-    g_type_set_qdata(gtype, pygobject_class_init_key, list);
-}
-
-static int
-pyg_run_class_init(GType gtype, gpointer gclass, PyTypeObject *pyclass)
-{
-    GSList *list;
-    PyGClassInitFunc class_init;
-    GType parent_type;
-    int rv;
-
-    parent_type = g_type_parent(gtype);
-    if (parent_type) {
-        rv = pyg_run_class_init(parent_type, gclass, pyclass);
-        if (rv)
-           return rv;
-    }
-
-    list = g_type_get_qdata(gtype, pygobject_class_init_key);
-    for (; list; list = list->next) {
-       class_init = list->data;
-        rv = class_init(gclass, pyclass);
-        if (rv)
-           return rv;
-    }
-
-    return 0;
-}
-
-PyObject *
-_wrap_pyg_type_register(PyObject *self, PyObject *args)
-{
-    PyTypeObject *class;
-    char *type_name = NULL;
-
-    if (!PyArg_ParseTuple(args, "O!|z:gobject.type_register",
-                         &PyType_Type, &class, &type_name))
-       return NULL;
-    if (!PyType_IsSubtype(class, &PyGObject_Type)) {
-       PyErr_SetString(PyExc_TypeError,
-                       "argument must be a GObject subclass");
-       return NULL;
-    }
-
-      /* Check if type already registered */
-    if (pyg_type_from_object((PyObject *) class) ==
-        pyg_type_from_object((PyObject *) class->tp_base))
-    {
-        if (pyg_type_register(class, type_name))
-            return NULL;
-    }
-
-    Py_INCREF(class);
-    return (PyObject *) class;
-}
-
-static char *
-get_type_name_for_class(PyTypeObject *class)
-{
-    gint i, name_serial;
-    char name_serial_str[16];
-    PyObject *module;
-    char *type_name = NULL;
-
-    /* make name for new GType */
-    name_serial = 1;
-    /* give up after 1000 tries, just in case.. */
-    while (name_serial < 1000)
-    {
-       g_free(type_name);
-       g_snprintf(name_serial_str, 16, "-v%i", name_serial);
-       module = PyObject_GetAttrString((PyObject *)class, "__module__");
-       if (module && PYGLIB_PyUnicode_Check(module)) {
-           type_name = g_strconcat(PYGLIB_PyUnicode_AsString(module), ".",
-                                   class->tp_name,
-                                   name_serial > 1 ? name_serial_str : NULL,
-                                   NULL);
-           Py_DECREF(module);
-       } else {
-           if (module)
-               Py_DECREF(module);
-           else
-               PyErr_Clear();
-           type_name = g_strconcat(class->tp_name,
-                                   name_serial > 1 ? name_serial_str : NULL,
-                                   NULL);
-       }
-       /* convert '.' in type name to '+', which isn't banned (grumble) */
-       for (i = 0; type_name[i] != '\0'; i++)
-           if (type_name[i] == '.')
-               type_name[i] = '+';
-       if (g_type_from_name(type_name) == 0)
-           break;              /* we now have a unique name */
-       ++name_serial;
-    }
-
-    return type_name;
-}
-
-
-static GPrivate pygobject_construction_wrapper;
-
-static inline void
-pygobject_init_wrapper_set(PyObject *wrapper)
-{
-    g_private_set(&pygobject_construction_wrapper, wrapper);
-}
-
-static inline PyObject *
-pygobject_init_wrapper_get(void)
-{
-    return (PyObject *) g_private_get(&pygobject_construction_wrapper);
-}
-
-int
-pygobject_constructv(PyGObject  *self,
-                     guint       n_parameters,
-                     GParameter *parameters)
-{
-    GObject *obj;
-
-    g_assert (self->obj == NULL);
-    pygobject_init_wrapper_set((PyObject *) self);
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-    obj = g_object_newv(pyg_type_from_object((PyObject *) self),
-                        n_parameters, parameters);
-G_GNUC_END_IGNORE_DEPRECATIONS
-    if (g_object_is_floating (obj))
-        self->private_flags.flags |= PYGOBJECT_GOBJECT_WAS_FLOATING;
-    pygobject_sink (obj);
-
-    pygobject_init_wrapper_set(NULL);
-    self->obj = obj;
-    pygobject_register_wrapper((PyObject *) self);
-
-    return 0;
-}
-
-static void
-pygobject__g_instance_init(GTypeInstance   *instance,
-                           gpointer         g_class)
-{
-    GObject *object = (GObject *) instance;
-    PyObject *wrapper, *args, *kwargs;
-
-    wrapper = g_object_get_qdata(object, pygobject_wrapper_key);
-    if (wrapper == NULL) {
-        wrapper = pygobject_init_wrapper_get();
-        if (wrapper && ((PyGObject *) wrapper)->obj == NULL) {
-            ((PyGObject *) wrapper)->obj = object;
-            pygobject_register_wrapper(wrapper);
-        }
-    }
-    pygobject_init_wrapper_set(NULL);
-    if (wrapper == NULL) {
-          /* this looks like a python object created through
-           * g_object_new -> we have no python wrapper, so create it
-           * now */
-        PyGILState_STATE state;
-        state = PyGILState_Ensure();
-        wrapper = pygobject_new_full(object,
-                                     /*steal=*/ FALSE,
-                                     g_class);
-
-        /* float the wrapper ref here because we are going to orphan it
-         * so we don't destroy the wrapper. The next call to pygobject_new_full
-         * will take the ref */
-        pygobject_ref_float ((PyGObject *) wrapper);
-        args = PyTuple_New(0);
-        kwargs = PyDict_New();
-        if (Py_TYPE(wrapper)->tp_init(wrapper, args, kwargs))
-            PyErr_Print();
-
-        Py_DECREF(args);
-        Py_DECREF(kwargs);
-        PyGILState_Release(state);
-    }
-}
-
-
-/*  This implementation is bad, see bug 566571 for an example why.
- *  Instead of scanning explicitly declared bases for interfaces, we
- *  should automatically initialize all implemented interfaces to
- *  prevent bugs like that one.  However, this will lead to
- *  performance degradation as each virtual method in derived classes
- *  will round-trip through do_*() stuff, *even* if it is not
- *  overriden.  We need to teach codegen to retain parent method
- *  instead of setting virtual to *_proxy_do_*() if corresponding
- *  do_*() is not overriden.  Ok, that was a messy explanation.
- */
-static void
-pyg_type_add_interfaces(PyTypeObject *class, GType instance_type,
-                        PyObject *bases,
-                        GType *parent_interfaces, guint n_parent_interfaces)
-{
-    int i;
-
-    if (!bases) {
-        g_warning("type has no bases");
-        return;
-    }
-
-    for (i = 0; i < PyTuple_GET_SIZE(bases); ++i) {
-        PyObject *base = PyTuple_GET_ITEM(bases, i);
-        GType itype;
-        const GInterfaceInfo *iinfo;
-        GInterfaceInfo iinfo_copy;
-
-        /* 'base' can also be a PyClassObject, see bug #566571. */
-        if (!PyType_Check(base))
-            continue;
-
-        if (!PyType_IsSubtype((PyTypeObject*) base, &PyGInterface_Type))
-            continue;
-
-        itype = pyg_type_from_object(base);
-
-        /* Happens for _implementations_ of an interface. */
-        if (!G_TYPE_IS_INTERFACE(itype))
-            continue;
-
-        iinfo = pyg_lookup_interface_info(itype);
-        if (!iinfo) {
-            gchar *error;
-            error = g_strdup_printf("Interface type %s "
-                                    "has no Python implementation support",
-                                    ((PyTypeObject *) base)->tp_name);
-            PyErr_Warn(PyExc_RuntimeWarning, error);
-            g_free(error);
-            continue;
-        }
-
-        iinfo_copy = *iinfo;
-        iinfo_copy.interface_data = class;
-        g_type_add_interface_static(instance_type, itype, &iinfo_copy);
-    }
-}
-
-static int
-pyg_type_register(PyTypeObject *class, const char *type_name)
-{
-    PyObject *gtype;
-    GType parent_type, instance_type;
-    GType *parent_interfaces;
-    guint n_parent_interfaces;
-    GTypeQuery query;
-    gpointer gclass;
-    GTypeInfo type_info = {
-       0,    /* class_size */
-
-       (GBaseInitFunc) NULL,
-       (GBaseFinalizeFunc) NULL,
-
-       (GClassInitFunc) pyg_object_class_init,
-       (GClassFinalizeFunc) NULL,
-       NULL, /* class_data */
-
-       0,    /* instance_size */
-       0,    /* n_preallocs */
-       (GInstanceInitFunc) pygobject__g_instance_init
-    };
-    gchar *new_type_name;
-
-    /* find the GType of the parent */
-    parent_type = pyg_type_from_object((PyObject *)class);
-    if (!parent_type)
-       return -1;
-
-    parent_interfaces = g_type_interfaces(parent_type, &n_parent_interfaces);
-
-    if (type_name)
-       /* care is taken below not to free this */
-        new_type_name = (gchar *) type_name;
-    else
-       new_type_name = get_type_name_for_class(class);
-
-    /* set class_data that will be passed to the class_init function. */
-    type_info.class_data = class;
-
-    /* fill in missing values of GTypeInfo struct */
-    g_type_query(parent_type, &query);
-    type_info.class_size = query.class_size;
-    type_info.instance_size = query.instance_size;
-
-    /* create new typecode */
-    instance_type = g_type_register_static(parent_type, new_type_name,
-                                          &type_info, 0);
-    if (instance_type == 0) {
-       PyErr_Format(PyExc_RuntimeError,
-                    "could not create new GType: %s (subclass of %s)",
-                    new_type_name,
-                    g_type_name(parent_type));
-
-        if (type_name == NULL)
-            g_free(new_type_name);
-
-       return -1;
-    }
-
-    if (type_name == NULL)
-        g_free(new_type_name);
-
-    /* store pointer to the class with the GType */
-    Py_INCREF(class);
-    g_type_set_qdata(instance_type, g_quark_from_string("PyGObject::class"),
-                    class);
-
-    /* Mark this GType as a custom python type */
-    g_type_set_qdata(instance_type, pygobject_custom_key,
-                     GINT_TO_POINTER (1));
-
-    /* set new value of __gtype__ on class */
-    gtype = pyg_type_wrapper_new(instance_type);
-    PyObject_SetAttrString((PyObject *)class, "__gtype__", gtype);
-    Py_DECREF(gtype);
-
-    /* if no __doc__, set it to the auto doc descriptor */
-    if (PyDict_GetItemString(class->tp_dict, "__doc__") == NULL) {
-       PyDict_SetItemString(class->tp_dict, "__doc__",
-                            pyg_object_descr_doc_get());
-    }
-
-    /*
-     * Note, all interfaces need to be registered before the first
-     * g_type_class_ref(), see bug #686149.
-     *
-     * See also comment above pyg_type_add_interfaces().
-     */
-    pyg_type_add_interfaces(class, instance_type, class->tp_bases,
-                            parent_interfaces, n_parent_interfaces);
-
-
-    gclass = g_type_class_ref(instance_type);
-    if (PyErr_Occurred() != NULL) {
-        g_type_class_unref(gclass);
-        g_free(parent_interfaces);
-        return -1;
-    }
-
-    if (pyg_run_class_init(instance_type, gclass, class)) {
-        g_type_class_unref(gclass);
-        g_free(parent_interfaces);
-        return -1;
-    }
-    g_type_class_unref(gclass);
-    g_free(parent_interfaces);
-
-    if (PyErr_Occurred() != NULL)
-        return -1;
-    return 0;
-}
-
-PyObject *
-pyg_signal_new(PyObject *self, PyObject *args)
-{
-    gchar *signal_name;
-    PyObject *py_type;
-    GSignalFlags signal_flags;
-    GType return_type;
-    PyObject *py_return_type, *py_param_types;
-
-    GType instance_type = 0;
-    Py_ssize_t n_params, i;
-    GType *param_types;
-
-    guint signal_id;
-
-    if (!PyArg_ParseTuple(args, "sOiOO:gobject.signal_new", &signal_name,
-                         &py_type, &signal_flags, &py_return_type,
-                         &py_param_types))
-       return NULL;
-
-    instance_type = pyg_type_from_object(py_type);
-    if (!instance_type)
-       return NULL;
-    if (!(G_TYPE_IS_INSTANTIATABLE(instance_type) || G_TYPE_IS_INTERFACE(instance_type))) {
-       PyErr_SetString(PyExc_TypeError,
-                       "argument 2 must be an object type or interface type");
-       return NULL;
-    }
-
-    return_type = pyg_type_from_object(py_return_type);
-    if (!return_type)
-       return NULL;
-
-    if (!PySequence_Check(py_param_types)) {
-       PyErr_SetString(PyExc_TypeError,
-                       "argument 5 must be a sequence of GType codes");
-       return NULL;
-    }
-    n_params = PySequence_Length(py_param_types);
-    param_types = g_new(GType, n_params);
-    for (i = 0; i < n_params; i++) {
-       PyObject *item = PySequence_GetItem(py_param_types, i);
-
-       param_types[i] = pyg_type_from_object(item);
-       if (param_types[i] == 0) {
-           PyErr_Clear();
-           Py_DECREF(item);
-           PyErr_SetString(PyExc_TypeError,
-                           "argument 5 must be a sequence of GType codes");
-           g_free(param_types);
-           return NULL;
-       }
-       Py_DECREF(item);
-    }
-
-    signal_id = g_signal_newv(signal_name, instance_type, signal_flags,
-                             pyg_signal_class_closure_get(),
-                             (GSignalAccumulator)0, NULL,
-                             (GSignalCMarshaller)0,
-                             return_type, n_params, param_types);
-    g_free(param_types);
-    if (signal_id != 0)
-       return PYGLIB_PyLong_FromLong(signal_id);
-    PyErr_SetString(PyExc_RuntimeError, "could not create signal");
-    return NULL;
-}
-
-PyObject *
-pyg_object_class_list_properties (PyObject *self, PyObject *args)
-{
-    GParamSpec **specs;
-    PyObject *py_itype, *list;
-    GType itype;
-    GObjectClass *class = NULL;
-    gpointer iface = NULL;
-    guint nprops;
-    guint i;
-
-    if (!PyArg_ParseTuple(args, "O:gobject.list_properties",
-                         &py_itype))
-       return NULL;
-    if ((itype = pyg_type_from_object(py_itype)) == 0)
-       return NULL;
-
-    if (G_TYPE_IS_INTERFACE(itype)) {
-        iface = g_type_default_interface_ref(itype);
-        if (!iface) {
-            PyErr_SetString(PyExc_RuntimeError,
-                            "could not get a reference to interface type");
-            return NULL;
-        }
-        specs = g_object_interface_list_properties(iface, &nprops);
-    } else if (g_type_is_a(itype, G_TYPE_OBJECT)) {
-        class = g_type_class_ref(itype);
-        if (!class) {
-            PyErr_SetString(PyExc_RuntimeError,
-                            "could not get a reference to type class");
-            return NULL;
-        }
-        specs = g_object_class_list_properties(class, &nprops);
-    } else {
-       PyErr_SetString(PyExc_TypeError,
-                        "type must be derived from GObject or an interface");
-       return NULL;
-    }
-
-    list = PyTuple_New(nprops);
-    if (list == NULL) {
-       g_free(specs);
-       g_type_class_unref(class);
-       return NULL;
-    }
-    for (i = 0; i < nprops; i++) {
-       PyTuple_SetItem(list, i, pyg_param_spec_new(specs[i]));
-    }
-    g_free(specs);
-    if (class)
-        g_type_class_unref(class);
-    else
-        g_type_default_interface_unref(iface);
-
-    return list;
-}
-
-PyObject *
-pyg_object_new (PyGObject *self, PyObject *args, PyObject *kwargs)
-{
-    PyObject *pytype;
-    GType type;
-    GObject *obj = NULL;
-    GObjectClass *class;
-    guint n_params = 0, i;
-    GParameter *params = NULL;
-
-    if (!PyArg_ParseTuple (args, "O:gobject.new", &pytype)) {
-       return NULL;
-    }
-
-    if ((type = pyg_type_from_object (pytype)) == 0)
-       return NULL;
-
-    if (G_TYPE_IS_ABSTRACT(type)) {
-       PyErr_Format(PyExc_TypeError, "cannot create instance of abstract "
-                    "(non-instantiable) type `%s'", g_type_name(type));
-       return NULL;
-    }
-
-    if ((class = g_type_class_ref (type)) == NULL) {
-       PyErr_SetString(PyExc_TypeError,
-                       "could not get a reference to type class");
-       return NULL;
-    }
-
-    if (!pygobject_prepare_construct_properties (class, kwargs, &n_params, &params))
-        goto cleanup;
-
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-    obj = g_object_newv(type, n_params, params);
-G_GNUC_END_IGNORE_DEPRECATIONS
-
-    if (!obj)
-       PyErr_SetString (PyExc_RuntimeError, "could not create object");
-
- cleanup:
-    for (i = 0; i < n_params; i++) {
-       g_free((gchar *) params[i].name);
-       g_value_unset(&params[i].value);
-    }
-    g_free(params);
-    g_type_class_unref(class);
-
-    if (obj) {
-        pygobject_sink (obj);
-       self = (PyGObject *) pygobject_new((GObject *)obj);
-        g_object_unref(obj);
-    } else
-        self = NULL;
-
-    return (PyObject *) self;
-}
-
-static int
-pygobject_gil_state_ensure (void)
-{
-    return PyGILState_Ensure ();
-}
-
-static void
-pygobject_gil_state_release (int flag)
-{
-    PyGILState_Release(flag);
-}
-
-/* Only for backwards compatibility */
-static int
-pygobject_enable_threads(void)
-{
-    return 0;
-}
-
-PyObject *
-pyg_signal_accumulator_true_handled(PyObject *unused, PyObject *args)
-{
-    PyErr_SetString(PyExc_TypeError,
-                   "signal_accumulator_true_handled can only"
-                    " be used as accumulator argument when registering signals");
-    return NULL;
-}
-
-static gboolean
-marshal_emission_hook(GSignalInvocationHint *ihint,
-                     guint n_param_values,
-                     const GValue *param_values,
-                     gpointer user_data)
-{
-    PyGILState_STATE state;
-    gboolean retval = FALSE;
-    PyObject *func, *args;
-    PyObject *retobj;
-    PyObject *params;
-    guint i;
-
-    state = PyGILState_Ensure();
-
-    /* construct Python tuple for the parameter values */
-    params = PyTuple_New(n_param_values);
-
-    for (i = 0; i < n_param_values; i++) {
-       PyObject *item = pyg_value_as_pyobject(&param_values[i], FALSE);
-
-       /* error condition */
-       if (!item) {
-           goto out;
-       }
-       PyTuple_SetItem(params, i, item);
-    }
-
-    args = (PyObject *)user_data;
-    func = PyTuple_GetItem(args, 0);
-    args = PySequence_Concat(params, PyTuple_GetItem(args, 1));
-    Py_DECREF(params);
-
-    /* params passed to function may have extra arguments */
-
-    retobj = PyObject_CallObject(func, args);
-    Py_DECREF(args);
-    if (retobj == NULL) {
-        PyErr_Print();
-    }
-
-    retval = (retobj == Py_True ? TRUE : FALSE);
-    Py_XDECREF(retobj);
-out:
-    PyGILState_Release(state);
-    return retval;
-}
-
-PyObject *
-pyg_add_emission_hook(PyGObject *self, PyObject *args)
-{
-    PyObject *first, *callback, *extra_args, *data, *repr;
-    gchar *name;
-    gulong hook_id;
-    guint sigid;
-    Py_ssize_t len;
-    GQuark detail = 0;
-    GType gtype;
-    PyObject *pygtype;
-
-    len = PyTuple_Size(args);
-    if (len < 3) {
-       PyErr_SetString(PyExc_TypeError,
-                       "gobject.add_emission_hook requires at least 3 arguments");
-       return NULL;
-    }
-    first = PySequence_GetSlice(args, 0, 3);
-    if (!PyArg_ParseTuple(first, "OsO:add_emission_hook",
-                         &pygtype, &name, &callback)) {
-       Py_DECREF(first);
-       return NULL;
-    }
-    Py_DECREF(first);
-
-    if ((gtype = pyg_type_from_object(pygtype)) == 0) {
-       return NULL;
-    }
-    if (!PyCallable_Check(callback)) {
-       PyErr_SetString(PyExc_TypeError, "third argument must be callable");
-       return NULL;
-    }
-
-    if (!g_signal_parse_name(name, gtype, &sigid, &detail, TRUE)) {
-       repr = PyObject_Repr((PyObject*)self);
-       PyErr_Format(PyExc_TypeError, "%s: unknown signal name: %s",
-                       PYGLIB_PyUnicode_AsString(repr),
-                    name);
-       Py_DECREF(repr);
-       return NULL;
-    }
-    extra_args = PySequence_GetSlice(args, 3, len);
-    if (extra_args == NULL)
-       return NULL;
-
-    data = Py_BuildValue("(ON)", callback, extra_args);
-    if (data == NULL)
-      return NULL;
-
-    hook_id = g_signal_add_emission_hook(sigid, detail,
-                                        marshal_emission_hook,
-                                        data,
-                                        (GDestroyNotify)pyg_destroy_notify);
-
-    return PyLong_FromUnsignedLong(hook_id);
-}
-
-PyObject *
-pyg__install_metaclass(PyObject *dummy, PyTypeObject *metaclass)
-{
-    Py_INCREF(metaclass);
-    PyGObject_MetaType = metaclass;
-    Py_INCREF(metaclass);
-
-    Py_TYPE(&PyGObject_Type) = metaclass;
-
-    Py_INCREF(Py_None);
-    return Py_None;
-}
-
-PyObject *
-pyg__gvalue_get(PyObject *module, PyObject *pygvalue)
-{
-    if (!pyg_boxed_check (pygvalue, G_TYPE_VALUE)) {
-        PyErr_SetString (PyExc_TypeError, "Expected GValue argument.");
-        return NULL;
-    }
-
-    return pyg_value_as_pyobject (pyg_boxed_get(pygvalue, GValue),
-                                  /*copy_boxed=*/ TRUE);
-}
-
-PyObject *
-pyg__gvalue_set(PyObject *module, PyObject *args)
-{
-    PyObject *pygvalue;
-    PyObject *pyobject;
-
-    if (!PyArg_ParseTuple (args, "OO:_gi._gvalue_set",
-                           &pygvalue, &pyobject))
-        return NULL;
-
-    if (!pyg_boxed_check (pygvalue, G_TYPE_VALUE)) {
-        PyErr_SetString (PyExc_TypeError, "Expected GValue argument.");
-        return NULL;
-    }
-
-    if (pyg_value_from_pyobject_with_error (pyg_boxed_get (pygvalue, GValue),
-                                            pyobject) == -1)
-        return NULL;
-
-    Py_RETURN_NONE;
-}
-
-
-/* ----------------- Constant extraction ------------------------ */
-
-/**
- * pyg_constant_strip_prefix:
- * @name: the constant name.
- * @strip_prefix: the prefix to strip.
- *
- * Advances the pointer @name by strlen(@strip_prefix) characters.  If
- * the resulting name does not start with a letter or underscore, the
- * @name pointer will be rewound.  This is to ensure that the
- * resulting name is a valid identifier.  Hence the returned string is
- * a pointer into the string @name.
- *
- * Returns: the stripped constant name.
- */
-const gchar *
-pyg_constant_strip_prefix(const gchar *name, const gchar *strip_prefix)
-{
-    size_t prefix_len;
-    guint i;
-
-    prefix_len = strlen(strip_prefix);
-
-    /* Check so name starts with strip_prefix, if it doesn't:
-     * return the rest of the part which doesn't match
-     */
-    for (i = 0; i < prefix_len; i++) {
-       if (name[i] != strip_prefix[i] && name[i] != '_') {
-           return &name[i];
-       }
-    }
-
-    /* strip off prefix from value name, while keeping it a valid
-     * identifier */
-    for (i = prefix_len + 1; i > 0; i--) {
-       if (g_ascii_isalpha(name[i - 1]) || name[i - 1] == '_') {
-           return &name[i - 1];
-       }
-    }
-    return name;
-}
-
-/**
- * pyg_enum_add_constants:
- * @module: a Python module
- * @enum_type: the GType of the enumeration.
- * @strip_prefix: the prefix to strip from the constant names.
- *
- * Adds constants to the given Python module for each value name of
- * the enumeration.  A prefix will be stripped from each enum name.
- */
-static void
-pyg_enum_add_constants(PyObject *module, GType enum_type,
-                      const gchar *strip_prefix)
-{
-    GEnumClass *eclass;
-    guint i;
-
-    if (!G_TYPE_IS_ENUM(enum_type)) {
-       if (G_TYPE_IS_FLAGS(enum_type)) /* See bug #136204 */
-           pyg_flags_add_constants(module, enum_type, strip_prefix);
-       else
-           g_warning("`%s' is not an enum type", g_type_name(enum_type));
-       return;
-    }
-    g_return_if_fail (strip_prefix != NULL);
-
-    eclass = G_ENUM_CLASS(g_type_class_ref(enum_type));
-
-    for (i = 0; i < eclass->n_values; i++) {
-       const gchar *name = eclass->values[i].value_name;
-       gint value = eclass->values[i].value;
-
-       PyModule_AddIntConstant(module,
-                               (char*) pyg_constant_strip_prefix(name, strip_prefix),
-                               (long) value);
-    }
-
-    g_type_class_unref(eclass);
-}
-
-/**
- * pyg_flags_add_constants:
- * @module: a Python module
- * @flags_type: the GType of the flags type.
- * @strip_prefix: the prefix to strip from the constant names.
- *
- * Adds constants to the given Python module for each value name of
- * the flags set.  A prefix will be stripped from each flag name.
- */
-static void
-pyg_flags_add_constants(PyObject *module, GType flags_type,
-                       const gchar *strip_prefix)
-{
-    GFlagsClass *fclass;
-    guint i;
-
-    if (!G_TYPE_IS_FLAGS(flags_type)) {
-       if (G_TYPE_IS_ENUM(flags_type)) /* See bug #136204 */
-           pyg_enum_add_constants(module, flags_type, strip_prefix);
-       else
-           g_warning("`%s' is not an flags type", g_type_name(flags_type));
-       return;
-    }
-    g_return_if_fail (strip_prefix != NULL);
-
-    fclass = G_FLAGS_CLASS(g_type_class_ref(flags_type));
-
-    for (i = 0; i < fclass->n_values; i++) {
-       const gchar *name = fclass->values[i].value_name;
-       guint value = fclass->values[i].value;
-
-       PyModule_AddIntConstant(module,
-                               (char*) pyg_constant_strip_prefix(name, strip_prefix),
-                               (long) value);
-    }
-
-    g_type_class_unref(fclass);
-}
-
-/**
- * pyg_parse_constructor_args: helper function for PyGObject constructors
- * @obj_type: GType of the GObject, for parameter introspection
- * @arg_names: %NULL-terminated array of constructor argument names
- * @prop_names: %NULL-terminated array of property names, with direct
- * correspondence to @arg_names
- * @params: GParameter array where parameters will be placed; length
- * of this array must be at least equal to the number of
- * arguments/properties
- * @nparams: output parameter to contain actual number of arguments found
- * @py_args: array of PyObject* containing the actual constructor arguments
- *
- * Parses an array of PyObject's and creates a GParameter array
- *
- * Return value: %TRUE if all is successful, otherwise %FALSE and
- * python exception set.
- **/
-static gboolean
-pyg_parse_constructor_args(GType        obj_type,
-                           char       **arg_names,
-                           char       **prop_names,
-                           GParameter  *params,
-                           guint       *nparams,
-                           PyObject   **py_args)
-{
-    guint arg_i, param_i;
-    GObjectClass *oclass;
-
-    oclass = g_type_class_ref(obj_type);
-    g_return_val_if_fail(oclass, FALSE);
-
-    for (param_i = arg_i = 0; arg_names[arg_i]; ++arg_i) {
-        GParamSpec *spec;
-        if (!py_args[arg_i])
-            continue;
-        spec = g_object_class_find_property(oclass, prop_names[arg_i]);
-        params[param_i].name = prop_names[arg_i];
-        g_value_init(&params[param_i].value, spec->value_type);
-        if (pyg_value_from_pyobject(&params[param_i].value, py_args[arg_i]) == -1) {
-            guint i;
-            PyErr_Format(PyExc_TypeError, "could not convert parameter '%s' of type '%s'",
-                         arg_names[arg_i], g_type_name(spec->value_type));
-            g_type_class_unref(oclass);
-            for (i = 0; i < param_i; ++i)
-                g_value_unset(&params[i].value);
-            return FALSE;
-        }
-        ++param_i;
-    }
-    g_type_class_unref(oclass);
-    *nparams = param_i;
-    return TRUE;
-}
-
-static void
-_log_func(const gchar *log_domain,
-          GLogLevelFlags log_level,
-          const gchar *message,
-          gpointer user_data)
-{
-    if (G_LIKELY(Py_IsInitialized()))
-    {
-       PyGILState_STATE state;
-       PyObject* warning = user_data;
-
-       state = PyGILState_Ensure();
-       PyErr_Warn(warning, (char *) message);
-       PyGILState_Release(state);
-    } else
-        g_log_default_handler(log_domain, log_level, message, user_data);
-}
-
-static void
-add_warning_redirection(const char *domain,
-                        PyObject   *warning)
-{
-    g_return_if_fail(domain != NULL);
-    g_return_if_fail(warning != NULL);
-
-    if (!log_handlers_disabled)
-    {
-       guint handler;
-       gpointer old_handler;
-
-       if (!log_handlers)
-           log_handlers = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
-
-       if ((old_handler = g_hash_table_lookup(log_handlers, domain)))
-           g_log_remove_handler(domain, GPOINTER_TO_UINT(old_handler));
-
-       handler = g_log_set_handler(domain, G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING,
-                                   _log_func, warning);
-       g_hash_table_insert(log_handlers, g_strdup(domain), GUINT_TO_POINTER(handler));
-    }
-}
-
-static void
-remove_handler(gpointer domain,
-               gpointer handler,
-              gpointer unused)
-{
-    g_log_remove_handler(domain, GPOINTER_TO_UINT(handler));
-}
-
-static void
-disable_warning_redirections(void)
-{
-    log_handlers_disabled = TRUE;
-
-    if (log_handlers)
-    {
-       g_hash_table_foreach(log_handlers, remove_handler, NULL);
-       g_hash_table_destroy(log_handlers);
-       log_handlers = NULL;
-    }
-}
-
-/* ----------------- gobject module initialisation -------------- */
-
-struct _PyGObject_Functions pygobject_api_functions = {
-  pygobject_register_class,
-  pygobject_register_wrapper,
-  pygobject_lookup_class,
-  pygobject_new,
-
-  pyg_closure_new,
-  pygobject_watch_closure,
-  pyg_destroy_notify,
-
-  pyg_type_from_object,
-  pyg_type_wrapper_new,
-  pyg_enum_get_value,
-  pyg_flags_get_value,
-  pyg_register_gtype_custom,
-  pyg_value_from_pyobject,
-  pyg_value_as_pyobject,
-
-  pyg_register_interface,
-
-  &PyGBoxed_Type,
-  pyg_register_boxed,
-  pyg_boxed_new,
-
-  &PyGPointer_Type,
-  pyg_register_pointer,
-  pyg_pointer_new,
-
-  pyg_enum_add_constants,
-  pyg_flags_add_constants,
-
-  pyg_constant_strip_prefix,
-
-  pygi_error_check,
-
-  _pyg_set_thread_block_funcs,
-  (PyGThreadBlockFunc)0, /* block_threads */
-  (PyGThreadBlockFunc)0, /* unblock_threads */
-
-  &PyGParamSpec_Type,
-  pyg_param_spec_new,
-  pyg_param_spec_from_object,
-
-  pyg_pyobj_to_unichar_conv,
-  pyg_parse_constructor_args,
-  pyg_param_gvalue_as_pyobject,
-  pyg_param_gvalue_from_pyobject,
-
-  &PyGEnum_Type,
-  pyg_enum_add,
-  pyg_enum_from_gtype,
-
-  &PyGFlags_Type,
-  pyg_flags_add,
-  pyg_flags_from_gtype,
-
-  TRUE, /* threads_enabled */
-
-  pygobject_enable_threads,
-  pygobject_gil_state_ensure,
-  pygobject_gil_state_release,
-  pyg_register_class_init,
-  pyg_register_interface_info,
-
-  pyg_closure_set_exception_handler,
-
-  add_warning_redirection,
-  disable_warning_redirections,
-
-  NULL, /* previously type_register_custom */
-
-  pygi_gerror_exception_check,
-
-  pyg_option_group_new,
-  pyg_type_from_object_strict,
-
-  pygobject_new_full,
-  &PyGObject_Type,
-
-  pyg_value_from_pyobject_with_error
-};
-
-/* for addon libraries ... */
-void
-pygobject_register_api(PyObject *d)
-{
-    PyObject *api;
-
-    api = PYGLIB_CPointer_WrapPointer(&pygobject_api_functions, "gobject._PyGObject_API");
-    PyDict_SetItemString(d, "_PyGObject_API", api);
-    Py_DECREF(api);
-}
-
-/* some constants */
-void
-pygobject_register_constants(PyObject *m)
-{
-    /* PyFloat_ return a new ref, and add object takes the ref */
-    PyModule_AddObject(m,       "G_MINFLOAT", PyFloat_FromDouble(G_MINFLOAT));
-    PyModule_AddObject(m,       "G_MAXFLOAT", PyFloat_FromDouble(G_MAXFLOAT));
-    PyModule_AddObject(m,       "G_MINDOUBLE", PyFloat_FromDouble(G_MINDOUBLE));
-    PyModule_AddObject(m,       "G_MAXDOUBLE", PyFloat_FromDouble(G_MAXDOUBLE));
-    PyModule_AddIntConstant(m,  "G_MINSHORT", G_MINSHORT);
-    PyModule_AddIntConstant(m,  "G_MAXSHORT", G_MAXSHORT);
-    PyModule_AddIntConstant(m,  "G_MAXUSHORT", G_MAXUSHORT);
-    PyModule_AddIntConstant(m,  "G_MININT", G_MININT);
-    PyModule_AddIntConstant(m,  "G_MAXINT", G_MAXINT);
-    PyModule_AddObject(m,       "G_MAXUINT", PyLong_FromUnsignedLong(G_MAXUINT));
-    PyModule_AddObject(m,       "G_MINLONG", PyLong_FromLong(G_MINLONG));
-    PyModule_AddObject(m,       "G_MAXLONG", PyLong_FromLong(G_MAXLONG));
-    PyModule_AddObject(m,       "G_MAXULONG", PyLong_FromUnsignedLong(G_MAXULONG));
-    PyModule_AddObject(m,       "G_MAXSIZE", PyLong_FromSize_t(G_MAXSIZE));
-    PyModule_AddObject(m,       "G_MAXSSIZE", PyLong_FromSsize_t(G_MAXSSIZE));
-    PyModule_AddObject(m,       "G_MINSSIZE", PyLong_FromSsize_t(G_MINSSIZE));
-    PyModule_AddObject(m,       "G_MINOFFSET", PyLong_FromLongLong(G_MINOFFSET));
-    PyModule_AddObject(m,       "G_MAXOFFSET", PyLong_FromLongLong(G_MAXOFFSET));
-
-    PyModule_AddIntConstant(m, "SIGNAL_RUN_FIRST", G_SIGNAL_RUN_FIRST);
-    PyModule_AddIntConstant(m, "PARAM_READWRITE", G_PARAM_READWRITE);
-
-    /* The rest of the types are set in __init__.py */
-    PyModule_AddObject(m, "TYPE_INVALID", pyg_type_wrapper_new(G_TYPE_INVALID));
-    PyModule_AddObject(m, "TYPE_GSTRING", pyg_type_wrapper_new(G_TYPE_GSTRING));
-}
-
-/* features */
-void
-pygobject_register_features(PyObject *d)
-{
-    PyObject *features;
-
-    features = PyDict_New();
-    PyDict_SetItemString(features, "generic-c-marshaller", Py_True);
-    PyDict_SetItemString(d, "features", features);
-    Py_DECREF(features);
-}
-
-void
-pygobject_register_version_tuples(PyObject *d)
-{
-    PyObject *tuple;
-
-    /* pygobject version */
-    tuple = Py_BuildValue ("(iii)",
-                          PYGOBJECT_MAJOR_VERSION,
-                          PYGOBJECT_MINOR_VERSION,
-                          PYGOBJECT_MICRO_VERSION);
-    PyDict_SetItemString(d, "pygobject_version", tuple);
-}
-
-void
-pygobject_register_warnings(PyObject *d)
-{
-    PyObject *warning;
-
-    warning = PyErr_NewException("gobject.Warning", PyExc_Warning, NULL);
-    PyDict_SetItemString(d, "Warning", warning);
-    add_warning_redirection("GLib", warning);
-    add_warning_redirection("GLib-GObject", warning);
-    add_warning_redirection("GThread", warning);
-}
diff --git a/gi/gobjectmodule.h b/gi/gobjectmodule.h
deleted file mode 100644 (file)
index 50bb6d1..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _PYGOBJECT_GOBJECTMODULE_H_
-#define _PYGOBJECT_GOBJECTMODULE_H_
-
-
-#include "pygobject-internal.h"
-
-int           pygobject_constructv (PyGObject   *self,
-                                    guint        n_parameters,
-                                    GParameter  *parameters);
-
-void        pygobject_register_api              (PyObject *d);
-void        pygobject_register_constants        (PyObject *m);
-void        pygobject_register_features         (PyObject *d);
-void        pygobject_register_version_tuples   (PyObject *d);
-void        pygobject_register_warnings         (PyObject *d);
-
-PyObject *  pyg_type_name                       (PyObject *self, PyObject *args);
-PyObject *  pyg_type_from_name                  (PyObject *self, PyObject *args);
-PyObject *  pyg_type_is_a                       (PyObject *self, PyObject *args);
-PyObject *  _wrap_pyg_type_register             (PyObject *self, PyObject *args);
-PyObject *  pyg_signal_new                      (PyObject *self, PyObject *args);
-PyObject *  pyg_object_class_list_properties    (PyObject *self, PyObject *args);
-PyObject *  pyg_object_new                      (PyGObject *self, PyObject *args,
-                                                 PyObject *kwargs);
-PyObject *  pyg_signal_accumulator_true_handled (PyObject *unused, PyObject *args);
-PyObject *  pyg_add_emission_hook               (PyGObject *self, PyObject *args);
-PyObject *  pyg__install_metaclass              (PyObject *dummy,
-                                                 PyTypeObject *metaclass);
-PyObject *  pyg__gvalue_get                     (PyObject *module, PyObject *pygvalue);
-PyObject *  pyg__gvalue_set                     (PyObject *module, PyObject *args);
-
-#endif /*_PYGOBJECT_GOBJECTMODULE_H_*/
index 2856903..c5b030a 100644 (file)
 
 from __future__ import absolute_import
 
-import sys
 import importlib
 
-_have_py3 = (sys.version_info[0] >= 3)
-
 try:
     maketrans = ''.maketrans
 except AttributeError:
@@ -124,9 +121,6 @@ class IntrospectionModule(object):
 
         path = repository.get_typelib_path(self._namespace)
         self.__path__ = [path]
-        if _have_py3:
-            # get_typelib_path() delivers bytes, not a string
-            self.__path__ = [path.decode('UTF-8')]
 
         if self._version is None:
             self._version = repository.get_version(self._namespace)
@@ -239,9 +233,6 @@ class IntrospectionModule(object):
 
     def __repr__(self):
         path = repository.get_typelib_path(self._namespace)
-        if _have_py3:
-            # get_typelib_path() delivers bytes, not a string
-            path = path.decode('UTF-8')
         return "<IntrospectionModule %r from %r>" % (self._namespace, path)
 
     def __dir__(self):
index f00c779..ed1f573 100644 (file)
@@ -73,7 +73,7 @@ def gerror_new_literal(domain, message, code):
 
 # Monkey patch methods that rely on GLib introspection to be loaded at runtime.
 Error.__name__ = 'Error'
-Error.__module__ = 'GLib'
+Error.__module__ = 'gi.repository.GLib'
 Error.__gtype__ = GLib.Error.__gtype__
 Error.matches = gerror_matches
 Error.new_literal = staticmethod(gerror_new_literal)
index c252bfa..f758e6d 100644 (file)
@@ -21,7 +21,6 @@
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
 # USA
 
-import sys
 import warnings
 from collections import namedtuple
 
@@ -30,6 +29,7 @@ import gi.module
 from gi.overrides import override, deprecated_attr
 from gi.repository import GLib
 from gi import PyGIDeprecationWarning
+from gi._compat import PY2, text_type
 
 from gi import _propertyhelper as propertyhelper
 from gi import _signalhelper as signalhelper
@@ -199,7 +199,7 @@ __all__ += ['GBoxed', 'GEnum', 'GFlags', 'GInterface', 'GObject',
             'Warning']
 
 
-features = _gi.features
+features = {'generic-c-marshaller': True}
 list_properties = _gi.list_properties
 new = _gi.new
 pygobject_version = _gi.pygobject_version
@@ -263,8 +263,8 @@ class Value(GObjectModule.Value):
         elif gtype == TYPE_STRING:
             if isinstance(py_value, str):
                 py_value = str(py_value)
-            elif sys.version_info < (3, 0):
-                if isinstance(py_value, unicode):
+            elif PY2:
+                if isinstance(py_value, text_type):
                     py_value = py_value.encode('UTF-8')
                 else:
                     raise ValueError("Expected string or unicode but got %s%s" %
index bf1b9af..a1ef5f9 100644 (file)
@@ -177,8 +177,9 @@ else:
     Window = override(Window)
     __all__.append('Window')
 
-Gdk.EventType._2BUTTON_PRESS = getattr(Gdk.EventType, "2BUTTON_PRESS")
-Gdk.EventType._3BUTTON_PRESS = getattr(Gdk.EventType, "3BUTTON_PRESS")
+if Gdk._version in ("2.0", "3.0"):
+    Gdk.EventType._2BUTTON_PRESS = getattr(Gdk.EventType, "2BUTTON_PRESS")
+    Gdk.EventType._3BUTTON_PRESS = getattr(Gdk.EventType, "3BUTTON_PRESS")
 
 
 class Event(Gdk.Event):
@@ -188,8 +189,6 @@ class Event(Gdk.Event):
         Gdk.EventType.EXPOSE: 'expose',
         Gdk.EventType.MOTION_NOTIFY: 'motion',
         Gdk.EventType.BUTTON_PRESS: 'button',
-        Gdk.EventType._2BUTTON_PRESS: 'button',
-        Gdk.EventType._3BUTTON_PRESS: 'button',
         Gdk.EventType.BUTTON_RELEASE: 'button',
         Gdk.EventType.KEY_PRESS: 'key',
         Gdk.EventType.KEY_RELEASE: 'key',
@@ -199,22 +198,28 @@ class Event(Gdk.Event):
         Gdk.EventType.CONFIGURE: 'configure',
         Gdk.EventType.MAP: 'any',
         Gdk.EventType.UNMAP: 'any',
-        Gdk.EventType.PROPERTY_NOTIFY: 'property',
-        Gdk.EventType.SELECTION_CLEAR: 'selection',
-        Gdk.EventType.SELECTION_REQUEST: 'selection',
-        Gdk.EventType.SELECTION_NOTIFY: 'selection',
         Gdk.EventType.PROXIMITY_IN: 'proximity',
         Gdk.EventType.PROXIMITY_OUT: 'proximity',
         Gdk.EventType.DRAG_ENTER: 'dnd',
         Gdk.EventType.DRAG_LEAVE: 'dnd',
         Gdk.EventType.DRAG_MOTION: 'dnd',
-        Gdk.EventType.DRAG_STATUS: 'dnd',
         Gdk.EventType.DROP_START: 'dnd',
-        Gdk.EventType.DROP_FINISHED: 'dnd',
-        Gdk.EventType.CLIENT_EVENT: 'client',
-        Gdk.EventType.VISIBILITY_NOTIFY: 'visibility',
     }
 
+    if Gdk._version in ("2.0", "3.0"):
+        _UNION_MEMBERS.update({
+            Gdk.EventType._2BUTTON_PRESS: 'button',
+            Gdk.EventType._3BUTTON_PRESS: 'button',
+            Gdk.EventType.PROPERTY_NOTIFY: 'property',
+            Gdk.EventType.SELECTION_CLEAR: 'selection',
+            Gdk.EventType.SELECTION_REQUEST: 'selection',
+            Gdk.EventType.SELECTION_NOTIFY: 'selection',
+            Gdk.EventType.DRAG_STATUS: 'dnd',
+            Gdk.EventType.DROP_FINISHED: 'dnd',
+            Gdk.EventType.CLIENT_EVENT: 'client',
+            Gdk.EventType.VISIBILITY_NOTIFY: 'visibility',
+        })
+
     if Gdk._version == '2.0':
         _UNION_MEMBERS[Gdk.EventType.NO_EXPOSE] = 'no_expose'
 
@@ -258,7 +263,6 @@ module = sys.modules[modname]
 # field info so manually list the class names
 event_member_classes = ['EventAny',
                         'EventExpose',
-                        'EventVisibility',
                         'EventMotion',
                         'EventButton',
                         'EventScroll',
@@ -266,15 +270,21 @@ event_member_classes = ['EventAny',
                         'EventCrossing',
                         'EventFocus',
                         'EventConfigure',
-                        'EventProperty',
-                        'EventSelection',
-                        'EventOwnerChange',
                         'EventProximity',
                         'EventDND',
-                        'EventWindowState',
                         'EventSetting',
                         'EventGrabBroken']
 
+if Gdk._version in ("2.0", "3.0"):
+    event_member_classes.extend([
+        'EventVisibility',
+        'EventProperty',
+        'EventSelection',
+        'EventOwnerChange',
+        'EventWindowState',
+        'EventVisibility',
+    ])
+
 if Gdk._version == '2.0':
     event_member_classes.append('EventNoExpose')
 
@@ -391,12 +401,13 @@ def _gdk_atom_repr(atom):
     return '<Gdk.Atom(%i)>' % hash(atom)
 
 
-Gdk.Atom.__str__ = _gdk_atom_str
-Gdk.Atom.__repr__ = _gdk_atom_repr
+if Gdk._version in ("2.0", "3.0"):
+    Gdk.Atom.__str__ = _gdk_atom_str
+    Gdk.Atom.__repr__ = _gdk_atom_repr
 
 
 # constants
-if Gdk._version >= '3.0':
+if Gdk._version == '3.0':
     SELECTION_PRIMARY = Gdk.atom_intern('PRIMARY', True)
     __all__.append('SELECTION_PRIMARY')
 
index 8f6a174..23d06ad 100644 (file)
@@ -25,19 +25,21 @@ import warnings
 
 from gi.repository import GObject
 from .._ossighelper import wakeup_on_signal, register_sigint_fallback
+from .._gtktemplate import Template
 from ..overrides import override, strip_boolean_result, deprecated_init
 from ..module import get_introspection_module
+from .._compat import string_types
 from gi import PyGIDeprecationWarning
 
-if sys.version_info >= (3, 0):
-    _basestring = str
-else:
-    _basestring = basestring
 
 Gtk = get_introspection_module('Gtk')
 
 __all__ = []
 
+
+Template = Template
+__all__.append('Template')
+
 if Gtk._version == '2.0':
     warn_msg = "You have imported the Gtk 2.0 module.  Because Gtk 2.0 \
 was not designed for use with introspection some of the \
@@ -388,7 +390,7 @@ if Gtk._version in ("2.0", "3.0"):
 
     class UIManager(Gtk.UIManager):
         def add_ui_from_string(self, buffer):
-            if not isinstance(buffer, _basestring):
+            if not isinstance(buffer, string_types):
                 raise TypeError('buffer must be a string')
 
             length = len(buffer.encode('UTF-8'))
@@ -457,7 +459,7 @@ class Builder(Gtk.Builder):
         self.connect_signals_full(_builder_connect_callback, obj_or_map)
 
     def add_from_string(self, buffer):
-        if not isinstance(buffer, _basestring):
+        if not isinstance(buffer, string_types):
             raise TypeError('buffer must be a string')
 
         length = len(buffer)
@@ -465,7 +467,7 @@ class Builder(Gtk.Builder):
         return Gtk.Builder.add_from_string(self, buffer, length)
 
     def add_objects_from_string(self, buffer, object_ids):
-        if not isinstance(buffer, _basestring):
+        if not isinstance(buffer, string_types):
             raise TypeError('buffer must be a string')
 
         length = len(buffer)
@@ -634,17 +636,17 @@ if Gtk._version in ("2.0", "3.0"):
     __all__.append('FontSelectionDialog')
 
 
-class RecentChooserDialog(Gtk.RecentChooserDialog):
-    # Note, the "manager" keyword must work across the entire 3.x series because
-    # "recent_manager" is not backwards compatible with PyGObject versions prior to 3.10.
-    __init__ = deprecated_init(Gtk.RecentChooserDialog.__init__,
-                               arg_names=('title', 'parent', 'recent_manager', 'buttons'),
-                               deprecated_aliases={'recent_manager': 'manager'},
-                               category=PyGTKDeprecationWarning)
-
+if Gtk._version in ("2.0", "3.0"):
+    class RecentChooserDialog(Gtk.RecentChooserDialog):
+        # Note, the "manager" keyword must work across the entire 3.x series because
+        # "recent_manager" is not backwards compatible with PyGObject versions prior to 3.10.
+        __init__ = deprecated_init(Gtk.RecentChooserDialog.__init__,
+                                   arg_names=('title', 'parent', 'recent_manager', 'buttons'),
+                                   deprecated_aliases={'recent_manager': 'manager'},
+                                   category=PyGTKDeprecationWarning)
 
-RecentChooserDialog = override(RecentChooserDialog)
-__all__.append('RecentChooserDialog')
+    RecentChooserDialog = override(RecentChooserDialog)
+    __all__.append('RecentChooserDialog')
 
 
 class IconView(Gtk.IconView):
@@ -731,7 +733,7 @@ class TextBuffer(Gtk.TextBuffer):
         Gtk.TextBuffer.set_text(self, text, length)
 
     def insert(self, iter, text, length=-1):
-        if not isinstance(text, _basestring):
+        if not isinstance(text, string_types):
             raise TypeError('text must be a string, not %s' % type(text))
 
         Gtk.TextBuffer.insert(self, iter, text, length)
@@ -760,7 +762,7 @@ class TextBuffer(Gtk.TextBuffer):
         self.insert_with_tags(iter, text, *tag_objs)
 
     def insert_at_cursor(self, text, length=-1):
-        if not isinstance(text, _basestring):
+        if not isinstance(text, string_types):
             raise TypeError('text must be a string, not %s' % type(text))
 
         Gtk.TextBuffer.insert_at_cursor(self, text, length)
@@ -986,27 +988,25 @@ class ListStore(Gtk.ListStore, TreeModel, TreeSortable):
     def insert(self, position, row=None):
         return self._do_insert(position, row)
 
-    # FIXME: sends two signals; check if this can use an atomic
-    # insert_with_valuesv()
-
     def insert_before(self, sibling, row=None):
-        treeiter = Gtk.ListStore.insert_before(self, sibling)
-
         if row is not None:
-            self.set_row(treeiter, row)
-
-        return treeiter
+            if sibling is None:
+                position = -1
+            else:
+                position = self.get_path(sibling).get_indices()[-1]
+            return self._do_insert(position, row)
 
-    # FIXME: sends two signals; check if this can use an atomic
-    # insert_with_valuesv()
+        return Gtk.ListStore.insert_before(self, sibling)
 
     def insert_after(self, sibling, row=None):
-        treeiter = Gtk.ListStore.insert_after(self, sibling)
-
         if row is not None:
-            self.set_row(treeiter, row)
+            if sibling is None:
+                position = 0
+            else:
+                position = self.get_path(sibling).get_indices()[-1] + 1
+            return self._do_insert(position, row)
 
-        return treeiter
+        return Gtk.ListStore.insert_after(self, sibling)
 
     def set_value(self, treeiter, column, value):
         value = self._convert_value(column, value)
@@ -1179,7 +1179,7 @@ class TreePath(Gtk.TreePath):
     def __new__(cls, path=0):
         if isinstance(path, int):
             path = str(path)
-        elif not isinstance(path, _basestring):
+        elif not isinstance(path, string_types):
             path = ":".join(str(val) for val in path)
 
         if len(path) == 0:
@@ -1250,27 +1250,25 @@ class TreeStore(Gtk.TreeStore, TreeModel, TreeSortable):
     def insert(self, parent, position, row=None):
         return self._do_insert(parent, position, row)
 
-    # FIXME: sends two signals; check if this can use an atomic
-    # insert_with_valuesv()
-
     def insert_before(self, parent, sibling, row=None):
-        treeiter = Gtk.TreeStore.insert_before(self, parent, sibling)
-
         if row is not None:
-            self.set_row(treeiter, row)
-
-        return treeiter
+            if sibling is None:
+                position = -1
+            else:
+                position = self.get_path(sibling).get_indices()[-1]
+            return self._do_insert(parent, position, row)
 
-    # FIXME: sends two signals; check if this can use an atomic
-    # insert_with_valuesv()
+        return Gtk.TreeStore.insert_before(self, parent, sibling)
 
     def insert_after(self, parent, sibling, row=None):
-        treeiter = Gtk.TreeStore.insert_after(self, parent, sibling)
-
         if row is not None:
-            self.set_row(treeiter, row)
+            if sibling is None:
+                position = 0
+            else:
+                position = self.get_path(sibling).get_indices()[-1] + 1
+            return self._do_insert(parent, position, row)
 
-        return treeiter
+        return Gtk.TreeStore.insert_after(self, parent, sibling)
 
     def set_value(self, treeiter, column, value):
         value = self._convert_value(column, value)
diff --git a/gi/overrides/Makefile.am b/gi/overrides/Makefile.am
deleted file mode 100644 (file)
index e69c91c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-pygioverridesdir = $(pyexecdir)/gi/overrides
-
-pygioverrides_PYTHON = \
-       GLib.py \
-       Gtk.py \
-       Gdk.py \
-       GObject.py \
-       Gio.py \
-       GIMarshallingTests.py \
-       Pango.py \
-       keysyms.py \
-       __init__.py
-
-# if we build in a separate tree, we need to symlink the *.py files from the
-# source tree; Python does not accept the extensions and modules in different
-# paths
-build_pylinks:
-       for f in $(pygioverrides_PYTHON); do \
-           [ -e $(builddir)/$$f ] || $(LN_S) $(srcdir)/$$f $(builddir)/$$f; \
-       done
-
-all-local: build_pylinks
-check-local: build_pylinks
diff --git a/gi/overrides/Makefile.in b/gi/overrides/Makefile.in
deleted file mode 100644 (file)
index 8a8e319..0000000
+++ /dev/null
@@ -1,616 +0,0 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2017 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@
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) 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@
-subdir = gi/overrides
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
-       $(top_srcdir)/m4/ax_append_flag.m4 \
-       $(top_srcdir)/m4/ax_append_link_flags.m4 \
-       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
-       $(top_srcdir)/m4/ax_check_link_flag.m4 \
-       $(top_srcdir)/m4/ax_code_coverage.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_cflags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_gir.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_ldflags.m4 \
-       $(top_srcdir)/m4/ax_is_release.m4 \
-       $(top_srcdir)/m4/ax_require_defined.m4 \
-       $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/introspection.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/pkg.m4 \
-       $(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(pygioverrides_PYTHON) \
-       $(am__DIST_COMMON)
-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__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__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile)
-am__installdirs = "$(DESTDIR)$(pygioverridesdir)"
-am__pep3147_tweak = \
-  sed -e 's|\.py$$||' -e 's|[^/]*$$|__pycache__/&.*.py|'
-py_compile = $(top_srcdir)/py-compile
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/py-compile
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
-CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
-CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
-CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
-CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
-CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
-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@
-FFI_CFLAGS = @FFI_CFLAGS@
-FFI_LIBS = @FFI_LIBS@
-FGREP = @FGREP@
-GCOV = @GCOV@
-GENHTML = @GENHTML@
-GIO_CFLAGS = @GIO_CFLAGS@
-GIO_LIBS = @GIO_LIBS@
-GI_CFLAGS = @GI_CFLAGS@
-GI_DATADIR = @GI_DATADIR@
-GI_LIBS = @GI_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_QUERY = @GOBJECT_QUERY@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-LCOV = @LCOV@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_EXT = @OS_EXT@
-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@
-PYCAIRO_CFLAGS = @PYCAIRO_CFLAGS@
-PYCAIRO_LIBS = @PYCAIRO_LIBS@
-PYGOBJECT_MAJOR_VERSION = @PYGOBJECT_MAJOR_VERSION@
-PYGOBJECT_MICRO_VERSION = @PYGOBJECT_MICRO_VERSION@
-PYGOBJECT_MINOR_VERSION = @PYGOBJECT_MINOR_VERSION@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_LIB_LOC = @PYTHON_LIB_LOC@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_SO = @PYTHON_SO@
-PYTHON_VALGRIND_SUPP = @PYTHON_VALGRIND_SUPP@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WARN_LDFLAGS = @WARN_LDFLAGS@
-WARN_SCANNERFLAGS = @WARN_SCANNERFLAGS@
-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@
-runstatedir = @runstatedir@
-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@
-pygioverridesdir = $(pyexecdir)/gi/overrides
-pygioverrides_PYTHON = \
-       GLib.py \
-       Gtk.py \
-       Gdk.py \
-       GObject.py \
-       Gio.py \
-       GIMarshallingTests.py \
-       Pango.py \
-       keysyms.py \
-       __init__.py
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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 gi/overrides/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign gi/overrides/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_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(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
-install-pygioverridesPYTHON: $(pygioverrides_PYTHON)
-       @$(NORMAL_INSTALL)
-       @list='$(pygioverrides_PYTHON)'; dlist=; list2=; test -n "$(pygioverridesdir)" || list=; \
-       if test -n "$$list"; then \
-         echo " $(MKDIR_P) '$(DESTDIR)$(pygioverridesdir)'"; \
-         $(MKDIR_P) "$(DESTDIR)$(pygioverridesdir)" || exit 1; \
-       fi; \
-       for p in $$list; do \
-         if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
-         if test -f $$b$$p; then \
-           $(am__strip_dir) \
-           dlist="$$dlist $$f"; \
-           list2="$$list2 $$b$$p"; \
-         else :; fi; \
-       done; \
-       for file in $$list2; do echo $$file; done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pygioverridesdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pygioverridesdir)" || exit $$?; \
-       done || exit $$?; \
-       if test -n "$$dlist"; then \
-         $(am__py_compile) --destdir "$(DESTDIR)" \
-                           --basedir "$(pygioverridesdir)" $$dlist; \
-       else :; fi
-
-uninstall-pygioverridesPYTHON:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pygioverrides_PYTHON)'; test -n "$(pygioverridesdir)" || list=; \
-       py_files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       test -n "$$py_files" || exit 0; \
-       dir='$(DESTDIR)$(pygioverridesdir)'; \
-       pyc_files=`echo "$$py_files" | sed 's|$$|c|'`; \
-       pyo_files=`echo "$$py_files" | sed 's|$$|o|'`; \
-       py_files_pep3147=`echo "$$py_files" | $(am__pep3147_tweak)`; \
-       echo "$$py_files_pep3147";\
-       pyc_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|c|'`; \
-       pyo_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|o|'`; \
-       st=0; \
-       for files in \
-         "$$py_files" \
-         "$$pyc_files" \
-         "$$pyo_files" \
-         "$$pyc_files_pep3147" \
-         "$$pyo_files_pep3147" \
-       ; do \
-         $(am__uninstall_files_from_dir) || st=$$?; \
-       done; \
-       exit $$st
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-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-local
-check: check-am
-all-am: Makefile all-local
-installdirs:
-       for dir in "$(DESTDIR)$(pygioverridesdir)"; 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-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:
-
-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-pygioverridesPYTHON
-
-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: uninstall-pygioverridesPYTHON
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: all all-am all-local check check-am check-local 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-pygioverridesPYTHON \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags-am uninstall uninstall-am uninstall-pygioverridesPYTHON
-
-.PRECIOUS: Makefile
-
-
-# if we build in a separate tree, we need to symlink the *.py files from the
-# source tree; Python does not accept the extensions and modules in different
-# paths
-build_pylinks:
-       for f in $(pygioverrides_PYTHON); do \
-           [ -e $(builddir)/$$f ] || $(LN_S) $(srcdir)/$$f $(builddir)/$$f; \
-       done
-
-all-local: build_pylinks
-check-local: build_pylinks
-
-# 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 e521c96..1f355be 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
+#include <config.h>
 
 #include <Python.h>
 #include <glib-object.h>
 
-#include <pyglib.h>
 #include "pygboxed.h"
-#include "pygtype.h"
-
 #include "pygi-type.h"
+#include "pygi-type.h"
+#include "pygi-util.h"
 
 GQuark pygboxed_type_key;
-GQuark pygboxed_marshal_key;
 
 PYGLIB_DEFINE_TYPE("gobject.GBoxed", PyGBoxed_Type, PyGBoxed);
 
 static void
-pyg_boxed_dealloc(PyGBoxed *self)
+gboxed_dealloc(PyGBoxed *self)
 {
     if (self->free_on_dealloc && pyg_boxed_get_ptr (self)) {
        PyGILState_STATE state = PyGILState_Ensure();
@@ -49,28 +45,27 @@ pyg_boxed_dealloc(PyGBoxed *self)
 }
 
 static PyObject*
-pyg_boxed_richcompare(PyObject *self, PyObject *other, int op)
+gboxed_richcompare(PyObject *self, PyObject *other, int op)
 {
     if (Py_TYPE(self) == Py_TYPE(other) &&
         PyObject_IsInstance(self, (PyObject*)&PyGBoxed_Type))
-        return _pyglib_generic_ptr_richcompare (pyg_boxed_get_ptr (self),
-                                                pyg_boxed_get_ptr (other),
-                                                op);
+        return pyg_ptr_richcompare (pyg_boxed_get_ptr (self),
+                                    pyg_boxed_get_ptr (other),
+                                    op);
     else {
         Py_INCREF(Py_NotImplemented);
         return Py_NotImplemented;
     }
 }
 
-
 static PYGLIB_Py_hash_t
-pyg_boxed_hash(PyGBoxed *self)
+gboxed_hash(PyGBoxed *self)
 {
     return PYGLIB_Py_hash_t_FromVoidPtr (pyg_boxed_get_ptr (self));
 }
 
 static PyObject *
-pyg_boxed_repr(PyGBoxed *boxed)
+gboxed_repr(PyGBoxed *boxed)
 {
     PyObject *module, *repr, *self = (PyObject *)boxed;
     gchar *module_str, *namespace;
@@ -101,7 +96,7 @@ pyg_boxed_repr(PyGBoxed *boxed)
 }
 
 static int
-pyg_boxed_init(PyGBoxed *self, PyObject *args, PyObject *kwargs)
+gboxed_init(PyGBoxed *self, PyObject *args, PyObject *kwargs)
 {
     gchar buf[512];
 
@@ -119,27 +114,25 @@ pyg_boxed_init(PyGBoxed *self, PyObject *args, PyObject *kwargs)
 }
 
 static void
-pyg_boxed_free(PyObject *op)
+gboxed_free(PyObject *op)
 {
   PyObject_FREE(op);
 }
 
 static PyObject *
-pyg_boxed_copy(PyGBoxed *self)
+gboxed_copy(PyGBoxed *self)
 {
-    return pyg_boxed_new (self->gtype, pyg_boxed_get_ptr (self), TRUE, TRUE);
+    return pygi_gboxed_new (self->gtype, pyg_boxed_get_ptr (self), TRUE, TRUE);
 }
 
-
-
 static PyMethodDef pygboxed_methods[] = {
-    { "copy", (PyCFunction) pyg_boxed_copy, METH_NOARGS },
+    { "copy", (PyCFunction) gboxed_copy, METH_NOARGS },
     { NULL, NULL, 0 }
 };
 
 
 /**
- * pyg_register_boxed:
+ * pygi_register_gboxed:
  * @dict: the module dictionary to store the wrapper class.
  * @class_name: the Python name for the wrapper class.
  * @boxed_type: the GType of the boxed type being wrapped.
@@ -150,8 +143,8 @@ static PyMethodDef pygboxed_methods[] = {
  * will be stored in the provided module dictionary.
  */
 void
-pyg_register_boxed(PyObject *dict, const gchar *class_name,
-                  GType boxed_type, PyTypeObject *type)
+pygi_register_gboxed (PyObject *dict, const gchar *class_name,
+                      GType boxed_type, PyTypeObject *type)
 {
     PyObject *o;
 
@@ -159,9 +152,10 @@ pyg_register_boxed(PyObject *dict, const gchar *class_name,
     g_return_if_fail(class_name != NULL);
     g_return_if_fail(boxed_type != 0);
 
-    if (!type->tp_dealloc)  type->tp_dealloc  = (destructor)pyg_boxed_dealloc;
+    if (!type->tp_dealloc)  type->tp_dealloc  = (destructor)gboxed_dealloc;
 
     Py_TYPE(type) = &PyType_Type;
+    g_assert (Py_TYPE (&PyGBoxed_Type) != NULL);
     type->tp_base = &PyGBoxed_Type;
 
     if (PyType_Ready(type) < 0) {
@@ -179,7 +173,7 @@ pyg_register_boxed(PyObject *dict, const gchar *class_name,
 }
 
 /**
- * pyg_boxed_new:
+ * pygi_gboxed_new:
  * @boxed_type: the GType of the boxed value.
  * @boxed: the boxed value.
  * @copy_boxed: whether the new boxed wrapper should hold a copy of the value.
@@ -194,8 +188,8 @@ pyg_register_boxed(PyObject *dict, const gchar *class_name,
  * Returns: the boxed wrapper or %NULL and sets an exception.
  */
 PyObject *
-pyg_boxed_new(GType boxed_type, gpointer boxed, gboolean copy_boxed,
-             gboolean own_ref)
+pygi_gboxed_new (GType boxed_type, gpointer boxed, gboolean copy_boxed,
+                 gboolean own_ref)
 {
     PyGILState_STATE state;
     PyGBoxed *self;
@@ -244,20 +238,24 @@ pyg_boxed_new(GType boxed_type, gpointer boxed, gboolean copy_boxed,
     return (PyObject *)self;
 }
 
-void
-pygobject_boxed_register_types(PyObject *d)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_gboxed_register_types(PyObject *d)
 {
     pygboxed_type_key        = g_quark_from_static_string("PyGBoxed::class");
-    pygboxed_marshal_key     = g_quark_from_static_string("PyGBoxed::marshal");
 
-    PyGBoxed_Type.tp_dealloc = (destructor)pyg_boxed_dealloc;
-    PyGBoxed_Type.tp_richcompare = pyg_boxed_richcompare;
-    PyGBoxed_Type.tp_repr = (reprfunc)pyg_boxed_repr;
+    PyGBoxed_Type.tp_dealloc = (destructor)gboxed_dealloc;
+    PyGBoxed_Type.tp_richcompare = gboxed_richcompare;
+    PyGBoxed_Type.tp_repr = (reprfunc)gboxed_repr;
     PyGBoxed_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;
     PyGBoxed_Type.tp_methods = pygboxed_methods;
-    PyGBoxed_Type.tp_init = (initproc)pyg_boxed_init;
-    PyGBoxed_Type.tp_free = (freefunc)pyg_boxed_free;
-    PyGBoxed_Type.tp_hash = (hashfunc)pyg_boxed_hash;
+    PyGBoxed_Type.tp_init = (initproc)gboxed_init;
+    PyGBoxed_Type.tp_free = (freefunc)gboxed_free;
+    PyGBoxed_Type.tp_hash = (hashfunc)gboxed_hash;
     
     PYGOBJECT_REGISTER_GTYPE(d, PyGBoxed_Type, "GBoxed", G_TYPE_BOXED);
+
+    return 0;
 }
index 93b3de6..c1b80bf 100644 (file)
@@ -24,13 +24,11 @@ extern GQuark pygboxed_type_key;
 
 extern PyTypeObject PyGBoxed_Type;
 
-void       pyg_register_boxed (PyObject *dict, const gchar *class_name,
-                               GType boxed_type, PyTypeObject *type);
-PyObject * pyg_boxed_new      (GType boxed_type, gpointer boxed,
-                               gboolean copy_boxed, gboolean own_ref);
+void       pygi_register_gboxed (PyObject *dict, const gchar *class_name,
+                                 GType boxed_type, PyTypeObject *type);
+PyObject * pygi_gboxed_new      (GType boxed_type, gpointer boxed,
+                                 gboolean copy_boxed, gboolean own_ref);
 
-const gchar * pyg_constant_strip_prefix(const gchar *name, const gchar *strip_prefix);
-
-void pygobject_boxed_register_types(PyObject *d);
+int pygi_gboxed_register_types(PyObject *d);
 
 #endif /* __PYGOBJECT_BOXED_H__ */
index 6897d53..69f1cd7 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
+#include <config.h>
 
-#include <pyglib.h>
-#include "pyglib-python-compat.h"
+#include "pygi-python-compat.h"
 #include "pygi-type.h"
 #include "pygi-util.h"
-
-#include "pygtype.h"
+#include "pygi-type.h"
+#include "pygi-basictype.h"
 #include "pygenum.h"
 #include "pygboxed.h"
 
@@ -261,7 +258,6 @@ pyg_enum_add (PyObject *   module,
     }
 
     ((PyTypeObject *)stub)->tp_flags &= ~Py_TPFLAGS_BASETYPE;
-    ((PyTypeObject *)stub)->tp_new = pyg_enum_new;
 
     if (module)
        PyDict_SetItemString(((PyTypeObject *)stub)->tp_dict,
@@ -329,13 +325,17 @@ pyg_enum_get_value_name(PyGEnum *self, void *closure)
   GEnumClass *enum_class;
   GEnumValue *enum_value;
   PyObject *retval;
+  gint intvalue;
+
+  if (!pygi_gint_from_py ((PyObject*) self, &intvalue))
+    return NULL;
 
   enum_class = g_type_class_ref(self->gtype);
   g_assert(G_IS_ENUM_CLASS(enum_class));
 
-  enum_value = g_enum_get_value(enum_class, PYGLIB_PyLong_AS_LONG(self));
+  enum_value = g_enum_get_value(enum_class, intvalue);
 
-  retval = PYGLIB_PyUnicode_FromString(enum_value->value_name);
+  retval = pygi_utf8_to_py (enum_value->value_name);
   g_type_class_unref(enum_class);
 
   return retval;
@@ -347,13 +347,18 @@ pyg_enum_get_value_nick(PyGEnum *self, void *closure)
   GEnumClass *enum_class;
   GEnumValue *enum_value;
   PyObject *retval;
+  gint intvalue;
+
+  if (!pygi_gint_from_py ((PyObject*) self, &intvalue))
+    return NULL;
 
   enum_class = g_type_class_ref(self->gtype);
   g_assert(G_IS_ENUM_CLASS(enum_class));
 
-  enum_value = g_enum_get_value(enum_class, PYGLIB_PyLong_AS_LONG(self));
+  enum_value = g_enum_get_value(enum_class, intvalue);
+
+  retval = pygi_utf8_to_py (enum_value->value_nick);
 
-  retval = PYGLIB_PyUnicode_FromString(enum_value->value_nick);
   g_type_class_unref(enum_class);
 
   return retval;
@@ -371,18 +376,17 @@ static PyGetSetDef pyg_enum_getsets[] = {
     { NULL, 0, 0 }
 };
 
-void
-pygobject_enum_register_types(PyObject *d)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_enum_register_types(PyObject *d)
 {
     pygenum_class_key        = g_quark_from_static_string("PyGEnum::class");
 
     PyGEnum_Type.tp_base = &PYGLIB_PyLong_Type;
-#if PY_VERSION_HEX < 0x03000000
     PyGEnum_Type.tp_new = pyg_enum_new;
-#else
-    PyGEnum_Type.tp_new = PyLong_Type.tp_new;
-    PyGEnum_Type.tp_hash = PyLong_Type.tp_hash;
-#endif
+    PyGEnum_Type.tp_hash = PYGLIB_PyLong_Type.tp_hash;
     PyGEnum_Type.tp_repr = (reprfunc)pyg_enum_repr;
     PyGEnum_Type.tp_str = (reprfunc)pyg_enum_repr;
     PyGEnum_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;
@@ -390,4 +394,6 @@ pygobject_enum_register_types(PyObject *d)
     PyGEnum_Type.tp_methods = pyg_enum_methods;
     PyGEnum_Type.tp_getset = pyg_enum_getsets;
     PYGOBJECT_REGISTER_GTYPE(d, PyGEnum_Type, "GEnum", G_TYPE_ENUM);
+
+    return 0;
 }
index 0625a94..5be979a 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef __PYGOBJECT_ENUM_H__ 
 #define __PYGOBJECT_ENUM_H__
 
+#include "pygi-python-compat.h"
+
 extern GQuark pygenum_class_key;
 
 #define PyGEnum_Check(x) (PyObject_IsInstance((PyObject *)x, (PyObject *)&PyGEnum_Type) && g_type_is_a(((PyGFlags*)x)->gtype, G_TYPE_ENUM))
@@ -42,6 +44,6 @@ PyObject * pyg_enum_from_gtype (GType        gtype,
 
 gint pyg_enum_get_value  (GType enum_type, PyObject *obj, gint *val);
 
-void pygobject_enum_register_types(PyObject *d);
+int pygi_enum_register_types(PyObject *d);
 
 #endif /* __PYGOBJECT_ENUM_H__ */
index d286a98..01e8a55 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
+#include <config.h>
 
-#include <pyglib.h>
 #include "pygi-type.h"
 #include "pygi-util.h"
-#include "pygtype.h"
+#include "pygi-type.h"
 #include "pygflags.h"
 #include "pygboxed.h"
 
@@ -108,7 +105,7 @@ pyg_flags_repr(PyGFlags *self)
     char *tmp, *retval, *module_str, *namespace;
     PyObject *pyretval, *module;
 
-    tmp = generate_repr(self->gtype, PYGLIB_PyLong_AsUnsignedLong(self));
+    tmp = generate_repr(self->gtype, (guint)PYGLIB_PyLong_AsUnsignedLong(self));
 
     module = PyObject_GetAttrString ((PyObject *)self, "__module__");
     if (module == NULL)
@@ -282,7 +279,6 @@ pyg_flags_add (PyObject *   module,
     }
 
     ((PyTypeObject *)stub)->tp_flags &= ~Py_TPFLAGS_BASETYPE;
-    ((PyTypeObject *)stub)->tp_new = pyg_flags_new;
 
     if (module) {
         PyDict_SetItemString(((PyTypeObject *)stub)->tp_dict,
@@ -342,7 +338,7 @@ pyg_flags_and(PyGFlags *a, PyGFlags *b)
                                                       (PyObject*)b);
 
        return pyg_flags_from_gtype(a->gtype,
-                                   PYGLIB_PyLong_AsUnsignedLong(a) & PYGLIB_PyLong_AsUnsignedLong(b));
+                                   (guint)(PYGLIB_PyLong_AsUnsignedLong(a) & PYGLIB_PyLong_AsUnsignedLong(b)));
 }
 
 static PyObject *
@@ -352,7 +348,7 @@ pyg_flags_or(PyGFlags *a, PyGFlags *b)
                return PYGLIB_PyLong_Type.tp_as_number->nb_or((PyObject*)a,
                                                      (PyObject*)b);
 
-       return pyg_flags_from_gtype(a->gtype, PYGLIB_PyLong_AsUnsignedLong(a) | PYGLIB_PyLong_AsUnsignedLong(b));
+       return pyg_flags_from_gtype(a->gtype, (guint)(PYGLIB_PyLong_AsUnsignedLong(a) | PYGLIB_PyLong_AsUnsignedLong(b)));
 }
 
 static PyObject *
@@ -363,7 +359,7 @@ pyg_flags_xor(PyGFlags *a, PyGFlags *b)
                                                       (PyObject*)b);
 
        return pyg_flags_from_gtype(a->gtype,
-                                   PYGLIB_PyLong_AsUnsignedLong(a) ^ PYGLIB_PyLong_AsUnsignedLong(b));
+                                   (guint)(PYGLIB_PyLong_AsUnsignedLong(a) ^ PYGLIB_PyLong_AsUnsignedLong(b)));
 
 }
 
@@ -386,7 +382,7 @@ pyg_flags_get_first_value_name(PyGFlags *self, void *closure)
 
   flags_class = g_type_class_ref(self->gtype);
   g_assert(G_IS_FLAGS_CLASS(flags_class));
-  flags_value = g_flags_get_first_value(flags_class, PYGLIB_PyLong_AsUnsignedLong(self));
+  flags_value = g_flags_get_first_value(flags_class, (guint)PYGLIB_PyLong_AsUnsignedLong(self));
   if (flags_value)
       retval = PYGLIB_PyUnicode_FromString(flags_value->value_name);
   else {
@@ -408,7 +404,7 @@ pyg_flags_get_first_value_nick(PyGFlags *self, void *closure)
   flags_class = g_type_class_ref(self->gtype);
   g_assert(G_IS_FLAGS_CLASS(flags_class));
 
-  flags_value = g_flags_get_first_value(flags_class, PYGLIB_PyLong_AsUnsignedLong(self));
+  flags_value = g_flags_get_first_value(flags_class, (guint)PYGLIB_PyLong_AsUnsignedLong(self));
   if (flags_value)
       retval = PYGLIB_PyUnicode_FromString(flags_value->value_nick);
   else {
@@ -499,18 +495,17 @@ static PyNumberMethods pyg_flags_as_number = {
        (binaryfunc)pyg_flags_or,               /* nb_or */
 };
 
-void
-pygobject_flags_register_types(PyObject *d)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_flags_register_types(PyObject *d)
 {
     pygflags_class_key = g_quark_from_static_string("PyGFlags::class");
 
     PyGFlags_Type.tp_base = &PYGLIB_PyLong_Type;
-#if PY_VERSION_HEX < 0x03000000
     PyGFlags_Type.tp_new = pyg_flags_new;
-#else
-    PyGFlags_Type.tp_new = PyLong_Type.tp_new;
-    PyGFlags_Type.tp_hash = PyLong_Type.tp_hash;    
-#endif
+    PyGFlags_Type.tp_hash = PYGLIB_PyLong_Type.tp_hash;
     PyGFlags_Type.tp_repr = (reprfunc)pyg_flags_repr;
     PyGFlags_Type.tp_as_number = &pyg_flags_as_number;
     PyGFlags_Type.tp_str = (reprfunc)pyg_flags_repr;
@@ -518,4 +513,6 @@ pygobject_flags_register_types(PyObject *d)
     PyGFlags_Type.tp_richcompare = (richcmpfunc)pyg_flags_richcompare;
     PyGFlags_Type.tp_getset = pyg_flags_getsets;
     PYGOBJECT_REGISTER_GTYPE(d, PyGFlags_Type, "GFlags", G_TYPE_FLAGS);
+
+    return 0;
 }
index 9555b94..7a8b2c7 100644 (file)
@@ -41,6 +41,6 @@ extern PyObject * pyg_flags_from_gtype (GType        gtype,
 
 gint pyg_flags_get_value (GType flag_type, PyObject *obj, guint *val);
 
-void pygobject_flags_register_types(PyObject *d);
+int pygi_flags_register_types(PyObject *d);
 
 #endif /* __PYGOBJECT_FLAGS_H__ */
index b4497e8..cbec0dd 100644 (file)
 
 #include "pygobject-internal.h"
 
-#include <pyglib-python-compat.h>
-#include <pyglib.h>
 #include <pygenum.h>
 #include <pygflags.h>
 
+#include "pygi-python-compat.h"
 #include "pygi-argument.h"
 #include "pygi-info.h"
 #include "pygi-value.h"
 #include "pygi-type.h"
 #include "pygi-util.h"
 
-/* Redefine g_array_index because we want it to return the i-th element, casted
- * to the type t, of the array a, and not the i-th element of the array a
- * casted to the type t. */
-#define _g_array_index(a,t,i) \
-    *(t *)((a)->data + g_array_get_element_size(a) * (i))
-
 
 gboolean
 pygi_argument_to_gssize (GIArgument *arg_in,
@@ -74,10 +67,22 @@ pygi_argument_to_gssize (GIArgument *arg_in,
           *gssize_out = arg_in->v_uint32;
           return TRUE;
       case GI_TYPE_TAG_INT64:
-          *gssize_out = arg_in->v_int64;
+          if (arg_in->v_int64 > G_MAXSSIZE || arg_in->v_int64 < G_MINSSIZE) {
+              PyErr_Format (PyExc_TypeError,
+                            "Unable to marshal %s to gssize",
+                            g_type_tag_to_string(type_tag));
+              return FALSE;
+          }
+          *gssize_out = (gssize)arg_in->v_int64;
           return TRUE;
       case GI_TYPE_TAG_UINT64:
-          *gssize_out = arg_in->v_uint64;
+          if (arg_in->v_uint64 > G_MAXSSIZE) {
+              PyErr_Format (PyExc_TypeError,
+                            "Unable to marshal %s to gssize",
+                            g_type_tag_to_string(type_tag));
+              return FALSE;
+          }
+          *gssize_out = (gssize)arg_in->v_uint64;
           return TRUE;
       default:
           PyErr_Format (PyExc_TypeError,
@@ -116,22 +121,22 @@ _pygi_hash_pointer_to_arg (GIArgument *arg,
 
     switch (type_tag) {
         case GI_TYPE_TAG_INT8:
-            arg->v_int8 = GPOINTER_TO_INT (arg->v_pointer);
+            arg->v_int8 = (gint8)GPOINTER_TO_INT (arg->v_pointer);
             break;
         case GI_TYPE_TAG_INT16:
-            arg->v_int16 = GPOINTER_TO_INT (arg->v_pointer);
+            arg->v_int16 = (gint16)GPOINTER_TO_INT (arg->v_pointer);
             break;
         case GI_TYPE_TAG_INT32:
-            arg->v_int32 = GPOINTER_TO_INT (arg->v_pointer);
+            arg->v_int32 = (gint32)GPOINTER_TO_INT (arg->v_pointer);
             break;
         case GI_TYPE_TAG_UINT8:
-            arg->v_uint8 = GPOINTER_TO_UINT (arg->v_pointer);
+            arg->v_uint8 = (guint8)GPOINTER_TO_UINT (arg->v_pointer);
             break;
         case GI_TYPE_TAG_UINT16:
-            arg->v_uint16 = GPOINTER_TO_UINT (arg->v_pointer);
+            arg->v_uint16 = (guint16)GPOINTER_TO_UINT (arg->v_pointer);
             break;
         case GI_TYPE_TAG_UINT32:
-            arg->v_uint32 = GPOINTER_TO_UINT (arg->v_pointer);
+            arg->v_uint32 = (guint32)GPOINTER_TO_UINT (arg->v_pointer);
             break;
         case GI_TYPE_TAG_GTYPE:
             arg->v_size = GPOINTER_TO_SIZE (arg->v_pointer);
@@ -139,7 +144,6 @@ _pygi_hash_pointer_to_arg (GIArgument *arg,
         case GI_TYPE_TAG_UTF8:
         case GI_TYPE_TAG_FILENAME:
         case GI_TYPE_TAG_INTERFACE:
-        case GI_TYPE_TAG_ARRAY:
             break;
         default:
             g_critical ("Unsupported type %s", g_type_tag_to_string(type_tag));
@@ -170,7 +174,6 @@ _pygi_arg_to_hash_pointer (const GIArgument *arg,
         case GI_TYPE_TAG_UTF8:
         case GI_TYPE_TAG_FILENAME:
         case GI_TYPE_TAG_INTERFACE:
-        case GI_TYPE_TAG_ARRAY:
             return arg->v_pointer;
         default:
             g_critical ("Unsupported type %s", g_type_tag_to_string(type_tag));
@@ -201,7 +204,7 @@ _pygi_argument_array_length_marshal (gsize length_arg_index,
     GValue *values = (GValue *)user_data1;
     GICallableInfo *callable_info = (GICallableInfo *)user_data2;
 
-    g_callable_info_load_arg (callable_info, length_arg_index, &length_arg_info);
+    g_callable_info_load_arg (callable_info, (gint)length_arg_index, &length_arg_info);
     g_arg_info_load_type (&length_arg_info, &length_type_info);
 
     length_arg = _pygi_argument_from_g_value (&(values[length_arg_index]),
@@ -274,7 +277,7 @@ _pygi_argument_to_array (GIArgument  *arg,
                     if (G_UNLIKELY (array_length_policy == NULL)) {
                         g_critical ("Unable to determine array length for %p",
                                     arg->v_pointer);
-                        g_array = g_array_new (is_zero_terminated, FALSE, item_size);
+                        g_array = g_array_new (is_zero_terminated, FALSE, (guint)item_size);
                         *out_free_array = TRUE;
                         return g_array;
                     }
@@ -291,11 +294,11 @@ _pygi_argument_to_array (GIArgument  *arg,
 
             g_assert (length >= 0);
 
-            g_array = g_array_new (is_zero_terminated, FALSE, item_size);
+            g_array = g_array_new (is_zero_terminated, FALSE, (guint)item_size);
 
             g_free (g_array->data);
             g_array->data = arg->v_pointer;
-            g_array->len = length;
+            g_array->len = (guint)length;
             *out_free_array = TRUE;
             break;
         case GI_ARRAY_TYPE_ARRAY:
@@ -337,22 +340,16 @@ _pygi_argument_from_object (PyObject   *object,
     memset(&arg, 0, sizeof(GIArgument));
     type_tag = g_type_info_get_tag (type_info);
 
-    /* Ignores cleanup data for now. */
-    if (_pygi_marshal_from_py_basic_type (object, &arg, type_tag, transfer, &cleanup_data) ||
-            PyErr_Occurred()) {
-        return arg;
-    }
-
     switch (type_tag) {
         case GI_TYPE_TAG_ARRAY:
         {
-            Py_ssize_t length;
+            Py_ssize_t py_length;
+            guint length, i;
             gboolean is_zero_terminated;
             GITypeInfo *item_type_info;
             gsize item_size;
             GArray *array;
             GITransfer item_transfer;
-            Py_ssize_t i;
 
             if (object == Py_None) {
                 arg.v_pointer = NULL;
@@ -369,10 +366,12 @@ _pygi_argument_from_object (PyObject   *object,
                 break;
             }
 
-            length = PySequence_Length (object);
-            if (length < 0) {
+            py_length = PySequence_Length (object);
+            if (py_length < 0)
+                break;
+
+            if (!pygi_guint_from_pyssize (py_length, &length))
                 break;
-            }
 
             is_zero_terminated = g_type_info_is_zero_terminated (type_info);
             item_type_info = g_type_info_get_param_type (type_info, 0);
@@ -383,7 +382,7 @@ _pygi_argument_from_object (PyObject   *object,
             else
                item_size = sizeof (GIArgument);
 
-            array = g_array_sized_new (is_zero_terminated, FALSE, item_size, length);
+            array = g_array_sized_new (is_zero_terminated, FALSE, (guint)item_size, length);
             if (array == NULL) {
                 g_base_info_unref ( (GIBaseInfo *) item_type_info);
                 PyErr_NoMemory();
@@ -427,7 +426,7 @@ array_item_error:
                                          GI_TRANSFER_NOTHING, GI_DIRECTION_IN);
                 array = NULL;
 
-                _PyGI_ERROR_PREFIX ("Item %zd: ", i);
+                _PyGI_ERROR_PREFIX ("Item %u: ", i);
                 break;
             }
 
@@ -460,7 +459,7 @@ array_success:
                                           (g_struct_info_is_foreign ((GIStructInfo *) info));
 
                     g_type = g_registered_type_info_get_g_type ( (GIRegisteredTypeInfo *) info);
-                    py_type = _pygi_type_import_by_gi_info ( (GIBaseInfo *) info);
+                    py_type = pygi_type_import_by_gi_info ( (GIBaseInfo *) info);
 
                     /* Note for G_TYPE_VALUE g_type:
                      * This will currently leak the GValue that is allocated and
@@ -486,16 +485,8 @@ array_success:
                 case GI_INFO_TYPE_ENUM:
                 case GI_INFO_TYPE_FLAGS:
                 {
-                    PyObject *int_;
-
-                    int_ = PYGLIB_PyNumber_Long (object);
-                    if (int_ == NULL) {
+                    if (!pygi_gint_from_py (object, &arg.v_int))
                         break;
-                    }
-
-                    arg.v_int = PYGLIB_PyLong_AsLong (int_);
-
-                    Py_DECREF (int_);
 
                     break;
                 }
@@ -687,7 +678,9 @@ hash_table_release:
             /* TODO */
             break;
         default:
-            g_assert_not_reached ();
+            /* Ignores cleanup data for now. */
+            pygi_marshal_from_py_basic_type (object, &arg, type_tag, transfer, &cleanup_data);
+            break;
     }
 
     return arg;
@@ -714,9 +707,6 @@ _pygi_argument_to_object (GIArgument  *arg,
     PyObject *object = NULL;
 
     type_tag = g_type_info_get_tag (type_info);
-    object = _pygi_marshal_to_py_basic_type (arg, type_tag, transfer);
-    if (object)
-        return object;
 
     switch (type_tag) {
         case GI_TYPE_TAG_VOID:
@@ -809,9 +799,9 @@ _pygi_argument_to_object (GIArgument  *arg,
 
                     /* Special case variant and none to force loading from py module. */
                     if (g_type == G_TYPE_VARIANT || g_type == G_TYPE_NONE) {
-                        py_type = _pygi_type_import_by_gi_info (info);
+                        py_type = pygi_type_import_by_gi_info (info);
                     } else {
-                        py_type = _pygi_type_get_from_g_type (g_type);
+                        py_type = pygi_type_get_from_g_type (g_type);
                     }
 
                     object = pygi_arg_struct_to_py_marshal (arg,
@@ -834,14 +824,14 @@ _pygi_argument_to_object (GIArgument  *arg,
 
                     if (type == G_TYPE_NONE) {
                         /* An enum with a GType of None is an enum without GType */
-                        PyObject *py_type = _pygi_type_import_by_gi_info (info);
+                        PyObject *py_type = pygi_type_import_by_gi_info (info);
                         PyObject *py_args = NULL;
 
                         if (!py_type)
                             return NULL;
 
                         py_args = PyTuple_New (1);
-                        if (PyTuple_SetItem (py_args, 0, PyLong_FromLong (arg->v_int)) != 0) {
+                        if (PyTuple_SetItem (py_args, 0, pygi_gint_to_py (arg->v_int)) != 0) {
                             Py_DECREF (py_args);
                             Py_DECREF (py_type);
                             return NULL;
@@ -1003,7 +993,7 @@ _pygi_argument_to_object (GIArgument  *arg,
         }
         default:
         {
-            g_assert_not_reached();
+            object = pygi_marshal_to_py_basic_type (arg, type_tag, transfer);
         }
     }
 
@@ -1070,9 +1060,9 @@ _pygi_argument_release (GIArgument   *arg,
 
                 /* Free the items */
                 for (i = 0; i < array->len; i++) {
-                    GIArgument *item;
-                    item = &_g_array_index (array, GIArgument, i);
-                    _pygi_argument_release (item, item_type_info, item_transfer, direction);
+                    GIArgument item;
+                    memcpy (&item, array->data + (g_array_get_element_size (array) * i), sizeof (GIArgument));
+                    _pygi_argument_release (&item, item_type_info, item_transfer, direction);
                 }
 
                 g_base_info_unref ( (GIBaseInfo *) item_type_info);
index 292515a..a0634dc 100644 (file)
@@ -20,8 +20,8 @@
 
 #include <Python.h>
 #include <glib.h>
-#include <pyglib-python-compat.h>
 
+#include "pygi-python-compat.h"
 #include "pygi-array.h"
 #include "pygi-info.h"
 #include "pygi-marshal-cleanup.h"
@@ -47,7 +47,7 @@ gi_argument_from_py_ssize_t (GIArgument   *arg_out,
 
     case GI_TYPE_TAG_INT8:
         if (size_in >= G_MININT8 && size_in <= G_MAXINT8) {
-            arg_out->v_int8 = size_in;
+            arg_out->v_int8 = (gint8)size_in;
             return TRUE;
         } else {
             goto overflow;
@@ -55,7 +55,7 @@ gi_argument_from_py_ssize_t (GIArgument   *arg_out,
 
     case GI_TYPE_TAG_UINT8:
         if (size_in >= 0 && size_in <= G_MAXUINT8) {
-            arg_out->v_uint8 = size_in;
+            arg_out->v_uint8 = (guint8)size_in;
             return TRUE;
         } else {
             goto overflow;
@@ -63,7 +63,7 @@ gi_argument_from_py_ssize_t (GIArgument   *arg_out,
 
     case GI_TYPE_TAG_INT16:
         if (size_in >= G_MININT16 && size_in <= G_MAXINT16) {
-            arg_out->v_int16 = size_in;
+            arg_out->v_int16 = (gint16)size_in;
             return TRUE;
         } else {
             goto overflow;
@@ -71,7 +71,7 @@ gi_argument_from_py_ssize_t (GIArgument   *arg_out,
 
     case GI_TYPE_TAG_UINT16:
         if (size_in >= 0 && size_in <= G_MAXUINT16) {
-            arg_out->v_uint16 = size_in;
+            arg_out->v_uint16 = (guint16)size_in;
             return TRUE;
         } else {
             goto overflow;
@@ -80,7 +80,7 @@ gi_argument_from_py_ssize_t (GIArgument   *arg_out,
         /* Ranges assume two's complement */
     case GI_TYPE_TAG_INT32:
         if (size_in >= G_MININT32 && size_in <= G_MAXINT32) {
-            arg_out->v_int32 = size_in;
+            arg_out->v_int32 = (gint32)size_in;
             return TRUE;
         } else {
             goto overflow;
@@ -88,7 +88,7 @@ gi_argument_from_py_ssize_t (GIArgument   *arg_out,
 
     case GI_TYPE_TAG_UINT32:
         if (size_in >= 0 && (gsize)size_in <= G_MAXUINT32) {
-            arg_out->v_uint32 = size_in;
+            arg_out->v_uint32 = (guint32)size_in;
             return TRUE;
         } else {
             goto overflow;
@@ -162,10 +162,22 @@ gi_argument_to_gsize (GIArgument *arg_in,
           *gsize_out = arg_in->v_uint32;
           return TRUE;
       case GI_TYPE_TAG_INT64:
-          *gsize_out = arg_in->v_int64;
+          if (arg_in->v_uint64 > G_MAXSIZE) {
+              PyErr_Format (PyExc_TypeError,
+                            "Unable to marshal %s to gsize",
+                            g_type_tag_to_string (type_tag));
+              return FALSE;
+          }
+          *gsize_out = (gsize)arg_in->v_int64;
           return TRUE;
       case GI_TYPE_TAG_UINT64:
-          *gsize_out = arg_in->v_uint64;
+          if (arg_in->v_uint64 > G_MAXSIZE) {
+              PyErr_Format (PyExc_TypeError,
+                            "Unable to marshal %s to gsize",
+                            g_type_tag_to_string (type_tag));
+              return FALSE;
+          }
+          *gsize_out = (gsize)arg_in->v_uint64;
           return TRUE;
       default:
           PyErr_Format (PyExc_TypeError,
@@ -184,10 +196,11 @@ _pygi_marshal_from_py_array (PyGIInvokeState   *state,
                              gpointer          *cleanup_data)
 {
     PyGIMarshalFromPyFunc from_py_marshaller;
-    int i = 0;
+    guint i = 0;
     gsize success_count = 0;
-    Py_ssize_t length;
-    gssize item_size;
+    Py_ssize_t py_length;
+    guint length;
+    guint item_size;
     gboolean is_ptr_array;
     GArray *array_ = NULL;
     PyGISequenceCache *sequence_cache = (PyGISequenceCache *)arg_cache;
@@ -206,19 +219,22 @@ _pygi_marshal_from_py_array (PyGIInvokeState   *state,
         return FALSE;
     }
 
-    length = PySequence_Length (py_arg);
-    if (length < 0)
+    py_length = PySequence_Length (py_arg);
+    if (py_length < 0)
+        return FALSE;
+
+    if (!pygi_guint_from_pyssize (py_length, &length))
         return FALSE;
 
     if (array_cache->fixed_size >= 0 &&
-            array_cache->fixed_size != length) {
-        PyErr_Format (PyExc_ValueError, "Must contain %zd items, not %zd",
+            (guint)array_cache->fixed_size != length) {
+        PyErr_Format (PyExc_ValueError, "Must contain %zd items, not %u",
                       array_cache->fixed_size, length);
 
         return FALSE;
     }
 
-    item_size = array_cache->item_size;
+    item_size = (guint)array_cache->item_size;
     is_ptr_array = (array_cache->array_type == GI_ARRAY_TYPE_PTR_ARRAY);
     if (is_ptr_array) {
         array_ = (GArray *)g_ptr_array_sized_new (length);
@@ -318,7 +334,7 @@ _pygi_marshal_from_py_array (PyGIInvokeState   *state,
 
                     if (g_type_is_a (item_iface_cache->g_type, G_TYPE_VALUE)) {
                         /* Special case GValue flat arrays to properly init and copy the contents. */
-                        GValue* dest = (GValue*) (array_->data + (i * item_size));
+                        GValue* dest = (GValue*)(void*)(array_->data + (i * item_size));
                         if (item.v_pointer != NULL) {
                             memset (dest, 0, item_size);
                             g_value_init (dest, G_VALUE_TYPE ((GValue*) item.v_pointer));
@@ -350,42 +366,43 @@ _pygi_marshal_from_py_array (PyGIInvokeState   *state,
         }
 
         success_count++;
-        continue;
-err:
-        if (sequence_cache->item_cache->from_py_cleanup != NULL) {
-            gsize j;
-            PyGIMarshalCleanupFunc cleanup_func =
-                sequence_cache->item_cache->from_py_cleanup;
+    }
+    goto array_success;
 
-            /* Only attempt per item cleanup on pointer items */
-            if (sequence_cache->item_cache->is_pointer) {
-                for(j = 0; j < success_count; j++) {
-                    PyObject *py_seq_item = PySequence_GetItem (py_arg, j);
-                    cleanup_func (state,
-                                  sequence_cache->item_cache,
-                                  py_seq_item,
-                                  is_ptr_array ?
-                                          g_ptr_array_index ((GPtrArray *)array_, j) :
-                                          g_array_index (array_, gpointer, j),
-                                  TRUE);
-                    Py_DECREF (py_seq_item);
-                }
+err:
+    if (sequence_cache->item_cache->from_py_cleanup != NULL) {
+        gsize j;
+        PyGIMarshalCleanupFunc cleanup_func =
+            sequence_cache->item_cache->from_py_cleanup;
+
+        /* Only attempt per item cleanup on pointer items */
+        if (sequence_cache->item_cache->is_pointer) {
+            for(j = 0; j < success_count; j++) {
+                PyObject *py_seq_item = PySequence_GetItem (py_arg, j);
+                cleanup_func (state,
+                              sequence_cache->item_cache,
+                              py_seq_item,
+                              is_ptr_array ?
+                                      g_ptr_array_index ((GPtrArray *)array_, j) :
+                                      g_array_index (array_, gpointer, j),
+                              TRUE);
+                Py_DECREF (py_seq_item);
             }
         }
-
-        if (is_ptr_array)
-            g_ptr_array_free ( ( GPtrArray *)array_, TRUE);
-        else
-            g_array_free (array_, TRUE);
-        _PyGI_ERROR_PREFIX ("Item %i: ", i);
-        return FALSE;
     }
 
+    if (is_ptr_array)
+        g_ptr_array_free ( ( GPtrArray *)array_, TRUE);
+    else
+        g_array_free (array_, TRUE);
+    _PyGI_ERROR_PREFIX ("Item %u: ", i);
+    return FALSE;
+
 array_success:
     if (array_cache->len_arg_index >= 0) {
         /* we have an child arg to handle */
         PyGIArgCache *child_cache =
-            _pygi_callable_cache_get_arg (callable_cache, array_cache->len_arg_index);
+            _pygi_callable_cache_get_arg (callable_cache, (guint)array_cache->len_arg_index);
 
         if (!gi_argument_from_py_ssize_t (&state->args[child_cache->c_arg_index].arg_value,
                                           length,
@@ -450,10 +467,13 @@ _pygi_marshal_cleanup_from_py_array (PyGIInvokeState *state,
         /* clean up items first */
         if (sequence_cache->item_cache->from_py_cleanup != NULL) {
             gsize i;
-            guint len = (array_ != NULL) ? array_->len : ptr_array_->len;
+            guint len;
             PyGIMarshalCleanupFunc cleanup_func =
                 sequence_cache->item_cache->from_py_cleanup;
 
+            g_assert (array_ || ptr_array_);
+            len = (array_ != NULL) ? array_->len : ptr_array_->len;
+
             for (i = 0; i < len; i++) {
                 gpointer item;
                 PyObject *py_item = NULL;
@@ -512,7 +532,7 @@ _pygi_marshal_to_py_array (PyGIInvokeState   *state,
     PyObject *py_obj = NULL;
     PyGISequenceCache *seq_cache = (PyGISequenceCache *)arg_cache;
     PyGIArgGArray *array_cache = (PyGIArgGArray *)arg_cache;
-    gsize processed_items = 0;
+    guint processed_items = 0;
 
      /* GArrays make it easier to iterate over arrays
       * with different element sizes but requires that
@@ -534,7 +554,7 @@ _pygi_marshal_to_py_array (PyGIInvokeState   *state,
         } else {
             GIArgument *len_arg = &state->args[array_cache->len_arg_index].arg_value;
             PyGIArgCache *sub_cache = _pygi_callable_cache_get_arg (callable_cache,
-                                                                    array_cache->len_arg_index);
+                                                                    (guint)array_cache->len_arg_index);
 
             if (!gi_argument_to_gsize (len_arg, &len, sub_cache->type_tag)) {
                 return NULL;
@@ -543,7 +563,7 @@ _pygi_marshal_to_py_array (PyGIInvokeState   *state,
 
         array_ = g_array_new (FALSE,
                               FALSE,
-                              array_cache->item_size);
+                              (guint)array_cache->item_size);
         if (array_ == NULL) {
             PyErr_NoMemory ();
 
@@ -556,7 +576,7 @@ _pygi_marshal_to_py_array (PyGIInvokeState   *state,
         if (array_->data != NULL)
             g_free (array_->data);
         array_->data = arg->v_pointer;
-        array_->len = len;
+        array_->len = (guint)len;
     } else {
         array_ = arg->v_pointer;
     }
@@ -706,14 +726,14 @@ _wrap_c_array (PyGIInvokeState   *state,
 
     array_ = g_array_new (FALSE,
                           FALSE,
-                          array_cache->item_size);
+                          (guint)array_cache->item_size);
 
     if (array_ == NULL)
         return NULL;
 
     g_free (array_->data);
     array_->data = data;
-    array_->len = len;
+    array_->len = (guint)len;
 
     return array_;
 }
@@ -756,9 +776,12 @@ _pygi_marshal_cleanup_to_py_array (PyGIInvokeState *state,
     if (sequence_cache->item_cache->to_py_cleanup != NULL) {
         GPtrArray *item_cleanups = (GPtrArray *) cleanup_data;
         gsize i;
-        guint len = (array_ != NULL) ? array_->len : ptr_array_->len;
-
+        guint len;
         PyGIMarshalToPyCleanupFunc cleanup_func = sequence_cache->item_cache->to_py_cleanup;
+
+        g_assert (array_ || ptr_array_);
+        len = (array_ != NULL) ? array_->len : ptr_array_->len;
+
         for (i = 0; i < len; i++) {
             cleanup_func (state,
                           sequence_cache->item_cache,
@@ -766,9 +789,11 @@ _pygi_marshal_cleanup_to_py_array (PyGIInvokeState *state,
                           (array_ != NULL) ? g_array_index (array_, gpointer, i) : g_ptr_array_index (ptr_array_, i),
                           was_processed);
         }
-        g_ptr_array_unref (item_cleanups);
     }
 
+    if (cleanup_data)
+         g_ptr_array_unref ((GPtrArray *) cleanup_data);
+
     if (free_array) {
         if (array_ != NULL)
             g_array_free (array_, free_array_full);
@@ -810,7 +835,7 @@ pygi_arg_garray_len_arg_setup (PyGIArgCache *arg_cache,
         PyGIArgCache *child_cache = NULL;
 
         child_cache = _pygi_callable_cache_get_arg (callable_cache,
-                                                    seq_cache->len_arg_index);
+                                                    (guint)seq_cache->len_arg_index);
         if (child_cache == NULL) {
             child_cache = pygi_arg_cache_alloc ();
         } else {
@@ -840,8 +865,8 @@ pygi_arg_garray_len_arg_setup (PyGIArgCache *arg_cache,
 
         child_cache->meta_type = PYGI_META_ARG_TYPE_CHILD;
         child_cache->direction = direction;
-        child_cache->to_py_marshaller = _pygi_marshal_to_py_basic_type_cache_adapter;
-        child_cache->from_py_marshaller = _pygi_marshal_from_py_basic_type_cache_adapter;
+        child_cache->to_py_marshaller = pygi_marshal_to_py_basic_type_cache_adapter;
+        child_cache->from_py_marshaller = pygi_marshal_from_py_basic_type_cache_adapter;
         child_cache->py_arg_index = -1;
 
         /* ugly edge case code:
@@ -850,11 +875,11 @@ pygi_arg_garray_len_arg_setup (PyGIArgCache *arg_cache,
          * indexes of arguments after the index argument.
          */
         if (seq_cache->len_arg_index < arg_index && direction & PYGI_DIRECTION_FROM_PYTHON) {
-            gssize i;
+            guint i;
             (*py_arg_index) -= 1;
             callable_cache->n_py_args -= 1;
 
-            for (i = seq_cache->len_arg_index + 1;
+            for (i = (guint)seq_cache->len_arg_index + 1;
                    (gsize)i < _pygi_callable_cache_args_len (callable_cache); i++) {
                 PyGIArgCache *update_cache = _pygi_callable_cache_get_arg (callable_cache, i);
                 if (update_cache == NULL)
@@ -864,7 +889,7 @@ pygi_arg_garray_len_arg_setup (PyGIArgCache *arg_cache,
             }
         }
 
-        _pygi_callable_cache_set_arg (callable_cache, seq_cache->len_arg_index, child_cache);
+        _pygi_callable_cache_set_arg (callable_cache, (guint)seq_cache->len_arg_index, child_cache);
         return child_cache;
     }
 
index cc4899e..dad79c5 100644 (file)
  */
 
 #include <Python.h>
-#include <pyglib-python-compat.h>
-
-#include "pygtype.h"
+#include "pygi-python-compat.h"
+#include "pygi-type.h"
 #include "pygi-basictype.h"
 #include "pygi-argument.h"
+#include "pygi-util.h"
 
-#ifdef G_OS_WIN32
+#if defined(G_OS_WIN32)
+#include <float.h>
+static gboolean
+pygi_isfinite (gdouble value) {
+    return _finite (value);
+}
+#else
 #include <math.h>
-
-#ifndef NAN
-static const unsigned long __nan[2] = {0xffffffff, 0x7fffffff};
-#define NAN (*(const float *) __nan)
-#endif
-
-#ifndef INFINITY
-#define INFINITY HUGE_VAL
-#endif
-
+static gboolean
+pygi_isfinite (gdouble value) {
+    return isfinite (value);
+}
 #endif
 
-
-/*
- * From Python Marshaling
- */
-
 static gboolean
-_pygi_marshal_from_py_void (PyGIInvokeState   *state,
-                            PyGICallableCache *callable_cache,
-                            PyGIArgCache      *arg_cache,
-                            PyObject          *py_arg,
-                            GIArgument        *arg,
-                            gpointer          *cleanup_data)
+pygi_gpointer_from_py (PyObject *py_arg, gpointer *result)
 {
-    g_warn_if_fail (arg_cache->transfer == GI_TRANSFER_NOTHING);
+    void* temp;
 
     if (py_arg == Py_None) {
-        arg->v_pointer = NULL;
+        *result = NULL;
+        return TRUE;
     } else if (PYGLIB_CPointer_Check(py_arg)) {
-        arg->v_pointer = PYGLIB_CPointer_GetPointer (py_arg, NULL);
+        temp = PYGLIB_CPointer_GetPointer (py_arg, NULL);
+        if (temp == NULL)
+            return FALSE;
+        *result = temp;
+        return TRUE;
     } else if (PYGLIB_PyLong_Check(py_arg) || PyLong_Check(py_arg)) {
-        arg->v_pointer = PyLong_AsVoidPtr (py_arg);
+        temp = PyLong_AsVoidPtr (py_arg);
+        if (PyErr_Occurred ())
+            return FALSE;
+        *result = temp;
+        return TRUE;
     } else {
         PyErr_SetString(PyExc_ValueError,
                         "Pointer arguments are restricted to integers, capsules, and None. "
                         "See: https://bugzilla.gnome.org/show_bug.cgi?id=683599");
         return FALSE;
     }
-
-    *cleanup_data = arg->v_pointer;
-    return TRUE;
 }
 
 static gboolean
-check_valid_double (double x, double min, double max)
+marshal_from_py_void (PyGIInvokeState   *state,
+                      PyGICallableCache *callable_cache,
+                      PyGIArgCache      *arg_cache,
+                      PyObject          *py_arg,
+                      GIArgument        *arg,
+                      gpointer          *cleanup_data)
 {
-    char buf[100];
-
-    if ((x < min || x > max) && x != INFINITY && x != -INFINITY && x != NAN) {
-        if (PyErr_Occurred())
-            PyErr_Clear ();
+    g_warn_if_fail (arg_cache->transfer == GI_TRANSFER_NOTHING);
 
-        /* we need this as PyErr_Format() does not support float types */
-        snprintf (buf, sizeof (buf), "%g not in range %g to %g", x, min, max);
-        PyErr_SetString (PyExc_OverflowError, buf);
-        return FALSE;
+    if (pygi_gpointer_from_py (py_arg, &(arg->v_pointer))) {
+        *cleanup_data = arg->v_pointer;
+        return TRUE;
     }
-    return TRUE;
+
+    return FALSE;
 }
 
-static gboolean
-_pygi_py_arg_to_double (PyObject *py_arg, double *double_)
+PyObject *
+pygi_gsize_to_py (gsize value)
 {
-    PyObject *py_float;
+    return PYGLIB_PyLong_FromSize_t (value);
+}
+
+PyObject *
+pygi_gssize_to_py (gssize value)
+{
+    return PYGLIB_PyLong_FromSsize_t (value);
+}
 
-    if (!PyNumber_Check (py_arg)) {
+static PyObject *
+base_float_checks (PyObject *object)
+{
+    if (!PyNumber_Check (object)) {
         PyErr_Format (PyExc_TypeError, "Must be number, not %s",
-                      py_arg->ob_type->tp_name);
-        return FALSE;
+                      object->ob_type->tp_name);
+        return NULL;
     }
 
-    py_float = PyNumber_Float (py_arg);
-    if (!py_float)
-        return FALSE;
-
-    *double_ = PyFloat_AsDouble (py_float);
-    Py_DECREF (py_float);
-
-
-    return TRUE;
+    return PyNumber_Float (object);
 }
 
-static gboolean
-_pygi_marshal_from_py_float (PyObject          *py_arg,
-                             GIArgument        *arg)
+gboolean
+pygi_gdouble_from_py (PyObject *py_arg, gdouble *result)
 {
-    double double_;
+    PyObject *py_float;
+    gdouble temp;
 
-    if (!_pygi_py_arg_to_double (py_arg, &double_))
+    py_float = base_float_checks (py_arg);
+    if (py_float == NULL)
         return FALSE;
 
-    if (PyErr_Occurred () || !check_valid_double (double_, -G_MAXFLOAT, G_MAXFLOAT))
+    temp = PyFloat_AsDouble (py_float);
+    Py_DECREF (py_float);
+
+    if (PyErr_Occurred ())
         return FALSE;
 
-    arg->v_float = double_;
+    *result = temp;
+
     return TRUE;
 }
 
-static gboolean
-_pygi_marshal_from_py_double (PyObject          *py_arg,
-                              GIArgument        *arg)
+PyObject *
+pygi_gdouble_to_py (gdouble value)
 {
-    double double_;
+    return PyFloat_FromDouble (value);
+}
+
+gboolean
+pygi_gfloat_from_py (PyObject *py_arg, gfloat *result)
+{
+    gdouble double_;
+    PyObject *py_float;
 
-    if (!_pygi_py_arg_to_double (py_arg, &double_))
+    py_float = base_float_checks (py_arg);
+    if (py_float == NULL)
         return FALSE;
 
-    if (PyErr_Occurred () || !check_valid_double (double_, -G_MAXDOUBLE, G_MAXDOUBLE))
+    double_ = PyFloat_AsDouble (py_float);
+    if (PyErr_Occurred ()) {
+        Py_DECREF (py_float);
         return FALSE;
+    }
+
+    if (pygi_isfinite (double_) && (double_ < -G_MAXFLOAT || double_ > G_MAXFLOAT)) {
+        PyObject *min, *max;
+
+        min = pygi_gfloat_to_py (-G_MAXFLOAT);
+        max = pygi_gfloat_to_py (G_MAXFLOAT);
+        pygi_pyerr_format (
+            PyExc_OverflowError, "%S not in range %S to %S",
+            py_float, min, max);
+        Py_DECREF (min);
+        Py_DECREF (max);
+        Py_DECREF (py_float);
+        return FALSE;
+    }
+
+    Py_DECREF (py_float);
+    *result = (gfloat)double_;
 
-    arg->v_double = double_;
     return TRUE;
 }
 
-static gboolean
-_pygi_marshal_from_py_unichar (PyObject          *py_arg,
-                               GIArgument        *arg)
+PyObject *
+pygi_gfloat_to_py (gfloat value)
+{
+    return PyFloat_FromDouble (value);
+}
+
+gboolean
+pygi_gunichar_from_py (PyObject *py_arg, gunichar *result)
 {
     Py_ssize_t size;
     gchar *string_;
 
     if (py_arg == Py_None) {
-        arg->v_uint32 = 0;
+        *result = 0;
         return FALSE;
     }
 
@@ -188,37 +223,59 @@ _pygi_marshal_from_py_unichar (PyObject          *py_arg,
        return FALSE;
     }
 
-    arg->v_uint32 = g_utf8_get_char (string_);
+    *result = g_utf8_get_char (string_);
     g_free (string_);
 
     return TRUE;
 }
 
+static PyObject *
+pygi_gunichar_to_py (gunichar value)
+{
+    PyObject *py_obj = NULL;
+
+    /* Preserve the bidirectional mapping between 0 and "" */
+    if (value == 0) {
+        py_obj = PYGLIB_PyUnicode_FromString ("");
+    } else if (g_unichar_validate (value)) {
+        gchar utf8[6];
+        gint bytes;
+
+        bytes = g_unichar_to_utf8 (value, utf8);
+        py_obj = PYGLIB_PyUnicode_FromStringAndSize ((char*)utf8, bytes);
+    } else {
+        /* TODO: Convert the error to an exception. */
+        PyErr_Format (PyExc_TypeError,
+                      "Invalid unicode codepoint %" G_GUINT32_FORMAT,
+                      value);
+    }
+
+    return py_obj;
+}
+
 static gboolean
-_pygi_marshal_from_py_gtype (PyObject          *py_arg,
-                             GIArgument        *arg)
+pygi_gtype_from_py (PyObject *py_arg, GType *type)
 {
-    GType type_ = pyg_type_from_object (py_arg);
+    GType temp = pyg_type_from_object (py_arg);
 
-    if (type_ == 0) {
+    if (temp == 0) {
         PyErr_Format (PyExc_TypeError, "Must be gobject.GType, not %s",
                       py_arg->ob_type->tp_name);
         return FALSE;
     }
 
-    arg->v_size = type_;
+    *type = temp;
+
     return TRUE;
 }
 
-static gboolean
-_pygi_marshal_from_py_utf8 (PyObject          *py_arg,
-                            GIArgument        *arg,
-                            gpointer          *cleanup_data)
+gboolean
+pygi_utf8_from_py (PyObject *py_arg, gchar **result)
 {
     gchar *string_;
 
     if (py_arg == Py_None) {
-        arg->v_pointer = NULL;
+        *result = NULL;
         return TRUE;
     }
 
@@ -241,20 +298,18 @@ _pygi_marshal_from_py_utf8 (PyObject          *py_arg,
         return FALSE;
     }
 
-    arg->v_string = string_;
-    *cleanup_data = arg->v_string;
+    *result = string_;
     return TRUE;
 }
 
-G_GNUC_UNUSED static gboolean
-_pygi_marshal_from_py_filename_unix (PyObject          *py_arg,
-                                     GIArgument        *arg,
-                                     gpointer          *cleanup_data)
+G_GNUC_UNUSED
+static gboolean
+filename_from_py_unix (PyObject *py_arg, gchar **result)
 {
     gchar *filename;
 
     if (py_arg == Py_None) {
-        arg->v_pointer = NULL;
+        *result = NULL;
         return TRUE;
     }
 
@@ -292,20 +347,18 @@ _pygi_marshal_from_py_filename_unix (PyObject          *py_arg,
         return FALSE;
     }
 
-    arg->v_string = filename;
-    *cleanup_data = filename;
+    *result = filename;
     return TRUE;
 }
 
-G_GNUC_UNUSED static gboolean
-_pygi_marshal_from_py_filename_win32 (PyObject          *py_arg,
-                                      GIArgument        *arg,
-                                      gpointer          *cleanup_data)
+G_GNUC_UNUSED
+static gboolean
+filename_from_py_win32 (PyObject *py_arg, gchar **result)
 {
     gchar *filename;
 
     if (py_arg == Py_None) {
-        arg->v_pointer = NULL;
+        *result = NULL;
         return TRUE;
     }
 
@@ -340,7 +393,7 @@ _pygi_marshal_from_py_filename_win32 (PyObject          *py_arg,
 #else
     if (PYGLIB_PyBytes_Check (py_arg)) {
         PyObject *uni_arg;
-        gboolean result;
+        gboolean temp_result;
         char *buffer;
 
         if (PYGLIB_PyBytes_AsStringAndSize (py_arg, &buffer, NULL) == -1)
@@ -349,9 +402,9 @@ _pygi_marshal_from_py_filename_win32 (PyObject          *py_arg,
         uni_arg = PyUnicode_DecodeFSDefault (buffer);
         if (!uni_arg)
             return FALSE;
-        result = _pygi_marshal_from_py_filename_win32 (uni_arg, arg, cleanup_data);
+        temp_result = filename_from_py_win32 (uni_arg, result);
         Py_DECREF (uni_arg);
-        return result;
+        return temp_result;
     } else if (PyUnicode_Check (py_arg)) {
         PyObject *bytes, *temp_uni;
         char *buffer;
@@ -389,35 +442,29 @@ _pygi_marshal_from_py_filename_win32 (PyObject          *py_arg,
     }
 #endif
 
-    arg->v_string = filename;
-    *cleanup_data = filename;
+    *result = filename;
     return TRUE;
 }
 
 static gboolean
-_pygi_marshal_from_py_filename (PyObject          *py_arg,
-                                GIArgument        *arg,
-                                gpointer          *cleanup_data)
+pygi_filename_from_py (PyObject *py_arg, gchar **result)
 {
 #ifdef G_OS_WIN32
-    return _pygi_marshal_from_py_filename_win32 (py_arg, arg, cleanup_data);
+    return filename_from_py_win32 (py_arg, result);
 #else
-    return _pygi_marshal_from_py_filename_unix (py_arg, arg, cleanup_data);
+    return filename_from_py_unix (py_arg, result);
 #endif
 }
 
-static gboolean
-_pygi_marshal_from_py_long (PyObject   *object,   /* in */
-                            GIArgument *arg,      /* out */
-                            GITypeTag   type_tag,
-                            GITransfer  transfer)
+static PyObject *
+base_number_checks (PyObject *object)
 {
     PyObject *number;
 
     if (!PyNumber_Check (object)) {
         PyErr_Format (PyExc_TypeError, "Must be number, not %s",
                       object->ob_type->tp_name);
-        return FALSE;
+        return NULL;
     }
 
 #if PY_MAJOR_VERSION < 3
@@ -436,256 +483,639 @@ _pygi_marshal_from_py_long (PyObject   *object,   /* in */
 
     if (number == NULL) {
         PyErr_SetString (PyExc_TypeError, "expected int argument");
+        return NULL;
+    }
+
+    return number;
+}
+
+gboolean
+pygi_gboolean_from_py (PyObject *object, gboolean *result)
+{
+    int value = PyObject_IsTrue (object);
+    if (value == -1)
+        return FALSE;
+    *result = (gboolean)value;
+    return TRUE;
+}
+
+PyObject *
+pygi_gboolean_to_py (gboolean value)
+{
+    return PyBool_FromLong (value);
+}
+
+gboolean
+pygi_gint_from_py (PyObject *object, gint *result)
+{
+    long long_value;
+    PyObject *number;
+
+    number = base_number_checks (object);
+    if (number == NULL)
         return FALSE;
+
+    long_value = PYGLIB_PyLong_AsLong (number);
+    if (PyErr_Occurred ()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    } else if (long_value < G_MININT || long_value > G_MAXINT) {
+        goto overflow;
     }
 
-    switch (type_tag) {
-        case GI_TYPE_TAG_INT8:
-        {
-            long long_value = PyLong_AsLong (number);
-            if (PyErr_Occurred()) {
-                break;
-            } else if (long_value < G_MININT8 || long_value > G_MAXINT8) {
-                PyErr_Format (PyExc_OverflowError, "%ld not in range %ld to %ld",
-                              long_value, (long)G_MININT8, (long)G_MAXINT8);
-            } else {
-                arg->v_int8 = long_value;
-            }
-            break;
-        }
+    Py_DECREF (number);
+    *result = (gint)long_value;
+    return TRUE;
 
-        case GI_TYPE_TAG_UINT8:
-        {
-            long long_value = PyLong_AsLong (number);
-            if (PyErr_Occurred()) {
-                break;
-            } else if (long_value < 0 || long_value > G_MAXUINT8) {
-                PyErr_Format (PyExc_OverflowError, "%ld not in range %ld to %ld",
-                              long_value, (long)0, (long)G_MAXUINT8);
-            } else {
-                arg->v_uint8 = long_value;
-            }
-            break;
-        }
+overflow:
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %d to %d",
+        number, (int)G_MININT, (int)G_MAXINT);
+    Py_DECREF (number);
+    return FALSE;
+}
 
-        case GI_TYPE_TAG_INT16:
-        {
-            long long_value = PyLong_AsLong (number);
-            if (PyErr_Occurred()) {
-                break;
-            } else if (long_value < G_MININT16 || long_value > G_MAXINT16) {
-                PyErr_Format (PyExc_OverflowError, "%ld not in range %ld to %ld",
-                              long_value, (long)G_MININT16, (long)G_MAXINT16);
-            } else {
-                arg->v_int16 = long_value;
-            }
-            break;
-        }
+PyObject *
+pygi_gint_to_py (gint value)
+{
+    return PYGLIB_PyLong_FromLong (value);
+}
 
-        case GI_TYPE_TAG_UINT16:
-        {
-            long long_value = PyLong_AsLong (number);
-            if (PyErr_Occurred()) {
-                break;
-            } else if (long_value < 0 || long_value > G_MAXUINT16) {
-                PyErr_Format (PyExc_OverflowError, "%ld not in range %ld to %ld",
-                              long_value, (long)0, (long)G_MAXUINT16);
-            } else {
-                arg->v_uint16 = long_value;
-            }
-            break;
-        }
+gboolean
+pygi_guint_from_py (PyObject *object, guint *result)
+{
+    unsigned long long_value;
+    PyObject *number;
 
-        case GI_TYPE_TAG_INT32:
-        {
-            long long_value = PyLong_AsLong (number);
-            if (PyErr_Occurred()) {
-                break;
-            } else if (long_value < G_MININT32 || long_value > G_MAXINT32) {
-                PyErr_Format (PyExc_OverflowError, "%ld not in range %ld to %ld",
-                              long_value, (long)G_MININT32, (long)G_MAXINT32);
-            } else {
-                arg->v_int32 = long_value;
-            }
-            break;
-        }
+    number = base_number_checks (object);
+    if (number == NULL)
+        return FALSE;
 
-        case GI_TYPE_TAG_UINT32:
-        {
-            PY_LONG_LONG long_value = PyLong_AsLongLong (number);
-            if (PyErr_Occurred()) {
-                break;
-            } else if (long_value < 0 || long_value > G_MAXUINT32) {
-                PyErr_Format (PyExc_OverflowError, "%lld not in range %ld to %lu",
-                              long_value, (long)0, (unsigned long)G_MAXUINT32);
-            } else {
-                arg->v_uint32 = long_value;
-            }
-            break;
-        }
+    long_value = PyLong_AsUnsignedLong (number);
+    if (PyErr_Occurred ()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    } else if (long_value > G_MAXUINT) {
+        goto overflow;
+    }
 
-        case GI_TYPE_TAG_INT64:
-        {
-            /* Rely on Python overflow error and convert to ValueError for 64 bit values */
-            arg->v_int64 = PyLong_AsLongLong (number);
-            break;
+    Py_DECREF (number);
+    *result = (gint)long_value;
+    return TRUE;
+
+overflow:
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %ld to %lu",
+        number, (long)0, (unsigned long)G_MAXUINT);
+    Py_DECREF (number);
+    return FALSE;
+}
+
+PyObject *
+pygi_guint_to_py (guint value)
+{
+#if (G_MAXUINT <= LONG_MAX)
+    return PYGLIB_PyLong_FromLong ((long) value);
+#else
+    if (value <= LONG_MAX)
+        return PYGLIB_PyLong_FromLong ((long) value);
+    return PyLong_FromUnsignedLong (value);
+#endif
+}
+
+gboolean
+pygi_glong_from_py (PyObject *object, glong *result)
+{
+    long long_value;
+    PyObject *number;
+
+    number = base_number_checks (object);
+    if (number == NULL)
+        return FALSE;
+
+    long_value = PyLong_AsLong (number);
+    if (long_value == -1 && PyErr_Occurred ()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    }
+
+    Py_DECREF (number);
+    *result = (glong)long_value;
+    return TRUE;
+
+overflow:
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %ld to %ld",
+        number, (long)G_MINLONG, (long)G_MAXLONG);
+    Py_DECREF (number);
+    return FALSE;
+}
+
+PyObject *
+pygi_glong_to_py (glong value)
+{
+    return PYGLIB_PyLong_FromLong (value);
+}
+
+gboolean
+pygi_gulong_from_py (PyObject *object, gulong *result)
+{
+    unsigned long long_value;
+    PyObject *number;
+
+    number = base_number_checks (object);
+    if (number == NULL)
+        return FALSE;
+
+    long_value = PyLong_AsUnsignedLong (number);
+    if (PyErr_Occurred ()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    }
+
+    Py_DECREF (number);
+    *result = (gulong)long_value;
+    return TRUE;
+
+overflow:
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %ld to %lu",
+        number, (long)0, (unsigned long)G_MAXULONG);
+    Py_DECREF (number);
+    return FALSE;
+}
+
+PyObject *
+pygi_gulong_to_py (gulong value)
+{
+    if (value <= LONG_MAX)
+        return PYGLIB_PyLong_FromLong ((long) value);
+    else
+        return PyLong_FromUnsignedLong (value);
+}
+
+static gboolean
+pygi_gint8_from_py (PyObject *object, gint8 *result)
+{
+    long long_value;
+    PyObject *number;
+
+    if (PYGLIB_PyBytes_Check (object)) {
+        if (PYGLIB_PyBytes_Size (object) != 1) {
+            PyErr_Format (PyExc_TypeError, "Must be a single character");
+            return FALSE;
         }
 
-        case GI_TYPE_TAG_UINT64:
-        {
-            /* Rely on Python overflow error and convert to ValueError for 64 bit values */
-            arg->v_uint64 = PyLong_AsUnsignedLongLong (number);
-            break;
+        *result = (gint8)(PYGLIB_PyBytes_AsString (object)[0]);
+        return TRUE;
+    }
+
+    number = base_number_checks (object);
+    if (number == NULL)
+        return FALSE;
+
+    long_value = PyLong_AsLong (number);
+    if (long_value == -1 && PyErr_Occurred()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    } else if (long_value < G_MININT8 || long_value > G_MAXINT8) {
+        goto overflow;
+    }
+
+    Py_DECREF (number);
+    *result = (gint8)long_value;
+    return TRUE;
+
+overflow:
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %ld to %ld",
+        number, (long)G_MININT8, (long)G_MAXINT8);
+    Py_DECREF (number);
+    return FALSE;
+}
+
+PyObject *
+pygi_gint8_to_py (gint8 value)
+{
+    return PYGLIB_PyLong_FromLong (value);
+}
+
+static gboolean
+pygi_guint8_from_py (PyObject *object, guint8 *result)
+{
+    long long_value;
+    PyObject *number;
+
+    if (PYGLIB_PyBytes_Check (object)) {
+        if (PYGLIB_PyBytes_Size (object) != 1) {
+            PyErr_Format (PyExc_TypeError, "Must be a single character");
+            return FALSE;
         }
 
-        default:
-            g_assert_not_reached ();
+        *result = (guint8)(PYGLIB_PyBytes_AsString (object)[0]);
+        return TRUE;
+    }
+
+    number = base_number_checks (object);
+    if (number == NULL)
+        return FALSE;
+
+    long_value = PyLong_AsLong (number);
+    if (long_value == -1 && PyErr_Occurred()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    } else if (long_value < 0 || long_value > G_MAXUINT8) {
+        goto overflow;
+    }
+
+    Py_DECREF (number);
+    *result = (guint8)long_value;
+    return TRUE;
+
+overflow:
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %ld to %ld",
+        number, (long)0, (long)G_MAXUINT8);
+    Py_DECREF (number);
+    return FALSE;
+}
+
+PyObject *
+pygi_guint8_to_py (guint8 value)
+{
+    return PYGLIB_PyLong_FromLong (value);
+}
+
+static gboolean
+pygi_gint16_from_py (PyObject *object, gint16 *result)
+{
+    long long_value;
+    PyObject *number;
+
+    number = base_number_checks (object);
+    if (number == NULL)
+        return FALSE;
+
+    long_value = PyLong_AsLong (number);
+    if (long_value == -1 && PyErr_Occurred()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    } else if (long_value < G_MININT16 || long_value > G_MAXINT16) {
+        goto overflow;
+    }
+
+    Py_DECREF (number);
+    *result = (gint16)long_value;
+    return TRUE;
+
+overflow:
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %ld to %ld",
+        number, (long)G_MININT16, (long)G_MAXINT16);
+    Py_DECREF (number);
+    return FALSE;
+}
+
+static PyObject *
+pygi_gint16_to_py (gint16 value)
+{
+    return PYGLIB_PyLong_FromLong (value);
+}
+
+static gboolean
+pygi_guint16_from_py (PyObject *object, guint16 *result)
+{
+    long long_value;
+    PyObject *number;
+
+    number = base_number_checks (object);
+    if (number == NULL)
+        return FALSE;
+
+    long_value = PyLong_AsLong (number);
+    if (long_value == -1 && PyErr_Occurred()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    } else if (long_value < 0 || long_value > G_MAXUINT16) {
+        goto overflow;
+    }
+
+    Py_DECREF (number);
+    *result = (guint16)long_value;
+    return TRUE;
+
+overflow:
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %ld to %ld",
+        number, (long)0, (long)G_MAXUINT16);
+    Py_DECREF (number);
+    return FALSE;
+}
+
+static PyObject *
+pygi_guint16_to_py (guint16 value)
+{
+    return PYGLIB_PyLong_FromLong (value);
+}
+
+static gboolean
+pygi_gint32_from_py (PyObject *object, gint32 *result)
+{
+    long long_value;
+    PyObject *number;
+
+    number = base_number_checks (object);
+    if (number == NULL)
+        return FALSE;
+
+    long_value = PyLong_AsLong (number);
+    if (long_value == -1 && PyErr_Occurred()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    } else if (long_value < G_MININT32 || long_value > G_MAXINT32) {
+        goto overflow;
+    }
+
+    Py_DECREF (number);
+    *result = (gint32)long_value;
+    return TRUE;
+
+overflow:
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %ld to %ld",
+        number, (long)G_MININT32, (long)G_MAXINT32);
+    Py_DECREF (number);
+    return FALSE;
+}
+
+static PyObject *
+pygi_gint32_to_py (gint32 value)
+{
+    return PYGLIB_PyLong_FromLong (value);
+}
+
+static gboolean
+pygi_guint32_from_py (PyObject *object, guint32 *result)
+{
+    long long long_value;
+    PyObject *number;
+
+    number = base_number_checks (object);
+    if (number == NULL)
+        return FALSE;
+
+    long_value = PyLong_AsLongLong (number);
+    if (PyErr_Occurred ()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    } else if (long_value < 0 || long_value > G_MAXUINT32) {
+        goto overflow;
+    }
+
+    Py_DECREF (number);
+    *result = (guint32)long_value;
+    return TRUE;
+
+overflow:
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %ld to %lu",
+        number, (long)0, (unsigned long)G_MAXUINT32);
+    Py_DECREF (number);
+    return FALSE;
+}
+
+static PyObject *
+pygi_guint32_to_py (guint32 value)
+{
+#if (G_MAXUINT <= LONG_MAX)
+    return PYGLIB_PyLong_FromLong (value);
+#else
+    if (value <= LONG_MAX)
+        return PYGLIB_PyLong_FromLong((long) value);
+    else
+        return PyLong_FromLongLong (value);
+#endif
+}
+
+gboolean
+pygi_gint64_from_py (PyObject *object, gint64 *result)
+{
+    long long long_value;
+    PyObject *number, *min, *max;
+
+    number = base_number_checks (object);
+    if (number == NULL)
+        return FALSE;
+
+    long_value = PyLong_AsLongLong (number);
+    if (PyErr_Occurred ()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    } else if (long_value < G_MININT64 || long_value > G_MAXINT64) {
+        goto overflow;
     }
 
     Py_DECREF (number);
+    *result = (gint64)long_value;
+    return TRUE;
+
+overflow:
+    min = pygi_gint64_to_py (G_MININT64);
+    max = pygi_gint64_to_py (G_MAXINT64);
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %S to %S",
+        number, min, max);
+    Py_DECREF (number);
+    Py_DECREF (min);
+    Py_DECREF (max);
+    return FALSE;
+}
+
+PyObject *
+pygi_gint64_to_py (gint64 value)
+{
+    if (LONG_MIN <= value && value <= LONG_MAX)
+        return PYGLIB_PyLong_FromLong((long) value);
+    else
+        return PyLong_FromLongLong (value);
+}
 
-    if (PyErr_Occurred())
+gboolean
+pygi_guint64_from_py (PyObject *object, guint64 *result)
+{
+    unsigned long long long_value;
+    PyObject *number, *max;
+
+    number = base_number_checks (object);
+    if (number == NULL)
         return FALSE;
+
+    long_value = PyLong_AsUnsignedLongLong (number);
+    if (PyErr_Occurred ()) {
+        if (PyErr_ExceptionMatches (PyExc_OverflowError))
+            goto overflow;
+        Py_DECREF (number);
+        return FALSE;
+    } else if (long_value > G_MAXUINT64) {
+        goto overflow;
+    }
+
+    Py_DECREF (number);
+    *result = (guint64)long_value;
     return TRUE;
+
+overflow:
+    max = pygi_guint64_to_py (G_MAXUINT64);
+    pygi_pyerr_format (
+        PyExc_OverflowError, "%S not in range %ld to %S",
+        number, (long)0, max);
+    Py_DECREF (number);
+    Py_DECREF (max);
+    return FALSE;
+}
+
+PyObject *
+pygi_guint64_to_py (guint64 value)
+{
+    if (value <= LONG_MAX)
+        return PYGLIB_PyLong_FromLong((long) value);
+    else
+        return PyLong_FromUnsignedLongLong (value);
 }
 
 gboolean
-_pygi_marshal_from_py_basic_type (PyObject   *object,   /* in */
-                                  GIArgument *arg,      /* out */
-                                  GITypeTag   type_tag,
-                                  GITransfer  transfer,
-                                  gpointer   *cleanup_data /* out */)
+pygi_marshal_from_py_basic_type (PyObject   *object,   /* in */
+                                 GIArgument *arg,      /* out */
+                                 GITypeTag   type_tag,
+                                 GITransfer  transfer,
+                                 gpointer   *cleanup_data /* out */)
 {
     switch (type_tag) {
         case GI_TYPE_TAG_VOID:
             g_warn_if_fail (transfer == GI_TRANSFER_NOTHING);
-            if (object == Py_None) {
-                arg->v_pointer = NULL;
-            } else if (!PYGLIB_PyLong_Check(object)  && !PyLong_Check(object)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "Pointer assignment is restricted to integer values. "
-                    "See: https://bugzilla.gnome.org/show_bug.cgi?id=683599");
-            } else {
-                arg->v_pointer = PyLong_AsVoidPtr (object);
+            if (pygi_gpointer_from_py (object, &(arg->v_pointer))) {
                 *cleanup_data = arg->v_pointer;
+                return TRUE;
             }
-            break;
+            return FALSE;
+
         case GI_TYPE_TAG_INT8:
+            return pygi_gint8_from_py (object, &(arg->v_int8));
+
         case GI_TYPE_TAG_UINT8:
-            if (PYGLIB_PyBytes_Check (object)) {
-                if (PYGLIB_PyBytes_Size (object) != 1) {
-                    PyErr_Format (PyExc_TypeError, "Must be a single character");
-                    return FALSE;
-                }
-                if (type_tag == GI_TYPE_TAG_INT8) {
-                    arg->v_int8 = (gint8)(PYGLIB_PyBytes_AsString (object)[0]);
-                } else {
-                    arg->v_uint8 = (guint8)(PYGLIB_PyBytes_AsString (object)[0]);
-                }
-            } else {
-                return _pygi_marshal_from_py_long (object, arg, type_tag, transfer);
-            }
-            break;
+            return pygi_guint8_from_py (object, &(arg->v_uint8));
+
         case GI_TYPE_TAG_INT16:
+            return pygi_gint16_from_py (object, &(arg->v_int16));
+
         case GI_TYPE_TAG_UINT16:
+            return pygi_guint16_from_py (object, &(arg->v_uint16));
+
         case GI_TYPE_TAG_INT32:
+            return pygi_gint32_from_py (object, &(arg->v_int32));
+
         case GI_TYPE_TAG_UINT32:
+            return pygi_guint32_from_py (object, &(arg->v_uint32));
+
         case GI_TYPE_TAG_INT64:
+            return pygi_gint64_from_py (object, &(arg->v_int64));
+
         case GI_TYPE_TAG_UINT64:
-            return _pygi_marshal_from_py_long (object, arg, type_tag, transfer);
+            return pygi_guint64_from_py (object, &(arg->v_uint64));
 
         case GI_TYPE_TAG_BOOLEAN:
-            arg->v_boolean = PyObject_IsTrue (object);
-            break;
+            return pygi_gboolean_from_py (object, &(arg->v_boolean));
 
         case GI_TYPE_TAG_FLOAT:
-            return _pygi_marshal_from_py_float (object, arg);
+            return pygi_gfloat_from_py (object, &(arg->v_float));
 
         case GI_TYPE_TAG_DOUBLE:
-            return _pygi_marshal_from_py_double (object, arg);
+            return pygi_gdouble_from_py (object, &(arg->v_double));
 
         case GI_TYPE_TAG_GTYPE:
-            return _pygi_marshal_from_py_gtype (object, arg);
+            return pygi_gtype_from_py (object, &(arg->v_size));
 
         case GI_TYPE_TAG_UNICHAR:
-            return _pygi_marshal_from_py_unichar (object, arg);
+            return pygi_gunichar_from_py (object, &(arg->v_uint32));
 
         case GI_TYPE_TAG_UTF8:
-            return _pygi_marshal_from_py_utf8 (object, arg, cleanup_data);
+            if (pygi_utf8_from_py (object, &(arg->v_string))) {
+                *cleanup_data = arg->v_string;
+                return TRUE;
+            }
+            return FALSE;
 
         case GI_TYPE_TAG_FILENAME:
-            return _pygi_marshal_from_py_filename (object, arg, cleanup_data);
+            if (pygi_filename_from_py (object, &(arg->v_string))) {
+                *cleanup_data = arg->v_string;
+                return TRUE;
+            }
+            return FALSE;
 
         default:
+            PyErr_Format (PyExc_TypeError, "Type tag %d not supported",
+                          type_tag);
             return FALSE;
     }
 
-    if (PyErr_Occurred())
-        return FALSE;
-
     return TRUE;
 }
 
 gboolean
-_pygi_marshal_from_py_basic_type_cache_adapter (PyGIInvokeState   *state,
-                                                PyGICallableCache *callable_cache,
-                                                PyGIArgCache      *arg_cache,
-                                                PyObject          *py_arg,
-                                                GIArgument        *arg,
-                                                gpointer          *cleanup_data)
+pygi_marshal_from_py_basic_type_cache_adapter (PyGIInvokeState   *state,
+                                               PyGICallableCache *callable_cache,
+                                               PyGIArgCache      *arg_cache,
+                                               PyObject          *py_arg,
+                                               GIArgument        *arg,
+                                               gpointer          *cleanup_data)
 {
-    return _pygi_marshal_from_py_basic_type (py_arg,
-                                             arg,
-                                             arg_cache->type_tag,
-                                             arg_cache->transfer,
-                                             cleanup_data);
+    return pygi_marshal_from_py_basic_type (py_arg,
+                                            arg,
+                                            arg_cache->type_tag,
+                                            arg_cache->transfer,
+                                            cleanup_data);
 }
 
 static void
-_pygi_marshal_cleanup_from_py_utf8 (PyGIInvokeState *state,
-                                    PyGIArgCache    *arg_cache,
-                                    PyObject        *py_arg,
-                                    gpointer         data,
-                                    gboolean         was_processed)
+marshal_cleanup_from_py_utf8 (PyGIInvokeState *state,
+                              PyGIArgCache    *arg_cache,
+                              PyObject        *py_arg,
+                              gpointer         data,
+                              gboolean         was_processed)
 {
     /* We strdup strings so free unless ownership is transferred to C. */
     if (was_processed && arg_cache->transfer == GI_TRANSFER_NOTHING)
         g_free (data);
 }
 
-static void
-_arg_cache_from_py_void_setup (PyGIArgCache *arg_cache)
-{
-    arg_cache->from_py_marshaller = _pygi_marshal_from_py_void;
-}
-
-
-static void
-_arg_cache_from_py_basic_type_setup (PyGIArgCache *arg_cache)
-{
-    arg_cache->from_py_marshaller = _pygi_marshal_from_py_basic_type_cache_adapter;
-}
-
-static void
-_arg_cache_from_py_utf8_setup (PyGIArgCache *arg_cache,
-                               GITransfer transfer)
-{
-    arg_cache->from_py_marshaller = _pygi_marshal_from_py_basic_type_cache_adapter;
-    arg_cache->from_py_cleanup = _pygi_marshal_cleanup_from_py_utf8;
-}
-
-
-/*
- * To Python Marshaling
- */
-
-
 static PyObject *
-_pygi_marshal_to_py_void (PyGIInvokeState   *state,
-                          PyGICallableCache *callable_cache,
-                          PyGIArgCache      *arg_cache,
-                          GIArgument        *arg,
-                          gpointer          *cleanup_data)
+marshal_to_py_void (PyGIInvokeState   *state,
+                    PyGICallableCache *callable_cache,
+                    PyGIArgCache      *arg_cache,
+                    GIArgument        *arg,
+                    gpointer          *cleanup_data)
 {
     if (arg_cache->is_pointer) {
         return PyLong_FromVoidPtr (arg->v_pointer);
@@ -693,69 +1123,42 @@ _pygi_marshal_to_py_void (PyGIInvokeState   *state,
     Py_RETURN_NONE;
 }
 
-static PyObject *
-_pygi_marshal_to_py_unichar (GIArgument *arg)
-{
-    PyObject *py_obj = NULL;
-
-    /* Preserve the bidirectional mapping between 0 and "" */
-    if (arg->v_uint32 == 0) {
-        py_obj = PYGLIB_PyUnicode_FromString ("");
-    } else if (g_unichar_validate (arg->v_uint32)) {
-        gchar utf8[6];
-        gint bytes;
-
-        bytes = g_unichar_to_utf8 (arg->v_uint32, utf8);
-        py_obj = PYGLIB_PyUnicode_FromStringAndSize ((char*)utf8, bytes);
-    } else {
-        /* TODO: Convert the error to an exception. */
-        PyErr_Format (PyExc_TypeError,
-                      "Invalid unicode codepoint %" G_GUINT32_FORMAT,
-                      arg->v_uint32);
-    }
-
-    return py_obj;
-}
-
-static PyObject *
-_pygi_marshal_to_py_utf8 (GIArgument *arg)
+PyObject *
+pygi_utf8_to_py (gchar *value)
 {
-    PyObject *py_obj = NULL;
-    if (arg->v_string == NULL) {
+    if (value == NULL) {
         Py_RETURN_NONE;
      }
 
-    py_obj = PYGLIB_PyUnicode_FromString (arg->v_string);
-    return py_obj;
+    return PYGLIB_PyUnicode_FromString (value);
 }
 
-static PyObject *
-_pygi_marshal_to_py_filename (GIArgument *arg)
+PyObject *
+pygi_filename_to_py (gchar *value)
 {
     PyObject *py_obj;
 
-    if (arg->v_string == NULL) {
+    if (value == NULL) {
         Py_RETURN_NONE;
     }
 
 #if PY_VERSION_HEX < 0x03000000
     /* On PY2 we return str as is */
-    py_obj = PyString_FromString (arg->v_string);
+    py_obj = PyString_FromString (value);
 #else
 #ifdef G_OS_WIN32
-    py_obj = PyUnicode_DecodeUTF8 (arg->v_string, strlen(arg->v_string),
+    py_obj = PyUnicode_DecodeUTF8 (value, strlen(value),
                                    "surrogatepass");
 #else
-    py_obj = PyUnicode_DecodeFSDefault (arg->v_string);
+    py_obj = PyUnicode_DecodeFSDefault (value);
 #endif
 #endif
 
     return py_obj;
 }
 
-
 /**
- * _pygi_marshal_to_py_basic_type:
+ * pygi_marshal_to_py_basic_type:
  * @arg: The argument to convert to an object.
  * @type_tag: Type tag for @arg
  * @transfer: Transfer annotation
@@ -769,80 +1172,81 @@ _pygi_marshal_to_py_filename (GIArgument *arg)
  *          the argument.
  */
 PyObject *
-_pygi_marshal_to_py_basic_type (GIArgument  *arg,
-                                GITypeTag type_tag,
-                                GITransfer transfer)
+pygi_marshal_to_py_basic_type (GIArgument  *arg,
+                               GITypeTag type_tag,
+                               GITransfer transfer)
 {
     switch (type_tag) {
         case GI_TYPE_TAG_BOOLEAN:
-            return PyBool_FromLong (arg->v_boolean);
+            return pygi_gboolean_to_py (arg->v_boolean);
 
         case GI_TYPE_TAG_INT8:
-            return PYGLIB_PyLong_FromLong (arg->v_int8);
+            return pygi_gint8_to_py (arg->v_int8);
 
         case GI_TYPE_TAG_UINT8:
-            return PYGLIB_PyLong_FromLong (arg->v_uint8);
+            return pygi_guint8_to_py (arg->v_uint8);
 
         case GI_TYPE_TAG_INT16:
-            return PYGLIB_PyLong_FromLong (arg->v_int16);
+            return pygi_gint16_to_py (arg->v_int16);
 
         case GI_TYPE_TAG_UINT16:
-            return PYGLIB_PyLong_FromLong (arg->v_uint16);
+            return pygi_guint16_to_py (arg->v_uint16);
 
         case GI_TYPE_TAG_INT32:
-            return PYGLIB_PyLong_FromLong (arg->v_int32);
+            return pygi_gint32_to_py (arg->v_int32);
 
         case GI_TYPE_TAG_UINT32:
-            return PyLong_FromLongLong (arg->v_uint32);
+            return pygi_guint32_to_py (arg->v_uint32);
 
         case GI_TYPE_TAG_INT64:
-            return PyLong_FromLongLong (arg->v_int64);
+            return pygi_gint64_to_py (arg->v_int64);
 
         case GI_TYPE_TAG_UINT64:
-            return PyLong_FromUnsignedLongLong (arg->v_uint64);
+            return pygi_guint64_to_py (arg->v_uint64);
 
         case GI_TYPE_TAG_FLOAT:
-            return PyFloat_FromDouble (arg->v_float);
+            return pygi_gfloat_to_py (arg->v_float);
 
         case GI_TYPE_TAG_DOUBLE:
-            return PyFloat_FromDouble (arg->v_double);
+            return pygi_gdouble_to_py (arg->v_double);
 
         case GI_TYPE_TAG_GTYPE:
             return pyg_type_wrapper_new ( (GType) arg->v_size);
 
         case GI_TYPE_TAG_UNICHAR:
-            return _pygi_marshal_to_py_unichar (arg);
+            return pygi_gunichar_to_py (arg->v_uint32);
 
         case GI_TYPE_TAG_UTF8:
-            return _pygi_marshal_to_py_utf8 (arg);
+            return pygi_utf8_to_py (arg->v_string);
 
         case GI_TYPE_TAG_FILENAME:
-            return _pygi_marshal_to_py_filename (arg);
+            return pygi_filename_to_py (arg->v_string);
 
         default:
+            PyErr_Format (PyExc_TypeError, "Type tag %d not supported",
+                          type_tag);
             return NULL;
     }
-    return NULL;
 }
 
 PyObject *
-_pygi_marshal_to_py_basic_type_cache_adapter (PyGIInvokeState   *state,
-                                              PyGICallableCache *callable_cache,
-                                              PyGIArgCache      *arg_cache,
-                                              GIArgument        *arg,
-                                              gpointer          *cleanup_data)
+pygi_marshal_to_py_basic_type_cache_adapter (PyGIInvokeState   *state,
+                                             PyGICallableCache *callable_cache,
+                                             PyGIArgCache      *arg_cache,
+                                             GIArgument        *arg,
+                                             gpointer          *cleanup_data)
 {
-    return _pygi_marshal_to_py_basic_type (arg,
-                                            arg_cache->type_tag,
-                                            arg_cache->transfer);
+    return pygi_marshal_to_py_basic_type (arg,
+                                          arg_cache->type_tag,
+                                          arg_cache->transfer);
 }
 
 static void
-_pygi_marshal_cleanup_to_py_utf8 (PyGIInvokeState *state,
-                                  PyGIArgCache    *arg_cache,
-                                  gpointer         cleanup_data,
-                                  gpointer         data,
-                                  gboolean         was_processed)
+marshal_cleanup_to_py_utf8 (PyGIInvokeState *state,
+                            PyGIArgCache    *arg_cache,
+                            gpointer         cleanup_data,
+                            gpointer         data,
+                            gboolean         was_processed)
 {
     /* Python copies the string so we need to free it
        if the interface is transfering ownership, 
@@ -851,38 +1255,12 @@ _pygi_marshal_cleanup_to_py_utf8 (PyGIInvokeState *state,
         g_free (data);
 }
 
-
-
-static void
-_arg_cache_to_py_basic_type_setup (PyGIArgCache *arg_cache)
-{
-    arg_cache->to_py_marshaller = _pygi_marshal_to_py_basic_type_cache_adapter;
-}
-
-static void
-_arg_cache_to_py_void_setup (PyGIArgCache *arg_cache)
-{
-    arg_cache->to_py_marshaller = _pygi_marshal_to_py_void;
-}
-
-static void
-_arg_cache_to_py_utf8_setup (PyGIArgCache *arg_cache,
-                               GITransfer transfer)
-{
-    arg_cache->to_py_marshaller = _pygi_marshal_to_py_basic_type_cache_adapter;
-    arg_cache->to_py_cleanup = _pygi_marshal_cleanup_to_py_utf8;
-}
-
-/*
- * Basic Type Interface
- */
-
 static gboolean
-pygi_arg_basic_type_setup_from_info (PyGIArgCache  *arg_cache,
-                                     GITypeInfo    *type_info,
-                                     GIArgInfo     *arg_info,
-                                     GITransfer     transfer,
-                                     PyGIDirection  direction)
+arg_basic_type_setup_from_info (PyGIArgCache  *arg_cache,
+                                GITypeInfo    *type_info,
+                                GIArgInfo     *arg_info,
+                                GITransfer     transfer,
+                                PyGIDirection  direction)
 {
     GITypeTag type_tag = g_type_info_get_tag (type_info);
 
@@ -892,10 +1270,10 @@ pygi_arg_basic_type_setup_from_info (PyGIArgCache  *arg_cache,
     switch (type_tag) {
        case GI_TYPE_TAG_VOID:
            if (direction & PYGI_DIRECTION_FROM_PYTHON)
-               _arg_cache_from_py_void_setup (arg_cache);
+                arg_cache->from_py_marshaller = marshal_from_py_void;
 
            if (direction & PYGI_DIRECTION_TO_PYTHON)
-               _arg_cache_to_py_void_setup (arg_cache);
+                arg_cache->to_py_marshaller = marshal_to_py_void;
 
            break;
        case GI_TYPE_TAG_BOOLEAN:
@@ -912,19 +1290,23 @@ pygi_arg_basic_type_setup_from_info (PyGIArgCache  *arg_cache,
        case GI_TYPE_TAG_UNICHAR:
        case GI_TYPE_TAG_GTYPE:
            if (direction & PYGI_DIRECTION_FROM_PYTHON)
-               _arg_cache_from_py_basic_type_setup (arg_cache);
+               arg_cache->from_py_marshaller = pygi_marshal_from_py_basic_type_cache_adapter;
 
            if (direction & PYGI_DIRECTION_TO_PYTHON)
-               _arg_cache_to_py_basic_type_setup (arg_cache);
+               arg_cache->to_py_marshaller = pygi_marshal_to_py_basic_type_cache_adapter;
 
            break;
        case GI_TYPE_TAG_UTF8:
        case GI_TYPE_TAG_FILENAME:
-           if (direction & PYGI_DIRECTION_FROM_PYTHON)
-               _arg_cache_from_py_utf8_setup (arg_cache, transfer);
+           if (direction & PYGI_DIRECTION_FROM_PYTHON) {
+                arg_cache->from_py_marshaller = pygi_marshal_from_py_basic_type_cache_adapter;
+                arg_cache->from_py_cleanup = marshal_cleanup_from_py_utf8;
+           }
 
-           if (direction & PYGI_DIRECTION_TO_PYTHON)
-               _arg_cache_to_py_utf8_setup (arg_cache, transfer);
+           if (direction & PYGI_DIRECTION_TO_PYTHON) {
+                arg_cache->to_py_marshaller = pygi_marshal_to_py_basic_type_cache_adapter;
+                arg_cache->to_py_cleanup = marshal_cleanup_to_py_utf8;
+           }
 
            break;
        default:
@@ -942,14 +1324,12 @@ pygi_arg_basic_type_new_from_info (GITypeInfo   *type_info,
 {
     gboolean res = FALSE;
     PyGIArgCache *arg_cache = pygi_arg_cache_alloc ();
-    if (arg_cache == NULL)
-        return NULL;
 
-    res = pygi_arg_basic_type_setup_from_info (arg_cache,
-                                               type_info,
-                                               arg_info,
-                                               transfer,
-                                               direction);
+    res = arg_basic_type_setup_from_info (arg_cache,
+                                          type_info,
+                                          arg_info,
+                                          transfer,
+                                          direction);
     if (res) {
         return arg_cache;
     } else {
index 62f11c6..396cedc 100644 (file)
 
 G_BEGIN_DECLS
 
-gboolean _pygi_marshal_from_py_basic_type               (PyObject      *object,     /* in */
+gboolean pygi_marshal_from_py_basic_type                (PyObject      *object,     /* in */
                                                          GIArgument    *arg,        /* out */
                                                          GITypeTag      type_tag,
                                                          GITransfer     transfer,
                                                          gpointer      *cleanup_data);
-gboolean _pygi_marshal_from_py_basic_type_cache_adapter (PyGIInvokeState   *state,
+gboolean pygi_marshal_from_py_basic_type_cache_adapter  (PyGIInvokeState   *state,
                                                          PyGICallableCache *callable_cache,
                                                          PyGIArgCache      *arg_cache,
                                                          PyObject          *py_arg,
                                                          GIArgument        *arg,
                                                          gpointer          *cleanup_data);
 
-PyObject *_pygi_marshal_to_py_basic_type               (GIArgument    *arg,        /* in */
+PyObject *pygi_marshal_to_py_basic_type                (GIArgument    *arg,        /* in */
                                                         GITypeTag      type_tag,
                                                         GITransfer     transfer);
-PyObject *_pygi_marshal_to_py_basic_type_cache_adapter (PyGIInvokeState   *state,
+PyObject *pygi_marshal_to_py_basic_type_cache_adapter  (PyGIInvokeState   *state,
                                                         PyGICallableCache *callable_cache,
                                                         PyGIArgCache      *arg_cache,
                                                         GIArgument        *arg,
@@ -50,6 +50,35 @@ PyGIArgCache *pygi_arg_basic_type_new_from_info        (GITypeInfo    *type_info
                                                         GIArgInfo     *arg_info,   /* may be null */
                                                         GITransfer     transfer,
                                                         PyGIDirection  direction);
+
+PyObject *pygi_gint64_to_py (gint64 value);
+PyObject *pygi_guint64_to_py (guint64 value);
+PyObject *pygi_gfloat_to_py (gfloat value);
+PyObject *pygi_gdouble_to_py (gdouble value);
+PyObject *pygi_gboolean_to_py (gboolean value);
+PyObject *pygi_gint8_to_py (gint8 value);
+PyObject *pygi_guint8_to_py (guint8 value);
+PyObject *pygi_utf8_to_py (gchar *value);
+PyObject *pygi_gint_to_py (gint value);
+PyObject *pygi_glong_to_py (glong value);
+PyObject *pygi_guint_to_py (guint value);
+PyObject *pygi_gulong_to_py (gulong value);
+PyObject *pygi_filename_to_py (gchar *value);
+PyObject *pygi_gsize_to_py (gsize value);
+PyObject *pygi_gssize_to_py (gssize value);
+
+gboolean pygi_gboolean_from_py (PyObject *object, gboolean *result);
+gboolean pygi_gint64_from_py (PyObject *object, gint64 *result);
+gboolean pygi_guint64_from_py (PyObject *object, guint64 *result);
+gboolean pygi_gfloat_from_py (PyObject *py_arg, gfloat *result);
+gboolean pygi_gdouble_from_py (PyObject *py_arg, gdouble *result);
+gboolean pygi_utf8_from_py (PyObject *py_arg, gchar **result);
+gboolean pygi_glong_from_py (PyObject *object, glong *result);
+gboolean pygi_gulong_from_py (PyObject *object, gulong *result);
+gboolean pygi_gint_from_py (PyObject *object, gint *result);
+gboolean pygi_guint_from_py (PyObject *object, guint *result);
+gboolean pygi_gunichar_from_py (PyObject *py_arg, gunichar *result);
+
 G_END_DECLS
 
 #endif /*__PYGI_ARG_BASICTYPE_H__*/
index 599d6d3..ce3d748 100644 (file)
 #include "pygi-boxed.h"
 #include "pygi-info.h"
 #include "pygboxed.h"
-#include "pygtype.h"
+#include "pygi-type.h"
+#include "pygi-basictype.h"
+#include "pygi-python-compat.h"
 
 #include <girepository.h>
-#include <pyglib-python-compat.h>
 
 static void
-_boxed_dealloc (PyGIBoxed *self)
+boxed_dealloc (PyGIBoxed *self)
 {
     Py_TYPE (self)->tp_free ((PyObject *)self);
 }
@@ -55,7 +56,7 @@ boxed_del (PyGIBoxed *self)
 }
 
 void *
-_pygi_boxed_alloc (GIBaseInfo *info, gsize *size_out)
+pygi_boxed_alloc (GIBaseInfo *info, gsize *size_out)
 {
     gpointer boxed = NULL;
     gsize size = 0;
@@ -93,7 +94,7 @@ _pygi_boxed_alloc (GIBaseInfo *info, gsize *size_out)
 }
 
 static PyObject *
-_boxed_new (PyTypeObject *type,
+boxed_new (PyTypeObject *type,
             PyObject     *args,
             PyObject     *kwargs)
 {
@@ -110,12 +111,12 @@ _boxed_new (PyTypeObject *type,
         return NULL;
     }
 
-    boxed = _pygi_boxed_alloc (info, &size);
+    boxed = pygi_boxed_alloc (info, &size);
     if (boxed == NULL) {
         goto out;
     }
 
-    self = (PyGIBoxed *) _pygi_boxed_new (type, boxed, TRUE, size);
+    self = (PyGIBoxed *) pygi_boxed_new (type, boxed, TRUE, size);
     if (self == NULL) {
         g_slice_free1 (size, boxed);
         goto out;
@@ -131,7 +132,7 @@ out:
 }
 
 static int
-_boxed_init (PyObject *self,
+boxed_init (PyObject *self,
              PyObject *args,
              PyObject *kwargs)
 {
@@ -151,10 +152,10 @@ _boxed_init (PyObject *self,
 PYGLIB_DEFINE_TYPE("gi.Boxed", PyGIBoxed_Type, PyGIBoxed);
 
 PyObject *
-_pygi_boxed_new (PyTypeObject *type,
-                 gpointer      boxed,
-                 gboolean      free_on_dealloc,
-                 gsize         allocated_slice)
+pygi_boxed_new (PyTypeObject *type,
+                gpointer      boxed,
+                gboolean      free_on_dealloc,
+                gsize         allocated_slice)
 {
     PyGIBoxed *self;
 
@@ -187,13 +188,13 @@ _pygi_boxed_new (PyTypeObject *type,
 }
 
 static PyObject *
-_pygi_boxed_get_free_on_dealloc(PyGIBoxed *self, void *closure)
+boxed_get_free_on_dealloc(PyGIBoxed *self, void *closure)
 {
-  return PyBool_FromLong( ((PyGBoxed *)self)->free_on_dealloc );
+  return pygi_gboolean_to_py( ((PyGBoxed *)self)->free_on_dealloc );
 }
 
 /**
- * _pygi_boxed_copy_in_place:
+ * pygi_boxed_copy_in_place:
  *
  * Replace the boxed pointer held by this wrapper with a boxed copy
  * freeing the previously held pointer (when free_on_dealloc is TRUE).
@@ -202,7 +203,7 @@ _pygi_boxed_get_free_on_dealloc(PyGIBoxed *self, void *closure)
  * longer than the duration of a callback it was passed to.
  */
 void
-_pygi_boxed_copy_in_place (PyGIBoxed *self)
+pygi_boxed_copy_in_place (PyGIBoxed *self)
 {
     PyGBoxed *pygboxed = (PyGBoxed *)self;
     gpointer ptr = pyg_boxed_get_ptr (self);
@@ -217,7 +218,7 @@ _pygi_boxed_copy_in_place (PyGIBoxed *self)
 }
 
 static PyGetSetDef pygi_boxed_getsets[] = {
-    { "_free_on_dealloc", (getter)_pygi_boxed_get_free_on_dealloc, (setter)0 },
+    { "_free_on_dealloc", (getter)boxed_get_free_on_dealloc, (setter)0 },
     { NULL, 0, 0 }
 };
 
@@ -226,20 +227,29 @@ static PyMethodDef boxed_methods[] = {
     { NULL, NULL, 0 }
 };
 
-void
-_pygi_boxed_register_types (PyObject *m)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_boxed_register_types (PyObject *m)
 {
     Py_TYPE(&PyGIBoxed_Type) = &PyType_Type;
+    g_assert (Py_TYPE (&PyGBoxed_Type) != NULL);
     PyGIBoxed_Type.tp_base = &PyGBoxed_Type;
-    PyGIBoxed_Type.tp_new = (newfunc) _boxed_new;
-    PyGIBoxed_Type.tp_init = (initproc) _boxed_init;
-    PyGIBoxed_Type.tp_dealloc = (destructor) _boxed_dealloc;
+    PyGIBoxed_Type.tp_new = (newfunc) boxed_new;
+    PyGIBoxed_Type.tp_init = (initproc) boxed_init;
+    PyGIBoxed_Type.tp_dealloc = (destructor) boxed_dealloc;
     PyGIBoxed_Type.tp_flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE);
     PyGIBoxed_Type.tp_getset = pygi_boxed_getsets;
     PyGIBoxed_Type.tp_methods = boxed_methods;
 
-    if (PyType_Ready (&PyGIBoxed_Type))
-        return;
-    if (PyModule_AddObject (m, "Boxed", (PyObject *) &PyGIBoxed_Type))
-        return;
+    if (PyType_Ready (&PyGIBoxed_Type) < 0)
+        return -1;
+    Py_INCREF ((PyObject *) &PyGIBoxed_Type);
+    if (PyModule_AddObject (m, "Boxed", (PyObject *) &PyGIBoxed_Type) < 0) {
+        Py_DECREF ((PyObject *) &PyGIBoxed_Type);
+        return -1;
+    }
+
+    return 0;
 }
index 5c04b5c..4e5efb9 100644 (file)
@@ -34,17 +34,16 @@ typedef struct {
 
 extern PyTypeObject PyGIBoxed_Type;
 
-PyObject * _pygi_boxed_new (PyTypeObject *type,
-                            gpointer      boxed,
-                            gboolean      free_on_dealloc,
-                            gsize         allocated_slice);
+PyObject * pygi_boxed_new (PyTypeObject *type,
+                           gpointer      boxed,
+                           gboolean      free_on_dealloc,
+                           gsize         allocated_slice);
 
-void * _pygi_boxed_alloc (GIBaseInfo *info,
-                          gsize *size);
+void * pygi_boxed_alloc (GIBaseInfo *info, gsize *size);
 
-void _pygi_boxed_copy_in_place  (PyGIBoxed *self);
+void pygi_boxed_copy_in_place  (PyGIBoxed *self);
 
-void _pygi_boxed_register_types (PyObject *m);
+int pygi_boxed_register_types (PyObject *m);
 
 G_END_DECLS
 
index 82a6182..667ccf6 100644 (file)
@@ -21,8 +21,8 @@
 #include <Python.h>
 #include <girepository.h>
 
-#include "pyglib.h"
-#include "pygtype.h"
+#include "pygi-python-compat.h"
+#include "pygi-type.h"
 #include "pygi-info.h"
 #include "pygi-cache.h"
 #include "pygi-marshal-cleanup.h"
@@ -171,7 +171,7 @@ pygi_arg_interface_setup (PyGIInterfaceCache *iface_cache,
     iface_cache->arg_cache.type_tag = GI_TYPE_TAG_INTERFACE;
     iface_cache->type_name = _pygi_g_base_info_get_fullname (iface_info);
     iface_cache->g_type = g_registered_type_info_get_g_type ( (GIRegisteredTypeInfo *)iface_info);
-    iface_cache->py_type = _pygi_type_import_by_gi_info ( (GIBaseInfo *) iface_info);
+    iface_cache->py_type = pygi_type_import_by_gi_info ( (GIBaseInfo *) iface_info);
 
     if (iface_cache->py_type == NULL) {
         return FALSE;
@@ -464,8 +464,8 @@ static gboolean
 _callable_cache_generate_args_cache_real (PyGICallableCache *callable_cache,
                                           GICallableInfo *callable_info)
 {
-    gssize i;
-    gssize arg_index;
+    gint i;
+    guint arg_index;
     GITypeInfo *return_info;
     GITransfer return_transfer;
     PyGIArgCache *return_cache;
@@ -500,8 +500,8 @@ _callable_cache_generate_args_cache_real (PyGICallableCache *callable_cache,
 
     callable_cache->user_data_index = -1;
 
-    for (i = 0, arg_index = callable_cache->args_offset;
-         (gsize)arg_index < _pygi_callable_cache_args_len (callable_cache);
+    for (i = 0, arg_index = (guint)callable_cache->args_offset;
+         arg_index < _pygi_callable_cache_args_len (callable_cache);
          i++, arg_index++) {
         PyGIArgCache *arg_cache = NULL;
         GIArgInfo *arg_info;
@@ -609,7 +609,7 @@ _callable_cache_generate_args_cache_real (PyGICallableCache *callable_cache,
 
     /* Reverse loop through all the arguments to setup arg_name_list/hash
      * and find the number of required arguments */
-    for (i=((gssize)_pygi_callable_cache_args_len (callable_cache))-1; i >= 0; i--) {
+    for (i=(_pygi_callable_cache_args_len (callable_cache))-1; i >= 0; i--) {
         PyGIArgCache *arg_cache = _pygi_callable_cache_get_arg (callable_cache, i);
 
         if (arg_cache->meta_type != PYGI_META_ARG_TYPE_CHILD &&
@@ -734,7 +734,7 @@ _callable_cache_init (PyGICallableCache *cache,
         g_free (warning);
     }
 
-    n_args = cache->args_offset + g_callable_info_get_n_args (callable_info);
+    n_args = (gint)cache->args_offset + g_callable_info_get_n_args (callable_info);
 
     if (n_args >= 0) {
         cache->args_cache = g_ptr_array_new_full (n_args, (GDestroyNotify) pygi_arg_cache_free);
index 574563b..fc5a616 100644 (file)
@@ -316,7 +316,10 @@ pygi_vfunc_cache_new        (GICallableInfo *info);
 PyGIClosureCache *
 pygi_closure_cache_new      (GICallableInfo *info);
 
-#define _pygi_callable_cache_args_len(cache) ((cache)->args_cache)->len
+inline static guint
+_pygi_callable_cache_args_len (PyGICallableCache *cache) {
+    return ((cache)->args_cache)->len;
+}
 
 inline static PyGIArgCache *
 _pygi_callable_cache_get_arg (PyGICallableCache *cache, guint index) {
index 3fe5366..cd003e9 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "pygi-python-compat.h"
 #include "pygi-ccallback.h"
 
 #include <girepository.h>
-#include <pyglib-python-compat.h>
 
 
 static PyObject *
@@ -85,8 +85,11 @@ _ccallback_dealloc (PyGICCallback *self)
     Py_TYPE (self)->tp_free ((PyObject *)self);
 }
 
-void
-_pygi_ccallback_register_types (PyObject *m)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_ccallback_register_types (PyObject *m)
 {
     Py_TYPE(&PyGICCallback_Type) = &PyType_Type;
     PyGICCallback_Type.tp_flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE);
@@ -94,8 +97,13 @@ _pygi_ccallback_register_types (PyObject *m)
     PyGICCallback_Type.tp_call = (ternaryfunc) _ccallback_call;
 
 
-    if (PyType_Ready (&PyGICCallback_Type))
-        return;
-    if (PyModule_AddObject (m, "CCallback", (PyObject *) &PyGICCallback_Type))
-        return;
+    if (PyType_Ready (&PyGICCallback_Type) < 0)
+        return -1;
+    Py_INCREF ((PyObject *) &PyGICCallback_Type);
+    if (PyModule_AddObject (m, "CCallback", (PyObject *) &PyGICCallback_Type) < 0) {
+        Py_INCREF ((PyObject *) &PyGICCallback_Type);
+        return -1;
+    }
+
+    return 0;
 }
index dcd9e6b..7b8439d 100644 (file)
@@ -43,7 +43,7 @@ PyObject * _pygi_ccallback_new (GCallback       callback,
                                 GIFunctionInfo *info,
                                 GDestroyNotify  destroy_notify);
 
-void _pygi_ccallback_register_types (PyObject *m);
+int pygi_ccallback_register_types (PyObject *m);
 
 G_END_DECLS
 
index b764ab8..0eef41e 100644 (file)
@@ -33,6 +33,7 @@ typedef struct _PyGICallbackCache
     gssize destroy_notify_index;
     GIScopeType scope;
     GIInterfaceInfo *interface_info;
+    PyGIClosureCache *closure_cache;
 } PyGICallbackCache;
 
 /* This maintains a list of closures which can be free'd whenever
@@ -51,31 +52,31 @@ _pygi_closure_assign_pyobj_to_retval (gpointer retval,
 
     switch (arg_cache->type_tag) {
         case GI_TYPE_TAG_BOOLEAN:
-           *((ffi_sarg *) retval) = arg->v_boolean;
+           *((gboolean *) retval) = arg->v_boolean;
            break;
         case GI_TYPE_TAG_INT8:
-           *((ffi_sarg *) retval) = arg->v_int8;
+           *((gint8 *) retval) = arg->v_int8;
            break;
         case GI_TYPE_TAG_UINT8:
-           *((ffi_arg *) retval) = arg->v_uint8;
+           *((guint8 *) retval) = arg->v_uint8;
            break;
         case GI_TYPE_TAG_INT16:
-           *((ffi_sarg *) retval) = arg->v_int16;
+           *((gint16 *) retval) = arg->v_int16;
            break;
         case GI_TYPE_TAG_UINT16:
-           *((ffi_arg *) retval) = arg->v_uint16;
+           *((guint16 *) retval) = arg->v_uint16;
            break;
         case GI_TYPE_TAG_INT32:
-           *((ffi_sarg *) retval) = arg->v_int32;
+           *((gint32 *) retval) = arg->v_int32;
            break;
         case GI_TYPE_TAG_UINT32:
-           *((ffi_arg *) retval) = arg->v_uint32;
+           *((guint32 *) retval) = arg->v_uint32;
            break;
         case GI_TYPE_TAG_INT64:
-           *((ffi_sarg *) retval) = arg->v_int64;
+           *((gint64 *) retval) = arg->v_int64;
            break;
         case GI_TYPE_TAG_UINT64:
-           *((ffi_arg *) retval) = arg->v_uint64;
+           *((guint64 *) retval) = arg->v_uint64;
            break;
         case GI_TYPE_TAG_FLOAT:
            *((gfloat *) retval) = arg->v_float;
@@ -84,10 +85,10 @@ _pygi_closure_assign_pyobj_to_retval (gpointer retval,
            *((gdouble *) retval) = arg->v_double;
            break;
         case GI_TYPE_TAG_GTYPE:
-           *((ffi_arg *) retval) = arg->v_size;
+           *((gsize *) retval) = arg->v_size;
            break;
         case GI_TYPE_TAG_UNICHAR:
-            *((ffi_arg *) retval) = arg->v_uint32;
+            *((guint32 *) retval) = arg->v_uint32;
             break;
         case GI_TYPE_TAG_INTERFACE:
             {
@@ -97,20 +98,20 @@ _pygi_closure_assign_pyobj_to_retval (gpointer retval,
 
                 switch (g_base_info_get_type (interface_info)) {
                 case GI_INFO_TYPE_ENUM:
-                    *(ffi_sarg *) retval = arg->v_int;
+                    *(gint *) retval = arg->v_int;
                     break;
                 case GI_INFO_TYPE_FLAGS:
-                    *(ffi_arg *) retval = arg->v_uint;
+                    *(guint *) retval = arg->v_uint;
                     break;
                 default:
-                    *(ffi_arg *) retval = (ffi_arg) arg->v_pointer;
+                    *(gpointer *) retval = arg->v_pointer;
                     break;
                 }
 
                 break;
             }
         default:
-            *(ffi_arg *) retval = (ffi_arg) arg->v_pointer;
+            *(gpointer *) retval = arg->v_pointer;
             break;
       }
 }
@@ -566,12 +567,8 @@ _pygi_closure_handle (ffi_cif *cif,
       may be executing python code */
     py_state = PyGILState_Ensure ();
 
-    if (closure->cache == NULL) {
-        closure->cache = pygi_closure_cache_new ((GICallableInfo *) closure->info);
-
-        if (closure->cache == NULL)
-            goto end;
-    }
+    if (closure->cache == NULL)
+        goto end;
 
     state.user_data = closure->user_data;
 
@@ -641,8 +638,7 @@ void _pygi_invoke_closure_free (gpointer data)
     if (invoke_closure->info)
         g_base_info_unref ( (GIBaseInfo*) invoke_closure->info);
 
-    if (invoke_closure->cache != NULL)
-        pygi_callable_cache_free ((PyGICallableCache *) invoke_closure->cache);
+    invoke_closure->cache = NULL;
 
     _pygi_invoke_closure_clear_py_data(invoke_closure);
 
@@ -652,6 +648,7 @@ void _pygi_invoke_closure_free (gpointer data)
 
 PyGICClosure*
 _pygi_make_native_closure (GICallableInfo* info,
+                           PyGIClosureCache *cache,
                            GIScopeType scope,
                            PyObject *py_function,
                            gpointer py_user_data)
@@ -668,6 +665,7 @@ _pygi_make_native_closure (GICallableInfo* info,
     closure->info = (GICallableInfo *) g_base_info_ref ( (GIBaseInfo *) info);
     closure->function = py_function;
     closure->user_data = py_user_data;
+    closure->cache = cache;
 
     Py_INCREF (py_function);
     Py_XINCREF (closure->user_data);
@@ -711,7 +709,7 @@ _pygi_marshal_from_py_interface_callback (PyGIInvokeState   *state,
     callback_cache = (PyGICallbackCache *)arg_cache;
 
     if (callback_cache->user_data_index > 0) {
-        user_data_cache = _pygi_callable_cache_get_arg (callable_cache, callback_cache->user_data_index);
+        user_data_cache = _pygi_callable_cache_get_arg (callable_cache, (guint)callback_cache->user_data_index);
         if (user_data_cache->py_arg_index < state->n_py_in_args) {
             /* py_user_data is a borrowed reference. */
             py_user_data = PyTuple_GetItem (state->py_in_args, user_data_cache->py_arg_index);
@@ -750,7 +748,9 @@ _pygi_marshal_from_py_interface_callback (PyGIInvokeState   *state,
 
     callable_info = (GICallableInfo *)callback_cache->interface_info;
 
-    closure = _pygi_make_native_closure (callable_info, callback_cache->scope, py_arg, py_user_data);
+    closure = _pygi_make_native_closure (
+        callable_info, callback_cache->closure_cache, callback_cache->scope,
+        py_arg, py_user_data);
     arg->v_pointer = closure->closure;
 
     /* always decref the user data as _pygi_make_native_closure adds its own ref */
@@ -771,7 +771,7 @@ _pygi_marshal_from_py_interface_callback (PyGIInvokeState   *state,
      * later on in _pygi_destroy_notify_callback_closure.
      */
     if (callback_cache->destroy_notify_index > 0) {
-        destroy_cache = _pygi_callable_cache_get_arg (callable_cache, callback_cache->destroy_notify_index);
+        destroy_cache = _pygi_callable_cache_get_arg (callable_cache, (guint)callback_cache->destroy_notify_index);
     }
 
     if (destroy_cache) {
@@ -836,6 +836,11 @@ _callback_cache_free_func (PyGICallbackCache *cache)
         if (cache->interface_info != NULL)
             g_base_info_unref ( (GIBaseInfo *)cache->interface_info);
 
+        if (cache->closure_cache != NULL) {
+            pygi_callable_cache_free ((PyGICallableCache *) cache->closure_cache);
+            cache->closure_cache = NULL;
+        }
+
         g_slice_free (PyGICallbackCache, cache);
     }
 }
@@ -892,7 +897,7 @@ pygi_arg_callback_setup_from_info (PyGICallbackCache  *arg_cache,
         user_data_arg_cache->meta_type = PYGI_META_ARG_TYPE_CHILD_WITH_PYARG;
         user_data_arg_cache->direction = direction;
         user_data_arg_cache->has_default = TRUE; /* always allow user data with a NULL default. */
-        _pygi_callable_cache_set_arg (callable_cache, arg_cache->user_data_index,
+        _pygi_callable_cache_set_arg (callable_cache, (guint)arg_cache->user_data_index,
                                       user_data_arg_cache);
     }
 
@@ -900,7 +905,7 @@ pygi_arg_callback_setup_from_info (PyGICallbackCache  *arg_cache,
         PyGIArgCache *destroy_arg_cache = pygi_arg_cache_alloc ();
         destroy_arg_cache->meta_type = PYGI_META_ARG_TYPE_CHILD;
         destroy_arg_cache->direction = direction;
-        _pygi_callable_cache_set_arg (callable_cache, arg_cache->destroy_notify_index,
+        _pygi_callable_cache_set_arg (callable_cache, (guint)arg_cache->destroy_notify_index,
                                       destroy_arg_cache);
     }
 
@@ -909,6 +914,7 @@ pygi_arg_callback_setup_from_info (PyGICallbackCache  *arg_cache,
     arg_cache->interface_info = iface_info;
 
     if (direction & PYGI_DIRECTION_FROM_PYTHON) {
+        arg_cache->closure_cache = pygi_closure_cache_new (arg_cache->interface_info);
         cache->from_py_marshaller = _pygi_marshal_from_py_interface_callback;
         cache->from_py_cleanup = _pygi_marshal_cleanup_from_py_interface_callback;
     }
index c0e8421..30da2cf 100644 (file)
@@ -50,6 +50,7 @@ void _pygi_closure_handle (ffi_cif *cif, void *result, void
 void _pygi_invoke_closure_free (gpointer user_data);
 
 PyGICClosure* _pygi_make_native_closure (GICallableInfo* info,
+                                         PyGIClosureCache *cache,
                                          GIScopeType scope,
                                          PyObject *function,
                                          gpointer user_data);
index fe6c7d7..e98d023 100644 (file)
@@ -20,8 +20,8 @@
 
 #include <Python.h>
 #include <glib.h>
-#include <pyglib-python-compat.h>
 
+#include "pygi-python-compat.h"
 #include "pygi-enum-marshal.h"
 #include "pygi-type.h"
 #include "pygenum.h"
@@ -34,28 +34,28 @@ gi_argument_from_c_long (GIArgument *arg_out,
 {
     switch (type_tag) {
       case GI_TYPE_TAG_INT8:
-          arg_out->v_int8 = c_long_in;
+          arg_out->v_int8 = (gint8)c_long_in;
           return TRUE;
       case GI_TYPE_TAG_UINT8:
-          arg_out->v_uint8 = c_long_in;
+          arg_out->v_uint8 = (guint8)c_long_in;
           return TRUE;
       case GI_TYPE_TAG_INT16:
-          arg_out->v_int16 = c_long_in;
+          arg_out->v_int16 = (gint16)c_long_in;
           return TRUE;
       case GI_TYPE_TAG_UINT16:
-          arg_out->v_uint16 = c_long_in;
+          arg_out->v_uint16 = (guint16)c_long_in;
           return TRUE;
       case GI_TYPE_TAG_INT32:
-          arg_out->v_int32 = c_long_in;
+          arg_out->v_int32 = (gint32)c_long_in;
           return TRUE;
       case GI_TYPE_TAG_UINT32:
-          arg_out->v_uint32 = c_long_in;
+          arg_out->v_uint32 = (guint32)c_long_in;
           return TRUE;
       case GI_TYPE_TAG_INT64:
-          arg_out->v_int64 = c_long_in;
+          arg_out->v_int64 = (gint64)c_long_in;
           return TRUE;
       case GI_TYPE_TAG_UINT64:
-          arg_out->v_uint64 = c_long_in;
+          arg_out->v_uint64 = (guint64)c_long_in;
           return TRUE;
       default:
           PyErr_Format (PyExc_TypeError,
@@ -91,10 +91,22 @@ gi_argument_to_c_long (GIArgument *arg_in,
           *c_long_out = arg_in->v_uint32;
           return TRUE;
       case GI_TYPE_TAG_INT64:
-          *c_long_out = arg_in->v_int64;
+          if (arg_in->v_int64 > G_MAXLONG || arg_in->v_int64 < G_MINLONG) {
+              PyErr_Format (PyExc_TypeError,
+                            "Unable to marshal %s to C long",
+                            g_type_tag_to_string(type_tag));
+              return FALSE;
+          }
+          *c_long_out = (glong)arg_in->v_int64;
           return TRUE;
       case GI_TYPE_TAG_UINT64:
-          *c_long_out = arg_in->v_uint64;
+          if (arg_in->v_uint64 > G_MAXLONG) {
+              PyErr_Format (PyExc_TypeError,
+                            "Unable to marshal %s to C long",
+                            g_type_tag_to_string(type_tag));
+              return FALSE;
+          }
+          *c_long_out = (glong)arg_in->v_uint64;
           return TRUE;
       default:
           PyErr_Format (PyExc_TypeError,
@@ -150,7 +162,7 @@ _pygi_marshal_from_py_interface_enum (PyGIInvokeState   *state,
         for (i = 0; i < g_enum_info_get_n_values (iface_cache->interface_info); i++) {
             GIValueInfo *value_info =
                 g_enum_info_get_value (iface_cache->interface_info, i);
-            glong enum_value = g_value_info_get_value (value_info);
+            gint64 enum_value = g_value_info_get_value (value_info);
             g_base_info_unref ( (GIBaseInfo *)value_info);
             if (c_long == enum_value) {
                 is_found = TRUE;
@@ -244,7 +256,7 @@ _pygi_marshal_to_py_interface_enum (PyGIInvokeState   *state,
     if (iface_cache->g_type == G_TYPE_NONE) {
         py_obj = PyObject_CallFunction (iface_cache->py_type, "l", c_long);
     } else {
-        py_obj = pyg_enum_from_gtype (iface_cache->g_type, c_long);
+        py_obj = pyg_enum_from_gtype (iface_cache->g_type, (gint)c_long);
     }
     g_base_info_unref (interface);
     return py_obj;
@@ -275,7 +287,7 @@ _pygi_marshal_to_py_interface_flags (PyGIInvokeState   *state,
     if (iface_cache->g_type == G_TYPE_NONE) {
         /* An enum with a GType of None is an enum without GType */
 
-        PyObject *py_type = _pygi_type_import_by_gi_info (iface_cache->interface_info);
+        PyObject *py_type = pygi_type_import_by_gi_info (iface_cache->interface_info);
         PyObject *py_args = NULL;
 
         if (!py_type)
@@ -293,7 +305,7 @@ _pygi_marshal_to_py_interface_flags (PyGIInvokeState   *state,
         Py_DECREF (py_args);
         Py_DECREF (py_type);
     } else {
-        py_obj = pyg_flags_from_gtype (iface_cache->g_type, c_long);
+        py_obj = pyg_flags_from_gtype (iface_cache->g_type, (guint)c_long);
     }
 
     return py_obj;
index 2639141..85aaf29 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "pyglib.h"
+#include <Python.h>
 #include "pygi-error.h"
-#include "pygtype.h"
-#include <pyglib-python-compat.h>
+#include "pygi-type.h"
+#include "pygi-python-compat.h"
+#include "pygi-util.h"
+#include "pygi-basictype.h"
 
 
 PyObject *PyGError = NULL;
-static PyObject *exception_table = NULL;
 
 /**
  * pygi_error_marshal_to_py:
@@ -54,13 +55,6 @@ pygi_error_marshal_to_py (GError **error)
     state = PyGILState_Ensure();
 
     exc_type = PyGError;
-    if (exception_table != NULL)
-    {
-        PyObject *item;
-        item = PyDict_GetItem(exception_table, PYGLIB_PyLong_FromLong((*error)->domain));
-        if (item != NULL)
-            exc_type = item;
-    }
 
     if ((*error)->domain) {
         domain = g_quark_to_string ((*error)->domain);
@@ -121,6 +115,9 @@ pygi_error_check (GError **error)
 gboolean
 pygi_error_marshal_from_py (PyObject *pyerr, GError **error)
 {
+    gint code;
+    gchar *message = NULL;
+    gchar *domain = NULL;
     gboolean res = FALSE;
     PyObject *py_message = NULL,
              *py_domain = NULL,
@@ -133,33 +130,44 @@ pygi_error_marshal_from_py (PyObject *pyerr, GError **error)
     }
 
     py_message = PyObject_GetAttrString (pyerr, "message");
-    if (!py_message || !PYGLIB_PyUnicode_Check (py_message)) {
+    if (!py_message) {
         PyErr_SetString (PyExc_ValueError,
                          "GLib.Error instances must have a 'message' string attribute");
         goto cleanup;
     }
 
+    if (!pygi_utf8_from_py (py_message, &message))
+        goto cleanup;
+
     py_domain = PyObject_GetAttrString (pyerr, "domain");
-    if (!py_domain || !PYGLIB_PyUnicode_Check (py_domain)) {
+    if (!py_domain) {
         PyErr_SetString (PyExc_ValueError,
                          "GLib.Error instances must have a 'domain' string attribute");
         goto cleanup;
     }
 
+    if (!pygi_utf8_from_py (py_domain, &domain))
+        goto cleanup;
+
     py_code = PyObject_GetAttrString (pyerr, "code");
-    if (!py_code || !PYGLIB_PyLong_Check (py_code)) {
+    if (!py_code) {
         PyErr_SetString (PyExc_ValueError,
                          "GLib.Error instances must have a 'code' int attribute");
         goto cleanup;
     }
 
+    if (!pygi_gint_from_py (py_code, &code))
+        goto cleanup;
+
     res = TRUE;
     g_set_error_literal (error,
-                         g_quark_from_string (PYGLIB_PyUnicode_AsString (py_domain)),
-                         PYGLIB_PyLong_AsLong (py_code),
-                         PYGLIB_PyUnicode_AsString (py_message));
+                         g_quark_from_string (domain),
+                         code,
+                         message);
 
 cleanup:
+    g_free (message);
+    g_free (domain);
     Py_XDECREF (py_message);
     Py_XDECREF (py_code);
     Py_XDECREF (py_domain);
@@ -211,35 +219,6 @@ pygi_gerror_exception_check (GError **error)
 
 }
 
-/**
- * pygi_register_exception_for_domain:
- * @name: name of the exception
- * @error_domain: error domain
- *
- * Registers a new GLib.Error exception subclass called #name for
- * a specific #domain. This exception will be raised when a GError
- * of the same domain is passed in to pygi_error_check().
- *
- * Returns: the new exception
- */
-PyObject *
-pygi_register_exception_for_domain (gchar *name,
-                                    gint error_domain)
-{
-    PyObject *exception;
-
-    exception = PyErr_NewException(name, PyGError, NULL);
-
-    if (exception_table == NULL)
-        exception_table = PyDict_New();
-
-    PyDict_SetItem(exception_table,
-                   PYGLIB_PyLong_FromLong(error_domain),
-                   exception);
-
-    return exception;
-}
-
 static gboolean
 _pygi_marshal_from_py_gerror (PyGIInvokeState   *state,
                               PyGICallableCache *callable_cache,
@@ -329,11 +308,9 @@ pygi_arg_gerror_new_from_info (GITypeInfo   *type_info,
                                PyGIDirection direction)
 {
     gboolean res = FALSE;
-    PyGIArgCache *arg_cache = NULL;
+    PyGIArgCache *arg_cache;
 
     arg_cache = pygi_arg_cache_alloc ();
-    if (arg_cache == NULL)
-        return NULL;
 
     res = pygi_arg_gerror_setup_from_info (arg_cache,
                                            type_info,
@@ -373,19 +350,27 @@ pygerror_to_gvalue (GValue *value, PyObject *pyerror)
     return -1;
 }
 
-void
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
 pygi_error_register_types (PyObject *module)
 {
-    PyObject *error_module = PYGLIB_PyImport_ImportModule ("gi._error");
+    PyObject *error_module = pygi_import_module ("gi._error");
     if (!error_module) {
-        return;
+        return -1;
     }
 
     /* Stash a reference to the Python implemented gi._error.GError. */
     PyGError = PyObject_GetAttrString (error_module, "GError");
+    Py_DECREF (error_module);
+    if (PyGError == NULL)
+        return -1;
 
     pyg_register_gtype_custom (G_TYPE_ERROR,
                                pygerror_from_gvalue,
                                pygerror_to_gvalue);
+
+    return 0;
 }
 
index e7cc05f..3e6c414 100644 (file)
@@ -38,15 +38,12 @@ gboolean      pygi_error_marshal_from_py    (PyObject  *pyerr,
 
 gboolean      pygi_gerror_exception_check   (GError **error);
 
-PyObject*     pygi_register_exception_for_domain (gchar *name,
-                                                  gint   error_domain);
-
 PyGIArgCache* pygi_arg_gerror_new_from_info (GITypeInfo    *type_info,
                                              GIArgInfo     *arg_info,   /* may be null */
                                              GITransfer     transfer,
                                              PyGIDirection  direction);
 
-void          pygi_error_register_types     (PyObject *module);
+int           pygi_error_register_types     (PyObject *module);
 
 G_END_DECLS
 
index 682cee2..c398cb7 100644 (file)
@@ -38,7 +38,7 @@ static Pycairo_CAPI_t *Pycairo_CAPI;
  * shared library that interacts with PyGI through a PyCapsule API at runtime.
  */
 #include <pygi-foreign-api.h>
-#include <pyglib-python-compat.h>
+#include "pygi-python-compat.h"
 
 /*
  * cairo_t marshaling
@@ -52,13 +52,19 @@ cairo_context_to_arg (PyObject        *value,
 {
     cairo_t *cr;
 
-    g_assert (transfer == GI_TRANSFER_NOTHING);
+    if (!PyObject_TypeCheck (value, &PycairoContext_Type)) {
+        PyErr_SetString (PyExc_TypeError, "Expected cairo.Context");
+        return NULL;
+    }
 
     cr = PycairoContext_GET (value);
     if (!cr) {
         return NULL;
     }
 
+    if (transfer != GI_TRANSFER_NOTHING)
+        cr = cairo_reference (cr);
+
     arg->v_pointer = cr;
     Py_RETURN_NONE;
 }
@@ -88,7 +94,14 @@ cairo_context_release (GIBaseInfo *base_info,
 static int
 cairo_context_to_gvalue (GValue *value, PyObject *obj)
 {
-    cairo_t *cr = PycairoContext_GET (obj);
+    cairo_t *cr;
+
+    if (!PyObject_TypeCheck (obj, &PycairoContext_Type)) {
+        PyErr_SetString (PyExc_TypeError, "Expected cairo.Context");
+        return -1;
+    }
+
+    cr = PycairoContext_GET (obj);
     if (!cr) {
         return -1;
     }
@@ -124,7 +137,10 @@ cairo_surface_to_arg (PyObject        *value,
 {
     cairo_surface_t *surface;
 
-    g_assert (transfer == GI_TRANSFER_NOTHING);
+    if (!PyObject_TypeCheck (value, &PycairoSurface_Type)) {
+        PyErr_SetString (PyExc_TypeError, "Expected cairo.Surface");
+        return NULL;
+    }
 
     surface = ( (PycairoSurface*) value)->surface;
     if (!surface) {
@@ -132,6 +148,9 @@ cairo_surface_to_arg (PyObject        *value,
         return NULL;
     }
 
+    if (transfer != GI_TRANSFER_NOTHING)
+        surface = cairo_surface_reference (surface);
+
     arg->v_pointer = surface;
     Py_RETURN_NONE;
 }
@@ -160,7 +179,14 @@ cairo_surface_release (GIBaseInfo *base_info,
 static int
 cairo_surface_to_gvalue (GValue *value, PyObject *obj)
 {
-    cairo_surface_t *surface = ((PycairoSurface*) obj)->surface;
+    cairo_surface_t *surface;
+
+    if (!PyObject_TypeCheck (obj, &PycairoSurface_Type)) {
+        PyErr_SetString (PyExc_TypeError, "Expected cairo.Surface");
+        return -1;
+    }
+
+    surface = ((PycairoSurface*) obj)->surface;
     if (!surface) {
         return -1;
     }
@@ -188,6 +214,22 @@ cairo_surface_from_gvalue (const GValue *value)
  * cairo_path_t marshaling
  */
 
+static cairo_path_t *
+_cairo_path_copy (cairo_path_t *path) {
+    cairo_t *cr;
+    cairo_surface_t *surface;
+    cairo_path_t *copy;
+
+    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 0, 0);
+    cr = cairo_create (surface);
+    cairo_append_path (cr, path);
+    copy = cairo_copy_path (cr);
+    cairo_destroy (cr);
+    cairo_surface_destroy (surface);
+
+    return copy;
+}
+
 static PyObject *
 cairo_path_to_arg (PyObject        *value,
                    GIInterfaceInfo *interface_info,
@@ -196,7 +238,10 @@ cairo_path_to_arg (PyObject        *value,
 {
     cairo_path_t *path;
 
-    g_assert (transfer == GI_TRANSFER_NOTHING);
+    if (!PyObject_TypeCheck (value, &PycairoPath_Type)) {
+        PyErr_SetString (PyExc_TypeError, "Expected cairo.Path");
+        return NULL;
+    }
 
     path = ( (PycairoPath*) value)->path;
     if (!path) {
@@ -204,6 +249,9 @@ cairo_path_to_arg (PyObject        *value,
         return NULL;
     }
 
+    if (transfer != GI_TRANSFER_NOTHING)
+        path = _cairo_path_copy (path);
+
     arg->v_pointer = path;
     Py_RETURN_NONE;
 }
@@ -239,7 +287,14 @@ cairo_path_release (GIBaseInfo *base_info,
 static int
 cairo_font_face_to_gvalue (GValue *value, PyObject *obj)
 {
-    cairo_font_face_t *font_face = ((PycairoFontFace*) obj)->font_face;
+    cairo_font_face_t *font_face;
+
+    if (!PyObject_TypeCheck (obj, &PycairoFontFace_Type)) {
+        PyErr_SetString (PyExc_TypeError, "Expected cairo.FontFace");
+        return -1;
+    }
+
+    font_face = ((PycairoFontFace*) obj)->font_face;
     if (!font_face) {
         return -1;
     }
@@ -272,7 +327,10 @@ cairo_font_options_to_arg (PyObject        *value,
 {
     cairo_font_options_t *font_options;
 
-    g_assert (transfer == GI_TRANSFER_NOTHING);
+    if (!PyObject_TypeCheck (value, &PycairoFontOptions_Type)) {
+        PyErr_SetString (PyExc_TypeError, "Expected cairo.FontOptions");
+        return NULL;
+    }
 
     font_options = ( (PycairoFontOptions*) value)->font_options;
     if (!font_options) {
@@ -280,6 +338,9 @@ cairo_font_options_to_arg (PyObject        *value,
         return NULL;
     }
 
+    if (transfer != GI_TRANSFER_NOTHING)
+        font_options = cairo_font_options_copy (font_options);
+
     arg->v_pointer = font_options;
     Py_RETURN_NONE;
 }
@@ -313,7 +374,14 @@ cairo_font_options_release (GIBaseInfo *base_info,
 static int
 cairo_scaled_font_to_gvalue (GValue *value, PyObject *obj)
 {
-    cairo_scaled_font_t *scaled_font = ((PycairoScaledFont*) obj)->scaled_font;
+    cairo_scaled_font_t *scaled_font;
+
+    if (!PyObject_TypeCheck (obj, &PycairoScaledFont_Type)) {
+        PyErr_SetString (PyExc_TypeError, "Expected cairo.ScaledFont");
+        return -1;
+    }
+
+    scaled_font = ((PycairoScaledFont*) obj)->scaled_font;
     if (!scaled_font) {
         return -1;
     }
@@ -344,7 +412,14 @@ cairo_scaled_font_from_gvalue (const GValue *value)
 static int
 cairo_pattern_to_gvalue (GValue *value, PyObject *obj)
 {
-    cairo_pattern_t *pattern = ((PycairoPattern*) obj)->pattern;
+    cairo_pattern_t *pattern;
+
+    if (!PyObject_TypeCheck (obj, &PycairoPattern_Type)) {
+        PyErr_SetString (PyExc_TypeError, "Expected cairo.Pattern");
+        return -1;
+    }
+
+    pattern = ((PycairoPattern*) obj)->pattern;
     if (!pattern) {
         return -1;
     }
@@ -367,8 +442,6 @@ cairo_pattern_from_gvalue (const GValue *value)
     return PycairoPattern_FromPattern (pattern, NULL);
 }
 
-#if defined(PycairoRegion_Type)
-
 static PyObject *
 cairo_region_to_arg (PyObject        *value,
                      GIInterfaceInfo *interface_info,
@@ -377,7 +450,10 @@ cairo_region_to_arg (PyObject        *value,
 {
     cairo_region_t *region;
 
-    g_assert (transfer == GI_TRANSFER_NOTHING);
+    if (!PyObject_TypeCheck (value, &PycairoRegion_Type)) {
+        PyErr_SetString (PyExc_TypeError, "Expected cairo.Region");
+        return NULL;
+    }
 
     region = ( (PycairoRegion*) value)->region;
     if (!region) {
@@ -385,6 +461,9 @@ cairo_region_to_arg (PyObject        *value,
         return NULL;
     }
 
+    if (transfer != GI_TRANSFER_NOTHING)
+        region = cairo_region_copy (region);
+
     arg->v_pointer = region;
     Py_RETURN_NONE;
 }
@@ -409,7 +488,53 @@ cairo_region_release (GIBaseInfo *base_info,
     cairo_region_destroy ( (cairo_region_t*) struct_);
     Py_RETURN_NONE;
 }
-#endif
+
+static PyObject *
+cairo_matrix_from_arg (GIInterfaceInfo *interface_info,
+                       GITransfer transfer,
+                       gpointer data)
+{
+    cairo_matrix_t *matrix = (cairo_matrix_t*) data;
+
+    if (transfer != GI_TRANSFER_NOTHING) {
+        PyErr_SetString(PyExc_TypeError, "Unsupported annotation (transfer full) for cairo.Matrix");
+        return NULL;
+    }
+
+    if (matrix == NULL) {
+        /* NULL in case of caller-allocates */
+        cairo_matrix_t temp = {0};
+        return PycairoMatrix_FromMatrix (&temp);
+    }
+
+    return PycairoMatrix_FromMatrix (matrix);
+}
+
+static PyObject *
+cairo_matrix_to_arg (PyObject        *value,
+                     GIInterfaceInfo *interface_info,
+                     GITransfer       transfer,
+                     GIArgument      *arg)
+{
+    cairo_matrix_t *matrix;
+
+    if (!PyObject_TypeCheck (value, &PycairoMatrix_Type)) {
+        PyErr_SetString (PyExc_TypeError, "Expected cairo.Matrix");
+        return NULL;
+    }
+
+    matrix = &(( (PycairoMatrix*) value)->matrix);
+
+    arg->v_pointer = matrix;
+    Py_RETURN_NONE;
+}
+
+static PyObject *
+cairo_matrix_release (GIBaseInfo *base_info,
+                      gpointer    struct_)
+{
+    Py_RETURN_NONE;
+}
 
 static PyMethodDef _gi_cairo_functions[] = { {0,} };
 PYGLIB_MODULE_START(_gi_cairo, "_gi_cairo")
@@ -426,6 +551,12 @@ PYGLIB_MODULE_START(_gi_cairo, "_gi_cairo")
     pygobject_init (3, 13, 2);
 
     pygi_register_foreign_struct ("cairo",
+                                  "Matrix",
+                                  cairo_matrix_to_arg,
+                                  cairo_matrix_from_arg,
+                                  cairo_matrix_release);
+
+    pygi_register_foreign_struct ("cairo",
                                   "Context",
                                   cairo_context_to_arg,
                                   cairo_context_from_arg,
@@ -449,13 +580,11 @@ PYGLIB_MODULE_START(_gi_cairo, "_gi_cairo")
                                   cairo_font_options_from_arg,
                                   cairo_font_options_release);
 
-#if defined(PycairoRegion_Type)
     pygi_register_foreign_struct ("cairo",
                                   "Region",
                                   cairo_region_to_arg,
                                   cairo_region_from_arg,
                                   cairo_region_release);
-#endif
 
     pyg_register_gtype_custom (CAIRO_GOBJECT_TYPE_CONTEXT,
                                cairo_context_from_gvalue,
index 84af1ec..7db28fd 100644 (file)
@@ -22,9 +22,7 @@
  * IN THE SOFTWARE.
  */
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
+#include <config.h>
 
 #include "pygobject-internal.h"
 #include "pygi-foreign.h"
@@ -207,10 +205,15 @@ pygi_require_foreign (PyObject *self, PyObject *args, PyObject *kwargs)
     Py_RETURN_NONE;
 }
 
-void
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
 pygi_foreign_init (void)
 {
     if (foreign_structs == NULL) {
         init_foreign_structs ();
     }
+
+    return 0;
 }
index afa4768..c155e4f 100644 (file)
@@ -48,6 +48,6 @@ PyObject *pygi_require_foreign    (PyObject *self,
                                    PyObject *args,
                                    PyObject *kwargs);
 
-void pygi_foreign_init (void);
+int pygi_foreign_init (void);
 
 #endif /* __PYGI_FOREIGN_H__ */
index e46f600..d52be76 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "pygi-python-compat.h"
 #include "pygi-info.h"
 #include "pygi-cache.h"
 #include "pygi-invoke.h"
 #include "pygi-type.h"
 #include "pygi-argument.h"
 #include "pygi-util.h"
-#include "pygtype.h"
-
-#include <pyglib-python-compat.h>
-
+#include "pygi-basictype.h"
+#include "pygi-type.h"
 
 /* _generate_doc_string
  *
@@ -41,7 +40,7 @@ _generate_doc_string(PyGIBaseInfo *self)
     static PyObject *_py_generate_doc_string = NULL;
 
     if (_py_generate_doc_string == NULL) {
-        PyObject *mod = PYGLIB_PyImport_ImportModule ("gi.docstring");
+        PyObject *mod = pygi_import_module ("gi.docstring");
         if (!mod)
             return NULL;
 
@@ -64,7 +63,7 @@ _get_info_string (PyGIBaseInfo *self,
     if (value == NULL) {
         Py_RETURN_NONE;
     }
-    return PYGLIB_PyUnicode_FromString (value);
+    return pygi_utf8_to_py (value);
 }
 
 static PyObject *
@@ -93,12 +92,9 @@ _get_child_info_by_name (PyGIBaseInfo *self, PyObject *py_name,
     PyObject *py_info;
     char *name;
 
-    if (!PYGLIB_PyUnicode_Check (py_name)) {
-        PyErr_SetString (PyExc_TypeError, "expected string name");
+    if (!pygi_utf8_from_py (py_name, &name))
         return NULL;
-    }
 
-    name = PYGLIB_PyUnicode_AsString (py_name);
     info = get_child_info_by_name ((GIObjectInfo*)self->info, name);
     if (info == NULL) {
         Py_RETURN_NONE;
@@ -278,7 +274,7 @@ _pygi_is_python_keyword (const gchar *name)
 static PyObject *
 _wrap_g_base_info_get_type (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_base_info_get_type (self->info));
+    return pygi_guint_to_py (g_base_info_get_type (self->info));
 }
 
 static PyObject *
@@ -291,12 +287,12 @@ _wrap_g_base_info_get_name (PyGIBaseInfo *self)
     /* escape keywords */
     if (_pygi_is_python_keyword (name)) {
         gchar *escaped = g_strconcat (name, "_", NULL);
-        PyObject *obj = PYGLIB_PyUnicode_FromString (escaped);
+        PyObject *obj = pygi_utf8_to_py (escaped);
         g_free (escaped);
         return obj;
     }
 
-    return PYGLIB_PyUnicode_FromString (name);
+    return pygi_utf8_to_py (name);
 }
 
 static PyObject *
@@ -326,17 +322,14 @@ _wrap_g_base_info_get_attribute (PyGIBaseInfo *self, PyObject *arg)
     char *name;
     const char *value;
 
-    if (!PYGLIB_PyUnicode_Check (arg)) {
-        PyErr_SetString (PyExc_TypeError, "expected string name");
+    if (!pygi_utf8_from_py (arg, &name))
         return NULL;
-    }
 
-    name = PYGLIB_PyUnicode_AsString (arg);
     value = g_base_info_get_attribute (self->info, name);
     if (value == NULL) {
         Py_RETURN_NONE;
     }
-    return PYGLIB_PyUnicode_FromString (value);
+    return pygi_utf8_to_py (value);
 }
 
 static PyObject *
@@ -720,21 +713,21 @@ _wrap_g_callable_info_get_return_type (PyGIBaseInfo *self)
 static PyObject *
 _wrap_g_callable_info_get_caller_owns (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (
+    return pygi_guint_to_py (
             g_callable_info_get_caller_owns (self->info) );
 }
 
 static PyObject *
 _wrap_g_callable_info_may_return_null (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (
+    return pygi_gboolean_to_py (
             g_callable_info_may_return_null (self->info) );
 }
 
 static PyObject *
 _wrap_g_callable_info_skip_return (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (g_callable_info_skip_return (self->info));
+    return pygi_gboolean_to_py (g_callable_info_skip_return (self->info));
 }
 
 static PyObject *
@@ -743,15 +736,12 @@ _wrap_g_callable_info_get_return_attribute (PyGIBaseInfo *self, PyObject *py_nam
     gchar *name;
     const gchar *attr;
 
-    if (!PYGLIB_PyUnicode_Check (py_name)) {
-        PyErr_SetString (PyExc_TypeError, "expected string name");
+    if (!pygi_utf8_from_py (py_name, &name))
         return NULL;
-    }
 
-    name = PYGLIB_PyUnicode_AsString (py_name);
     attr = g_callable_info_get_return_attribute (self->info, name);
     if (attr) {
-        return PYGLIB_PyUnicode_FromString (
+        return pygi_utf8_to_py (
                 g_callable_info_get_return_attribute (self->info, name));
     } else {
         PyErr_Format(PyExc_AttributeError, "return attribute %s not found", name);
@@ -800,7 +790,7 @@ PYGLIB_DEFINE_TYPE ("gi.SignalInfo", PyGISignalInfo_Type, PyGICallableInfo);
 static PyObject *
 _wrap_g_signal_info_get_flags (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (
+    return pygi_guint_to_py (
             g_signal_info_get_flags ((GISignalInfo *)self->info) );
 }
 
@@ -813,7 +803,7 @@ _wrap_g_signal_info_get_class_closure (PyGIBaseInfo *self)
 static PyObject *
 _wrap_g_signal_info_true_stops_emit (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (
+    return pygi_gboolean_to_py (
             g_signal_info_true_stops_emit ((GISignalInfo *)self->info) );
 }
 
@@ -830,7 +820,7 @@ PYGLIB_DEFINE_TYPE ("gi.PropertyInfo", PyGIPropertyInfo_Type, PyGIBaseInfo);
 static PyObject *
 _wrap_g_property_info_get_flags (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (
+    return pygi_guint_to_py (
             g_property_info_get_flags ((GIPropertyInfo *)self->info) );
 }
 
@@ -843,7 +833,7 @@ _wrap_g_property_info_get_type (PyGIBaseInfo *self)
 static PyObject *
 _wrap_g_property_info_get_ownership_transfer (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (
+    return pygi_guint_to_py (
             g_property_info_get_ownership_transfer ((GIPropertyInfo *)self->info) );
 }
 
@@ -861,63 +851,63 @@ PYGLIB_DEFINE_TYPE ("gi.ArgInfo", PyGIArgInfo_Type, PyGIBaseInfo);
 static PyObject *
 _wrap_g_arg_info_get_direction (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (
+    return pygi_guint_to_py (
            g_arg_info_get_direction ((GIArgInfo*)self->info) );
 }
 
 static PyObject *
 _wrap_g_arg_info_is_caller_allocates (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (
+    return pygi_gboolean_to_py (
            g_arg_info_is_caller_allocates ((GIArgInfo*)self->info) );
 }
 
 static PyObject *
 _wrap_g_arg_info_is_return_value (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (
+    return pygi_gboolean_to_py (
            g_arg_info_is_return_value ((GIArgInfo*)self->info) );
 }
 
 static PyObject *
 _wrap_g_arg_info_is_optional (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (
+    return pygi_gboolean_to_py (
            g_arg_info_is_optional ((GIArgInfo*)self->info) );
 }
 
 static PyObject *
 _wrap_g_arg_info_may_be_null (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (
+    return pygi_gboolean_to_py (
            g_arg_info_may_be_null ((GIArgInfo*)self->info) );
 }
 
 static PyObject *
 _wrap_g_arg_info_get_ownership_transfer (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (
+    return pygi_guint_to_py (
             g_arg_info_get_ownership_transfer ((GIArgInfo *)self->info) );
 }
 
 static PyObject *
 _wrap_g_arg_info_get_scope (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (
+    return pygi_guint_to_py (
             g_arg_info_get_scope ((GIArgInfo *)self->info) );
 }
 
 static PyObject *
 _wrap_g_arg_info_get_closure (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (
+    return pygi_gint_to_py (
             g_arg_info_get_closure ((GIArgInfo *)self->info) );
 }
 
 static PyObject *
 _wrap_g_arg_info_get_destroy (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (
+    return pygi_gint_to_py (
             g_arg_info_get_destroy ((GIArgInfo *)self->info) );
 }
 
@@ -948,20 +938,20 @@ PYGLIB_DEFINE_TYPE ("gi.TypeInfo", PyGITypeInfo_Type, PyGIBaseInfo);
 static PyObject *
 _wrap_g_type_info_is_pointer (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (g_type_info_is_pointer (self->info));
+    return pygi_gboolean_to_py (g_type_info_is_pointer (self->info));
 }
 
 static PyObject *
 _wrap_g_type_info_get_tag (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_type_info_get_tag (self->info));
+    return pygi_guint_to_py (g_type_info_get_tag (self->info));
 }
 
 static PyObject *
 _wrap_g_type_info_get_tag_as_string (PyGIBaseInfo *self)
 {
     GITypeTag tag = g_type_info_get_tag (self->info);
-    return PYGLIB_PyUnicode_FromString (g_type_tag_to_string(tag));
+    return pygi_utf8_to_py (g_type_tag_to_string(tag));
 }
 
 static PyObject *
@@ -971,12 +961,9 @@ _wrap_g_type_info_get_param_type (PyGIBaseInfo *self, PyObject *py_n)
     PyObject *py_info;
     gint n;
 
-    if (!PYGLIB_PyLong_Check (py_n)) {
-        PyErr_SetString(PyExc_TypeError, "expected integer value");
+    if (!pygi_gint_from_py (py_n, &n))
         return NULL;
-    }
 
-    n = PYGLIB_PyLong_AsLong (py_n);
     info = (GIBaseInfo *) g_type_info_get_param_type ( (GITypeInfo *) self->info, n);
     if (info == NULL) {
         Py_RETURN_NONE;
@@ -996,25 +983,25 @@ _wrap_g_type_info_get_interface (PyGIBaseInfo *self)
 static PyObject *
 _wrap_g_type_info_get_array_length (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_type_info_get_array_length (self->info));
+    return pygi_gint_to_py (g_type_info_get_array_length (self->info));
 }
 
 static PyObject *
 _wrap_g_type_info_get_array_fixed_size (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_type_info_get_array_fixed_size (self->info));
+    return pygi_gint_to_py (g_type_info_get_array_fixed_size (self->info));
 }
 
 static PyObject *
 _wrap_g_type_info_is_zero_terminated (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (g_type_info_is_zero_terminated (self->info));
+    return pygi_gboolean_to_py (g_type_info_is_zero_terminated (self->info));
 }
 
 static PyObject *
 _wrap_g_type_info_get_array_type (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_type_info_get_array_type (self->info));
+    return pygi_guint_to_py (g_type_info_get_array_type (self->info));
 }
 
 static PyMethodDef _PyGITypeInfo_methods[] = {
@@ -1043,7 +1030,7 @@ _wrap_g_function_info_is_constructor (PyGIBaseInfo *self)
     flags = g_function_info_get_flags ( (GIFunctionInfo*) self->info);
     is_constructor = flags & GI_FUNCTION_IS_CONSTRUCTOR;
 
-    return PyBool_FromLong (is_constructor);
+    return pygi_gboolean_to_py (is_constructor);
 }
 
 static PyObject *
@@ -1055,7 +1042,7 @@ _wrap_g_function_info_is_method (PyGIBaseInfo *self)
     flags = g_function_info_get_flags ( (GIFunctionInfo*) self->info);
     is_method = flags & GI_FUNCTION_IS_METHOD;
 
-    return PyBool_FromLong (is_method);
+    return pygi_gboolean_to_py (is_method);
 }
 
 gsize
@@ -1225,7 +1212,7 @@ _wrap_g_function_info_get_symbol (PyGIBaseInfo *self)
 static PyObject *
 _wrap_g_function_info_get_flags (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_function_info_get_flags (self->info));
+    return pygi_guint_to_py (g_function_info_get_flags (self->info));
 }
 
 static PyObject *
@@ -1301,25 +1288,25 @@ _wrap_g_struct_info_get_methods (PyGIBaseInfo *self)
 static PyObject *
 _wrap_g_struct_info_get_size (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromSize_t (g_struct_info_get_size (self->info));
+    return pygi_gsize_to_py (g_struct_info_get_size (self->info));
 }
 
 static PyObject *
 _wrap_g_struct_info_get_alignment (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromSize_t (g_struct_info_get_alignment (self->info));
+    return pygi_gsize_to_py (g_struct_info_get_alignment (self->info));
 }
 
 static PyObject *
 _wrap_g_struct_info_is_gtype_struct (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (g_struct_info_is_gtype_struct (self->info));
+    return pygi_gboolean_to_py (g_struct_info_is_gtype_struct (self->info));
 }
 
 static PyObject *
 _wrap_g_struct_info_is_foreign (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (g_struct_info_is_foreign (self->info));
+    return pygi_gboolean_to_py (g_struct_info_is_foreign (self->info));
 }
 
 static PyMethodDef _PyGIStructInfo_methods[] = {
@@ -1336,8 +1323,8 @@ gboolean
 pygi_g_struct_info_is_simple (GIStructInfo *struct_info)
 {
     gboolean is_simple;
-    gsize n_field_infos;
-    gsize i;
+    gint n_field_infos;
+    gint i;
 
     is_simple = TRUE;
 
@@ -1478,7 +1465,7 @@ _wrap_g_enum_info_get_methods (PyGIBaseInfo *self)
 static PyObject *
 _wrap_g_enum_info_get_storage_type (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_enum_info_get_storage_type ((GIBaseInfo *) self->info));
+    return pygi_guint_to_py (g_enum_info_get_storage_type ((GIBaseInfo *) self->info));
 }
 
 static PyMethodDef _PyGIEnumInfo_methods[] = {
@@ -1551,7 +1538,7 @@ static PyObject *
 _wrap_g_object_info_get_abstract (PyGIBaseInfo *self)
 {
     gboolean is_abstract  = g_object_info_get_abstract ( (GIObjectInfo*) self->info);
-    return PyBool_FromLong (is_abstract);
+    return pygi_gboolean_to_py (is_abstract);
 }
 
 static PyObject *
@@ -1569,7 +1556,7 @@ _wrap_g_object_info_get_type_init (PyGIBaseInfo *self)
 static PyObject *
 _wrap_g_object_info_get_fundamental (PyGIBaseInfo *self)
 {
-    return PyBool_FromLong (g_object_info_get_fundamental ( (GIObjectInfo*) self->info));
+    return pygi_gboolean_to_py (g_object_info_get_fundamental ( (GIObjectInfo*) self->info));
 }
 
 static PyObject *
@@ -1755,11 +1742,11 @@ PYGLIB_DEFINE_TYPE ("gi.ValueInfo", PyGIValueInfo_Type, PyGIBaseInfo);
 static PyObject *
 _wrap_g_value_info_get_value (PyGIBaseInfo *self)
 {
-    glong value;
+    gint64 value;
 
     value = g_value_info_get_value ( (GIValueInfo *) self->info);
 
-    return PYGLIB_PyLong_FromLong (value);
+    return pygi_gint64_to_py (value);
 }
 
 
@@ -1784,13 +1771,13 @@ _struct_field_array_length_marshal (gsize length_index,
 
     switch (g_base_info_get_type (container_info)) {
         case GI_INFO_TYPE_UNION:
-            array_len_field = g_union_info_get_field ((GIUnionInfo *)container_info, length_index);
+            array_len_field = g_union_info_get_field ((GIUnionInfo *)container_info, (gint)length_index);
             break;
         case GI_INFO_TYPE_STRUCT:
-            array_len_field = g_struct_info_get_field ((GIStructInfo *)container_info, length_index);
+            array_len_field = g_struct_info_get_field ((GIStructInfo *)container_info, (gint)length_index);
             break;
         case GI_INFO_TYPE_OBJECT:
-            array_len_field = g_object_info_get_field ((GIObjectInfo *)container_info, length_index);
+            array_len_field = g_object_info_get_field ((GIObjectInfo *)container_info, (gint)length_index);
             break;
         default:
             /* Other types don't have fields. */
@@ -1844,9 +1831,9 @@ _pygi_g_registered_type_info_check_object (GIRegisteredTypeInfo *info,
 
     g_type = g_registered_type_info_get_g_type (info);
     if (g_type != G_TYPE_NONE) {
-        py_type = _pygi_type_get_from_g_type (g_type);
+        py_type = pygi_type_get_from_g_type (g_type);
     } else {
-        py_type = _pygi_type_import_by_gi_info ( (GIBaseInfo *) info);
+        py_type = pygi_type_import_by_gi_info ( (GIBaseInfo *) info);
     }
 
     if (py_type == NULL) {
@@ -2148,19 +2135,19 @@ out:
 static PyObject *
 _wrap_g_field_info_get_flags (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_field_info_get_flags (self->info));
+    return pygi_guint_to_py (g_field_info_get_flags (self->info));
 }
 
 static PyObject *
 _wrap_g_field_info_get_size (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_field_info_get_size (self->info));
+    return pygi_gint_to_py (g_field_info_get_size (self->info));
 }
 
 static PyObject *
 _wrap_g_field_info_get_offset (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_field_info_get_offset (self->info));
+    return pygi_gint_to_py (g_field_info_get_offset (self->info));
 }
 
 static PyObject *
@@ -2193,13 +2180,13 @@ PYGLIB_DEFINE_TYPE ("gi.VFuncInfo", PyGIVFuncInfo_Type, PyGICallableInfo);
 static PyObject *
 _wrap_g_vfunc_info_get_flags (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_vfunc_info_get_flags ((GIVFuncInfo *) self->info));
+    return pygi_guint_to_py (g_vfunc_info_get_flags ((GIVFuncInfo *) self->info));
 }
 
 static PyObject *
 _wrap_g_vfunc_info_get_offset (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromLong (g_vfunc_info_get_offset ((GIVFuncInfo *) self->info));
+    return pygi_gint_to_py (g_vfunc_info_get_offset ((GIVFuncInfo *) self->info));
 }
 
 static PyObject *
@@ -2241,7 +2228,7 @@ _wrap_g_union_info_get_methods (PyGIBaseInfo *self)
 static PyObject *
 _wrap_g_union_info_get_size (PyGIBaseInfo *self)
 {
-    return PYGLIB_PyLong_FromSize_t (g_union_info_get_size (self->info));
+    return pygi_gsize_to_py (g_union_info_get_size (self->info));
 }
 
 static PyMethodDef _PyGIUnionInfo_methods[] = {
@@ -2279,8 +2266,11 @@ _pygi_g_base_info_get_fullname (GIBaseInfo *info)
 }
 
 
-void
-_pygi_info_register_types (PyObject *m)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_info_register_types (PyObject *m)
 {
 #define _PyGI_REGISTER_TYPE(m, type, cname, base) \
     Py_TYPE(&type) = &PyType_Type; \
@@ -2288,10 +2278,13 @@ _pygi_info_register_types (PyObject *m)
     type.tp_weaklistoffset = offsetof(PyGIBaseInfo, inst_weakreflist); \
     type.tp_methods = _PyGI##cname##_methods; \
     type.tp_base = &base; \
-    if (PyType_Ready(&type)) \
-        return; \
-    if (PyModule_AddObject(m, #cname, (PyObject *)&type)) \
-        return
+    if (PyType_Ready(&type) < 0) \
+        return -1; \
+    Py_INCREF ((PyObject *)&type); \
+    if (PyModule_AddObject(m, #cname, (PyObject *)&type) < 0) { \
+        Py_DECREF ((PyObject *)&type); \
+        return -1; \
+    };
 
     Py_TYPE(&PyGIBaseInfo_Type) = &PyType_Type;
 
@@ -2304,24 +2297,27 @@ _pygi_info_register_types (PyObject *m)
     PyGIBaseInfo_Type.tp_getset = _base_info_getsets;
     PyGIBaseInfo_Type.tp_getattro = (getattrofunc) _base_info_getattro;
 
-    if (PyType_Ready(&PyGIBaseInfo_Type))
-        return;
-    if (PyModule_AddObject(m, "BaseInfo", (PyObject *)&PyGIBaseInfo_Type))
-        return;
+    if (PyType_Ready(&PyGIBaseInfo_Type) < 0)
+        return -1;
+    Py_INCREF ((PyObject *)&PyGIBaseInfo_Type);
+    if (PyModule_AddObject(m, "BaseInfo", (PyObject *)&PyGIBaseInfo_Type) < 0) {
+        Py_DECREF ((PyObject *)&PyGIBaseInfo_Type);
+        return -1;
+    }
 
-    _PyGI_REGISTER_TYPE (m, PyGICallableInfo_Type, CallableInfo,
-                         PyGIBaseInfo_Type);
     PyGICallableInfo_Type.tp_call = (ternaryfunc) _callable_info_call;
     PyGICallableInfo_Type.tp_dealloc = (destructor) _callable_info_dealloc;
+    _PyGI_REGISTER_TYPE (m, PyGICallableInfo_Type, CallableInfo,
+                         PyGIBaseInfo_Type);
 
-    _PyGI_REGISTER_TYPE (m, PyGIFunctionInfo_Type, FunctionInfo,
-                         PyGICallableInfo_Type);
     PyGIFunctionInfo_Type.tp_call = (ternaryfunc) _function_info_call;
     PyGIFunctionInfo_Type.tp_descr_get = (descrgetfunc) _function_info_descr_get;
+    _PyGI_REGISTER_TYPE (m, PyGIFunctionInfo_Type, FunctionInfo,
+                         PyGICallableInfo_Type);
 
+    PyGIVFuncInfo_Type.tp_descr_get = (descrgetfunc) _vfunc_info_descr_get;
     _PyGI_REGISTER_TYPE (m, PyGIVFuncInfo_Type, VFuncInfo,
                          PyGICallableInfo_Type);
-    PyGIVFuncInfo_Type.tp_descr_get = (descrgetfunc) _vfunc_info_descr_get;
 
     _PyGI_REGISTER_TYPE (m, PyGISignalInfo_Type, SignalInfo,
                          PyGICallableInfo_Type);
@@ -2370,11 +2366,11 @@ _pygi_info_register_types (PyObject *m)
             Py_DECREF (__module_name);
 
 #define _PyGI_ENUM_ADD_VALUE(prefix, name) \
-            __enum_value = PYGLIB_PyLong_FromLong (prefix##_##name); \
-            if (PyDict_SetItemString(__enum_instance_dict, #name, __enum_value)) { \
+            __enum_value = pygi_guint_to_py (prefix##_##name); \
+            if (PyDict_SetItemString(__enum_instance_dict, #name, __enum_value) < 0) { \
                 Py_DECREF (__enum_instance_dict); \
                 Py_DECREF (__enum_value); \
-                return; \
+                return -1; \
             } \
             Py_DECREF (__enum_value);
 
@@ -2500,4 +2496,5 @@ _pygi_info_register_types (PyObject *m)
 #undef _PyGI_ENUM_ADD_VALUE
 #undef _PyGI_ENUM_END
 
+    return 0;
 }
index 16371c8..12ef491 100644 (file)
@@ -86,7 +86,7 @@ gchar* _pygi_g_base_info_get_fullname (GIBaseInfo *info);
 gsize _pygi_g_type_tag_size (GITypeTag type_tag);
 gsize _pygi_g_type_info_size (GITypeInfo *type_info);
 
-void _pygi_info_register_types (PyObject *m);
+int pygi_info_register_types (PyObject *m);
 
 gboolean _pygi_is_python_keyword (const gchar *name);
 
index fca48ba..d5956c6 100644 (file)
@@ -20,7 +20,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <pyglib.h>
 #include "pygi-invoke.h"
 #include "pygi-marshal-cleanup.h"
 #include "pygi-error.h"
@@ -335,7 +334,7 @@ _caller_alloc (PyGIArgCache *arg_cache, GIArgument *arg)
         arg->v_pointer = NULL;
         if (g_type_is_a (iface_cache->g_type, G_TYPE_BOXED)) {
             arg->v_pointer =
-                _pygi_boxed_alloc (iface_cache->interface_info, NULL);
+                pygi_boxed_alloc (iface_cache->interface_info, NULL);
         } else if (iface_cache->g_type == G_TYPE_VALUE) {
             arg->v_pointer = g_slice_new0 (GValue);
         } else if (iface_cache->is_foreign) {
@@ -357,7 +356,7 @@ _caller_alloc (PyGIArgCache *arg_cache, GIArgument *arg)
     } else if (arg_cache->type_tag == GI_TYPE_TAG_ARRAY) {
         PyGIArgGArray *array_cache = (PyGIArgGArray *)arg_cache;
 
-        arg->v_pointer = g_array_new (TRUE, TRUE, array_cache->item_size);
+        arg->v_pointer = g_array_new (TRUE, TRUE, (guint)array_cache->item_size);
     } else {
         return FALSE;
     }
index e8808fc..b298623 100644 (file)
@@ -238,8 +238,8 @@ _pygi_marshal_to_py_glist (PyGIInvokeState   *state,
                            gpointer          *cleanup_data)
 {
     GList *list_;
-    gsize length;
-    gsize i;
+    guint length;
+    guint i;
     GPtrArray *item_cleanups;
 
     PyGIMarshalToPyFunc item_to_py_marshaller;
@@ -278,7 +278,7 @@ _pygi_marshal_to_py_glist (PyGIInvokeState   *state,
 
         if (py_item == NULL) {
             Py_CLEAR (py_obj);
-            _PyGI_ERROR_PREFIX ("Item %zu: ", i);
+            _PyGI_ERROR_PREFIX ("Item %u: ", i);
             g_ptr_array_unref (item_cleanups);
             return NULL;
         }
@@ -297,8 +297,8 @@ _pygi_marshal_to_py_gslist (PyGIInvokeState   *state,
                             gpointer *cleanup_data)
 {
     GSList *list_;
-    gsize length;
-    gsize i;
+    guint length;
+    guint i;
     GPtrArray *item_cleanups;
 
     PyGIMarshalToPyFunc item_to_py_marshaller;
@@ -336,7 +336,7 @@ _pygi_marshal_to_py_gslist (PyGIInvokeState   *state,
         g_ptr_array_index (item_cleanups, i) = item_cleanup_data;
         if (py_item == NULL) {
             Py_CLEAR (py_obj);
-            _PyGI_ERROR_PREFIX ("Item %zu: ", i);
+            _PyGI_ERROR_PREFIX ("Item %u: ", i);
             g_ptr_array_unref (item_cleanups);
             return NULL;
         }
index 96bbad6..98fbe47 100644 (file)
@@ -92,14 +92,14 @@ void
 pygi_marshal_cleanup_args_from_py_marshal_success (PyGIInvokeState   *state,
                                                    PyGICallableCache *cache)
 {
-    gssize i;
+    guint i;
     PyObject *error_type, *error_value, *error_traceback;
     gboolean have_error = !!PyErr_Occurred ();
 
     if (have_error)
         PyErr_Fetch (&error_type, &error_value, &error_traceback);
 
-    for (i = 0; (gsize)i < _pygi_callable_cache_args_len (cache); i++) {
+    for (i = 0; i < _pygi_callable_cache_args_len (cache); i++) {
         PyGIArgCache *arg_cache = _pygi_callable_cache_get_arg (cache, i);
         PyGIMarshalCleanupFunc cleanup_func = arg_cache->from_py_cleanup;
         gpointer cleanup_data = state->args[i].arg_cleanup_data;
@@ -179,7 +179,7 @@ pygi_marshal_cleanup_args_from_py_parameter_fail (PyGIInvokeState   *state,
                                                   PyGICallableCache *cache,
                                                   gssize failed_arg_index)
 {
-    gssize i;
+    guint i;
     PyObject *error_type, *error_value, *error_traceback;
     gboolean have_error = !!PyErr_Occurred ();
 
@@ -188,7 +188,7 @@ pygi_marshal_cleanup_args_from_py_parameter_fail (PyGIInvokeState   *state,
 
     state->failed = TRUE;
 
-    for (i = 0; (gsize)i < _pygi_callable_cache_args_len (cache)  && i <= failed_arg_index; i++) {
+    for (i = 0; i < _pygi_callable_cache_args_len (cache)  && i <= (guint)failed_arg_index; i++) {
         PyGIArgCache *arg_cache = _pygi_callable_cache_get_arg (cache, i);
         PyGIMarshalCleanupFunc cleanup_func = arg_cache->from_py_cleanup;
         gpointer cleanup_data = state->args[i].arg_cleanup_data;
@@ -205,7 +205,7 @@ pygi_marshal_cleanup_args_from_py_parameter_fail (PyGIInvokeState   *state,
                           arg_cache,
                           py_arg,
                           cleanup_data,
-                          i < failed_arg_index);
+                          i < (guint)failed_arg_index);
 
         } else if (arg_cache->is_caller_allocates && cleanup_data != NULL) {
             _cleanup_caller_allocates (state,
index 80c9055..07fd599 100644 (file)
@@ -20,8 +20,8 @@
 
 #include <Python.h>
 #include <glib.h>
-#include <pyglib-python-compat.h>
 
+#include "pygi-python-compat.h"
 #include "pygi-object.h"
 #include "pygobject-object.h"
 #include "pygparamspec.h"
index c4f3e4a..b2f36c6 100644 (file)
@@ -25,7 +25,7 @@
 #include "pygi-value.h"
 #include "pygi-argument.h"
 #include "pygparamspec.h"
-#include "pygtype.h"
+#include "pygi-type.h"
 
 #include <girepository.h>
 
@@ -33,7 +33,7 @@ static GIPropertyInfo *
 lookup_property_from_object_info (GIObjectInfo *info, const gchar *attr_name)
 {
     gssize n_infos;
-    gssize i;
+    gint i;
 
     n_infos = g_object_info_get_n_properties (info);
     for (i = 0; i < n_infos; i++) {
@@ -57,7 +57,7 @@ lookup_property_from_interface_info (GIInterfaceInfo *info,
                                      const gchar *attr_name)
 {
     gssize n_infos;
-    gssize i;
+    gint i;
 
     n_infos = g_interface_info_get_n_properties (info);
     for (i = 0; i < n_infos; i++) {
@@ -126,6 +126,7 @@ pygi_get_property_value (PyGObject *instance, GParamSpec *pspec)
     GValue value = { 0, };
     PyObject *py_value = NULL;
     GType fundamental;
+    gboolean handled;
 
     if (!(pspec->flags & G_PARAM_READABLE)) {
         PyErr_Format(PyExc_TypeError, "property %s is not readable",
@@ -147,8 +148,8 @@ pygi_get_property_value (PyGObject *instance, GParamSpec *pspec)
 
 
     /* Fast path basic types which don't need GI type info. */
-    py_value = pygi_value_to_py_basic_type (&value, fundamental);
-    if (py_value) {
+    py_value = pygi_value_to_py_basic_type (&value, fundamental, &handled);
+    if (handled) {
         goto out;
     }
 
similarity index 90%
rename from gi/pyglib-python-compat.h
rename to gi/pygi-python-compat.h
index cf0ebb4..78c6660 100644 (file)
 # define PYGLIB_CPointer_Import(module, symbol) \
     PyCapsule_Import(##module##.##symbol##, FALSE)
 
-
 #define PYGLIB_MODULE_ERROR_RETURN NULL
 
+#ifdef __GNUC__
+#define PYGI_MODINIT_FUNC __attribute__((visibility("default"))) PyMODINIT_FUNC
+#else
+#define PYGI_MODINIT_FUNC PyMODINIT_FUNC
+#endif
+
 /* Compilation on Python 2.x */
 #if PY_VERSION_HEX < 0x03000000
 
@@ -92,8 +97,8 @@
 
 #define PYGLIB_MODULE_START(symbol, modname)           \
 PyObject * pyglib_##symbol##_module_create(void);       \
-DL_EXPORT(void) init##symbol(void);                     \
-DL_EXPORT(void) init##symbol(void) {                    \
+PYGI_MODINIT_FUNC init##symbol(void);                   \
+PYGI_MODINIT_FUNC init##symbol(void) {                  \
     pyglib_##symbol##_module_create();                  \
 };                                                      \
 PyObject * pyglib_##symbol##_module_create(void)        \
@@ -118,24 +123,9 @@ PyTypeObject symbol = {                                 \
     if (!type.tp_new)                                   \
        type.tp_new = PyType_GenericNew;                \
     if (PyType_Ready(&type))                            \
-       return;                                         \
+       return -1;                                         \
     PyDict_SetItemString(d, name, (PyObject *)&type);
 
-/* Better alternative to PyImport_ImportModule which tries to import from
- * sys.modules first */
-static inline PyObject *
-PYGLIB_PyImport_ImportModule(const char *name)
-{
-    /* see PyImport_ImportModuleNoBlock
-     * https://github.com/python/cpython/blob/2.7/Python/import.c#L2166-L2206 */
-    PyObject *result = PyImport_ImportModuleNoBlock(name);
-    if (result)
-        return result;
-
-    PyErr_Clear();
-    return PyImport_ImportModule(name);
-}
-
 #else
 
 #define PYGLIB_MODULE_START(symbol, modname)           \
@@ -151,8 +141,8 @@ PYGLIB_PyImport_ImportModule(const char *name)
     NULL                                                \
 };                                                      \
 PyObject * pyglib_##symbol##_module_create(void);       \
-PyMODINIT_FUNC PyInit_##symbol(void);                   \
-PyMODINIT_FUNC PyInit_##symbol(void) {                  \
+PYGI_MODINIT_FUNC PyInit_##symbol(void);                \
+PYGI_MODINIT_FUNC PyInit_##symbol(void) {               \
     return pyglib_##symbol##_module_create();           \
 };                                                      \
 PyObject * pyglib_##symbol##_module_create(void)        \
@@ -175,11 +165,9 @@ PyTypeObject symbol = {                                 \
     if (!type.tp_new)                                   \
            type.tp_new = PyType_GenericNew;                \
     if (PyType_Ready(&type))                            \
-           return;                                         \
+           return -1;                                         \
     PyDict_SetItemString(d, name, (PyObject *)&type);
 
-#define PYGLIB_PyImport_ImportModule PyImport_ImportModule
-
 #define PYGLIB_PyBaseString_Check PyUnicode_Check
 
 #define PYGLIB_PyUnicode_Check PyUnicode_Check
index 62ef3b6..133f89c 100644 (file)
@@ -21,8 +21,8 @@
 
 #include "pygi-repository.h"
 #include "pygi-info.h"
-
-#include <pyglib-python-compat.h>
+#include "pygi-basictype.h"
+#include "pygi-python-compat.h"
 
 PyObject *PyGIRepositoryError;
 
@@ -47,7 +47,7 @@ _wrap_g_irepository_enumerate_versions (PyGIRepository *self,
     ret = PyList_New(0);
     for (item = versions; item; item = item->next) {
         char *version = item->data;
-        PyObject *py_version = PYGLIB_PyUnicode_FromString (version);
+        PyObject *py_version = pygi_utf8_to_py (version);
         PyList_Append(ret, py_version);
         Py_DECREF(py_version);
         g_free (version);
@@ -122,8 +122,8 @@ _wrap_g_irepository_is_registered (PyGIRepository *self,
         return NULL;
     }
 
-    return PyBool_FromLong (g_irepository_is_registered (self->repository,
-                                                         namespace_, version));
+    return pygi_gboolean_to_py (g_irepository_is_registered (self->repository,
+                                                             namespace_, version));
 }
 
 static PyObject *
@@ -181,7 +181,7 @@ _wrap_g_irepository_get_infos (PyGIRepository *self,
     const char *namespace_;
     gssize n_infos;
     PyObject *infos;
-    gssize i;
+    gint i;
 
     if (!PyArg_ParseTupleAndKeywords (args, kwargs, "s:Repository.get_infos",
                                       kwlist, &namespace_)) {
@@ -238,7 +238,7 @@ _wrap_g_irepository_get_typelib_path (PyGIRepository *self,
         return NULL;
     }
 
-    return PYGLIB_PyBytes_FromString (typelib_path);
+    return pygi_filename_to_py (typelib_path);
 }
 
 static PyObject *
@@ -261,7 +261,7 @@ _wrap_g_irepository_get_version (PyGIRepository *self,
         return NULL;
     }
 
-    return PYGLIB_PyUnicode_FromString (version);
+    return pygi_utf8_to_py (version);
 }
 
 static PyObject *
@@ -275,7 +275,7 @@ _wrap_g_irepository_get_loaded_namespaces (PyGIRepository *self)
 
     py_namespaces = PyList_New (0);
     for (i = 0; namespaces[i] != NULL; i++) {
-        PyObject *py_namespace = PYGLIB_PyUnicode_FromString (namespaces[i]);
+        PyObject *py_namespace = pygi_utf8_to_py (namespaces[i]);
         PyList_Append (py_namespaces, py_namespace);
         Py_DECREF(py_namespace);
         g_free (namespaces[i]);
@@ -310,7 +310,7 @@ _wrap_g_irepository_get_dependencies (PyGIRepository *self,
     }
 
     for (i = 0; namespaces[i] != NULL; i++) {
-        PyObject *py_namespace = PYGLIB_PyUnicode_FromString (namespaces[i]);
+        PyObject *py_namespace = pygi_utf8_to_py (namespaces[i]);
         PyList_Append (py_namespaces, py_namespace);
         Py_DECREF(py_namespace);
     }
@@ -343,7 +343,7 @@ _wrap_g_irepository_get_immediate_dependencies (PyGIRepository *self,
                                                            namespace_);
 
     for (i = 0; namespaces[i] != NULL; i++) {
-        PyObject *py_namespace = PYGLIB_PyUnicode_FromString (namespaces[i]);
+        PyObject *py_namespace = pygi_utf8_to_py (namespaces[i]);
         PyList_Append (py_namespaces, py_namespace);
         Py_DECREF (py_namespace);
     }
@@ -369,25 +369,35 @@ static PyMethodDef _PyGIRepository_methods[] = {
     { NULL, NULL, 0 }
 };
 
-void
-_pygi_repository_register_types (PyObject *m)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_repository_register_types (PyObject *m)
 {
     Py_TYPE(&PyGIRepository_Type) = &PyType_Type;
 
     PyGIRepository_Type.tp_flags = Py_TPFLAGS_DEFAULT;
     PyGIRepository_Type.tp_methods = _PyGIRepository_methods;
 
-    if (PyType_Ready (&PyGIRepository_Type)) {
-        return;
-    }
+    if (PyType_Ready (&PyGIRepository_Type) < 0)
+        return -1;
 
-    if (PyModule_AddObject (m, "Repository", (PyObject *) &PyGIRepository_Type)) {
-        return;
+    Py_INCREF ((PyObject *) &PyGIRepository_Type);
+    if (PyModule_AddObject (m, "Repository", (PyObject *) &PyGIRepository_Type) < 0) {
+        Py_DECREF ((PyObject *) &PyGIRepository_Type);
+        return -1;
     }
 
     PyGIRepositoryError = PyErr_NewException ("gi.RepositoryError", NULL, NULL);
-    if (PyModule_AddObject (m, "RepositoryError", PyGIRepositoryError)) {
-        return;
+    if (PyGIRepositoryError == NULL)
+        return -1;
+
+    Py_INCREF (PyGIRepositoryError);
+    if (PyModule_AddObject (m, "RepositoryError", PyGIRepositoryError) < 0) {
+        Py_DECREF (PyGIRepositoryError);
+        return -1;
     }
-}
 
+    return 0;
+}
index 6199712..2207de3 100644 (file)
@@ -36,7 +36,7 @@ extern PyTypeObject PyGIRepository_Type;
 
 extern PyObject *PyGIRepositoryError;
 
-void _pygi_repository_register_types (PyObject *m);
+int pygi_repository_register_types (PyObject *m);
 
 G_END_DECLS
 
index d2d89a7..f3a58e1 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <Python.h>
+#include <glib.h>
 #include "pygi-resulttuple.h"
-#include "pyglib.h"
+#include "pygi-python-compat.h"
 
 static char repr_format_key[] = "__repr_format";
 static char tuple_indices_key[] = "__tuple_indices";
 
+#define PYGI_USE_FREELIST
+
+#ifdef PYPY_VERSION
+#undef PYGI_USE_FREELIST
+#endif
+
+#ifdef PYGI_USE_FREELIST
 /* A free list similar to the one used for the CPython tuple. Difference
  * is that zero length tuples aren't cached (as we don't need them)
  * and that the freelist is smaller as we don't free it with the cyclic GC
@@ -32,6 +41,7 @@ static char tuple_indices_key[] = "__tuple_indices";
 #define PyGIResultTuple_MAXFREELIST 100
 static PyObject *free_list[PyGIResultTuple_MAXSAVESIZE];
 static int numfree[PyGIResultTuple_MAXSAVESIZE];
+#endif
 
 PYGLIB_DEFINE_TYPE ("gi._gi.ResultTuple", PyGIResultTuple_Type, PyTupleObject)
 
@@ -264,6 +274,7 @@ pygi_resulttuple_new_type(PyObject *tuple_names) {
  */
 PyObject *
 pygi_resulttuple_new(PyTypeObject *subclass, Py_ssize_t len) {
+#ifdef PYGI_USE_FREELIST
     PyObject *self;
     Py_ssize_t i;
 
@@ -285,6 +296,7 @@ pygi_resulttuple_new(PyTypeObject *subclass, Py_ssize_t len) {
             return self;
         }
     }
+#endif
 
     /* For zero length tuples and in case the free list is empty, alloc
      * as usual.
@@ -292,6 +304,7 @@ pygi_resulttuple_new(PyTypeObject *subclass, Py_ssize_t len) {
     return subclass->tp_alloc (subclass, len);
 }
 
+#ifdef PYGI_USE_FREELIST
 static void resulttuple_dealloc(PyObject *self) {
     Py_ssize_t i, len;
 
@@ -320,6 +333,7 @@ static void resulttuple_dealloc(PyObject *self) {
 done:
     Py_TRASHCAN_SAFE_END (self)
 }
+#endif
 
 /**
  * pygi_resulttuple_register_types:
@@ -336,14 +350,16 @@ int pygi_resulttuple_register_types(PyObject *module) {
     PyGIResultTuple_Type.tp_repr = (reprfunc)resulttuple_repr;
     PyGIResultTuple_Type.tp_getattro = (getattrofunc)resulttuple_getattro;
     PyGIResultTuple_Type.tp_methods = resulttuple_methods;
+#ifdef PYGI_USE_FREELIST
     PyGIResultTuple_Type.tp_dealloc = (destructor)resulttuple_dealloc;
+#endif
 
-    if (PyType_Ready (&PyGIResultTuple_Type))
+    if (PyType_Ready (&PyGIResultTuple_Type) < 0)
         return -1;
 
     Py_INCREF (&PyGIResultTuple_Type);
     if (PyModule_AddObject (module, "ResultTuple",
-                            (PyObject *)&PyGIResultTuple_Type)) {
+                            (PyObject *)&PyGIResultTuple_Type) < 0) {
         Py_DECREF (&PyGIResultTuple_Type);
         return -1;
     }
index 0cdc1e4..d34044d 100644 (file)
@@ -225,7 +225,7 @@ pygi_signal_closure_marshal(GClosure *closure,
     while (list_item) {
         PyObject *item = list_item->data;
         if (item->ob_refcnt > 1) {
-            _pygi_boxed_copy_in_place ((PyGIBoxed *)item);
+            pygi_boxed_copy_in_place ((PyGIBoxed *)item);
         }
         list_item = g_slist_next (list_item);
     }
index 2ed38d3..b49b7d5 100644 (file)
  * IN THE SOFTWARE.
  */
 
+#include "pygi-python-compat.h"
 #include "pygi-info.h"
 #include "pygi-boxed.h"
 #include "pygi-type.h"
-#include "pyglib.h"
+#include "pygi-basictype.h"
 #include "pygboxed.h"
 #include "pygi-source.h"
 
@@ -65,13 +66,16 @@ pyg_source_prepare(GSource *source, gint *timeout)
        goto bail;
     }
 
-    ret = PyObject_IsTrue(PyTuple_GET_ITEM(t, 0));
-       *timeout = PYGLIB_PyLong_AsLong(PyTuple_GET_ITEM(t, 1));
+    if (!pygi_gboolean_from_py (PyTuple_GET_ITEM(t, 0), &ret)) {
+        ret = FALSE;
+        goto bail;
+    }
 
-       if (*timeout == -1 && PyErr_Occurred()) {
-           ret = FALSE;
-           goto bail;
-       }
+    if (!pygi_gint_from_py (PyTuple_GET_ITEM(t, 1), timeout))
+    {
+        ret = FALSE;
+        goto bail;
+    }
 
     got_err = FALSE;
 
@@ -180,11 +184,56 @@ static GSourceFuncs pyg_source_funcs =
     pyg_source_finalize
 };
 
+/**
+ * _pyglib_destroy_notify:
+ * @user_data: a PyObject pointer.
+ *
+ * A function that can be used as a GDestroyNotify callback that will
+ * call Py_DECREF on the data.
+ */
+static void
+_pyglib_destroy_notify(gpointer user_data)
+{
+    PyObject *obj = (PyObject *)user_data;
+    PyGILState_STATE state;
+
+    state = PyGILState_Ensure();
+    Py_DECREF(obj);
+    PyGILState_Release(state);
+}
+
+static gboolean
+_pyglib_handler_marshal(gpointer user_data)
+{
+    PyObject *tuple, *ret;
+    gboolean res;
+    PyGILState_STATE state;
+
+    g_return_val_if_fail(user_data != NULL, FALSE);
+
+    state = PyGILState_Ensure();
+
+    tuple = (PyObject *)user_data;
+    ret = PyObject_CallObject(PyTuple_GetItem(tuple, 0),
+                             PyTuple_GetItem(tuple, 1));
+    if (!ret) {
+       PyErr_Print();
+       res = FALSE;
+    } else {
+       res = PyObject_IsTrue(ret);
+       Py_DECREF(ret);
+    }
+    
+    PyGILState_Release(state);
+
+    return res;
+}
+
 PyObject *
 pyg_source_set_callback(PyGObject *self_module, PyObject *args)
 {
     PyObject *self, *first, *callback, *cbargs = NULL, *data;
-    gint len;
+    Py_ssize_t len;
 
     len = PyTuple_Size (args);
     if (len < 2) {
@@ -240,9 +289,9 @@ pyg_source_new (void)
 
     source = (PyGRealSource*) g_source_new (&pyg_source_funcs, sizeof (PyGRealSource));
 
-    py_type = _pygi_type_import_by_name ("GLib", "Source");
+    py_type = pygi_type_import_by_name ("GLib", "Source");
     /* g_source_new uses malloc, not slices */
-    source->obj = _pygi_boxed_new ( (PyTypeObject *) py_type, source, FALSE, 0);
+    source->obj = pygi_boxed_new ( (PyTypeObject *) py_type, source, FALSE, 0);
 
     return source->obj;
 }
index 75896a8..a387715 100644 (file)
@@ -20,8 +20,8 @@
 
 #include <Python.h>
 #include <glib.h>
-#include <pyglib-python-compat.h>
 
+#include "pygi-python-compat.h"
 #include "pygi-struct-marshal.h"
 #include "pygi-struct.h"
 #include "pygi-foreign.h"
@@ -31,7 +31,7 @@
 #include "pygi-info.h"
 #include "pygpointer.h"
 #include "pygboxed.h"
-#include "pygtype.h"
+#include "pygi-type.h"
 
 /*
  * _is_union_member - check to see if the py_arg is actually a member of the
@@ -66,7 +66,7 @@ _is_union_member (GIInterfaceInfo *interface_info, PyObject *py_arg) {
             PyObject *py_type;
 
             field_iface_info = g_type_info_get_interface (field_type_info);
-            py_type = _pygi_type_import_by_gi_info ((GIBaseInfo *) field_iface_info);
+            py_type = pygi_type_import_by_gi_info ((GIBaseInfo *) field_iface_info);
 
             if (py_type != NULL && PyObject_IsInstance (py_arg, py_type)) {
                 is_member = TRUE;
@@ -387,11 +387,11 @@ pygi_arg_struct_to_py_marshaller (GIArgument *arg,
                                                               arg->v_pointer);
     } else if (g_type_is_a (g_type, G_TYPE_BOXED)) {
         if (py_type) {
-            py_obj = _pygi_boxed_new ((PyTypeObject *) py_type,
-                                      arg->v_pointer,
-                                      transfer == GI_TRANSFER_EVERYTHING || is_allocated,
-                                      is_allocated ?
-                                              g_struct_info_get_size(interface_info) : 0);
+            py_obj = pygi_boxed_new ((PyTypeObject *) py_type,
+                                     arg->v_pointer,
+                                     transfer == GI_TRANSFER_EVERYTHING || is_allocated,
+                                     is_allocated ?
+                                            g_struct_info_get_size(interface_info) : 0);
         }
     } else if (g_type_is_a (g_type, G_TYPE_POINTER)) {
         if (py_type == NULL ||
@@ -399,9 +399,9 @@ pygi_arg_struct_to_py_marshaller (GIArgument *arg,
             g_warn_if_fail (transfer == GI_TRANSFER_NOTHING);
             py_obj = pyg_pointer_new (g_type, arg->v_pointer);
         } else {
-            py_obj = _pygi_struct_new ( (PyTypeObject *) py_type,
-                                       arg->v_pointer,
-                                       transfer == GI_TRANSFER_EVERYTHING);
+            py_obj = pygi_struct_new ( (PyTypeObject *) py_type,
+                                      arg->v_pointer,
+                                      transfer == GI_TRANSFER_EVERYTHING);
         }
     } else if (g_type_is_a (g_type, G_TYPE_VARIANT)) {
         /* Note: sink the variant (add a ref) only if we are not transfered ownership.
@@ -411,15 +411,15 @@ pygi_arg_struct_to_py_marshaller (GIArgument *arg,
             if (transfer == GI_TRANSFER_NOTHING) {
                 g_variant_ref_sink (arg->v_pointer);
             }
-            py_obj = _pygi_struct_new ((PyTypeObject *) py_type,
-                                       arg->v_pointer,
-                                       FALSE);
+            py_obj = pygi_struct_new ((PyTypeObject *) py_type,
+                                      arg->v_pointer,
+                                      FALSE);
         }
     } else if (g_type == G_TYPE_NONE) {
         if (py_type) {
-            py_obj = _pygi_struct_new ((PyTypeObject *) py_type,
-                                       arg->v_pointer,
-                                       transfer == GI_TRANSFER_EVERYTHING || is_allocated);
+            py_obj = pygi_struct_new ((PyTypeObject *) py_type,
+                                      arg->v_pointer,
+                                      transfer == GI_TRANSFER_EVERYTHING || is_allocated);
         }
     } else {
         PyErr_Format (PyExc_NotImplementedError,
@@ -442,7 +442,7 @@ pygi_arg_struct_to_py_marshal (GIArgument *arg,
     PyObject *ret = pygi_arg_struct_to_py_marshaller (arg, interface_info, g_type, py_type, transfer, is_allocated, is_foreign);
 
     if (ret && PyObject_IsInstance (ret, (PyObject *) &PyGIBoxed_Type) && transfer == GI_TRANSFER_NOTHING)
-        _pygi_boxed_copy_in_place ((PyGIBoxed *) ret);
+        pygi_boxed_copy_in_place ((PyGIBoxed *) ret);
 
     return ret;
 };
@@ -492,7 +492,7 @@ arg_boxed_to_py_cleanup (PyGIInvokeState *state,
                            gboolean         was_processed)
 {
     if (arg_cache->transfer == GI_TRANSFER_NOTHING)
-        _pygi_boxed_copy_in_place ((PyGIBoxed *) cleanup_data);
+        pygi_boxed_copy_in_place ((PyGIBoxed *) cleanup_data);
 }
 
 static gboolean
index e2906e0..4c05b7c 100644 (file)
 #include "pygi-foreign.h"
 #include "pygi-info.h"
 #include "pygi-type.h"
-#include "pygtype.h"
+#include "pygi-type.h"
 #include "pygpointer.h"
+#include "pygi-python-compat.h"
 
 #include <girepository.h>
-#include <pyglib-python-compat.h>
 
 
 static GIBaseInfo *
-_struct_get_info (PyObject *self)
+struct_get_info (PyTypeObject *type)
 {
     PyObject *py_info;
     GIBaseInfo *info = NULL;
 
-    py_info = PyObject_GetAttrString (self, "__info__");
+    py_info = PyObject_GetAttrString ((PyObject *)type, "__info__");
     if (py_info == NULL) {
         return NULL;
     }
@@ -59,7 +59,7 @@ out:
 }
 
 static void
-_struct_dealloc (PyGIStruct *self)
+struct_dealloc (PyGIStruct *self)
 {
     GIBaseInfo *info;
     PyObject *error_type, *error_value, *error_traceback;
@@ -68,7 +68,7 @@ _struct_dealloc (PyGIStruct *self)
     if (have_error)
         PyErr_Fetch (&error_type, &error_value, &error_traceback);
 
-    info = _struct_get_info ( (PyObject *) self );
+    info = struct_get_info (Py_TYPE (self));
 
     if (info != NULL && g_struct_info_is_foreign ( (GIStructInfo *) info)) {
         pygi_struct_foreign_release (info, pyg_pointer_get_ptr (self));
@@ -87,9 +87,9 @@ _struct_dealloc (PyGIStruct *self)
 }
 
 static PyObject *
-_struct_new (PyTypeObject *type,
-             PyObject     *args,
-             PyObject     *kwargs)
+struct_new (PyTypeObject *type,
+            PyObject     *args,
+            PyObject     *kwargs)
 {
     static char *kwlist[] = { NULL };
 
@@ -102,7 +102,7 @@ _struct_new (PyTypeObject *type,
         return NULL;
     }
 
-    info = _struct_get_info ( (PyObject *) type );
+    info = struct_get_info ( type );
     if (info == NULL) {
         if (PyErr_ExceptionMatches (PyExc_AttributeError)) {
             PyErr_Format (PyExc_TypeError, "missing introspection information");
@@ -124,7 +124,7 @@ _struct_new (PyTypeObject *type,
         goto out;
     }
 
-    self = _pygi_struct_new (type, pointer, TRUE);
+    self = pygi_struct_new (type, pointer, TRUE);
     if (self == NULL) {
         g_free (pointer);
     }
@@ -136,7 +136,7 @@ out:
 }
 
 static int
-_struct_init (PyObject *self,
+struct_init (PyObject *self,
               PyObject *args,
               PyObject *kwargs)
 {
@@ -148,9 +148,9 @@ PYGLIB_DEFINE_TYPE("gi.Struct", PyGIStruct_Type, PyGIStruct);
 
 
 PyObject *
-_pygi_struct_new_from_g_type (GType g_type,
-                              gpointer      pointer,
-                              gboolean      free_on_dealloc)
+pygi_struct_new_from_g_type (GType g_type,
+                             gpointer      pointer,
+                             gboolean      free_on_dealloc)
 {
     PyGIStruct *self;
     PyTypeObject *type;
@@ -179,9 +179,9 @@ _pygi_struct_new_from_g_type (GType g_type,
 
 
 PyObject *
-_pygi_struct_new (PyTypeObject *type,
-                  gpointer      pointer,
-                  gboolean      free_on_dealloc)
+pygi_struct_new (PyTypeObject *type,
+                 gpointer      pointer,
+                 gboolean      free_on_dealloc)
 {
     PyGIStruct *self;
     GType g_type;
@@ -206,13 +206,13 @@ _pygi_struct_new (PyTypeObject *type,
 }
 
 static PyObject *
-_struct_repr(PyGIStruct *self)
+struct_repr(PyGIStruct *self)
 {
     PyObject* repr;
     GIBaseInfo *info;
     PyGPointer *pointer = (PyGPointer *)self;
 
-    info = _struct_get_info ((PyObject *)self);
+    info = struct_get_info (Py_TYPE (self));
     if (info == NULL)
         return NULL;
 
@@ -227,19 +227,28 @@ _struct_repr(PyGIStruct *self)
     return repr;
 }
 
-void
-_pygi_struct_register_types (PyObject *m)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_struct_register_types (PyObject *m)
 {
     Py_TYPE(&PyGIStruct_Type) = &PyType_Type;
+    g_assert (Py_TYPE (&PyGPointer_Type) != NULL);
     PyGIStruct_Type.tp_base = &PyGPointer_Type;
-    PyGIStruct_Type.tp_new = (newfunc) _struct_new;
-    PyGIStruct_Type.tp_init = (initproc) _struct_init;
-    PyGIStruct_Type.tp_dealloc = (destructor) _struct_dealloc;
+    PyGIStruct_Type.tp_new = (newfunc) struct_new;
+    PyGIStruct_Type.tp_init = (initproc) struct_init;
+    PyGIStruct_Type.tp_dealloc = (destructor) struct_dealloc;
     PyGIStruct_Type.tp_flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE);
-    PyGIStruct_Type.tp_repr = (reprfunc)_struct_repr;
+    PyGIStruct_Type.tp_repr = (reprfunc)struct_repr;
+
+    if (PyType_Ready (&PyGIStruct_Type) < 0)
+        return -1;
+    Py_INCREF ((PyObject *) &PyGIStruct_Type);
+    if (PyModule_AddObject (m, "Struct", (PyObject *) &PyGIStruct_Type) < 0) {
+        Py_DECREF ((PyObject *) &PyGIStruct_Type);
+        return -1;
+    }
 
-    if (PyType_Ready (&PyGIStruct_Type))
-        return;
-    if (PyModule_AddObject (m, "Struct", (PyObject *) &PyGIStruct_Type))
-        return;
+    return 0;
 }
index 8796a5e..27230a9 100644 (file)
@@ -33,16 +33,16 @@ typedef struct {
 extern PyTypeObject PyGIStruct_Type;
 
 PyObject *
-_pygi_struct_new (PyTypeObject *type,
-                  gpointer      pointer,
-                  gboolean      free_on_dealloc);
+pygi_struct_new (PyTypeObject *type,
+                 gpointer      pointer,
+                 gboolean      free_on_dealloc);
 
 PyObject *
-_pygi_struct_new_from_g_type (GType g_type,
-                              gpointer      pointer,
-                              gboolean      free_on_dealloc);
+pygi_struct_new_from_g_type (GType g_type,
+                             gpointer      pointer,
+                             gboolean      free_on_dealloc);
 
-void _pygi_struct_register_types (PyObject *m);
+int pygi_struct_register_types (PyObject *m);
 
 G_END_DECLS
 
index 9561c43..0c5a428 100644 (file)
@@ -1,9 +1,6 @@
 /* -*- Mode: C; c-basic-offset: 4 -*-
- * vim: tabstop=4 shiftwidth=4 expandtab
- *
- * Copyright (C) 2009 Simon van der Linden <svdlinden@src.gnome.org>
- *
- *   pygi-type.c: helpers to lookup Python wrappers from GType and GIBaseInfo.
+ * pygtk- Python bindings for the GTK toolkit.
+ * Copyright (C) 1998-2003  James Henstridge
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "pygtype.h"
-#include "pygi-type.h"
+#include <config.h>
 
-#include <pyglib-python-compat.h>
+#include "pygobject-object.h"
+#include "pygboxed.h"
+#include "pygenum.h"
+#include "pygflags.h"
+#include "pygparamspec.h"
+#include "pygi-util.h"
+#include "pygpointer.h"
+#include "pyginterface.h"
 
+#include "pygi-type.h"
+#include "pygi-value.h"
+#include "pygi-basictype.h"
 
 PyObject *
-_pygi_type_import_by_name (const char *namespace_,
-                           const char *name)
+pygi_type_import_by_name (const char *namespace_,
+                          const char *name)
 {
     gchar *module_name;
     PyObject *py_module;
@@ -35,7 +41,7 @@ _pygi_type_import_by_name (const char *namespace_,
 
     module_name = g_strconcat ("gi.repository.", namespace_, NULL);
 
-    py_module = PYGLIB_PyImport_ImportModule (module_name);
+    py_module = pygi_import_module (module_name);
 
     g_free (module_name);
 
@@ -64,21 +70,21 @@ pygi_type_import_by_g_type (GType g_type)
         return NULL;
     }
 
-    type = _pygi_type_import_by_gi_info (info);
+    type = pygi_type_import_by_gi_info (info);
     g_base_info_unref (info);
 
     return type;
 }
 
 PyObject *
-_pygi_type_import_by_gi_info (GIBaseInfo *info)
+pygi_type_import_by_gi_info (GIBaseInfo *info)
 {
-    return _pygi_type_import_by_name (g_base_info_get_namespace (info),
-                                      g_base_info_get_name (info));
+    return pygi_type_import_by_name (g_base_info_get_namespace (info),
+                                     g_base_info_get_name (info));
 }
 
 PyObject *
-_pygi_type_get_from_g_type (GType g_type)
+pygi_type_get_from_g_type (GType g_type)
 {
     PyObject *py_g_type;
     PyObject *py_type;
@@ -98,3 +104,1291 @@ _pygi_type_get_from_g_type (GType g_type)
     return py_type;
 }
 
+/* -------------- __gtype__ objects ---------------------------- */
+
+typedef struct {
+    PyObject_HEAD
+    GType type;
+} PyGTypeWrapper;
+
+PYGLIB_DEFINE_TYPE("gobject.GType", PyGTypeWrapper_Type, PyGTypeWrapper);
+
+static PyObject*
+generic_gsize_richcompare(gsize a, gsize b, int op)
+{
+    PyObject *res;
+
+    switch (op) {
+
+      case Py_EQ:
+        res = (a == b) ? Py_True : Py_False;
+        Py_INCREF(res);
+        break;
+
+      case Py_NE:
+        res = (a != b) ? Py_True : Py_False;
+        Py_INCREF(res);
+        break;
+
+
+      case Py_LT:
+        res = (a < b) ? Py_True : Py_False;
+        Py_INCREF(res);
+        break;
+
+      case Py_LE:
+        res = (a <= b) ? Py_True : Py_False;
+        Py_INCREF(res);
+        break;
+
+      case Py_GT:
+        res = (a > b) ? Py_True : Py_False;
+        Py_INCREF(res);
+        break;
+
+      case Py_GE:
+        res = (a >= b) ? Py_True : Py_False;
+        Py_INCREF(res);
+        break;
+
+      default:
+        res = Py_NotImplemented;
+        Py_INCREF(res);
+        break;
+    }
+
+    return res;
+}
+
+static PyObject*
+pyg_type_wrapper_richcompare(PyObject *self, PyObject *other, int op)
+{
+    if (Py_TYPE(self) == Py_TYPE(other) && Py_TYPE(self) == &PyGTypeWrapper_Type)
+        return generic_gsize_richcompare(((PyGTypeWrapper*)self)->type,
+                                        ((PyGTypeWrapper*)other)->type,
+                                        op);
+    else {
+        Py_INCREF(Py_NotImplemented);
+        return Py_NotImplemented;
+    }
+}
+
+static long
+pyg_type_wrapper_hash(PyGTypeWrapper *self)
+{
+    return (long)self->type;
+}
+
+static PyObject *
+pyg_type_wrapper_repr(PyGTypeWrapper *self)
+{
+    char buf[80];
+    const gchar *name = g_type_name(self->type);
+
+    g_snprintf(buf, sizeof(buf), "<GType %s (%lu)>",
+              name?name:"invalid", (unsigned long int) self->type);
+    return PYGLIB_PyUnicode_FromString(buf);
+}
+
+static void
+pyg_type_wrapper_dealloc(PyGTypeWrapper *self)
+{
+    PyObject_DEL(self);
+}
+
+static GQuark
+_pyg_type_key(GType type) {
+    GQuark key;
+
+    if (g_type_is_a(type, G_TYPE_INTERFACE)) {
+        key = pyginterface_type_key;
+    } else if (g_type_is_a(type, G_TYPE_ENUM)) {
+        key = pygenum_class_key;
+    } else if (g_type_is_a(type, G_TYPE_FLAGS)) {
+        key = pygflags_class_key;
+    } else if (g_type_is_a(type, G_TYPE_POINTER)) {
+        key = pygpointer_class_key;
+    } else if (g_type_is_a(type, G_TYPE_BOXED)) {
+        key = pygboxed_type_key;
+    } else {
+        key = pygobject_class_key;
+    }
+
+    return key;
+}
+
+static PyObject *
+_wrap_g_type_wrapper__get_pytype(PyGTypeWrapper *self, void *closure)
+{
+    GQuark key;
+    PyObject *py_type;
+
+    key = _pyg_type_key(self->type);
+
+    py_type = g_type_get_qdata(self->type, key);
+    if (!py_type)
+      py_type = Py_None;
+
+    Py_INCREF(py_type);
+    return py_type;
+}
+
+static int
+_wrap_g_type_wrapper__set_pytype(PyGTypeWrapper *self, PyObject* value, void *closure)
+{
+    GQuark key;
+    PyObject *py_type;
+
+    key = _pyg_type_key(self->type);
+
+    py_type = g_type_get_qdata(self->type, key);
+    Py_CLEAR(py_type);
+    if (value == Py_None)
+       g_type_set_qdata(self->type, key, NULL);
+    else if (PyType_Check(value)) {
+       Py_INCREF(value);
+       g_type_set_qdata(self->type, key, value);
+    } else {
+       PyErr_SetString(PyExc_TypeError, "Value must be None or a type object");
+       return -1;
+    }
+
+    return 0;
+}
+
+static PyObject *
+_wrap_g_type_wrapper__get_name(PyGTypeWrapper *self, void *closure)
+{
+   const char *name = g_type_name(self->type);
+   return PYGLIB_PyUnicode_FromString(name ? name : "invalid");
+}
+
+static PyObject *
+_wrap_g_type_wrapper__get_parent(PyGTypeWrapper *self, void *closure)
+{
+   return pyg_type_wrapper_new(g_type_parent(self->type));
+}
+
+static PyObject *
+_wrap_g_type_wrapper__get_fundamental(PyGTypeWrapper *self, void *closure)
+{
+   return pyg_type_wrapper_new(g_type_fundamental(self->type));
+}
+
+static PyObject *
+_wrap_g_type_wrapper__get_children(PyGTypeWrapper *self, void *closure)
+{
+  guint n_children, i;
+  GType *children;
+  PyObject *retval;
+
+  children = g_type_children(self->type, &n_children);
+
+  retval = PyList_New(n_children);
+  for (i = 0; i < n_children; i++)
+      PyList_SetItem(retval, i, pyg_type_wrapper_new(children[i]));
+  g_free(children);
+
+  return retval;
+}
+
+static PyObject *
+_wrap_g_type_wrapper__get_interfaces(PyGTypeWrapper *self, void *closure)
+{
+  guint n_interfaces, i;
+  GType *interfaces;
+  PyObject *retval;
+
+  interfaces = g_type_interfaces(self->type, &n_interfaces);
+
+  retval = PyList_New(n_interfaces);
+  for (i = 0; i < n_interfaces; i++)
+      PyList_SetItem(retval, i, pyg_type_wrapper_new(interfaces[i]));
+  g_free(interfaces);
+
+  return retval;
+}
+
+static PyObject *
+_wrap_g_type_wrapper__get_depth(PyGTypeWrapper *self, void *closure)
+{
+  return pygi_guint_to_py (g_type_depth (self->type));
+}
+
+static PyGetSetDef _PyGTypeWrapper_getsets[] = {
+    { "pytype", (getter)_wrap_g_type_wrapper__get_pytype, (setter)_wrap_g_type_wrapper__set_pytype },
+    { "name",  (getter)_wrap_g_type_wrapper__get_name, (setter)0 },
+    { "fundamental",  (getter)_wrap_g_type_wrapper__get_fundamental, (setter)0 },
+    { "parent",  (getter)_wrap_g_type_wrapper__get_parent, (setter)0 },
+    { "children",  (getter)_wrap_g_type_wrapper__get_children, (setter)0 },
+    { "interfaces",  (getter)_wrap_g_type_wrapper__get_interfaces, (setter)0 },
+    { "depth",  (getter)_wrap_g_type_wrapper__get_depth, (setter)0 },
+    { NULL, (getter)0, (setter)0 }
+};
+
+static PyObject*
+_wrap_g_type_is_interface(PyGTypeWrapper *self)
+{
+    return pygi_gboolean_to_py (G_TYPE_IS_INTERFACE (self->type));
+}
+
+static PyObject*
+_wrap_g_type_is_classed(PyGTypeWrapper *self)
+{
+    return pygi_gboolean_to_py (G_TYPE_IS_CLASSED (self->type));
+}
+
+static PyObject*
+_wrap_g_type_is_instantiatable(PyGTypeWrapper *self)
+{
+    return pygi_gboolean_to_py (G_TYPE_IS_INSTANTIATABLE(self->type));
+}
+
+static PyObject*
+_wrap_g_type_is_derivable(PyGTypeWrapper *self)
+{
+    return pygi_gboolean_to_py (G_TYPE_IS_DERIVABLE (self->type));
+}
+
+static PyObject*
+_wrap_g_type_is_deep_derivable(PyGTypeWrapper *self)
+{
+    return pygi_gboolean_to_py (G_TYPE_IS_DEEP_DERIVABLE (self->type));
+}
+
+static PyObject*
+_wrap_g_type_is_abstract(PyGTypeWrapper *self)
+{
+    return pygi_gboolean_to_py (G_TYPE_IS_ABSTRACT (self->type));
+}
+
+static PyObject*
+_wrap_g_type_is_value_abstract(PyGTypeWrapper *self)
+{
+    return pygi_gboolean_to_py (G_TYPE_IS_VALUE_ABSTRACT (self->type));
+}
+
+static PyObject*
+_wrap_g_type_is_value_type(PyGTypeWrapper *self)
+{
+    return pygi_gboolean_to_py (G_TYPE_IS_VALUE_TYPE (self->type));
+}
+
+static PyObject*
+_wrap_g_type_has_value_table(PyGTypeWrapper *self)
+{
+    return pygi_gboolean_to_py (G_TYPE_HAS_VALUE_TABLE (self->type));
+}
+
+static PyObject*
+_wrap_g_type_from_name(PyGTypeWrapper *_, PyObject *args)
+{
+    char *type_name;
+    GType type;
+
+    if (!PyArg_ParseTuple(args, "s:GType.from_name", &type_name))
+       return NULL;
+
+    type = g_type_from_name(type_name);
+    if (type == 0) {
+       PyErr_SetString(PyExc_RuntimeError, "unknown type name");
+       return NULL;
+    }
+
+    return pyg_type_wrapper_new(type);
+}
+
+static PyObject*
+_wrap_g_type_is_a(PyGTypeWrapper *self, PyObject *args)
+{
+    PyObject *gparent;
+    GType parent;
+
+    if (!PyArg_ParseTuple(args, "O:GType.is_a", &gparent))
+       return NULL;
+    else if ((parent = pyg_type_from_object(gparent)) == 0)
+       return NULL;
+
+    return pygi_gboolean_to_py (g_type_is_a (self->type, parent));
+}
+
+static PyMethodDef _PyGTypeWrapper_methods[] = {
+    { "is_interface", (PyCFunction)_wrap_g_type_is_interface, METH_NOARGS },
+    { "is_classed", (PyCFunction)_wrap_g_type_is_classed, METH_NOARGS },
+    { "is_instantiatable", (PyCFunction)_wrap_g_type_is_instantiatable, METH_NOARGS },
+    { "is_derivable", (PyCFunction)_wrap_g_type_is_derivable, METH_NOARGS },
+    { "is_deep_derivable", (PyCFunction)_wrap_g_type_is_deep_derivable, METH_NOARGS },
+    { "is_abstract", (PyCFunction)_wrap_g_type_is_abstract, METH_NOARGS },
+    { "is_value_abstract", (PyCFunction)_wrap_g_type_is_value_abstract, METH_NOARGS },
+    { "is_value_type", (PyCFunction)_wrap_g_type_is_value_type, METH_NOARGS },
+    { "has_value_table", (PyCFunction)_wrap_g_type_has_value_table, METH_NOARGS },
+    { "from_name", (PyCFunction)_wrap_g_type_from_name, METH_VARARGS | METH_STATIC },
+    { "is_a", (PyCFunction)_wrap_g_type_is_a, METH_VARARGS },
+    { NULL,  0, 0 }
+};
+
+static int
+pyg_type_wrapper_init(PyGTypeWrapper *self, PyObject *args, PyObject *kwargs)
+{
+    static char *kwlist[] = { "object", NULL };
+    PyObject *py_object;
+    GType type;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                    "O:GType.__init__",
+                                    kwlist, &py_object))
+        return -1;
+
+    if (!(type = pyg_type_from_object(py_object)))
+       return -1;
+
+    self->type = type;
+
+    return 0;
+}
+
+/**
+ * pyg_type_wrapper_new:
+ * type: a GType
+ *
+ * Creates a Python wrapper for a GType.
+ *
+ * Returns: the Python wrapper.
+ */
+PyObject *
+pyg_type_wrapper_new(GType type)
+{
+    PyGTypeWrapper *self;
+
+    g_assert (Py_TYPE (&PyGTypeWrapper_Type) != NULL);
+    self = (PyGTypeWrapper *)PyObject_NEW(PyGTypeWrapper,
+                                         &PyGTypeWrapper_Type);
+    if (self == NULL)
+       return NULL;
+
+    self->type = type;
+    return (PyObject *)self;
+}
+
+/**
+ * pyg_type_from_object_strict:
+ * obj: a Python object
+ * strict: if set to TRUE, raises an exception if it can't perform the
+ *         conversion
+ *
+ * converts a python object to a GType.  If strict is set, raises an 
+ * exception if it can't perform the conversion, otherwise returns
+ * PY_TYPE_OBJECT.
+ *
+ * Returns: the corresponding GType, or 0 on error.
+ */
+
+GType
+pyg_type_from_object_strict(PyObject *obj, gboolean strict)
+{
+    PyObject *gtype;
+    GType type;
+
+    /* NULL check */
+    if (!obj) {
+       PyErr_SetString(PyExc_TypeError, "can't get type from NULL object");
+       return 0;
+    }
+
+    /* map some standard types to primitive GTypes ... */
+    if (obj == Py_None)
+       return G_TYPE_NONE;
+    if (PyType_Check(obj)) {
+       PyTypeObject *tp = (PyTypeObject *)obj;
+
+       if (tp == &PYGLIB_PyLong_Type)
+           return G_TYPE_INT;
+       else if (tp == &PyBool_Type)
+           return G_TYPE_BOOLEAN;
+       else if (tp == &PyLong_Type)
+           return G_TYPE_LONG;
+       else if (tp == &PyFloat_Type)
+           return G_TYPE_DOUBLE;
+       else if (tp == &PYGLIB_PyUnicode_Type)
+           return G_TYPE_STRING;
+       else if (tp == &PyBaseObject_Type)
+           return PY_TYPE_OBJECT;
+    }
+
+    if (Py_TYPE(obj) == &PyGTypeWrapper_Type) {
+       return ((PyGTypeWrapper *)obj)->type;
+    }
+
+    /* handle strings */
+    if (PYGLIB_PyUnicode_Check(obj)) {
+       gchar *name = PYGLIB_PyUnicode_AsString(obj);
+
+       type = g_type_from_name(name);
+       if (type != 0) {
+           return type;
+       }
+    }
+
+    /* finally, look for a __gtype__ attribute on the object */
+    gtype = PyObject_GetAttrString(obj, "__gtype__");
+
+    if (gtype) {
+       if (Py_TYPE(gtype) == &PyGTypeWrapper_Type) {
+           type = ((PyGTypeWrapper *)gtype)->type;
+           Py_DECREF(gtype);
+           return type;
+       }
+       Py_DECREF(gtype);
+    }
+
+    PyErr_Clear();
+
+    /* Some API like those that take GValues can hold a python object as
+     * a pointer.  This is potentially dangerous becuase everything is 
+     * passed in as a PyObject so we can't actually type check it.  Only
+     * fallback to PY_TYPE_OBJECT if strict checking is disabled
+     */
+    if (!strict)
+        return PY_TYPE_OBJECT;
+
+    PyErr_SetString(PyExc_TypeError, "could not get typecode from object");
+    return 0;
+}
+
+/**
+ * pyg_type_from_object:
+ * obj: a Python object
+ *
+ * converts a python object to a GType.  Raises an exception if it
+ * can't perform the conversion.
+ *
+ * Returns: the corresponding GType, or 0 on error.
+ */
+GType
+pyg_type_from_object(PyObject *obj)
+{
+    /* Legacy call always defaults to strict type checking */
+    return pyg_type_from_object_strict(obj, TRUE);
+}
+
+/**
+ * pyg_enum_get_value:
+ * @enum_type: the GType of the flag.
+ * @obj: a Python object representing the flag value
+ * @val: a pointer to the location to store the integer representation of the flag.
+ *
+ * Converts a Python object to the integer equivalent.  The conversion
+ * will depend on the type of the Python object.  If the object is an
+ * integer, it is passed through directly.  If it is a string, it will
+ * be treated as a full or short enum name as defined in the GType.
+ *
+ * Returns: 0 on success or -1 on failure
+ */
+gint
+pyg_enum_get_value(GType enum_type, PyObject *obj, gint *val)
+{
+    GEnumClass *eclass = NULL;
+    gint res = -1;
+
+    g_return_val_if_fail(val != NULL, -1);
+    if (!obj) {
+       *val = 0;
+       res = 0;
+    } else if (PYGLIB_PyLong_Check(obj)) {
+       if (!pygi_gint_from_py (obj, val))
+           res = -1;
+       else
+           res = 0;
+
+       if (PyObject_TypeCheck(obj, &PyGEnum_Type) && ((PyGEnum *) obj)->gtype != enum_type) {
+           g_warning("expected enumeration type %s, but got %s instead",
+                     g_type_name(enum_type),
+                     g_type_name(((PyGEnum *) obj)->gtype));
+       }
+    /* Dumb code duplication, but probably not worth it to have yet another macro. */
+    } else if (PyLong_Check(obj)) {
+       if (!pygi_gint_from_py (obj, val))
+           res = -1;
+       else
+           res = 0;
+
+       if (PyObject_TypeCheck(obj, &PyGEnum_Type) && ((PyGEnum *) obj)->gtype != enum_type) {
+           g_warning("expected enumeration type %s, but got %s instead",
+                     g_type_name(enum_type),
+                     g_type_name(((PyGEnum *) obj)->gtype));
+       }
+    } else if (PYGLIB_PyUnicode_Check(obj)) {
+       GEnumValue *info;
+       char *str = PYGLIB_PyUnicode_AsString(obj);
+
+       if (enum_type != G_TYPE_NONE)
+           eclass = G_ENUM_CLASS(g_type_class_ref(enum_type));
+       else {
+           PyErr_SetString(PyExc_TypeError, "could not convert string to enum because there is no GType associated to look up the value");
+           res = -1;
+       }
+       info = g_enum_get_value_by_name(eclass, str);
+       g_type_class_unref(eclass);
+
+       if (!info)
+           info = g_enum_get_value_by_nick(eclass, str);
+       if (info) {
+           *val = info->value;
+           res = 0;
+       } else {
+           PyErr_SetString(PyExc_TypeError, "could not convert string");
+           res = -1;
+       }
+    } else {
+       PyErr_SetString(PyExc_TypeError,"enum values must be strings or ints");
+       res = -1;
+    }
+    return res;
+}
+
+/**
+ * pyg_flags_get_value:
+ * @flag_type: the GType of the flag.
+ * @obj: a Python object representing the flag value
+ * @val: a pointer to the location to store the integer representation of the flag.
+ *
+ * Converts a Python object to the integer equivalent.  The conversion
+ * will depend on the type of the Python object.  If the object is an
+ * integer, it is passed through directly.  If it is a string, it will
+ * be treated as a full or short flag name as defined in the GType.
+ * If it is a tuple, then the items are treated as strings and ORed
+ * together.
+ *
+ * Returns: 0 on success or -1 on failure
+ */
+gint
+pyg_flags_get_value(GType flag_type, PyObject *obj, guint *val)
+{
+    GFlagsClass *fclass = NULL;
+    gint res = -1;
+
+    g_return_val_if_fail(val != NULL, -1);
+    if (!obj) {
+       *val = 0;
+       res = 0;
+    } else if (PYGLIB_PyLong_Check(obj)) {
+       if (pygi_guint_from_py (obj, val))
+           res = 0;
+    } else if (PyLong_Check(obj)) {
+       if (pygi_guint_from_py (obj, val))
+           res = 0;
+    } else if (PYGLIB_PyUnicode_Check(obj)) {
+       GFlagsValue *info;
+       char *str = PYGLIB_PyUnicode_AsString(obj);
+
+       if (flag_type != G_TYPE_NONE)
+           fclass = G_FLAGS_CLASS(g_type_class_ref(flag_type));
+       else {
+           PyErr_SetString(PyExc_TypeError, "could not convert string to flag because there is no GType associated to look up the value");
+           res = -1;
+       }
+       info = g_flags_get_value_by_name(fclass, str);
+       g_type_class_unref(fclass);
+
+       if (!info)
+           info = g_flags_get_value_by_nick(fclass, str);
+       if (info) {
+           *val = info->value;
+           res = 0;
+       } else {
+           PyErr_SetString(PyExc_TypeError, "could not convert string");
+           res = -1;
+       }
+    } else if (PyTuple_Check(obj)) {
+       Py_ssize_t i, len;
+
+       len = PyTuple_Size(obj);
+       *val = 0;
+       res = 0;
+
+       if (flag_type != G_TYPE_NONE)
+           fclass = G_FLAGS_CLASS(g_type_class_ref(flag_type));
+       else {
+           PyErr_SetString(PyExc_TypeError, "could not convert string to flag because there is no GType associated to look up the value");
+           res = -1;
+       }
+
+       for (i = 0; i < len; i++) {
+           PyObject *item = PyTuple_GetItem(obj, i);
+           char *str = PYGLIB_PyUnicode_AsString(item);
+           GFlagsValue *info = g_flags_get_value_by_name(fclass, str);
+
+           if (!info)
+               info = g_flags_get_value_by_nick(fclass, str);
+           if (info) {
+               *val |= info->value;
+           } else {
+               PyErr_SetString(PyExc_TypeError, "could not convert string");
+               res = -1;
+               break;
+           }
+       }
+       g_type_class_unref(fclass);
+    } else {
+       PyErr_SetString(PyExc_TypeError,
+                       "flag values must be strings, ints, longs, or tuples");
+       res = -1;
+    }
+    return res;
+}
+
+static GQuark pyg_type_marshal_key = 0;
+static GQuark pyg_type_marshal_helper_key = 0;
+
+typedef enum _marshal_helper_data_e marshal_helper_data_e;
+enum _marshal_helper_data_e {
+    MARSHAL_HELPER_NONE = 0,
+    MARSHAL_HELPER_RETURN_NULL,
+    MARSHAL_HELPER_IMPORT_DONE,
+};
+
+PyGTypeMarshal *
+pyg_type_lookup(GType type)
+{
+    GType      ptype = type;
+    PyGTypeMarshal     *tm = NULL;
+    marshal_helper_data_e marshal_helper;
+
+    if (type == G_TYPE_INVALID)
+       return NULL;
+
+    marshal_helper = GPOINTER_TO_INT (
+       g_type_get_qdata(type, pyg_type_marshal_helper_key));
+
+    /* If we called this function before with @type and nothing was found,
+     * return NULL early to not spend time in the loop below */
+    if (marshal_helper == MARSHAL_HELPER_RETURN_NULL)
+       return NULL;
+
+    /* Otherwise do recursive type lookup */
+    do {
+       if (marshal_helper == MARSHAL_HELPER_IMPORT_DONE)
+           pygi_type_import_by_g_type (ptype);
+
+       if ((tm = g_type_get_qdata(ptype, pyg_type_marshal_key)) != NULL)
+           break;
+       ptype = g_type_parent(ptype);
+    } while (ptype);
+
+    if (marshal_helper == MARSHAL_HELPER_NONE) {
+       marshal_helper = (tm == NULL) ?
+           MARSHAL_HELPER_RETURN_NULL:
+           MARSHAL_HELPER_IMPORT_DONE;
+       g_type_set_qdata(type, pyg_type_marshal_helper_key,
+           GINT_TO_POINTER(marshal_helper));
+    }
+    return tm;
+}
+
+/**
+ * pyg_register_gtype_custom:
+ * @gtype: the GType for the new type
+ * @from_func: a function to convert GValues to Python objects
+ * @to_func: a function to convert Python objects to GValues
+ *
+ * In order to handle specific conversion of gboxed types or new
+ * fundamental types, you may use this function to register conversion
+ * handlers.
+ */
+
+void
+pyg_register_gtype_custom(GType gtype,
+                         fromvaluefunc from_func,
+                          tovaluefunc to_func)
+{
+    PyGTypeMarshal *tm;
+
+    if (!pyg_type_marshal_key) {
+       pyg_type_marshal_key = g_quark_from_static_string("PyGType::marshal");
+       pyg_type_marshal_helper_key = g_quark_from_static_string("PyGType::marshal-helper");
+    }
+
+    tm = g_new(PyGTypeMarshal, 1);
+    tm->fromvalue = from_func;
+    tm->tovalue = to_func;
+    g_type_set_qdata(gtype, pyg_type_marshal_key, tm);
+}
+
+/* -------------- PyGClosure ----------------- */
+
+static void
+pyg_closure_invalidate(gpointer data, GClosure *closure)
+{
+    PyGClosure *pc = (PyGClosure *)closure;
+    PyGILState_STATE state;
+
+    state = PyGILState_Ensure();
+    Py_XDECREF(pc->callback);
+    Py_XDECREF(pc->extra_args);
+    Py_XDECREF(pc->swap_data);
+    PyGILState_Release(state);
+
+    pc->callback = NULL;
+    pc->extra_args = NULL;
+    pc->swap_data = NULL;
+}
+
+static void
+pyg_closure_marshal(GClosure *closure,
+                   GValue *return_value,
+                   guint n_param_values,
+                   const GValue *param_values,
+                   gpointer invocation_hint,
+                   gpointer marshal_data)
+{
+    PyGILState_STATE state;
+    PyGClosure *pc = (PyGClosure *)closure;
+    PyObject *params, *ret;
+    guint i;
+
+    state = PyGILState_Ensure();
+
+    /* construct Python tuple for the parameter values */
+    params = PyTuple_New(n_param_values);
+    for (i = 0; i < n_param_values; i++) {
+       /* swap in a different initial data for connect_object() */
+       if (i == 0 && G_CCLOSURE_SWAP_DATA(closure)) {
+           g_return_if_fail(pc->swap_data != NULL);
+           Py_INCREF(pc->swap_data);
+           PyTuple_SetItem(params, 0, pc->swap_data);
+       } else {
+           PyObject *item = pyg_value_as_pyobject(&param_values[i], FALSE);
+
+           /* error condition */
+           if (!item) {
+            if (!PyErr_Occurred ())
+                PyErr_SetString (PyExc_TypeError,
+                                 "can't convert parameter to desired type");
+
+            if (pc->exception_handler)
+                pc->exception_handler (return_value, n_param_values, param_values);
+            else
+                PyErr_Print();
+
+            goto out;
+           }
+           PyTuple_SetItem(params, i, item);
+       }
+    }
+    /* params passed to function may have extra arguments */
+    if (pc->extra_args) {
+       PyObject *tuple = params;
+       params = PySequence_Concat(tuple, pc->extra_args);
+       Py_DECREF(tuple);
+    }
+    ret = PyObject_CallObject(pc->callback, params);
+    if (ret == NULL) {
+       if (pc->exception_handler)
+           pc->exception_handler(return_value, n_param_values, param_values);
+       else
+           PyErr_Print();
+       goto out;
+    }
+
+    if (G_IS_VALUE(return_value) && pyg_value_from_pyobject(return_value, ret) != 0) {
+       /* If we already have an exception set, use that, otherwise set a
+        * generic one */
+       if (!PyErr_Occurred())
+           PyErr_SetString(PyExc_TypeError,
+                            "can't convert return value to desired type");
+
+       if (pc->exception_handler)
+           pc->exception_handler(return_value, n_param_values, param_values);
+       else
+           PyErr_Print();
+    }
+    Py_DECREF(ret);
+
+ out:
+    Py_DECREF(params);
+    PyGILState_Release(state);
+}
+
+/**
+ * pyg_closure_new:
+ * callback: a Python callable object
+ * extra_args: a tuple of extra arguments, or None/NULL.
+ * swap_data: an alternative python object to pass first.
+ *
+ * Creates a GClosure wrapping a Python callable and optionally a set
+ * of additional function arguments.  This is needed to attach python
+ * handlers to signals, for instance.
+ *
+ * Returns: the new closure.
+ */
+GClosure *
+pyg_closure_new(PyObject *callback, PyObject *extra_args, PyObject *swap_data)
+{
+    GClosure *closure;
+
+    g_return_val_if_fail(callback != NULL, NULL);
+    closure = g_closure_new_simple(sizeof(PyGClosure), NULL);
+    g_closure_add_invalidate_notifier(closure, NULL, pyg_closure_invalidate);
+    g_closure_set_marshal(closure, pyg_closure_marshal);
+    Py_INCREF(callback);
+    ((PyGClosure *)closure)->callback = callback;
+    if (extra_args && extra_args != Py_None) {
+       Py_INCREF(extra_args);
+       if (!PyTuple_Check(extra_args)) {
+           PyObject *tmp = PyTuple_New(1);
+           PyTuple_SetItem(tmp, 0, extra_args);
+           extra_args = tmp;
+       }
+       ((PyGClosure *)closure)->extra_args = extra_args;
+    }
+    if (swap_data) {
+       Py_INCREF(swap_data);
+       ((PyGClosure *)closure)->swap_data = swap_data;
+       closure->derivative_flag = TRUE;
+    }
+    return closure;
+}
+
+/**
+ * pyg_closure_set_exception_handler:
+ * @closure: a closure created with pyg_closure_new()
+ * @handler: the handler to call when an exception occurs or NULL for none
+ *
+ * Sets the handler to call when an exception occurs during closure invocation.
+ * The handler is responsible for providing a proper return value to the
+ * closure invocation. If @handler is %NULL, the default handler will be used.
+ * The default handler prints the exception to stderr and doesn't touch the
+ * closure's return value.
+ */
+void
+pyg_closure_set_exception_handler(GClosure *closure,
+                                 PyClosureExceptionHandler handler)
+{
+    PyGClosure *pygclosure;
+
+    g_return_if_fail(closure != NULL);
+
+    pygclosure = (PyGClosure *)closure;
+    pygclosure->exception_handler = handler;
+}
+/* -------------- PySignalClassClosure ----------------- */
+/* a closure used for the `class closure' of a signal.  As this gets
+ * all the info from the first argument to the closure and the
+ * invocation hint, we can have a single closure that handles all
+ * class closure cases.  We call a method by the name of the signal
+ * with "do_" prepended.
+ *
+ *  We also remove the first argument from the * param list, as it is
+ *  the instance object, which is passed * implicitly to the method
+ *  object. */
+
+static void
+pyg_signal_class_closure_marshal(GClosure *closure,
+                                GValue *return_value,
+                                guint n_param_values,
+                                const GValue *param_values,
+                                gpointer invocation_hint,
+                                gpointer marshal_data)
+{
+    PyGILState_STATE state;
+    GObject *object;
+    PyObject *object_wrapper;
+    GSignalInvocationHint *hint = (GSignalInvocationHint *)invocation_hint;
+    gchar *method_name, *tmp;
+    PyObject *method;
+    PyObject *params, *ret;
+    Py_ssize_t py_len;
+    guint i, len;
+
+    state = PyGILState_Ensure();
+
+    g_return_if_fail(invocation_hint != NULL);
+    /* get the object passed as the first argument to the closure */
+    object = g_value_get_object(&param_values[0]);
+    g_return_if_fail(object != NULL && G_IS_OBJECT(object));
+
+    /* get the wrapper for this object */
+    object_wrapper = pygobject_new(object);
+    g_return_if_fail(object_wrapper != NULL);
+
+    /* construct method name for this class closure */
+    method_name = g_strconcat("do_", g_signal_name(hint->signal_id), NULL);
+
+    /* convert dashes to underscores.  For some reason, g_signal_name
+     * seems to convert all the underscores in the signal name to
+       dashes??? */
+    for (tmp = method_name; *tmp != '\0'; tmp++)
+       if (*tmp == '-') *tmp = '_';
+
+    method = PyObject_GetAttrString(object_wrapper, method_name);
+    g_free(method_name);
+
+    if (!method) {
+       PyErr_Clear();
+       Py_DECREF(object_wrapper);
+       PyGILState_Release(state);
+       return;
+    }
+    Py_DECREF(object_wrapper);
+
+    /* construct Python tuple for the parameter values; don't copy boxed values
+       initially because we'll check after the call to see if a copy is needed. */
+    params = PyTuple_New(n_param_values - 1);
+    for (i = 1; i < n_param_values; i++) {
+       PyObject *item = pyg_value_as_pyobject(&param_values[i], FALSE);
+
+       /* error condition */
+       if (!item) {
+           Py_DECREF(params);
+           PyGILState_Release(state);
+           return;
+       }
+       PyTuple_SetItem(params, i - 1, item);
+    }
+
+    ret = PyObject_CallObject(method, params);
+
+    /* Copy boxed values if others ref them, this needs to be done regardless of
+       exception status. */
+    py_len = PyTuple_Size(params);
+    len = (guint)py_len;
+    for (i = 0; i < len; i++) {
+       PyObject *item = PyTuple_GetItem(params, i);
+       if (item != NULL && PyObject_TypeCheck(item, &PyGBoxed_Type)
+           && item->ob_refcnt != 1) {
+           PyGBoxed* boxed_item = (PyGBoxed*)item;
+           if (!boxed_item->free_on_dealloc) {
+               gpointer boxed_ptr = pyg_boxed_get_ptr (boxed_item);
+               pyg_boxed_set_ptr (boxed_item, g_boxed_copy (boxed_item->gtype, boxed_ptr));
+               boxed_item->free_on_dealloc = TRUE;
+           }
+       }
+    }
+
+    if (ret == NULL) {
+       PyErr_Print();
+       Py_DECREF(method);
+       Py_DECREF(params);
+       PyGILState_Release(state);
+       return;
+    }
+    Py_DECREF(method);
+    Py_DECREF(params);
+    if (G_IS_VALUE(return_value))
+       pyg_value_from_pyobject(return_value, ret);
+    Py_DECREF(ret);
+    PyGILState_Release(state);
+}
+
+/**
+ * pyg_signal_class_closure_get:
+ *
+ * Returns the GClosure used for the class closure of signals.  When
+ * called, it will invoke the method do_signalname (for the signal
+ * "signalname").
+ *
+ * Returns: the closure.
+ */
+GClosure *
+pyg_signal_class_closure_get(void)
+{
+    static GClosure *closure;
+
+    if (closure == NULL) {
+       closure = g_closure_new_simple(sizeof(GClosure), NULL);
+       g_closure_set_marshal(closure, pyg_signal_class_closure_marshal);
+
+       g_closure_ref(closure);
+       g_closure_sink(closure);
+    }
+    return closure;
+}
+
+/* ----- __doc__ descriptor for GObject and GInterface ----- */
+
+static void
+object_doc_dealloc(PyObject *self)
+{
+    PyObject_FREE(self);
+}
+
+/* append information about signals of a particular gtype */
+static void
+add_signal_docs(GType gtype, GString *string)
+{
+    GTypeClass *class = NULL;
+    guint *signal_ids, n_ids = 0, i;
+
+    if (G_TYPE_IS_CLASSED(gtype))
+       class = g_type_class_ref(gtype);
+    signal_ids = g_signal_list_ids(gtype, &n_ids);
+
+    if (n_ids > 0) {
+       g_string_append_printf(string, "Signals from %s:\n",
+                              g_type_name(gtype));
+
+       for (i = 0; i < n_ids; i++) {
+           GSignalQuery query;
+           guint j;
+
+           g_signal_query(signal_ids[i], &query);
+
+           g_string_append(string, "  ");
+           g_string_append(string, query.signal_name);
+           g_string_append(string, " (");
+           for (j = 0; j < query.n_params; j++) {
+               g_string_append(string, g_type_name(query.param_types[j]));
+               if (j != query.n_params - 1)
+                   g_string_append(string, ", ");
+           }
+           g_string_append(string, ")");
+           if (query.return_type && query.return_type != G_TYPE_NONE) {
+               g_string_append(string, " -> ");
+               g_string_append(string, g_type_name(query.return_type));
+           }
+           g_string_append(string, "\n");
+       }
+       g_free(signal_ids);
+       g_string_append(string, "\n");
+    }
+    if (class)
+       g_type_class_unref(class);
+}
+
+static void
+add_property_docs(GType gtype, GString *string)
+{
+    GObjectClass *class;
+    GParamSpec **props;
+    guint n_props = 0, i;
+    gboolean has_prop = FALSE;
+    G_CONST_RETURN gchar *blurb=NULL;
+
+    class = g_type_class_ref(gtype);
+    props = g_object_class_list_properties(class, &n_props);
+
+    for (i = 0; i < n_props; i++) {
+       if (props[i]->owner_type != gtype)
+           continue; /* these are from a parent type */
+
+       /* print out the heading first */
+       if (!has_prop) {
+           g_string_append_printf(string, "Properties from %s:\n",
+                                  g_type_name(gtype));
+           has_prop = TRUE;
+       }
+       g_string_append_printf(string, "  %s -> %s: %s\n",
+                              g_param_spec_get_name(props[i]),
+                              g_type_name(props[i]->value_type),
+                              g_param_spec_get_nick(props[i]));
+
+       /* g_string_append_printf crashes on win32 if the third
+          argument is NULL. */
+       blurb=g_param_spec_get_blurb(props[i]);
+       if (blurb)
+           g_string_append_printf(string, "    %s\n",blurb);
+    }
+    g_free(props);
+    if (has_prop)
+       g_string_append(string, "\n");
+    g_type_class_unref(class);
+}
+
+static PyObject *
+object_doc_descr_get(PyObject *self, PyObject *obj, PyObject *type)
+{
+    GType gtype = 0;
+    GString *string;
+    PyObject *pystring;
+
+    if (obj && pygobject_check(obj, &PyGObject_Type)) {
+       gtype = G_OBJECT_TYPE(pygobject_get(obj));
+       if (!gtype)
+           PyErr_SetString(PyExc_RuntimeError, "could not get object type");
+    } else {
+       gtype = pyg_type_from_object(type);
+    }
+    if (!gtype)
+       return NULL;
+
+    string = g_string_new_len(NULL, 512);
+
+    if (g_type_is_a(gtype, G_TYPE_INTERFACE))
+       g_string_append_printf(string, "Interface %s\n\n", g_type_name(gtype));
+    else if (g_type_is_a(gtype, G_TYPE_OBJECT))
+       g_string_append_printf(string, "Object %s\n\n", g_type_name(gtype));
+    else
+       g_string_append_printf(string, "%s\n\n", g_type_name(gtype));
+
+    if (((PyTypeObject *) type)->tp_doc)
+        g_string_append_printf(string, "%s\n\n", ((PyTypeObject *) type)->tp_doc);
+
+    if (g_type_is_a(gtype, G_TYPE_OBJECT)) {
+       GType parent = G_TYPE_OBJECT;
+        GArray *parents = g_array_new(FALSE, FALSE, sizeof(GType));
+        int iparent;
+
+        while (parent) {
+            g_array_append_val(parents, parent);
+            parent = g_type_next_base(gtype, parent);
+        }
+
+        for (iparent = parents->len - 1; iparent >= 0; --iparent) {
+           GType *interfaces;
+           guint n_interfaces, i;
+
+            parent = g_array_index(parents, GType, iparent);
+           add_signal_docs(parent, string);
+           add_property_docs(parent, string);
+
+           /* add docs for implemented interfaces */
+           interfaces = g_type_interfaces(parent, &n_interfaces);
+           for (i = 0; i < n_interfaces; i++)
+               add_signal_docs(interfaces[i], string);
+           g_free(interfaces);
+       }
+        g_array_free(parents, TRUE);
+    }
+
+    pystring = PYGLIB_PyUnicode_FromStringAndSize(string->str, string->len);
+    g_string_free(string, TRUE);
+    return pystring;
+}
+
+PYGLIB_DEFINE_TYPE("gobject.GObject.__doc__", PyGObjectDoc_Type, PyObject);
+
+/**
+ * pyg_object_descr_doc_get:
+ *
+ * Returns an object intended to be the __doc__ attribute of GObject
+ * wrappers.  When read in the context of the object it will return
+ * some documentation about the signals and properties of the object.
+ *
+ * Returns: the descriptor.
+ */
+PyObject *
+pyg_object_descr_doc_get(void)
+{
+    static PyObject *doc_descr = NULL;
+
+    if (!doc_descr) {
+       Py_TYPE(&PyGObjectDoc_Type) = &PyType_Type;
+       if (PyType_Ready(&PyGObjectDoc_Type))
+           return NULL;
+
+       doc_descr = PyObject_NEW(PyObject, &PyGObjectDoc_Type);
+       if (doc_descr == NULL)
+           return NULL;
+    }
+    return doc_descr;
+}
+
+
+/**
+ * pyg_pyobj_to_unichar_conv:
+ *
+ * Converts PyObject value to a unichar and write result to memory
+ * pointed to by ptr.  Follows the calling convention of a ParseArgs
+ * converter (O& format specifier) so it may be used to convert function
+ * arguments.
+ *
+ * Returns: 1 if the conversion succeeds and 0 otherwise.  If the conversion
+ *          did not succeesd, a Python exception is raised
+ */
+int pyg_pyobj_to_unichar_conv(PyObject* py_obj, void* ptr)
+{
+    if (!pygi_gunichar_from_py (py_obj, ptr))
+        return 0;
+    return 1;
+}
+
+gboolean
+pyg_gtype_is_custom(GType gtype)
+{
+    return g_type_get_qdata (gtype, pygobject_custom_key) != NULL;
+}
+
+static PyObject *
+strv_from_gvalue(const GValue *value)
+{
+    gchar **argv;
+    PyObject  *py_argv;
+    gsize i;
+
+    argv = (gchar **) g_value_get_boxed (value);
+    py_argv = PyList_New (0);
+
+    for (i = 0; argv && argv[i]; i++) {
+        int res;
+        PyObject *item = pygi_utf8_to_py (argv[i]);
+        if (item == NULL) {
+            Py_DECREF (py_argv);
+            return NULL;
+        }
+        res = PyList_Append (py_argv, item);
+        Py_DECREF (item);
+        if (res == -1) {
+            Py_DECREF (py_argv);
+            return NULL;
+        }
+    }
+
+    return py_argv;
+}
+
+static int
+strv_to_gvalue(GValue *value, PyObject *obj)
+{
+    Py_ssize_t argc, i;
+    gchar **argv;
+
+    if (!(PyTuple_Check (obj) || PyList_Check (obj)))
+        return -1;
+
+    argc = PySequence_Length (obj);
+    argv = g_new (gchar *, argc + 1);
+    for (i = 0; i < argc; ++i) {
+        PyObject* item = PySequence_Fast_GET_ITEM (obj, i);
+        if (!pygi_utf8_from_py (item, &(argv[i])))
+            goto error;
+    }
+
+    argv[i] = NULL;
+    g_value_take_boxed (value, argv);
+    return 0;
+
+error:
+    for (i = i - 1; i >= 0; i--) {
+        g_free (argv[i]);
+    }
+    g_free (argv);
+    return -1;
+}
+
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_type_register_types(PyObject *d)
+{
+    PyGTypeWrapper_Type.tp_dealloc = (destructor)pyg_type_wrapper_dealloc;
+    PyGTypeWrapper_Type.tp_richcompare = pyg_type_wrapper_richcompare;
+    PyGTypeWrapper_Type.tp_repr = (reprfunc)pyg_type_wrapper_repr;
+    PyGTypeWrapper_Type.tp_hash = (hashfunc)pyg_type_wrapper_hash;
+    PyGTypeWrapper_Type.tp_flags = Py_TPFLAGS_DEFAULT;
+    PyGTypeWrapper_Type.tp_methods = _PyGTypeWrapper_methods;
+    PyGTypeWrapper_Type.tp_getset = _PyGTypeWrapper_getsets;
+    PyGTypeWrapper_Type.tp_init = (initproc)pyg_type_wrapper_init;
+    PYGLIB_REGISTER_TYPE(d, PyGTypeWrapper_Type, "GType");
+
+    /* This type lazily registered in pyg_object_descr_doc_get */
+    PyGObjectDoc_Type.tp_dealloc = (destructor)object_doc_dealloc;
+    PyGObjectDoc_Type.tp_flags = Py_TPFLAGS_DEFAULT;
+    PyGObjectDoc_Type.tp_descr_get = (descrgetfunc)object_doc_descr_get;
+
+    pyg_register_gtype_custom (G_TYPE_STRV,
+                               strv_from_gvalue,
+                               strv_to_gvalue);
+
+    return 0;
+}
index 85f7551..94ddc85 100644 (file)
@@ -1,7 +1,8 @@
 /* -*- Mode: C; c-basic-offset: 4 -*-
- * vim: tabstop=4 shiftwidth=4 expandtab
- *
- * Copyright (C) 2009 Simon van der Linden <svdlinden@src.gnome.org>
+ * pygtk- Python bindings for the GTK toolkit.
+ * Copyright (C) 1998-2003  James Henstridge
+ *               2004-2008  Johan Dahlin
+ *   pyginterface.c: wrapper for the gobject library.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef __PYGI_TYPE_H__
+#ifndef __PYGI_TYPE_H__ 
 #define __PYGI_TYPE_H__
 
 #include <Python.h>
+#include <glib-object.h>
 #include <girepository.h>
+#include "pygobject-internal.h"
 
-G_BEGIN_DECLS
+#define PYGOBJECT_REGISTER_GTYPE(d, type, name, gtype)      \
+  {                                                         \
+    PyObject *o;                                           \
+    PYGLIB_REGISTER_TYPE(d, type, name);                    \
+    PyDict_SetItemString(type.tp_dict, "__gtype__",         \
+                        o=pyg_type_wrapper_new(gtype));    \
+    Py_DECREF(o);                                           \
+}
 
-/* Public */
+extern PyTypeObject PyGTypeWrapper_Type;
 
-PyObject *pygi_type_import_by_g_type (GType g_type);
+typedef PyObject *(* fromvaluefunc)(const GValue *value);
+typedef int (*tovaluefunc)(GValue *value, PyObject *obj);
+
+typedef struct {
+    fromvaluefunc fromvalue;
+    tovaluefunc tovalue;
+} PyGTypeMarshal;
 
+PyGTypeMarshal *pyg_type_lookup(GType type);
 
-/* Private */
+gboolean pyg_gtype_is_custom (GType gtype);
 
-PyObject *_pygi_type_import_by_name (const char *namespace_, const char *name);
+void pyg_register_gtype_custom(GType gtype,
+                               fromvaluefunc from_func,
+                               tovaluefunc to_func);
 
-PyObject *_pygi_type_import_by_gi_info (GIBaseInfo *info);
+int pygi_type_register_types(PyObject *d);
 
-PyObject *_pygi_type_get_from_g_type (GType g_type);
+PyObject *pyg_object_descr_doc_get(void);
+PyObject *pyg_type_wrapper_new (GType type);
+GType     pyg_type_from_object_strict (PyObject *obj, gboolean strict);
+GType     pyg_type_from_object (PyObject *obj);
 
-G_END_DECLS
+int pyg_pyobj_to_unichar_conv (PyObject* py_obj, void* ptr);
+
+GClosure *pyg_closure_new(PyObject *callback, PyObject *extra_args, PyObject *swap_data);
+GClosure *pyg_signal_class_closure_get(void);
+void      pyg_closure_set_exception_handler(GClosure *closure,
+                                            PyClosureExceptionHandler handler);
+
+PyObject *pygi_type_import_by_g_type (GType g_type);
+PyObject *pygi_type_import_by_name (const char *namespace_, const char *name);
+PyObject *pygi_type_import_by_gi_info (GIBaseInfo *info);
+PyObject *pygi_type_get_from_g_type (GType g_type);
 
 #endif /* __PYGI_TYPE_H__ */
index 1d9201e..c02a53c 100644 (file)
@@ -2,8 +2,6 @@
  * pygtk- Python bindings for the GTK toolkit.
  * Copyright (C) 1998-2003  James Henstridge
  *
- *   gobjectmodule.c: wrapper for the gobject library.
- *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
 
 #include "pygi-util.h"
 
+/**
+ * Like PyErr_Format, but supports the format syntax of
+ * PyUnicode_FromFormat also under Python 2.
+ * Note: Python 2 doesn't support %lld and %llo there.
+ */
+PyObject*
+pygi_pyerr_format (PyObject *exception, const char *format, ...)
+{
+    PyObject *text;
+    va_list argp;
+    va_start(argp, format);
+    text = PyUnicode_FromFormatV (format, argp);
+    va_end(argp);
+
+    if (text != NULL) {
+#if PY_MAJOR_VERSION < 3
+        PyObject *str;
+        str = PyUnicode_AsUTF8String (text);
+        Py_DECREF (text);
+        if (str) {
+            PyErr_SetObject (exception, str);
+            Py_DECREF (str);
+        }
+#else
+        PyErr_SetObject (exception, text);
+        Py_DECREF (text);
+#endif
+    }
+
+    return NULL;
+}
+
+gboolean
+pygi_guint_from_pyssize (Py_ssize_t pyval, guint *result)
+{
+    if (pyval < 0) {
+        PyErr_SetString (PyExc_ValueError, "< 0");
+        return FALSE;
+    } else if (G_MAXUINT < PY_SSIZE_T_MAX && pyval > (Py_ssize_t)G_MAXUINT) {
+        PyErr_SetString (PyExc_ValueError, "too large");
+        return FALSE;
+    }
+    *result = (guint)pyval;
+    return TRUE;
+}
+
+/* Better alternative to PyImport_ImportModule which tries to import from
+ * sys.modules first */
+PyObject *
+pygi_import_module (const char *name)
+{
+#if PY_VERSION_HEX < 0x03000000 && !defined(PYPY_VERSION)
+    /* see PyImport_ImportModuleNoBlock
+     * https://github.com/python/cpython/blob/2.7/Python/import.c#L2166-L2206 */
+    PyObject *result = PyImport_ImportModuleNoBlock(name);
+    if (result)
+        return result;
+
+    PyErr_Clear();
+#endif
+    return PyImport_ImportModule(name);
+}
+
 PyObject *
 pyg_integer_richcompare(PyObject *v, PyObject *w, int op)
 {
@@ -40,3 +101,75 @@ pyg_integer_richcompare(PyObject *v, PyObject *w, int op)
     Py_INCREF(result);
     return result;
 }
+
+PyObject*
+pyg_ptr_richcompare(void* a, void *b, int op)
+{
+    PyObject *res;
+
+    switch (op) {
+      case Py_EQ:
+        res = (a == b) ? Py_True : Py_False;
+        break;
+      case Py_NE:
+        res = (a != b) ? Py_True : Py_False;
+        break;
+      case Py_LT:
+        res = (a < b) ? Py_True : Py_False;
+        break;
+      case Py_LE:
+        res = (a <= b) ? Py_True : Py_False;
+        break;
+      case Py_GT:
+        res = (a > b) ? Py_True : Py_False;
+        break;
+      case Py_GE:
+        res = (a >= b) ? Py_True : Py_False;
+        break;
+      default:
+        res = Py_NotImplemented;
+        break;
+    }
+
+    Py_INCREF(res);
+    return res;
+}
+
+/**
+ * pyg_constant_strip_prefix:
+ * @name: the constant name.
+ * @strip_prefix: the prefix to strip.
+ *
+ * Advances the pointer @name by strlen(@strip_prefix) characters.  If
+ * the resulting name does not start with a letter or underscore, the
+ * @name pointer will be rewound.  This is to ensure that the
+ * resulting name is a valid identifier.  Hence the returned string is
+ * a pointer into the string @name.
+ *
+ * Returns: the stripped constant name.
+ */
+const gchar *
+pyg_constant_strip_prefix(const gchar *name, const gchar *strip_prefix)
+{
+    size_t prefix_len, i;
+
+    prefix_len = strlen(strip_prefix);
+
+    /* Check so name starts with strip_prefix, if it doesn't:
+     * return the rest of the part which doesn't match
+     */
+    for (i = 0; i < prefix_len; i++) {
+       if (name[i] != strip_prefix[i] && name[i] != '_') {
+           return &name[i];
+       }
+    }
+
+    /* strip off prefix from value name, while keeping it a valid
+     * identifier */
+    for (i = prefix_len + 1; i > 0; i--) {
+       if (g_ascii_isalpha(name[i - 1]) || name[i - 1] == '_') {
+           return &name[i - 1];
+       }
+    }
+    return name;
+}
index c7bc1d5..2f9847e 100644 (file)
@@ -4,11 +4,17 @@
 #include <Python.h>
 #include <glib.h>
 #include "pygobject-internal.h"
-#include <pyglib-python-compat.h>
+#include "pygi-python-compat.h"
 
 G_BEGIN_DECLS
 
 PyObject * pyg_integer_richcompare(PyObject *v, PyObject *w, int op);
+PyObject * pyg_ptr_richcompare(void* a, void *b, int op);
+const gchar * pyg_constant_strip_prefix(const gchar *name, const gchar *strip_prefix);
+PyObject * pygi_import_module (const char *name);
+PyObject * pygi_pyerr_format (PyObject *exception, const char *format, ...);
+
+gboolean pygi_guint_from_pyssize (Py_ssize_t pyval, guint *result);
 
 #if PY_VERSION_HEX >= 0x03000000
 
index 814bb02..c4416fc 100644 (file)
 #include <Python.h>
 #include "pygi-value.h"
 #include "pygi-struct.h"
-#include "pyglib-python-compat.h"
+#include "pygi-python-compat.h"
+#include "pygi-basictype.h"
 #include "pygobject-object.h"
-#include "pygtype.h"
+#include "pygi-type.h"
 #include "pygenum.h"
 #include "pygpointer.h"
 #include "pygboxed.h"
 #include "pygflags.h"
 #include "pygparamspec.h"
 
+
 GIArgument
 _pygi_argument_from_g_value(const GValue *value,
                             GITypeInfo *type_info)
@@ -50,9 +52,9 @@ _pygi_argument_from_g_value(const GValue *value,
         case GI_TYPE_TAG_INT16:
         case GI_TYPE_TAG_INT32:
            if (g_type_is_a (G_VALUE_TYPE (value), G_TYPE_LONG))
-               arg.v_int = g_value_get_long (value);
+               arg.v_int32 = (gint32)g_value_get_long (value);
            else
-               arg.v_int = g_value_get_int (value);
+               arg.v_int32 = (gint32)g_value_get_int (value);
             break;
         case GI_TYPE_TAG_INT64:
            if (g_type_is_a (G_VALUE_TYPE (value), G_TYPE_LONG))
@@ -66,9 +68,9 @@ _pygi_argument_from_g_value(const GValue *value,
         case GI_TYPE_TAG_UINT16:
         case GI_TYPE_TAG_UINT32:
            if (g_type_is_a (G_VALUE_TYPE (value), G_TYPE_ULONG))
-               arg.v_uint = g_value_get_ulong (value);
+               arg.v_uint32 = (guint32)g_value_get_ulong (value);
            else
-               arg.v_uint = g_value_get_uint (value);
+               arg.v_uint32 = (guint32)g_value_get_uint (value);
             break;
         case GI_TYPE_TAG_UINT64:
            if (g_type_is_a (G_VALUE_TYPE (value), G_TYPE_ULONG))
@@ -243,9 +245,8 @@ static int
 pyg_array_from_pyobject(GValue *value,
                         PyObject *obj)
 {
-    int len;
+    Py_ssize_t len, i;
     GArray *array;
-    int i;
 
     len = PySequence_Length(obj);
     if (len == -1) {
@@ -383,79 +384,68 @@ pyg_value_from_pyobject_with_error(GValue *value, PyObject *obj)
         }
         break;
     case G_TYPE_BOOLEAN:
-        g_value_set_boolean(value, PyObject_IsTrue(obj));
-        break;
-    case G_TYPE_INT:
     {
-        glong val = PYGLIB_PyLong_AsLong(obj);
-        if (val == -1 && PyErr_Occurred ())
+        gboolean temp;
+        if (pygi_gboolean_from_py (obj, &temp)) {
+            g_value_set_boolean (value, temp);
+            return 0;
+        } else
             return -1;
-        if (val > G_MAXINT || val < G_MININT) {
-            PyErr_SetString(PyExc_OverflowError, "out of range for int property");
+    }
+    case G_TYPE_INT:
+    {
+        gint temp;
+        if (pygi_gint_from_py (obj, &temp)) {
+            g_value_set_int (value, temp);
+            return 0;
+        } else
             return -1;
-        }
-        g_value_set_int(value, (gint)val);
-        break;
     }
     case G_TYPE_UINT:
     {
-        if (PYGLIB_PyLong_Check(obj)) {
-            gulong val;
-
-            /* check that number is not negative */
-            if (PyLong_AsLongLong(obj) < 0)
-                return -1;
-
-            val = PyLong_AsUnsignedLong(obj);
-            if (val <= G_MAXUINT)
-                g_value_set_uint(value, (guint) val);
-            else
-                return -1;
-        } else {
-            g_value_set_uint(value, PyLong_AsUnsignedLong(obj));
-        }
+        guint temp;
+        if (pygi_guint_from_py (obj, &temp)) {
+            g_value_set_uint (value, temp);
+            return 0;
+        } else
+            return -1;
     }
-    break;
     case G_TYPE_LONG:
-        g_value_set_long(value, PYGLIB_PyLong_AsLong(obj));
-        break;
+    {
+        glong temp;
+        if (pygi_glong_from_py (obj, &temp)) {
+            g_value_set_long (value, temp);
+            return 0;
+        } else
+            return -1;
+    }
     case G_TYPE_ULONG:
-#if PY_VERSION_HEX < 0x03000000
-        if (PyInt_Check(obj)) {
-            long val;
-
-            val = PYGLIB_PyLong_AsLong(obj);
-            if (val < 0) {
-                PyErr_SetString(PyExc_OverflowError, "negative value not allowed for uint64 property");
-                return -1;
-            }
-            g_value_set_ulong(value, (gulong)val);
+    {
+        gulong temp;
+        if (pygi_gulong_from_py (obj, &temp)) {
+            g_value_set_ulong (value, temp);
+            return 0;
         } else
-#endif
-            if (PyLong_Check(obj))
-                g_value_set_ulong(value, PyLong_AsUnsignedLong(obj));
-            else
-                return -1;
-        break;
+            return -1;
+    }
     case G_TYPE_INT64:
-        g_value_set_int64(value, PyLong_AsLongLong(obj));
-        break;
+    {
+        gint64 temp;
+        if (pygi_gint64_from_py (obj, &temp)) {
+            g_value_set_int64 (value, temp);
+            return 0;
+        } else
+            return -1;
+    }
     case G_TYPE_UINT64:
-#if PY_VERSION_HEX < 0x03000000
-        if (PyInt_Check(obj)) {
-            long v = PyInt_AsLong(obj);
-            if (v < 0) {
-                PyErr_SetString(PyExc_OverflowError, "negative value not allowed for uint64 property");
-                return -1;
-            }
-            g_value_set_uint64(value, v);
+    {
+        guint64 temp;
+        if (pygi_guint64_from_py (obj, &temp)) {
+            g_value_set_uint64 (value, temp);
+            return 0;
         } else
-#endif
-            if (PyLong_Check(obj))
-                g_value_set_uint64(value, PyLong_AsUnsignedLongLong(obj));
-            else
-                return -1;
-        break;
+            return -1;
+    }
     case G_TYPE_ENUM:
     {
         gint val = 0;
@@ -472,45 +462,49 @@ pyg_value_from_pyobject_with_error(GValue *value, PyObject *obj)
             return -1;
         }
         g_value_set_flags(value, val);
+        return 0;
     }
     break;
     case G_TYPE_FLOAT:
-        g_value_set_float(value, PyFloat_AsDouble(obj));
-        break;
+    {
+        gfloat temp;
+        if (pygi_gfloat_from_py (obj, &temp)) {
+            g_value_set_float (value, temp);
+            return 0;
+        } else
+            return -1;
+    }
     case G_TYPE_DOUBLE:
-        g_value_set_double(value, PyFloat_AsDouble(obj));
-        break;
+    {
+        gdouble temp;
+        if (pygi_gdouble_from_py (obj, &temp)) {
+            g_value_set_double (value, temp);
+            return 0;
+        } else
+            return -1;
+    }
     case G_TYPE_STRING:
-        if (obj == Py_None) {
-            g_value_set_string(value, NULL);
+    {
+        gchar *temp;
+        if (pygi_utf8_from_py (obj, &temp)) {
+            g_value_set_string (value, temp);
+            return 0;
         } else {
-            PyObject* tmp_str = PyObject_Str(obj);
-            if (tmp_str == NULL) {
-                PyErr_Clear();
-                if (PyUnicode_Check(obj)) {
-                    tmp = PyUnicode_AsUTF8String(obj);
-                    g_value_set_string(value, PYGLIB_PyBytes_AsString(tmp));
-                    Py_DECREF(tmp);
-                } else {
-                    PyErr_SetString(PyExc_TypeError, "Expected string");
-                    return -1;
-                }
-            } else {
-#if PY_VERSION_HEX < 0x03000000
-                g_value_set_string(value, PyString_AsString(tmp_str));
-#else
-                tmp = PyUnicode_AsUTF8String(tmp_str);
-                if (tmp == NULL) {
-                    Py_DECREF (tmp_str);
-                    return -1;
-                }
-                g_value_set_string(value, PyBytes_AsString(tmp));
-                Py_DECREF(tmp);
-#endif
+            /* also allows setting anything implementing __str__ */
+            PyObject* str;
+            PyErr_Clear ();
+            str = PyObject_Str (obj);
+            if (str == NULL)
+                return -1;
+            if (pygi_utf8_from_py (str, &temp)) {
+                Py_DECREF (str);
+                g_value_set_string (value, temp);
+                return 0;
             }
-            Py_XDECREF(tmp_str);
+            Py_DECREF (str);
+            return -1;
         }
-        break;
+    }
     case G_TYPE_POINTER:
         if (obj == Py_None)
             g_value_set_pointer(value, NULL);
@@ -665,6 +659,7 @@ pyg_value_from_pyobject(GValue *value, PyObject *obj)
 /**
  * pygi_value_to_py_basic_type:
  * @value: the GValue object.
+ * @handled: (out): TRUE if the return value is defined
  *
  * This function creates/returns a Python wrapper object that
  * represents the GValue passed as an argument limited to supporting basic types
@@ -673,96 +668,61 @@ pyg_value_from_pyobject(GValue *value, PyObject *obj)
  * Returns: a PyObject representing the value.
  */
 PyObject *
-pygi_value_to_py_basic_type (const GValue *value, GType fundamental)
+pygi_value_to_py_basic_type (const GValue *value, GType fundamental, gboolean *handled)
 {
+    *handled = TRUE;
     switch (fundamental) {
-    case G_TYPE_CHAR:
-        return PYGLIB_PyLong_FromLong (g_value_get_schar (value));
-
-    case G_TYPE_UCHAR:
-        return PYGLIB_PyLong_FromLong (g_value_get_uchar (value));
-
-    case G_TYPE_BOOLEAN: {
-        return PyBool_FromLong(g_value_get_boolean(value));
-    }
-    case G_TYPE_INT:
-        return PYGLIB_PyLong_FromLong(g_value_get_int(value));
-    case G_TYPE_UINT:
-    {
-        /* in Python, the Int object is backed by a long.  If a
-              long can hold the whole value of an unsigned int, use
-              an Int.  Otherwise, use a Long object to avoid overflow.
-              This matches the ULongArg behavior in codegen/argtypes.h */
-#if (G_MAXUINT <= G_MAXLONG)
-        return PYGLIB_PyLong_FromLong((glong) g_value_get_uint(value));
-#else
-        return PyLong_FromUnsignedLong((gulong) g_value_get_uint(value));
-#endif
-    }
-    case G_TYPE_LONG:
-        return PYGLIB_PyLong_FromLong(g_value_get_long(value));
-    case G_TYPE_ULONG:
-    {
-        gulong val = g_value_get_ulong(value);
-
-        if (val <= G_MAXLONG)
-            return PYGLIB_PyLong_FromLong((glong) val);
-        else
-            return PyLong_FromUnsignedLong(val);
-    }
-    case G_TYPE_INT64:
-    {
-        gint64 val = g_value_get_int64(value);
-
-        if (G_MINLONG <= val && val <= G_MAXLONG)
-            return PYGLIB_PyLong_FromLong((glong) val);
-        else
-            return PyLong_FromLongLong(val);
-    }
-    case G_TYPE_UINT64:
-    {
-        guint64 val = g_value_get_uint64(value);
-
-        if (val <= G_MAXLONG)
-            return PYGLIB_PyLong_FromLong((glong) val);
-        else
-            return PyLong_FromUnsignedLongLong(val);
-    }
-    case G_TYPE_ENUM:
-        return pyg_enum_from_gtype(G_VALUE_TYPE(value), g_value_get_enum(value));
-    case G_TYPE_FLAGS:
-        return pyg_flags_from_gtype(G_VALUE_TYPE(value), g_value_get_flags(value));
-    case G_TYPE_FLOAT:
-        return PyFloat_FromDouble(g_value_get_float(value));
-    case G_TYPE_DOUBLE:
-        return PyFloat_FromDouble(g_value_get_double(value));
-    case G_TYPE_STRING:
-    {
-        const gchar *str = g_value_get_string(value);
-
-        if (str)
-            return PYGLIB_PyUnicode_FromString(str);
-        Py_INCREF(Py_None);
-        return Py_None;
-    }
-    default:
-        return NULL;
+        case G_TYPE_CHAR:
+            return PYGLIB_PyLong_FromLong (g_value_get_schar (value));
+        case G_TYPE_UCHAR:
+            return PYGLIB_PyLong_FromLong (g_value_get_uchar (value));
+        case G_TYPE_BOOLEAN:
+            return pygi_gboolean_to_py (g_value_get_boolean (value));
+        case G_TYPE_INT:
+            return pygi_gint_to_py (g_value_get_int (value));
+        case G_TYPE_UINT:
+            return pygi_guint_to_py (g_value_get_uint (value));
+        case G_TYPE_LONG:
+            return pygi_glong_to_py (g_value_get_long(value));
+        case G_TYPE_ULONG:
+            return pygi_gulong_to_py (g_value_get_ulong (value));
+        case G_TYPE_INT64:
+            return pygi_gint64_to_py (g_value_get_int64 (value));
+        case G_TYPE_UINT64:
+            return pygi_guint64_to_py (g_value_get_uint64 (value));
+        case G_TYPE_ENUM:
+            return pyg_enum_from_gtype (G_VALUE_TYPE (value),
+                                        g_value_get_enum (value));
+        case G_TYPE_FLAGS:
+            return pyg_flags_from_gtype (G_VALUE_TYPE (value),
+                                         g_value_get_flags (value));
+        case G_TYPE_FLOAT:
+            return pygi_gfloat_to_py (g_value_get_float (value));
+        case G_TYPE_DOUBLE:
+            return pygi_gdouble_to_py (g_value_get_double (value));
+        case G_TYPE_STRING:
+            return pygi_utf8_to_py (g_value_get_string (value));
+        default:
+            *handled = FALSE;
+            return NULL;
     }
 }
 
 /**
- * pygi_value_to_py_structured_type:
+ * value_to_py_structured_type:
  * @value: the GValue object.
  * @copy_boxed: true if boxed values should be copied.
  *
  * This function creates/returns a Python wrapper object that
  * represents the GValue passed as an argument.
  *
- * Returns: a PyObject representing the value.
+ * Returns: a PyObject representing the value or NULL and sets an error;
  */
-PyObject *
-pygi_value_to_py_structured_type (const GValue *value, GType fundamental, gboolean copy_boxed)
+static PyObject *
+value_to_py_structured_type (const GValue *value, GType fundamental, gboolean copy_boxed)
 {
+    const gchar *type_name;
+
     switch (fundamental) {
     case G_TYPE_INTERFACE:
         if (g_type_is_a(G_VALUE_TYPE(value), G_TYPE_OBJECT))
@@ -813,10 +773,10 @@ pygi_value_to_py_structured_type (const GValue *value, GType fundamental, gboole
             return bm->fromvalue(value);
         } else {
             if (copy_boxed)
-                return pyg_boxed_new(G_VALUE_TYPE(value),
+                return pygi_gboxed_new(G_VALUE_TYPE(value),
                         g_value_get_boxed(value), TRUE, TRUE);
             else
-                return pyg_boxed_new(G_VALUE_TYPE(value),
+                return pygi_gboxed_new(G_VALUE_TYPE(value),
                         g_value_get_boxed(value),FALSE,FALSE);
         }
     }
@@ -831,7 +791,7 @@ pygi_value_to_py_structured_type (const GValue *value, GType fundamental, gboole
             Py_INCREF(Py_None);
             return Py_None;
         }
-        return _pygi_struct_new_from_g_type (G_TYPE_VARIANT, g_variant_ref(v), FALSE);
+        return pygi_struct_new_from_g_type (G_TYPE_VARIANT, g_variant_ref(v), FALSE);
     }
     default:
     {
@@ -842,6 +802,11 @@ pygi_value_to_py_structured_type (const GValue *value, GType fundamental, gboole
     }
     }
 
+    type_name = g_type_name (G_VALUE_TYPE (value));
+    if (type_name == NULL) {
+        type_name = "(null)";
+    }
+    PyErr_Format (PyExc_TypeError, "unknown type %s", type_name);
     return NULL;
 }
 
@@ -860,7 +825,7 @@ PyObject *
 pyg_value_as_pyobject (const GValue *value, gboolean copy_boxed)
 {
     PyObject *pyobj;
-    const gchar *type_name;
+    gboolean handled;
     GType fundamental = G_TYPE_FUNDAMENTAL (G_VALUE_TYPE (value));
 
     /* HACK: special case char and uchar to return PyBytes intstead of integers
@@ -875,26 +840,12 @@ pyg_value_as_pyobject (const GValue *value, gboolean copy_boxed)
         return PYGLIB_PyBytes_FromStringAndSize ((char *)&val, 1);
     }
 
-    pyobj = pygi_value_to_py_basic_type (value, fundamental);
-    if (pyobj) {
+    pyobj = pygi_value_to_py_basic_type (value, fundamental, &handled);
+    if (handled)
         return pyobj;
-    }
-
-    pyobj = pygi_value_to_py_structured_type (value, fundamental, copy_boxed);
-    if (pyobj) {
-        return pyobj;
-    }
-
-    if (!PyErr_Occurred ()) {
-        type_name = g_type_name (G_VALUE_TYPE (value));
-        if (type_name == NULL) {
-            type_name = "(null)";
-        }
-        PyErr_Format (PyExc_TypeError, "unknown type %s", type_name);
-    }
-
-    return NULL;
 
+    pyobj = value_to_py_structured_type (value, fundamental, copy_boxed);
+    return pyobj;
 }
 
 
@@ -924,78 +875,58 @@ pyg_param_gvalue_from_pyobject(GValue* value,
 PyObject*
 pyg_param_gvalue_as_pyobject(const GValue* gvalue,
                              gboolean copy_boxed,
-                            const GParamSpec* pspec)
+                             const GParamSpec* pspec)
 {
     if (G_IS_PARAM_SPEC_UNICHAR(pspec)) {
-       gunichar u;
-       Py_UNICODE uni_buffer[2] = { 0, 0 };
+        gunichar u;
+        gchar *encoded;
+        PyObject *retval;
 
-       u = g_value_get_uint(gvalue);
-       uni_buffer[0] = u;
-       return PyUnicode_FromUnicode(uni_buffer, 1);
+        u = g_value_get_uint (gvalue);
+        encoded = g_ucs4_to_utf8 (&u, 1, NULL, NULL, NULL);
+        if (encoded == NULL) {
+            PyErr_SetString (PyExc_ValueError, "Failed to decode");
+            return NULL;
+        }
+        retval = PyUnicode_FromString (encoded);
+        g_free (encoded);
+        return retval;
     }
     else {
-       return pyg_value_as_pyobject(gvalue, copy_boxed);
+        return pyg_value_as_pyobject(gvalue, copy_boxed);
     }
 }
 
 PyObject *
-pyg_strv_from_gvalue(const GValue *value)
+pyg__gvalue_get(PyObject *module, PyObject *pygvalue)
 {
-    gchar    **argv = (gchar **) g_value_get_boxed(value);
-    int        argc = 0, i;
-    PyObject  *py_argv;
-
-    if (argv) {
-        while (argv[argc])
-            argc++;
-    }
-    py_argv = PyList_New(argc);
-    for (i = 0; i < argc; ++i)
-       PyList_SET_ITEM(py_argv, i, PYGLIB_PyUnicode_FromString(argv[i]));
-    return py_argv;
+    if (!pyg_boxed_check (pygvalue, G_TYPE_VALUE)) {
+        PyErr_SetString (PyExc_TypeError, "Expected GValue argument.");
+        return NULL;
+    }
+
+    return pyg_value_as_pyobject (pyg_boxed_get(pygvalue, GValue),
+                                  /*copy_boxed=*/ TRUE);
 }
 
-int
-pyg_strv_to_gvalue(GValue *value, PyObject *obj)
+PyObject *
+pyg__gvalue_set(PyObject *module, PyObject *args)
 {
-    Py_ssize_t argc, i;
-    gchar **argv;
+    PyObject *pygvalue;
+    PyObject *pyobject;
 
-    if (!(PyTuple_Check (obj) || PyList_Check (obj)))
-        return -1;
+    if (!PyArg_ParseTuple (args, "OO:_gi._gvalue_set",
+                           &pygvalue, &pyobject))
+        return NULL;
 
-    argc = PySequence_Length (obj);
-    argv = g_new (gchar *, argc + 1);
-    for (i = 0; i < argc; ++i) {
-        PyObject* item = PySequence_Fast_GET_ITEM (obj, i);
-        /* same as _pygi_marshal_from_py_utf8 */
-        if (PyUnicode_Check (item)) {
-            PyObject *pystr_obj = PyUnicode_AsUTF8String (item);
-            if (!pystr_obj) {
-                goto error;
-            }
-            argv[i] = g_strdup (PYGLIB_PyBytes_AsString (pystr_obj));
-            Py_DECREF (pystr_obj);
-        }
-#if PY_VERSION_HEX < 0x03000000
-        else if (PyString_Check (item)) {
-            argv[i] = g_strdup (PyString_AsString (item));
-        }
-#endif
-        else {
-            goto error;
-        }
+    if (!pyg_boxed_check (pygvalue, G_TYPE_VALUE)) {
+        PyErr_SetString (PyExc_TypeError, "Expected GValue argument.");
+        return NULL;
     }
 
-    argv[i] = NULL;
-    g_value_take_boxed (value, argv);
-    return 0;
+    if (pyg_value_from_pyobject_with_error (pyg_boxed_get (pygvalue, GValue),
+                                            pyobject) == -1)
+        return NULL;
 
-error:
-    for (i = i - 1; i >= 0; i--) {
-        g_free (argv[i]);
-    }
-    g_free (argv);
-    return -1;
+    Py_RETURN_NONE;
 }
index 5b2eac1..6450112 100644 (file)
@@ -40,10 +40,11 @@ PyObject *pyg_strv_from_gvalue(const GValue *value);
 int       pyg_strv_to_gvalue(GValue *value, PyObject *obj);
 
 PyObject *pygi_value_to_py_basic_type      (const GValue *value,
-                                            GType fundamental);
-PyObject *pygi_value_to_py_structured_type (const GValue *value,
                                             GType fundamental,
-                                            gboolean copy_boxed);
+                                            gboolean *handled);
+
+PyObject *pyg__gvalue_get(PyObject *module, PyObject *pygvalue);
+PyObject *pyg__gvalue_set(PyObject *module, PyObject *args);
 
 G_END_DECLS
 
index 1737de5..a80b40f 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
+#include <config.h>
 
 #include <Python.h>
 #include <glib-object.h>
-#include "pyglib.h"
 
+#include "pygi-python-compat.h"
 #include "pyginterface.h"
-#include "pygtype.h"
+#include "pygi-type.h"
 
 GQuark pyginterface_type_key;
 GQuark pyginterface_info_key;
@@ -72,6 +70,7 @@ pyg_register_interface(PyObject *dict, const gchar *class_name,
     PyObject *o;
 
     Py_TYPE(type) = &PyType_Type;
+    g_assert (Py_TYPE (&PyGInterface_Type) != NULL);
     type->tp_base = &PyGInterface_Type;
 
     if (PyType_Ready(type) < 0) {
@@ -103,8 +102,11 @@ pyg_lookup_interface_info(GType gtype)
     return g_type_get_qdata(gtype, pyginterface_info_key);
 }
 
-void
-pygobject_interface_register_types(PyObject *d)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_interface_register_types(PyObject *d)
 {
   pyginterface_type_key = g_quark_from_static_string("PyGInterface::type");
   pyginterface_info_key = g_quark_from_static_string("PyGInterface::info");
@@ -119,5 +121,6 @@ pygobject_interface_register_types(PyObject *d)
                       pyg_object_descr_doc_get());
   PyDict_SetItemString(PyGInterface_Type.tp_dict, "__gdoc__",
                       pyg_object_descr_doc_get());
-  
+
+  return 0;
 }
index d6d8b9d..d5819ce 100644 (file)
@@ -33,6 +33,6 @@ void pyg_register_interface(PyObject *dict,
 const GInterfaceInfo * pyg_lookup_interface_info(GType gtype);
 void pyg_register_interface_info(GType gtype, const
                                 GInterfaceInfo *info);
-void pygobject_interface_register_types(PyObject *d);
+int pygi_interface_register_types(PyObject *d);
 
 #endif /* __PYGOBJECT_INTERFACE_H__ */
diff --git a/gi/pyglib.c b/gi/pyglib.c
deleted file mode 100644 (file)
index d21ba4d..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-/* -*- Mode: C; c-set-style: python; c-basic-offset: 4  -*-
- * pyglib - Python bindings for GLib toolkit.
- * Copyright (C) 1998-2003  James Henstridge
- *               2004-2008  Johan Dahlin
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <Python.h>
-#include <pythread.h>
-#include "pyglib.h"
-#include "pygoptioncontext.h"
-#include "pygoptiongroup.h"
-
-
-/**
- * pyg_option_group_transfer_group:
- * @group: a GOptionGroup wrapper
- *
- * This is used to transfer the GOptionGroup to a GOptionContext. After this
- * is called, the calle must handle the release of the GOptionGroup.
- *
- * When #NULL is returned, the GOptionGroup was already transfered.
- *
- * Returns: Either #NULL or the wrapped GOptionGroup.
- */
-GOptionGroup *
-pyglib_option_group_transfer_group(PyObject *obj)
-{
-    PyGOptionGroup *self = (PyGOptionGroup*)obj;
-    
-    if (self->is_in_context)
-       return NULL;
-
-    self->is_in_context = TRUE;
-    
-    /* Here we increase the reference count of the PyGOptionGroup, because now
-     * the GOptionContext holds an reference to us (it is the userdata passed
-     * to g_option_group_new().
-     *
-     * The GOptionGroup is freed with the GOptionContext.
-     *
-     * We set it here because if we would do this in the init method we would
-     * hold two references and the PyGOptionGroup would never be freed.
-     */
-    Py_INCREF(self);
-    
-    return self->group;
-}
-
-
-/****** Private *****/
-
-/**
- * _pyglib_destroy_notify:
- * @user_data: a PyObject pointer.
- *
- * A function that can be used as a GDestroyNotify callback that will
- * call Py_DECREF on the data.
- */
-void
-_pyglib_destroy_notify(gpointer user_data)
-{
-    PyObject *obj = (PyObject *)user_data;
-    PyGILState_STATE state;
-
-    state = PyGILState_Ensure();
-    Py_DECREF(obj);
-    PyGILState_Release(state);
-}
-
-gboolean
-_pyglib_handler_marshal(gpointer user_data)
-{
-    PyObject *tuple, *ret;
-    gboolean res;
-    PyGILState_STATE state;
-
-    g_return_val_if_fail(user_data != NULL, FALSE);
-
-    state = PyGILState_Ensure();
-
-    tuple = (PyObject *)user_data;
-    ret = PyObject_CallObject(PyTuple_GetItem(tuple, 0),
-                             PyTuple_GetItem(tuple, 1));
-    if (!ret) {
-       PyErr_Print();
-       res = FALSE;
-    } else {
-       res = PyObject_IsTrue(ret);
-       Py_DECREF(ret);
-    }
-    
-    PyGILState_Release(state);
-
-    return res;
-}
-
-PyObject*
-_pyglib_generic_ptr_richcompare(void* a, void *b, int op)
-{
-    PyObject *res;
-
-    switch (op) {
-
-      case Py_EQ:
-        res = (a == b) ? Py_True : Py_False;
-        break;
-
-      case Py_NE:
-        res = (a != b) ? Py_True : Py_False;
-        break;
-
-      case Py_LT:
-        res = (a < b) ? Py_True : Py_False;
-        break;
-
-      case Py_LE:
-        res = (a <= b) ? Py_True : Py_False;
-        break;
-
-      case Py_GT:
-        res = (a > b) ? Py_True : Py_False;
-        break;
-
-      case Py_GE:
-        res = (a >= b) ? Py_True : Py_False;
-        break;
-
-      default:
-        res = Py_NotImplemented;
-        break;
-    }
-
-    Py_INCREF(res);
-    return res;
-}
-
-PyObject*
-_pyglib_generic_long_richcompare(long a, long b, int op)
-{
-    PyObject *res;
-
-    switch (op) {
-
-      case Py_EQ:
-        res = (a == b) ? Py_True : Py_False;
-        Py_INCREF(res);
-        break;
-
-      case Py_NE:
-        res = (a != b) ? Py_True : Py_False;
-        Py_INCREF(res);
-        break;
-
-
-      case Py_LT:
-        res = (a < b) ? Py_True : Py_False;
-        Py_INCREF(res);
-        break;
-
-      case Py_LE:
-        res = (a <= b) ? Py_True : Py_False;
-        Py_INCREF(res);
-        break;
-
-      case Py_GT:
-        res = (a > b) ? Py_True : Py_False;
-        Py_INCREF(res);
-        break;
-
-      case Py_GE:
-        res = (a >= b) ? Py_True : Py_False;
-        Py_INCREF(res);
-        break;
-
-      default:
-        res = Py_NotImplemented;
-        Py_INCREF(res);
-        break;
-    }
-
-    return res;
-}
-
diff --git a/gi/pyglib.h b/gi/pyglib.h
deleted file mode 100644 (file)
index d390f14..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- Mode: C; c-basic-offset: 4 -*-
- * pyglib - Python bindings for GLib toolkit.
- * Copyright (C) 1998-2003  James Henstridge
- *               2004-2008  Johan Dahlin
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __PYGLIB_H__
-#define __PYGLIB_H__
-
-#include <Python.h>
-
-#include <glib.h>
-
-#include <pyglib-python-compat.h>
-
-G_BEGIN_DECLS
-
-typedef void (*PyGLibThreadsEnabledFunc) (void);
-typedef void (*PyGLibThreadBlockFunc) (void);
-
-GOptionGroup * pyglib_option_group_transfer_group(PyObject *self);
-
-/* Private: for gobject <-> glib interaction only. */
-PyObject* _pyglib_generic_ptr_richcompare(void* a, void *b, int op);
-PyObject* _pyglib_generic_long_richcompare(long a, long b, int op);
-
-
-#define PYGLIB_REGISTER_TYPE(d, type, name)            \
-    if (!type.tp_alloc)                                 \
-       type.tp_alloc = PyType_GenericAlloc;            \
-    if (!type.tp_new)                                   \
-       type.tp_new = PyType_GenericNew;                \
-    if (PyType_Ready(&type))                            \
-       return;                                         \
-    PyDict_SetItemString(d, name, (PyObject *)&type);
-
-gboolean _pyglib_handler_marshal(gpointer user_data);
-void _pyglib_destroy_notify(gpointer user_data);
-
-extern PyObject *pyglib__glib_module_create (void);
-
-G_END_DECLS
-
-#endif /* __PYGLIB_H__ */
-
index ff15492..d52c7dd 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
+#include <config.h>
 
-#include <pyglib.h>
 #include "pygobject-object.h"
 #include "pyginterface.h"
 #include "pygparamspec.h"
-#include "pygtype.h"
+#include "pygi-type.h"
 #include "pygboxed.h"
-#include "gobjectmodule.h"
+#include "gimodule.h"
 
+#include "pygi-util.h"
 #include "pygi-value.h"
 #include "pygi-type.h"
 #include "pygi-property.h"
 #include "pygi-signal-closure.h"
+#include "pygi-basictype.h"
 
 extern PyObject *PyGIDeprecationWarning;
 
 static void pygobject_dealloc(PyGObject *self);
 static int  pygobject_traverse(PyGObject *self, visitproc visit, void *arg);
-static int  pygobject_clear(PyGObject *self);
 static PyObject * pyg_type_get_bases(GType gtype);
 static inline int pygobject_clear(PyGObject *self);
 static PyObject * pygobject_weak_ref_new(GObject *obj, PyObject *callback, PyObject *user_data);
-static inline PyGObjectData * pyg_object_peek_inst_data(GObject *obj);
 static void pygobject_inherit_slots(PyTypeObject *type, PyObject *bases,
                                    gboolean check_for_present);
 static void pygobject_find_slot_for(PyTypeObject *type, PyObject *bases, int slot_offset,
@@ -56,6 +53,11 @@ GQuark pygobject_wrapper_key;
 GQuark pygobject_has_updated_constructor_key;
 GQuark pygobject_instance_data_key;
 
+/* PyPy doesn't support tp_dictoffset, so we have to work around it */
+#ifndef PYPY_VERSION
+#define PYGI_OBJECT_USE_CUSTOM_DICT
+#endif
+
 GClosure *
 gclosure_from_pyfunc(PyGObject *object, PyObject *func)
 {
@@ -106,12 +108,11 @@ pygobject_data_free(PyGObjectData *data)
      * free the memory. */
     PyGILState_STATE state;
     PyThreadState *_save = NULL;
-    gboolean state_saved = FALSE;
-
+    gboolean state_saved;
     GSList *closures, *tmp;
 
-    if (Py_IsInitialized()) {
-       state_saved = TRUE;
+    state_saved = Py_IsInitialized();
+    if (state_saved) {
        state = PyGILState_Ensure();
        Py_DECREF(data->type);
        /* We cannot use Py_BEGIN_ALLOW_THREADS here because this is inside
@@ -623,18 +624,49 @@ pyg_toggle_notify (gpointer data, GObject *object, gboolean is_last_ref)
     PyGILState_Release(state);
 }
 
+static inline gboolean
+pygobject_toggle_ref_is_required (PyGObject *self)
+{
+#ifdef PYGI_OBJECT_USE_CUSTOM_DICT
+    return self->inst_dict != NULL;
+#else
+    PyObject *dict;
+    gboolean result;
+    dict = PyObject_GetAttrString ((PyObject *)self, "__dict__");
+    if (!dict) {
+        PyErr_Clear ();
+        return FALSE;
+    }
+    result = PyDict_Size (dict) != 0;
+    Py_DECREF (dict);
+    return result;
+#endif
+}
+
+static inline gboolean
+pygobject_toggle_ref_is_active (PyGObject *self)
+{
+    return self->private_flags.flags & PYGOBJECT_USING_TOGGLE_REF;
+}
+
   /* Called when the inst_dict is first created; switches the 
      reference counting strategy to start using toggle ref to keep the
      wrapper alive while the GObject lives.  In contrast, while
      inst_dict was NULL the python wrapper is allowed to die at
      will and is recreated on demand. */
 static inline void
-pygobject_switch_to_toggle_ref(PyGObject *self)
+pygobject_toggle_ref_ensure (PyGObject *self)
 {
-    g_assert(self->obj->ref_count >= 1);
+    if (pygobject_toggle_ref_is_active (self))
+        return;
 
-    if (self->private_flags.flags & PYGOBJECT_USING_TOGGLE_REF)
-        return; /* already using toggle ref */
+    if (!pygobject_toggle_ref_is_required (self))
+        return;
+
+    if (self->obj == NULL)
+        return;
+
+    g_assert(self->obj->ref_count >= 1);
     self->private_flags.flags |= PYGOBJECT_USING_TOGGLE_REF;
       /* Note that add_toggle_ref will never immediately call back into 
          pyg_toggle_notify */
@@ -690,8 +722,8 @@ pygobject_register_wrapper(PyObject *self)
     g_assert(gself->obj->ref_count >= 1);
       /* save wrapper pointer so we can access it later */
     g_object_set_qdata_full(gself->obj, pygobject_wrapper_key, gself, NULL);
-    if (gself->inst_dict)
-        pygobject_switch_to_toggle_ref(gself);
+
+    pygobject_toggle_ref_ensure (gself);
 }
 
 static PyObject *
@@ -861,11 +893,11 @@ static void
 pygobject_find_slot_for(PyTypeObject *type, PyObject *bases, int slot_offset,
                        gboolean check_for_present)
 {
-#define TYPE_SLOT(type)  (* (void **) (((char *) (type)) + slot_offset))
+#define TYPE_SLOT(type)  (* (void **)  (void *) (((char *) (type)) + slot_offset))
 
     void *found_slot = NULL;
-    int num_bases = PyTuple_Size(bases);
-    int i;
+    Py_ssize_t num_bases = PyTuple_Size(bases);
+    Py_ssize_t i;
 
     if (check_for_present && TYPE_SLOT(type) != NULL) {
        /* We are requested to check if there is any custom slot value
@@ -1069,6 +1101,7 @@ pygobject_watch_closure(PyObject *self, GClosure *closure)
 
     gself = (PyGObject *)self;
     data = pygobject_get_inst_data(gself);
+    g_return_if_fail(data != NULL);
     g_return_if_fail(g_slist_find(data->closures, closure) == NULL);
     data->closures = g_slist_prepend(data->closures, closure);
     g_closure_add_invalidate_notifier(closure, data, pygobject_unwatch_closure);
@@ -1089,7 +1122,9 @@ pygobject_dealloc(PyGObject *self)
      * object. */
     PyObject_GC_UnTrack((PyObject *)self);
 
-    PyObject_ClearWeakRefs((PyObject *)self);
+    if (self->weakreflist != NULL)
+        PyObject_ClearWeakRefs((PyObject *)self);
+
       /* this forces inst_data->type to be updated, which could prove
        * important if a new wrapper has to be created and it is of a
        * unregistered type */
@@ -1120,9 +1155,9 @@ pygobject_richcompare(PyObject *self, PyObject *other, int op)
         return Py_NotImplemented;
     }
 
-    return _pyglib_generic_ptr_richcompare(((PyGObject*)self)->obj,
-                                           ((PyGObject*)other)->obj,
-                                           op);
+    return pyg_ptr_richcompare(((PyGObject*)self)->obj,
+                               ((PyGObject*)other)->obj,
+                               op);
 }
 
 static PYGLIB_Py_hash_t
@@ -1198,7 +1233,7 @@ pygobject_clear(PyGObject *self)
 {
     if (self->obj) {
         g_object_set_qdata_full(self->obj, pygobject_wrapper_key, NULL, NULL);
-        if (self->inst_dict) {
+        if (pygobject_toggle_ref_is_active (self)) {
             g_object_remove_toggle_ref(self->obj, pyg_toggle_notify, NULL);
             self->private_flags.flags &= ~PYGOBJECT_USING_TOGGLE_REF;
         } else {
@@ -1341,7 +1376,7 @@ pygobject_get_property (PyGObject *self, PyObject *args)
 static PyObject *
 pygobject_get_properties(PyGObject *self, PyObject *args)
 {
-    int len, i;
+    Py_ssize_t len, i;
     PyObject *tuple;
 
     if ((len = PyTuple_Size(args)) < 1) {
@@ -1668,7 +1703,7 @@ connect_helper(PyGObject *self, gchar *name, PyObject *callback, PyObject *extra
     pygobject_watch_closure((PyObject *)self, closure);
     handlerid = g_signal_connect_closure_by_id(self->obj, sigid, detail,
                                               closure, after);
-    return PyLong_FromUnsignedLong(handlerid);
+    return pygi_gulong_to_py (handlerid);
 }
 
 static PyObject *
@@ -1676,7 +1711,7 @@ pygobject_connect(PyGObject *self, PyObject *args)
 {
     PyObject *first, *callback, *extra_args, *ret;
     gchar *name;
-    guint len;
+    Py_ssize_t len;
 
     len = PyTuple_Size(args);
     if (len < 2) {
@@ -1990,7 +2025,7 @@ pygobject_chain_from_overridden(PyGObject *self, PyObject *args)
 static PyObject *
 pygobject_weak_ref(PyGObject *self, PyObject *args)
 {
-    int len;
+    Py_ssize_t len;
     PyObject *callback = NULL, *user_data = NULL;
     PyObject *retval;
 
@@ -2055,7 +2090,7 @@ pygobject_disconnect_by_func(PyGObject *self, PyObject *args)
                                                  0, 0,
                                                  closure,
                                                  NULL, NULL);
-    return PYGLIB_PyLong_FromLong(retval);
+    return pygi_guint_to_py (retval);
 }
 
 static PyObject *
@@ -2089,7 +2124,7 @@ pygobject_handler_block_by_func(PyGObject *self, PyObject *args)
                                             0, 0,
                                             closure,
                                             NULL, NULL);
-    return PYGLIB_PyLong_FromLong(retval);
+    return pygi_guint_to_py (retval);
 }
 
 static PyObject *
@@ -2123,7 +2158,7 @@ pygobject_handler_unblock_by_func(PyGObject *self, PyObject *args)
                                               0, 0,
                                               closure,
                                               NULL, NULL);
-    return PYGLIB_PyLong_FromLong(retval);
+    return pygi_guint_to_py (retval);
 }
 
 
@@ -2148,20 +2183,18 @@ static PyMethodDef pygobject_methods[] = {
     { NULL, NULL, 0 }
 };
 
-
+#ifdef PYGI_OBJECT_USE_CUSTOM_DICT
 static PyObject *
 pygobject_get_dict(PyGObject *self, void *closure)
 {
     if (self->inst_dict == NULL) {
-       self->inst_dict = PyDict_New();
-       if (self->inst_dict == NULL)
-           return NULL;
-        if (G_LIKELY(self->obj))
-            pygobject_switch_to_toggle_ref(self);
+        self->inst_dict = PyDict_New();
+        pygobject_toggle_ref_ensure (self);
     }
     Py_INCREF(self->inst_dict);
     return self->inst_dict;
 }
+#endif
 
 static PyObject *
 pygobject_get_refcount(PyGObject *self, void *closure)
@@ -2170,7 +2203,7 @@ pygobject_get_refcount(PyGObject *self, void *closure)
         PyErr_Format(PyExc_TypeError, "GObject instance is not yet created");
         return NULL;
     }
-    return PYGLIB_PyLong_FromLong(self->obj->ref_count);
+    return pygi_guint_to_py (self->obj->ref_count);
 }
 
 static PyObject *
@@ -2183,19 +2216,15 @@ static int
 pygobject_setattro(PyObject *self, PyObject *name, PyObject *value)
 {
     int res;
-    PyGObject *gself = (PyGObject *) self;
-    PyObject *inst_dict_before = gself->inst_dict;
-      /* call parent type's setattro */
     res = PyGObject_Type.tp_base->tp_setattro(self, name, value);
-    if (inst_dict_before == NULL && gself->inst_dict != NULL) {
-        if (G_LIKELY(gself->obj))
-            pygobject_switch_to_toggle_ref(gself);
-    }
+    pygobject_toggle_ref_ensure ((PyGObject *) self);
     return res;
 }
 
 static PyGetSetDef pygobject_getsets[] = {
+#ifdef PYGI_OBJECT_USE_CUSTOM_DICT
     { "__dict__", (getter)pygobject_get_dict, (setter)0 },
+#endif
     { "__grefcount__", (getter)pygobject_get_refcount, (setter)0, },
     { "__gpointer__", (getter)pygobject_get_pointer, (setter)0, },
     { NULL, 0, 0 }
@@ -2355,8 +2384,11 @@ pyobject_free(gpointer boxed)
     PyGILState_Release(state);
 }
 
-void
-pygobject_object_register_types(PyObject *d)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pyi_object_register_types(PyObject *d)
 {
     PyObject *o, *descr;
 
@@ -2385,7 +2417,9 @@ pygobject_object_register_types(PyObject *d)
     PyGObject_Type.tp_weaklistoffset = offsetof(PyGObject, weakreflist);
     PyGObject_Type.tp_methods = pygobject_methods;
     PyGObject_Type.tp_getset = pygobject_getsets;
+#ifdef PYGI_OBJECT_USE_CUSTOM_DICT
     PyGObject_Type.tp_dictoffset = offsetof(PyGObject, inst_dict);
+#endif
     PyGObject_Type.tp_init = (initproc)pygobject_init;
     PyGObject_Type.tp_free = (freefunc)pygobject_free;
     PyGObject_Type.tp_alloc = PyType_GenericAlloc;
@@ -2407,13 +2441,13 @@ pygobject_object_register_types(PyObject *d)
     PyGProps_Type.tp_iter = (getiterfunc)pygobject_props_get_iter;
     PyGProps_Type.tp_methods = pygobject_props_methods;
     if (PyType_Ready(&PyGProps_Type) < 0)
-        return;
+        return -1;
 
     /* GPropsDescr */
     PyGPropsDescr_Type.tp_flags = Py_TPFLAGS_DEFAULT;
     PyGPropsDescr_Type.tp_descr_get = pyg_props_descr_descr_get;
     if (PyType_Ready(&PyGPropsDescr_Type) < 0)
-        return;
+        return -1;
     descr = PyObject_New(PyObject, &PyGPropsDescr_Type);
     PyDict_SetItemString(PyGObject_Type.tp_dict, "props", descr);
     PyDict_SetItemString(PyGObject_Type.tp_dict, "__module__",
@@ -2426,7 +2460,7 @@ pygobject_object_register_types(PyObject *d)
     PyGPropsIter_Type.tp_doc = "GObject properties iterator";
     PyGPropsIter_Type.tp_iternext = (iternextfunc)pygobject_props_iter_next;
     if (PyType_Ready(&PyGPropsIter_Type) < 0)
-        return;
+        return -1;
 
     PyGObjectWeakRef_Type.tp_dealloc = (destructor)pygobject_weak_ref_dealloc;
     PyGObjectWeakRef_Type.tp_call = (ternaryfunc)pygobject_weak_ref_call;
@@ -2436,6 +2470,65 @@ pygobject_object_register_types(PyObject *d)
     PyGObjectWeakRef_Type.tp_clear = (inquiry)pygobject_weak_ref_clear;
     PyGObjectWeakRef_Type.tp_methods = pygobject_weak_ref_methods;
     if (PyType_Ready(&PyGObjectWeakRef_Type) < 0)
-        return;
+        return -1;
     PyDict_SetItemString(d, "GObjectWeakRef", (PyObject *) &PyGObjectWeakRef_Type);
+
+    return 0;
+}
+
+PyObject *
+pyg_object_new (PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+    PyObject *pytype;
+    GType type;
+    GObject *obj = NULL;
+    GObjectClass *class;
+    guint n_params = 0, i;
+    GParameter *params = NULL;
+
+    if (!PyArg_ParseTuple (args, "O:gobject.new", &pytype)) {
+       return NULL;
+    }
+
+    if ((type = pyg_type_from_object (pytype)) == 0)
+       return NULL;
+
+    if (G_TYPE_IS_ABSTRACT(type)) {
+       PyErr_Format(PyExc_TypeError, "cannot create instance of abstract "
+                    "(non-instantiable) type `%s'", g_type_name(type));
+       return NULL;
+    }
+
+    if ((class = g_type_class_ref (type)) == NULL) {
+       PyErr_SetString(PyExc_TypeError,
+                       "could not get a reference to type class");
+       return NULL;
+    }
+
+    if (!pygobject_prepare_construct_properties (class, kwargs, &n_params, &params))
+        goto cleanup;
+
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+    obj = g_object_newv(type, n_params, params);
+G_GNUC_END_IGNORE_DEPRECATIONS
+
+    if (!obj)
+       PyErr_SetString (PyExc_RuntimeError, "could not create object");
+
+ cleanup:
+    for (i = 0; i < n_params; i++) {
+       g_free((gchar *) params[i].name);
+       g_value_unset(&params[i].value);
+    }
+    g_free(params);
+    g_type_class_unref(class);
+
+    if (obj) {
+        pygobject_sink (obj);
+       self = (PyGObject *) pygobject_new((GObject *)obj);
+        g_object_unref(obj);
+    } else
+        self = NULL;
+
+    return (PyObject *) self;
 }
index fb39a25..6658244 100644 (file)
@@ -3,7 +3,7 @@
 
 #include <Python.h>
 #include <glib-object.h>
-#include "pyglib-python-compat.h"
+#include "pygi-python-compat.h"
 #include "pygobject-internal.h"
 
 /* Data that belongs to the GObject instance, not the Python wrapper */
@@ -47,9 +47,10 @@ PyObject *    pygobject_new_full         (GObject *obj, gboolean steal, gpointer
 void          pygobject_sink             (GObject *obj);
 PyTypeObject *pygobject_lookup_class     (GType gtype);
 void          pygobject_watch_closure    (PyObject *self, GClosure *closure);
-void          pygobject_object_register_types(PyObject *d);
+int           pyi_object_register_types  (PyObject *d);
 void          pygobject_ref_float(PyGObject *self);
 void          pygobject_ref_sink(PyGObject *self);
+PyObject *    pyg_object_new             (PyGObject *self, PyObject *args, PyObject *kwargs);
 
 GClosure *    gclosure_from_pyfunc(PyGObject *object, PyObject *func);
 
index 50c32fb..d807e0a 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
+#include <config.h>
 
-#include <pyglib.h>
 #include "pygoptioncontext.h"
 #include "pygi-error.h"
+#include "pygi-util.h"
+#include "pygi-basictype.h"
 
 PYGLIB_DEFINE_TYPE("gi._gi.OptionContext", PyGOptionContext_Type, PyGOptionContext)
 
 /**
+ * pyg_option_group_transfer_group:
+ * @group: a GOptionGroup wrapper
+ *
+ * This is used to transfer the GOptionGroup to a GOptionContext. After this
+ * is called, the calle must handle the release of the GOptionGroup.
+ *
+ * When #NULL is returned, the GOptionGroup was already transfered.
+ *
+ * Returns: Either #NULL or the wrapped GOptionGroup.
+ */
+static GOptionGroup *
+pyglib_option_group_transfer_group(PyObject *obj)
+{
+    PyGOptionGroup *self = (PyGOptionGroup*)obj;
+
+    if (self->is_in_context)
+       return NULL;
+
+    self->is_in_context = TRUE;
+    
+    /* Here we increase the reference count of the PyGOptionGroup, because now
+     * the GOptionContext holds an reference to us (it is the userdata passed
+     * to g_option_group_new().
+     *
+     * The GOptionGroup is freed with the GOptionContext.
+     *
+     * We set it here because if we would do this in the init method we would
+     * hold two references and the PyGOptionGroup would never be freed.
+     */
+    Py_INCREF(self);
+
+    return self->group;
+}
+
+/**
  * pyg_option_context_new:
  * @context: a GOptionContext
  *
@@ -127,7 +161,7 @@ pyg_option_context_parse(PyGOptionContext *self,
     original = g_strdupv(argv_content);
 
     g_assert(argv_length <= G_MAXINT);
-    argv_length_int = argv_length;
+    argv_length_int = (gint)argv_length;
     Py_BEGIN_ALLOW_THREADS;
     result = g_option_context_parse(self->context, &argv_length_int, &argv_content,
                                     &error);
@@ -176,7 +210,7 @@ pyg_option_context_set_help_enabled(PyGOptionContext *self,
 static PyObject *
 pyg_option_context_get_help_enabled(PyGOptionContext *self)
 {
-    return PyBool_FromLong(g_option_context_get_help_enabled(self->context));
+    return pygi_gboolean_to_py (g_option_context_get_help_enabled(self->context));
 }
 
 static PyObject *
@@ -203,7 +237,7 @@ pyg_option_context_set_ignore_unknown_options(PyGOptionContext *self,
 static PyObject *
 pyg_option_context_get_ignore_unknown_options(PyGOptionContext *self)
 {
-    return PyBool_FromLong(
+    return pygi_gboolean_to_py (
         g_option_context_get_ignore_unknown_options(self->context));
 }
 
@@ -295,9 +329,9 @@ static PyObject*
 pyg_option_context_richcompare(PyObject *self, PyObject *other, int op)
 {
     if (Py_TYPE(self) == Py_TYPE(other) && Py_TYPE(self) == &PyGOptionContext_Type)
-        return _pyglib_generic_ptr_richcompare(((PyGOptionContext*)self)->context,
-                                               ((PyGOptionContext*)other)->context,
-                                               op);
+        return pyg_ptr_richcompare(((PyGOptionContext*)self)->context,
+                                   ((PyGOptionContext*)other)->context,
+                                   op);
     else {
        Py_INCREF(Py_NotImplemented);
        return Py_NotImplemented;
@@ -323,8 +357,11 @@ static PyMethodDef pyg_option_context_methods[] = {
     { NULL, NULL, 0 },
 };
 
-void
-pyglib_option_context_register_types(PyObject *d)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_option_context_register_types(PyObject *d)
 {
     PyGOptionContext_Type.tp_dealloc = (destructor)pyg_option_context_dealloc;
     PyGOptionContext_Type.tp_richcompare = pyg_option_context_richcompare;
@@ -332,4 +369,6 @@ pyglib_option_context_register_types(PyObject *d)
     PyGOptionContext_Type.tp_methods = pyg_option_context_methods;
     PyGOptionContext_Type.tp_init = (initproc)pyg_option_context_init;
     PYGLIB_REGISTER_TYPE(d, PyGOptionContext_Type, "OptionContext");
+
+    return 0;
 }
index 2beee78..4dea56d 100644 (file)
@@ -32,6 +32,6 @@ typedef struct {
 
 PyObject* pyg_option_context_new(GOptionContext *context);
 
-void pyglib_option_context_register_types(PyObject *d);
+int pygi_option_context_register_types(PyObject *d);
 
 #endif /* __PYG_OPTIONCONTEXT_H__ */
index e91ca05..f144d81 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
+#include <config.h>
 
-#include <pyglib.h>
 #include "pygoptiongroup.h"
 #include "pygi-error.h"
+#include "pygi-util.h"
 
 PYGLIB_DEFINE_TYPE("gi._gi.OptionGroup", PyGOptionGroup_Type, PyGOptionGroup)
 
@@ -271,9 +269,9 @@ pyg_option_group_richcompare(PyObject *self, PyObject *other, int op)
 {
     if (Py_TYPE(self) == Py_TYPE(other) && 
           Py_TYPE(self) == &PyGOptionGroup_Type) {
-        return _pyglib_generic_ptr_richcompare(((PyGOptionGroup*)self)->group,
-                                               ((PyGOptionGroup*)other)->group,
-                                               op);
+        return pyg_ptr_richcompare(((PyGOptionGroup*)self)->group,
+                                   ((PyGOptionGroup*)other)->group,
+                                   op);
     } else {
         Py_INCREF(Py_NotImplemented);
         return Py_NotImplemented;
@@ -286,8 +284,11 @@ static PyMethodDef pyg_option_group_methods[] = {
     { NULL, NULL, 0 },
 };
 
-void
-pyglib_option_group_register_types(PyObject *d)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_option_group_register_types(PyObject *d)
 {
     PyGOptionGroup_Type.tp_dealloc = (destructor)pyg_option_group_dealloc;
     PyGOptionGroup_Type.tp_richcompare = pyg_option_group_richcompare;
@@ -295,4 +296,6 @@ pyglib_option_group_register_types(PyObject *d)
     PyGOptionGroup_Type.tp_methods = pyg_option_group_methods;
     PyGOptionGroup_Type.tp_init = (initproc)pyg_option_group_init;
     PYGLIB_REGISTER_TYPE(d, PyGOptionGroup_Type, "OptionGroup");
+
+    return 0;
 }
index f410c92..65d08e4 100644 (file)
@@ -20,6 +20,9 @@
 #ifndef __PYG_OPTIONGROUP_H__
 #define __PYG_OPTIONGROUP_H__
 
+#include <Python.h>
+#include <glib.h>
+
 extern PyTypeObject PyGOptionGroup_Type;
 
 typedef struct {
@@ -33,7 +36,7 @@ typedef struct {
 
 PyObject* pyg_option_group_new(GOptionGroup *group);
 
-void pyglib_option_group_register_types(PyObject *d);
+int pygi_option_group_register_types(PyObject *d);
 
 #endif /* __PYG_OPTIONGROUP_H__ */
 
index 4ace96c..2c59181 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
+#include <config.h>
 
-#include <pyglib.h>
+#include <Python.h>
 #include <glib-object.h>
 
 #include "pygenum.h"
 #include "pygflags.h"
-#include "pygtype.h"
+#include "pygi-type.h"
 #include "pygparamspec.h"
+#include "pygi-util.h"
+#include "pygi-basictype.h"
 
 PYGLIB_DEFINE_TYPE("gobject.GParamSpec", PyGParamSpec_Type, PyGParamSpec);
 
@@ -37,9 +37,9 @@ static PyObject*
 pyg_param_spec_richcompare(PyObject *self, PyObject *other, int op)
 {
     if (Py_TYPE(self) == Py_TYPE(other) && Py_TYPE(self) == &PyGParamSpec_Type)
-        return _pyglib_generic_ptr_richcompare (pyg_param_spec_get (self),
-                                                pyg_param_spec_get (other),
-                                                op);
+        return pyg_ptr_richcompare (pyg_param_spec_get (self),
+                                    pyg_param_spec_get (other),
+                                    op);
     else {
         Py_INCREF(Py_NotImplemented);
         return Py_NotImplemented;
@@ -127,7 +127,7 @@ pyg_param_spec_getattr(PyGParamSpec *self, const gchar *attr)
     } else if (!strcmp(attr, "blurb") || !strcmp(attr, "__doc__")) {
        return Py_BuildValue("s", g_param_spec_get_blurb(pspec));
     } else if (!strcmp(attr, "flags")) {
-       return PYGLIB_PyLong_FromLong(pspec->flags);
+       return pygi_guint_to_py (pspec->flags);
     } else if (!strcmp(attr, "value_type")) {
        return pyg_type_wrapper_new(pspec->value_type);
     } else if (!strcmp(attr, "owner_type")) {
@@ -139,70 +139,70 @@ pyg_param_spec_getattr(PyGParamSpec *self, const gchar *attr)
            return PYGLIB_PyUnicode_FromFormat(
                "%c", G_PARAM_SPEC_CHAR(pspec)->default_value);
        } else if (!strcmp(attr, "minimum")) {
-           return PYGLIB_PyLong_FromLong(G_PARAM_SPEC_CHAR(pspec)->minimum);
+           return pygi_gint8_to_py (G_PARAM_SPEC_CHAR(pspec)->minimum);
        } else if (!strcmp(attr, "maximum")) {
-           return PYGLIB_PyLong_FromLong(G_PARAM_SPEC_CHAR(pspec)->maximum);
+           return pygi_gint8_to_py (G_PARAM_SPEC_CHAR(pspec)->maximum);
        }
     } else if (G_IS_PARAM_SPEC_UCHAR(pspec)) {
        if (!strcmp(attr, "default_value")) {
            return PYGLIB_PyUnicode_FromFormat(
                "%c", G_PARAM_SPEC_UCHAR(pspec)->default_value);
        } else if (!strcmp(attr, "minimum")) {
-           return PYGLIB_PyLong_FromLong(G_PARAM_SPEC_UCHAR(pspec)->minimum);
+           return pygi_guint8_to_py (G_PARAM_SPEC_UCHAR(pspec)->minimum);
        } else if (!strcmp(attr, "maximum")) {
-           return PYGLIB_PyLong_FromLong(G_PARAM_SPEC_UCHAR(pspec)->maximum);
+           return pygi_guint8_to_py (G_PARAM_SPEC_UCHAR(pspec)->maximum);
        }
     } else if (G_IS_PARAM_SPEC_BOOLEAN(pspec)) {
        if (!strcmp(attr, "default_value")) {
-           return PyBool_FromLong(G_PARAM_SPEC_BOOLEAN(pspec)->default_value);
+           return pygi_gboolean_to_py (G_PARAM_SPEC_BOOLEAN(pspec)->default_value);
        }
     } else if (G_IS_PARAM_SPEC_INT(pspec)) {
        if (!strcmp(attr, "default_value")) {
-           return PYGLIB_PyLong_FromLong(G_PARAM_SPEC_INT(pspec)->default_value);
+           return pygi_gint_to_py (G_PARAM_SPEC_INT(pspec)->default_value);
        } else if (!strcmp(attr, "minimum")) {
-           return PYGLIB_PyLong_FromLong(G_PARAM_SPEC_INT(pspec)->minimum);
+           return pygi_gint_to_py (G_PARAM_SPEC_INT(pspec)->minimum);
        } else if (!strcmp(attr, "maximum")) {
-           return PYGLIB_PyLong_FromLong(G_PARAM_SPEC_INT(pspec)->maximum);
+           return pygi_gint_to_py (G_PARAM_SPEC_INT(pspec)->maximum);
        }
     } else if (G_IS_PARAM_SPEC_UINT(pspec)) {
        if (!strcmp(attr, "default_value")) {
-           return PyLong_FromUnsignedLong(G_PARAM_SPEC_UINT(pspec)->default_value);
+           return pygi_guint_to_py (G_PARAM_SPEC_UINT(pspec)->default_value);
        } else if (!strcmp(attr, "minimum")) {
-           return PyLong_FromUnsignedLong(G_PARAM_SPEC_UINT(pspec)->minimum);
+           return pygi_guint_to_py (G_PARAM_SPEC_UINT(pspec)->minimum);
        } else if (!strcmp(attr, "maximum")) {
-           return PyLong_FromUnsignedLong(G_PARAM_SPEC_UINT(pspec)->maximum);
+           return pygi_guint_to_py (G_PARAM_SPEC_UINT(pspec)->maximum);
        }
     } else if (G_IS_PARAM_SPEC_LONG(pspec)) {
        if (!strcmp(attr, "default_value")) {
-           return PyLong_FromLong(G_PARAM_SPEC_LONG(pspec)->default_value);
+           return pygi_glong_to_py (G_PARAM_SPEC_LONG(pspec)->default_value);
        } else if (!strcmp(attr, "minimum")) {
-           return PyLong_FromLong(G_PARAM_SPEC_LONG(pspec)->minimum);
+           return pygi_glong_to_py (G_PARAM_SPEC_LONG(pspec)->minimum);
        } else if (!strcmp(attr, "maximum")) {
-           return PyLong_FromLong(G_PARAM_SPEC_LONG(pspec)->maximum);
+           return pygi_glong_to_py (G_PARAM_SPEC_LONG(pspec)->maximum);
        }
     } else if (G_IS_PARAM_SPEC_ULONG(pspec)) {
        if (!strcmp(attr, "default_value")) {
-           return PyLong_FromUnsignedLong(G_PARAM_SPEC_ULONG(pspec)->default_value);
+           return pygi_gulong_to_py (G_PARAM_SPEC_ULONG(pspec)->default_value);
        } else if (!strcmp(attr, "minimum")) {
-           return PyLong_FromUnsignedLong(G_PARAM_SPEC_ULONG(pspec)->minimum);
+           return pygi_gulong_to_py (G_PARAM_SPEC_ULONG(pspec)->minimum);
        } else if (!strcmp(attr, "maximum")) {
-           return PyLong_FromUnsignedLong(G_PARAM_SPEC_ULONG(pspec)->maximum);
+           return pygi_gulong_to_py (G_PARAM_SPEC_ULONG(pspec)->maximum);
        }
     } else if (G_IS_PARAM_SPEC_INT64(pspec)) {
        if (!strcmp(attr, "default_value")) {
-           return PyLong_FromLongLong(G_PARAM_SPEC_INT64(pspec)->default_value);
+           return pygi_gint64_to_py (G_PARAM_SPEC_INT64(pspec)->default_value);
        } else if (!strcmp(attr, "minimum")) {
-           return PyLong_FromLongLong(G_PARAM_SPEC_INT64(pspec)->minimum);
+           return pygi_gint64_to_py (G_PARAM_SPEC_INT64(pspec)->minimum);
        } else if (!strcmp(attr, "maximum")) {
-           return PyLong_FromLongLong(G_PARAM_SPEC_INT64(pspec)->maximum);
+           return pygi_gint64_to_py (G_PARAM_SPEC_INT64(pspec)->maximum);
        }
     } else if (G_IS_PARAM_SPEC_UINT64(pspec)) {
        if (!strcmp(attr, "default_value")) {
-           return PyLong_FromUnsignedLongLong(G_PARAM_SPEC_UINT64(pspec)->default_value);
+           return pygi_guint64_to_py (G_PARAM_SPEC_UINT64(pspec)->default_value);
        } else if (!strcmp(attr, "minimum")) {
-           return PyLong_FromUnsignedLongLong(G_PARAM_SPEC_UINT64(pspec)->minimum);
+           return pygi_guint64_to_py (G_PARAM_SPEC_UINT64(pspec)->minimum);
        } else if (!strcmp(attr, "maximum")) {
-           return PyLong_FromUnsignedLongLong(G_PARAM_SPEC_UINT64(pspec)->maximum);
+           return pygi_guint64_to_py (G_PARAM_SPEC_UINT64(pspec)->maximum);
        }
     } else if (G_IS_PARAM_SPEC_UNICHAR(pspec)) {
        if (!strcmp(attr, "default_value")) {
@@ -225,24 +225,24 @@ pyg_param_spec_getattr(PyGParamSpec *self, const gchar *attr)
        }
     } else if (G_IS_PARAM_SPEC_FLOAT(pspec)) {
        if (!strcmp(attr, "default_value")) {
-           return PyFloat_FromDouble(G_PARAM_SPEC_FLOAT(pspec)->default_value);
+           return pygi_gfloat_to_py (G_PARAM_SPEC_FLOAT(pspec)->default_value);
        } else if (!strcmp(attr, "minimum")) {
-           return PyFloat_FromDouble(G_PARAM_SPEC_FLOAT(pspec)->minimum);
+           return pygi_gfloat_to_py (G_PARAM_SPEC_FLOAT(pspec)->minimum);
        } else if (!strcmp(attr, "maximum")) {
-           return PyFloat_FromDouble(G_PARAM_SPEC_FLOAT(pspec)->maximum);
+           return pygi_gfloat_to_py (G_PARAM_SPEC_FLOAT(pspec)->maximum);
        } else if (!strcmp(attr, "epsilon")) {
-           return PyFloat_FromDouble(G_PARAM_SPEC_FLOAT(pspec)->epsilon);
+           return pygi_gfloat_to_py (G_PARAM_SPEC_FLOAT(pspec)->epsilon);
        }
     } else if (G_IS_PARAM_SPEC_DOUBLE(pspec)) {
        if (!strcmp(attr, "default_value")) {
-           return PyFloat_FromDouble(
+           return pygi_gdouble_to_py (
                G_PARAM_SPEC_DOUBLE(pspec)->default_value);
        } else if (!strcmp(attr, "minimum")) {
-           return PyFloat_FromDouble(G_PARAM_SPEC_DOUBLE(pspec)->minimum);
+           return pygi_gdouble_to_py (G_PARAM_SPEC_DOUBLE(pspec)->minimum);
        } else if (!strcmp(attr, "maximum")) {
-           return PyFloat_FromDouble(G_PARAM_SPEC_DOUBLE(pspec)->maximum);
+           return pygi_gdouble_to_py (G_PARAM_SPEC_DOUBLE(pspec)->maximum);
        } else if (!strcmp(attr, "epsilon")) {
-           return PyFloat_FromDouble(G_PARAM_SPEC_DOUBLE(pspec)->epsilon);
+           return pygi_gdouble_to_py (G_PARAM_SPEC_DOUBLE(pspec)->epsilon);
        }
     } else if (G_IS_PARAM_SPEC_STRING(pspec)) {
        if (!strcmp(attr, "default_value")) {
@@ -258,10 +258,10 @@ pyg_param_spec_getattr(PyGParamSpec *self, const gchar *attr)
            return Py_BuildValue(
                "c", G_PARAM_SPEC_STRING(pspec)->substitutor);
        } else if (!strcmp(attr, "null_fold_if_empty")) {
-           return PyBool_FromLong(
+           return pygi_gboolean_to_py (
                G_PARAM_SPEC_STRING(pspec)->null_fold_if_empty);
        } else if (!strcmp(attr, "ensure_non_null")) {
-           return PyBool_FromLong(
+           return pygi_gboolean_to_py (
                G_PARAM_SPEC_STRING(pspec)->ensure_non_null);
        }
     } else {
@@ -400,8 +400,11 @@ pyg_param_spec_new(GParamSpec *pspec)
     return (PyObject *)self;
 }
 
-void
-pygobject_paramspec_register_types(PyObject *d)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_paramspec_register_types(PyObject *d)
 {
     Py_TYPE(&PyGParamSpec_Type) = &PyType_Type;
     PyGParamSpec_Type.tp_dealloc = (destructor)pyg_param_spec_dealloc;
@@ -412,8 +415,9 @@ pygobject_paramspec_register_types(PyObject *d)
     PyGParamSpec_Type.tp_hash = (hashfunc)pyg_param_spec_hash;
     PyGParamSpec_Type.tp_methods = pyg_param_spec_methods;
 
-
     if (PyType_Ready(&PyGParamSpec_Type))
-       return;
+        return -1;
     PyDict_SetItemString(d, "GParamSpec", (PyObject *)&PyGParamSpec_Type);
+
+    return 0;
 }
index db83e59..8798535 100644 (file)
@@ -26,6 +26,6 @@
 extern PyTypeObject PyGParamSpec_Type;
 PyObject * pyg_param_spec_new (GParamSpec *pspec);
 
-void pygobject_paramspec_register_types(PyObject *d);
+int pygi_paramspec_register_types(PyObject *d);
 
 #endif /* __PYGOBJECT_PARAMSPEC_H__ */
index dccd303..8e13374 100644 (file)
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
+#include <config.h>
 
-#include <pyglib.h>
+#include <Python.h>
 #include <glib-object.h>
 #include "pygpointer.h"
-#include "pygtype.h"
-
 #include "pygi-type.h"
+#include "pygi-type.h"
+#include "pygi-util.h"
 
 
 GQuark pygpointer_class_key;
@@ -44,9 +42,9 @@ static PyObject*
 pyg_pointer_richcompare(PyObject *self, PyObject *other, int op)
 {
     if (Py_TYPE(self) == Py_TYPE(other))
-        return _pyglib_generic_ptr_richcompare (pyg_pointer_get_ptr (self),
-                                                pyg_pointer_get_ptr (other),
-                                                op);
+        return pyg_ptr_richcompare (pyg_pointer_get_ptr (self),
+                                    pyg_pointer_get_ptr (other),
+                                    op);
     else {
         Py_INCREF(Py_NotImplemented);
         return Py_NotImplemented;
@@ -117,6 +115,7 @@ pyg_register_pointer(PyObject *dict, const gchar *class_name,
     if (!type->tp_dealloc) type->tp_dealloc = (destructor)pyg_pointer_dealloc;
 
     Py_TYPE(type) = &PyType_Type;
+    g_assert (Py_TYPE (&PyGPointer_Type) != NULL);
     type->tp_base = &PyGPointer_Type;
 
     if (PyType_Ready(type) < 0) {
@@ -182,8 +181,11 @@ pyg_pointer_new(GType pointer_type, gpointer pointer)
     return (PyObject *)self;
 }
 
-void
-pygobject_pointer_register_types(PyObject *d)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_pointer_register_types(PyObject *d)
 {
     pygpointer_class_key     = g_quark_from_static_string("PyGPointer::class");
 
@@ -194,5 +196,7 @@ pygobject_pointer_register_types(PyObject *d)
     PyGPointer_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;
     PyGPointer_Type.tp_init = (initproc)pyg_pointer_init;
     PyGPointer_Type.tp_free = (freefunc)pyg_pointer_free;
-    PYGOBJECT_REGISTER_GTYPE(d, PyGPointer_Type, "GPointer", G_TYPE_POINTER); 
+    PYGOBJECT_REGISTER_GTYPE(d, PyGPointer_Type, "GPointer", G_TYPE_POINTER);
+
+    return 0;
 }
index 363362c..df2c1e0 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef __PYGOBJECT_POINTER_H__ 
 #define __PYGOBJECT_POINTER_H__
 
+#include <Python.h>
+
 extern GQuark pygpointer_class_key;
 
 extern PyTypeObject PyGPointer_Type;
@@ -28,6 +30,6 @@ void       pyg_register_pointer (PyObject *dict, const gchar *class_name,
                                  GType pointer_type, PyTypeObject *type);
 PyObject * pyg_pointer_new      (GType pointer_type, gpointer pointer);
 
-void pygobject_pointer_register_types(PyObject *d);
+int pygi_pointer_register_types(PyObject *d);
 
 #endif /* __PYGOBJECT_POINTER_H__ */
index 7828d23..9457c6d 100644 (file)
@@ -22,8 +22,8 @@
 #include <Python.h>
 #include <glib.h>
 
-#include "pyglib.h"
-
+#include "pygi-python-compat.h"
+#include "pygi-basictype.h"
 #include "pygspawn.h"
 #include "pygi-error.h"
 
@@ -78,7 +78,7 @@ pyg_pid_new(GPid pid)
 #ifdef G_OS_WIN32
     long_val = PyLong_FromVoidPtr (pid);
 #else
-    long_val = PYGLIB_PyLong_FromLong (pid);
+    long_val = pygi_gint_to_py (pid);
 #endif
     return PyObject_CallMethod((PyObject*)&PyGPid_Type, "__new__", "ON",
                                &PyGPid_Type, long_val);
@@ -237,21 +237,21 @@ pyglib_spawn_async(PyObject *object, PyObject *args, PyObject *kwargs)
     if (envp) g_free(envp);
 
     if (standard_input)
-        pystdin = PYGLIB_PyLong_FromLong(*standard_input);
+        pystdin = pygi_gint_to_py(*standard_input);
     else {
         Py_INCREF(Py_None);
         pystdin = Py_None;
     }
 
     if (standard_output)
-        pystdout = PYGLIB_PyLong_FromLong(*standard_output);
+        pystdout = pygi_gint_to_py(*standard_output);
     else {
         Py_INCREF(Py_None);
         pystdout = Py_None;
     }
 
     if (standard_error)
-        pystderr = PYGLIB_PyLong_FromLong(*standard_error);
+        pystderr = pygi_gint_to_py(*standard_error);
     else {
         Py_INCREF(Py_None);
         pystderr = Py_None;
@@ -260,8 +260,11 @@ pyglib_spawn_async(PyObject *object, PyObject *args, PyObject *kwargs)
     return Py_BuildValue("NNNN", pyg_pid_new(child_pid), pystdin, pystdout, pystderr);
 }
 
-void
-pyglib_spawn_register_types(PyObject *d)
+/**
+ * Returns 0 on success, or -1 and sets an exception.
+ */
+int
+pygi_spawn_register_types(PyObject *d)
 {
     PyGPid_Type.tp_base = &PYGLIB_PyLong_Type;
     PyGPid_Type.tp_flags = Py_TPFLAGS_DEFAULT;
@@ -270,4 +273,6 @@ pyglib_spawn_register_types(PyObject *d)
     PyGPid_Type.tp_free = (freefunc)pyg_pid_free;
     PyGPid_Type.tp_new = PYGLIB_PyLong_Type.tp_new;
     PYGLIB_REGISTER_TYPE(d, PyGPid_Type, "Pid");
+
+    return 0;
 }
index 3cc9680..c493ef8 100644 (file)
@@ -21,7 +21,7 @@
 #define __PYG_PID_H__
 
 PyObject * pyg_pid_new(GPid pid);
-void pyglib_spawn_register_types(PyObject *d);
+int pygi_spawn_register_types(PyObject *d);
 
 PyObject * pyglib_spawn_async(PyObject *self, PyObject *args, PyObject *kwargs);
 
diff --git a/gi/pygtype.c b/gi/pygtype.c
deleted file mode 100644 (file)
index 760af56..0000000
+++ /dev/null
@@ -1,1235 +0,0 @@
-/* -*- Mode: C; c-basic-offset: 4 -*-
- * pygtk- Python bindings for the GTK toolkit.
- * Copyright (C) 1998-2003  James Henstridge
- *
- *   pygtype.c: glue code to wrap the GType code.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <pyglib.h>
-
-#include "pygobject-object.h"
-#include "pygboxed.h"
-#include "pygenum.h"
-#include "pygflags.h"
-#include "pygparamspec.h"
-#include "pygtype.h"
-#include "pygpointer.h"
-#include "pyginterface.h"
-
-#include "pygi-type.h"
-#include "pygi-value.h"
-
-/* -------------- __gtype__ objects ---------------------------- */
-
-typedef struct {
-    PyObject_HEAD
-    GType type;
-} PyGTypeWrapper;
-
-PYGLIB_DEFINE_TYPE("gobject.GType", PyGTypeWrapper_Type, PyGTypeWrapper);
-
-static PyObject*
-pyg_type_wrapper_richcompare(PyObject *self, PyObject *other, int op)
-{
-    if (Py_TYPE(self) == Py_TYPE(other) && Py_TYPE(self) == &PyGTypeWrapper_Type)
-        return _pyglib_generic_long_richcompare(((PyGTypeWrapper*)self)->type,
-                                                ((PyGTypeWrapper*)other)->type,
-                                                op);
-    else {
-        Py_INCREF(Py_NotImplemented);
-        return Py_NotImplemented;
-    }
-}
-
-static long
-pyg_type_wrapper_hash(PyGTypeWrapper *self)
-{
-    return (long)self->type;
-}
-
-static PyObject *
-pyg_type_wrapper_repr(PyGTypeWrapper *self)
-{
-    char buf[80];
-    const gchar *name = g_type_name(self->type);
-
-    g_snprintf(buf, sizeof(buf), "<GType %s (%lu)>",
-              name?name:"invalid", (unsigned long int) self->type);
-    return PYGLIB_PyUnicode_FromString(buf);
-}
-
-static void
-pyg_type_wrapper_dealloc(PyGTypeWrapper *self)
-{
-    PyObject_DEL(self);
-}
-
-static GQuark
-_pyg_type_key(GType type) {
-    GQuark key;
-
-    if (g_type_is_a(type, G_TYPE_INTERFACE)) {
-        key = pyginterface_type_key;
-    } else if (g_type_is_a(type, G_TYPE_ENUM)) {
-        key = pygenum_class_key;
-    } else if (g_type_is_a(type, G_TYPE_FLAGS)) {
-        key = pygflags_class_key;
-    } else if (g_type_is_a(type, G_TYPE_POINTER)) {
-        key = pygpointer_class_key;
-    } else if (g_type_is_a(type, G_TYPE_BOXED)) {
-        key = pygboxed_type_key;
-    } else {
-        key = pygobject_class_key;
-    }
-
-    return key;
-}
-
-static PyObject *
-_wrap_g_type_wrapper__get_pytype(PyGTypeWrapper *self, void *closure)
-{
-    GQuark key;
-    PyObject *py_type;
-
-    key = _pyg_type_key(self->type);
-
-    py_type = g_type_get_qdata(self->type, key);
-    if (!py_type)
-      py_type = Py_None;
-
-    Py_INCREF(py_type);
-    return py_type;
-}
-
-static int
-_wrap_g_type_wrapper__set_pytype(PyGTypeWrapper *self, PyObject* value, void *closure)
-{
-    GQuark key;
-    PyObject *py_type;
-
-    key = _pyg_type_key(self->type);
-
-    py_type = g_type_get_qdata(self->type, key);
-    Py_CLEAR(py_type);
-    if (value == Py_None)
-       g_type_set_qdata(self->type, key, NULL);
-    else if (PyType_Check(value)) {
-       Py_INCREF(value);
-       g_type_set_qdata(self->type, key, value);
-    } else {
-       PyErr_SetString(PyExc_TypeError, "Value must be None or a type object");
-       return -1;
-    }
-
-    return 0;
-}
-
-static PyObject *
-_wrap_g_type_wrapper__get_name(PyGTypeWrapper *self, void *closure)
-{
-   const char *name = g_type_name(self->type);
-   return PYGLIB_PyUnicode_FromString(name ? name : "invalid");
-}
-
-static PyObject *
-_wrap_g_type_wrapper__get_parent(PyGTypeWrapper *self, void *closure)
-{
-   return pyg_type_wrapper_new(g_type_parent(self->type));
-}
-
-static PyObject *
-_wrap_g_type_wrapper__get_fundamental(PyGTypeWrapper *self, void *closure)
-{
-   return pyg_type_wrapper_new(g_type_fundamental(self->type));
-}
-
-static PyObject *
-_wrap_g_type_wrapper__get_children(PyGTypeWrapper *self, void *closure)
-{
-  guint n_children, i;
-  GType *children;
-  PyObject *retval;
-
-  children = g_type_children(self->type, &n_children);
-
-  retval = PyList_New(n_children);
-  for (i = 0; i < n_children; i++)
-      PyList_SetItem(retval, i, pyg_type_wrapper_new(children[i]));
-  g_free(children);
-
-  return retval;
-}
-
-static PyObject *
-_wrap_g_type_wrapper__get_interfaces(PyGTypeWrapper *self, void *closure)
-{
-  guint n_interfaces, i;
-  GType *interfaces;
-  PyObject *retval;
-
-  interfaces = g_type_interfaces(self->type, &n_interfaces);
-
-  retval = PyList_New(n_interfaces);
-  for (i = 0; i < n_interfaces; i++)
-      PyList_SetItem(retval, i, pyg_type_wrapper_new(interfaces[i]));
-  g_free(interfaces);
-
-  return retval;
-}
-
-static PyObject *
-_wrap_g_type_wrapper__get_depth(PyGTypeWrapper *self, void *closure)
-{
-  return PYGLIB_PyLong_FromLong(g_type_depth(self->type));
-}
-
-static PyGetSetDef _PyGTypeWrapper_getsets[] = {
-    { "pytype", (getter)_wrap_g_type_wrapper__get_pytype, (setter)_wrap_g_type_wrapper__set_pytype },
-    { "name",  (getter)_wrap_g_type_wrapper__get_name, (setter)0 },
-    { "fundamental",  (getter)_wrap_g_type_wrapper__get_fundamental, (setter)0 },
-    { "parent",  (getter)_wrap_g_type_wrapper__get_parent, (setter)0 },
-    { "children",  (getter)_wrap_g_type_wrapper__get_children, (setter)0 },
-    { "interfaces",  (getter)_wrap_g_type_wrapper__get_interfaces, (setter)0 },
-    { "depth",  (getter)_wrap_g_type_wrapper__get_depth, (setter)0 },
-    { NULL, (getter)0, (setter)0 }
-};
-
-static PyObject*
-_wrap_g_type_is_interface(PyGTypeWrapper *self)
-{
-    return PyBool_FromLong(G_TYPE_IS_INTERFACE(self->type));
-}
-
-static PyObject*
-_wrap_g_type_is_classed(PyGTypeWrapper *self)
-{
-    return PyBool_FromLong(G_TYPE_IS_CLASSED(self->type));
-}
-
-static PyObject*
-_wrap_g_type_is_instantiatable(PyGTypeWrapper *self)
-{
-    return PyBool_FromLong(G_TYPE_IS_INSTANTIATABLE(self->type));
-}
-
-static PyObject*
-_wrap_g_type_is_derivable(PyGTypeWrapper *self)
-{
-    return PyBool_FromLong(G_TYPE_IS_DERIVABLE(self->type));
-}
-
-static PyObject*
-_wrap_g_type_is_deep_derivable(PyGTypeWrapper *self)
-{
-    return PyBool_FromLong(G_TYPE_IS_DEEP_DERIVABLE(self->type));
-}
-
-static PyObject*
-_wrap_g_type_is_abstract(PyGTypeWrapper *self)
-{
-    return PyBool_FromLong(G_TYPE_IS_ABSTRACT(self->type));
-}
-
-static PyObject*
-_wrap_g_type_is_value_abstract(PyGTypeWrapper *self)
-{
-    return PyBool_FromLong(G_TYPE_IS_VALUE_ABSTRACT(self->type));
-}
-
-static PyObject*
-_wrap_g_type_is_value_type(PyGTypeWrapper *self)
-{
-    return PyBool_FromLong(G_TYPE_IS_VALUE_TYPE(self->type));
-}
-
-static PyObject*
-_wrap_g_type_has_value_table(PyGTypeWrapper *self)
-{
-    return PyBool_FromLong(G_TYPE_HAS_VALUE_TABLE(self->type));
-}
-
-static PyObject*
-_wrap_g_type_from_name(PyGTypeWrapper *_, PyObject *args)
-{
-    char *type_name;
-    GType type;
-
-    if (!PyArg_ParseTuple(args, "s:GType.from_name", &type_name))
-       return NULL;
-
-    type = g_type_from_name(type_name);
-    if (type == 0) {
-       PyErr_SetString(PyExc_RuntimeError, "unknown type name");
-       return NULL;
-    }
-
-    return pyg_type_wrapper_new(type);
-}
-
-static PyObject*
-_wrap_g_type_is_a(PyGTypeWrapper *self, PyObject *args)
-{
-    PyObject *gparent;
-    GType parent;
-
-    if (!PyArg_ParseTuple(args, "O:GType.is_a", &gparent))
-       return NULL;
-    else if ((parent = pyg_type_from_object(gparent)) == 0)
-       return NULL;
-
-    return PyBool_FromLong(g_type_is_a(self->type, parent));
-}
-
-static PyMethodDef _PyGTypeWrapper_methods[] = {
-    { "is_interface", (PyCFunction)_wrap_g_type_is_interface, METH_NOARGS },
-    { "is_classed", (PyCFunction)_wrap_g_type_is_classed, METH_NOARGS },
-    { "is_instantiatable", (PyCFunction)_wrap_g_type_is_instantiatable, METH_NOARGS },
-    { "is_derivable", (PyCFunction)_wrap_g_type_is_derivable, METH_NOARGS },
-    { "is_deep_derivable", (PyCFunction)_wrap_g_type_is_deep_derivable, METH_NOARGS },
-    { "is_abstract", (PyCFunction)_wrap_g_type_is_abstract, METH_NOARGS },
-    { "is_value_abstract", (PyCFunction)_wrap_g_type_is_value_abstract, METH_NOARGS },
-    { "is_value_type", (PyCFunction)_wrap_g_type_is_value_type, METH_NOARGS },
-    { "has_value_table", (PyCFunction)_wrap_g_type_has_value_table, METH_NOARGS },
-    { "from_name", (PyCFunction)_wrap_g_type_from_name, METH_VARARGS | METH_STATIC },
-    { "is_a", (PyCFunction)_wrap_g_type_is_a, METH_VARARGS },
-    { NULL,  0, 0 }
-};
-
-static int
-pyg_type_wrapper_init(PyGTypeWrapper *self, PyObject *args, PyObject *kwargs)
-{
-    static char *kwlist[] = { "object", NULL };
-    PyObject *py_object;
-    GType type;
-
-    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
-                                    "O:GType.__init__",
-                                    kwlist, &py_object))
-        return -1;
-
-    if (!(type = pyg_type_from_object(py_object)))
-       return -1;
-
-    self->type = type;
-
-    return 0;
-}
-
-/**
- * pyg_type_wrapper_new:
- * type: a GType
- *
- * Creates a Python wrapper for a GType.
- *
- * Returns: the Python wrapper.
- */
-PyObject *
-pyg_type_wrapper_new(GType type)
-{
-    PyGTypeWrapper *self;
-
-    self = (PyGTypeWrapper *)PyObject_NEW(PyGTypeWrapper,
-                                         &PyGTypeWrapper_Type);
-    if (self == NULL)
-       return NULL;
-
-    self->type = type;
-    return (PyObject *)self;
-}
-
-/**
- * pyg_type_from_object_strict:
- * obj: a Python object
- * strict: if set to TRUE, raises an exception if it can't perform the
- *         conversion
- *
- * converts a python object to a GType.  If strict is set, raises an 
- * exception if it can't perform the conversion, otherwise returns
- * PY_TYPE_OBJECT.
- *
- * Returns: the corresponding GType, or 0 on error.
- */
-
-GType
-pyg_type_from_object_strict(PyObject *obj, gboolean strict)
-{
-    PyObject *gtype;
-    GType type;
-
-    /* NULL check */
-    if (!obj) {
-       PyErr_SetString(PyExc_TypeError, "can't get type from NULL object");
-       return 0;
-    }
-
-    /* map some standard types to primitive GTypes ... */
-    if (obj == Py_None)
-       return G_TYPE_NONE;
-    if (PyType_Check(obj)) {
-       PyTypeObject *tp = (PyTypeObject *)obj;
-
-       if (tp == &PYGLIB_PyLong_Type)
-           return G_TYPE_INT;
-       else if (tp == &PyBool_Type)
-           return G_TYPE_BOOLEAN;
-       else if (tp == &PyLong_Type)
-           return G_TYPE_LONG;
-       else if (tp == &PyFloat_Type)
-           return G_TYPE_DOUBLE;
-       else if (tp == &PYGLIB_PyUnicode_Type)
-           return G_TYPE_STRING;
-       else if (tp == &PyBaseObject_Type)
-           return PY_TYPE_OBJECT;
-    }
-
-    if (Py_TYPE(obj) == &PyGTypeWrapper_Type) {
-       return ((PyGTypeWrapper *)obj)->type;
-    }
-
-    /* handle strings */
-    if (PYGLIB_PyUnicode_Check(obj)) {
-       gchar *name = PYGLIB_PyUnicode_AsString(obj);
-
-       type = g_type_from_name(name);
-       if (type != 0) {
-           return type;
-       }
-    }
-
-    /* finally, look for a __gtype__ attribute on the object */
-    gtype = PyObject_GetAttrString(obj, "__gtype__");
-
-    if (gtype) {
-       if (Py_TYPE(gtype) == &PyGTypeWrapper_Type) {
-           type = ((PyGTypeWrapper *)gtype)->type;
-           Py_DECREF(gtype);
-           return type;
-       }
-       Py_DECREF(gtype);
-    }
-
-    PyErr_Clear();
-
-    /* Some API like those that take GValues can hold a python object as
-     * a pointer.  This is potentially dangerous becuase everything is 
-     * passed in as a PyObject so we can't actually type check it.  Only
-     * fallback to PY_TYPE_OBJECT if strict checking is disabled
-     */
-    if (!strict)
-        return PY_TYPE_OBJECT;
-
-    PyErr_SetString(PyExc_TypeError, "could not get typecode from object");
-    return 0;
-}
-
-/**
- * pyg_type_from_object:
- * obj: a Python object
- *
- * converts a python object to a GType.  Raises an exception if it
- * can't perform the conversion.
- *
- * Returns: the corresponding GType, or 0 on error.
- */
-GType
-pyg_type_from_object(PyObject *obj)
-{
-    /* Legacy call always defaults to strict type checking */
-    return pyg_type_from_object_strict(obj, TRUE);
-}
-
-/**
- * pyg_enum_get_value:
- * @enum_type: the GType of the flag.
- * @obj: a Python object representing the flag value
- * @val: a pointer to the location to store the integer representation of the flag.
- *
- * Converts a Python object to the integer equivalent.  The conversion
- * will depend on the type of the Python object.  If the object is an
- * integer, it is passed through directly.  If it is a string, it will
- * be treated as a full or short enum name as defined in the GType.
- *
- * Returns: 0 on success or -1 on failure
- */
-gint
-pyg_enum_get_value(GType enum_type, PyObject *obj, gint *val)
-{
-    GEnumClass *eclass = NULL;
-    gint res = -1;
-
-    g_return_val_if_fail(val != NULL, -1);
-    if (!obj) {
-       *val = 0;
-       res = 0;
-    } else if (PYGLIB_PyLong_Check(obj)) {
-       *val = PYGLIB_PyLong_AsLong(obj);
-       res = 0;
-
-       if (PyObject_TypeCheck(obj, &PyGEnum_Type) && ((PyGEnum *) obj)->gtype != enum_type) {
-           g_warning("expected enumeration type %s, but got %s instead",
-                     g_type_name(enum_type),
-                     g_type_name(((PyGEnum *) obj)->gtype));
-       }
-    /* Dumb code duplication, but probably not worth it to have yet another macro. */
-    } else if (PyLong_Check(obj)) {
-       *val = PyLong_AsLong(obj);
-       res = 0;
-
-       if (PyObject_TypeCheck(obj, &PyGEnum_Type) && ((PyGEnum *) obj)->gtype != enum_type) {
-           g_warning("expected enumeration type %s, but got %s instead",
-                     g_type_name(enum_type),
-                     g_type_name(((PyGEnum *) obj)->gtype));
-       }
-    } else if (PYGLIB_PyUnicode_Check(obj)) {
-       GEnumValue *info;
-       char *str = PYGLIB_PyUnicode_AsString(obj);
-
-       if (enum_type != G_TYPE_NONE)
-           eclass = G_ENUM_CLASS(g_type_class_ref(enum_type));
-       else {
-           PyErr_SetString(PyExc_TypeError, "could not convert string to enum because there is no GType associated to look up the value");
-           res = -1;
-       }
-       info = g_enum_get_value_by_name(eclass, str);
-       g_type_class_unref(eclass);
-
-       if (!info)
-           info = g_enum_get_value_by_nick(eclass, str);
-       if (info) {
-           *val = info->value;
-           res = 0;
-       } else {
-           PyErr_SetString(PyExc_TypeError, "could not convert string");
-           res = -1;
-       }
-    } else {
-       PyErr_SetString(PyExc_TypeError,"enum values must be strings or ints");
-       res = -1;
-    }
-    return res;
-}
-
-/**
- * pyg_flags_get_value:
- * @flag_type: the GType of the flag.
- * @obj: a Python object representing the flag value
- * @val: a pointer to the location to store the integer representation of the flag.
- *
- * Converts a Python object to the integer equivalent.  The conversion
- * will depend on the type of the Python object.  If the object is an
- * integer, it is passed through directly.  If it is a string, it will
- * be treated as a full or short flag name as defined in the GType.
- * If it is a tuple, then the items are treated as strings and ORed
- * together.
- *
- * Returns: 0 on success or -1 on failure
- */
-gint
-pyg_flags_get_value(GType flag_type, PyObject *obj, guint *val)
-{
-    GFlagsClass *fclass = NULL;
-    gint res = -1;
-
-    g_return_val_if_fail(val != NULL, -1);
-    if (!obj) {
-       *val = 0;
-       res = 0;
-    } else if (PYGLIB_PyLong_Check(obj)) {
-       *val = PYGLIB_PyLong_AsUnsignedLong(obj);
-       res = 0;
-    } else if (PyLong_Check(obj)) {
-        *val = PyLong_AsLongLong(obj);
-        res = 0;
-    } else if (PYGLIB_PyUnicode_Check(obj)) {
-       GFlagsValue *info;
-       char *str = PYGLIB_PyUnicode_AsString(obj);
-
-       if (flag_type != G_TYPE_NONE)
-           fclass = G_FLAGS_CLASS(g_type_class_ref(flag_type));
-       else {
-           PyErr_SetString(PyExc_TypeError, "could not convert string to flag because there is no GType associated to look up the value");
-           res = -1;
-       }
-       info = g_flags_get_value_by_name(fclass, str);
-       g_type_class_unref(fclass);
-
-       if (!info)
-           info = g_flags_get_value_by_nick(fclass, str);
-       if (info) {
-           *val = info->value;
-           res = 0;
-       } else {
-           PyErr_SetString(PyExc_TypeError, "could not convert string");
-           res = -1;
-       }
-    } else if (PyTuple_Check(obj)) {
-       int i, len;
-
-       len = PyTuple_Size(obj);
-       *val = 0;
-       res = 0;
-
-       if (flag_type != G_TYPE_NONE)
-           fclass = G_FLAGS_CLASS(g_type_class_ref(flag_type));
-       else {
-           PyErr_SetString(PyExc_TypeError, "could not convert string to flag because there is no GType associated to look up the value");
-           res = -1;
-       }
-
-       for (i = 0; i < len; i++) {
-           PyObject *item = PyTuple_GetItem(obj, i);
-           char *str = PYGLIB_PyUnicode_AsString(item);
-           GFlagsValue *info = g_flags_get_value_by_name(fclass, str);
-
-           if (!info)
-               info = g_flags_get_value_by_nick(fclass, str);
-           if (info) {
-               *val |= info->value;
-           } else {
-               PyErr_SetString(PyExc_TypeError, "could not convert string");
-               res = -1;
-               break;
-           }
-       }
-       g_type_class_unref(fclass);
-    } else {
-       PyErr_SetString(PyExc_TypeError,
-                       "flag values must be strings, ints, longs, or tuples");
-       res = -1;
-    }
-    return res;
-}
-
-static GQuark pyg_type_marshal_key = 0;
-static GQuark pyg_type_marshal_helper_key = 0;
-
-typedef enum _marshal_helper_data_e marshal_helper_data_e;
-enum _marshal_helper_data_e {
-    MARSHAL_HELPER_NONE = 0,
-    MARSHAL_HELPER_RETURN_NULL,
-    MARSHAL_HELPER_IMPORT_DONE,
-};
-
-PyGTypeMarshal *
-pyg_type_lookup(GType type)
-{
-    GType      ptype = type;
-    PyGTypeMarshal     *tm = NULL;
-
-    if (type == G_TYPE_INVALID)
-       return NULL;
-
-    marshal_helper_data_e marshal_helper = GPOINTER_TO_INT (
-       g_type_get_qdata(type, pyg_type_marshal_helper_key));
-
-    /* If we called this function before with @type and nothing was found,
-     * return NULL early to not spend time in the loop below */
-    if (marshal_helper == MARSHAL_HELPER_RETURN_NULL)
-       return NULL;
-
-    /* Otherwise do recursive type lookup */
-    do {
-       if (marshal_helper == MARSHAL_HELPER_IMPORT_DONE)
-           pygi_type_import_by_g_type (ptype);
-
-       if ((tm = g_type_get_qdata(ptype, pyg_type_marshal_key)) != NULL)
-           break;
-       ptype = g_type_parent(ptype);
-    } while (ptype);
-
-    if (marshal_helper == MARSHAL_HELPER_NONE) {
-       marshal_helper = (tm == NULL) ?
-           MARSHAL_HELPER_RETURN_NULL:
-           MARSHAL_HELPER_IMPORT_DONE;
-       g_type_set_qdata(type, pyg_type_marshal_helper_key,
-           GINT_TO_POINTER(marshal_helper));
-    }
-    return tm;
-}
-
-/**
- * pyg_register_gtype_custom:
- * @gtype: the GType for the new type
- * @from_func: a function to convert GValues to Python objects
- * @to_func: a function to convert Python objects to GValues
- *
- * In order to handle specific conversion of gboxed types or new
- * fundamental types, you may use this function to register conversion
- * handlers.
- */
-
-void
-pyg_register_gtype_custom(GType gtype,
-                         fromvaluefunc from_func,
-                          tovaluefunc to_func)
-{
-    PyGTypeMarshal *tm;
-
-    if (!pyg_type_marshal_key) {
-       pyg_type_marshal_key = g_quark_from_static_string("PyGType::marshal");
-       pyg_type_marshal_helper_key = g_quark_from_static_string("PyGType::marshal-helper");
-    }
-
-    tm = g_new(PyGTypeMarshal, 1);
-    tm->fromvalue = from_func;
-    tm->tovalue = to_func;
-    g_type_set_qdata(gtype, pyg_type_marshal_key, tm);
-}
-
-/* -------------- PyGClosure ----------------- */
-
-static void
-pyg_closure_invalidate(gpointer data, GClosure *closure)
-{
-    PyGClosure *pc = (PyGClosure *)closure;
-    PyGILState_STATE state;
-
-    state = PyGILState_Ensure();
-    Py_XDECREF(pc->callback);
-    Py_XDECREF(pc->extra_args);
-    Py_XDECREF(pc->swap_data);
-    PyGILState_Release(state);
-
-    pc->callback = NULL;
-    pc->extra_args = NULL;
-    pc->swap_data = NULL;
-}
-
-static void
-pyg_closure_marshal(GClosure *closure,
-                   GValue *return_value,
-                   guint n_param_values,
-                   const GValue *param_values,
-                   gpointer invocation_hint,
-                   gpointer marshal_data)
-{
-    PyGILState_STATE state;
-    PyGClosure *pc = (PyGClosure *)closure;
-    PyObject *params, *ret;
-    guint i;
-
-    state = PyGILState_Ensure();
-
-    /* construct Python tuple for the parameter values */
-    params = PyTuple_New(n_param_values);
-    for (i = 0; i < n_param_values; i++) {
-       /* swap in a different initial data for connect_object() */
-       if (i == 0 && G_CCLOSURE_SWAP_DATA(closure)) {
-           g_return_if_fail(pc->swap_data != NULL);
-           Py_INCREF(pc->swap_data);
-           PyTuple_SetItem(params, 0, pc->swap_data);
-       } else {
-           PyObject *item = pyg_value_as_pyobject(&param_values[i], FALSE);
-
-           /* error condition */
-           if (!item) {
-            if (!PyErr_Occurred ())
-                PyErr_SetString (PyExc_TypeError,
-                                 "can't convert parameter to desired type");
-
-            if (pc->exception_handler)
-                pc->exception_handler (return_value, n_param_values, param_values);
-            else
-                PyErr_Print();
-
-            goto out;
-           }
-           PyTuple_SetItem(params, i, item);
-       }
-    }
-    /* params passed to function may have extra arguments */
-    if (pc->extra_args) {
-       PyObject *tuple = params;
-       params = PySequence_Concat(tuple, pc->extra_args);
-       Py_DECREF(tuple);
-    }
-    ret = PyObject_CallObject(pc->callback, params);
-    if (ret == NULL) {
-       if (pc->exception_handler)
-           pc->exception_handler(return_value, n_param_values, param_values);
-       else
-           PyErr_Print();
-       goto out;
-    }
-
-    if (G_IS_VALUE(return_value) && pyg_value_from_pyobject(return_value, ret) != 0) {
-       /* If we already have an exception set, use that, otherwise set a
-        * generic one */
-       if (!PyErr_Occurred())
-           PyErr_SetString(PyExc_TypeError,
-                            "can't convert return value to desired type");
-
-       if (pc->exception_handler)
-           pc->exception_handler(return_value, n_param_values, param_values);
-       else
-           PyErr_Print();
-    }
-    Py_DECREF(ret);
-
- out:
-    Py_DECREF(params);
-    PyGILState_Release(state);
-}
-
-/**
- * pyg_closure_new:
- * callback: a Python callable object
- * extra_args: a tuple of extra arguments, or None/NULL.
- * swap_data: an alternative python object to pass first.
- *
- * Creates a GClosure wrapping a Python callable and optionally a set
- * of additional function arguments.  This is needed to attach python
- * handlers to signals, for instance.
- *
- * Returns: the new closure.
- */
-GClosure *
-pyg_closure_new(PyObject *callback, PyObject *extra_args, PyObject *swap_data)
-{
-    GClosure *closure;
-
-    g_return_val_if_fail(callback != NULL, NULL);
-    closure = g_closure_new_simple(sizeof(PyGClosure), NULL);
-    g_closure_add_invalidate_notifier(closure, NULL, pyg_closure_invalidate);
-    g_closure_set_marshal(closure, pyg_closure_marshal);
-    Py_INCREF(callback);
-    ((PyGClosure *)closure)->callback = callback;
-    if (extra_args && extra_args != Py_None) {
-       Py_INCREF(extra_args);
-       if (!PyTuple_Check(extra_args)) {
-           PyObject *tmp = PyTuple_New(1);
-           PyTuple_SetItem(tmp, 0, extra_args);
-           extra_args = tmp;
-       }
-       ((PyGClosure *)closure)->extra_args = extra_args;
-    }
-    if (swap_data) {
-       Py_INCREF(swap_data);
-       ((PyGClosure *)closure)->swap_data = swap_data;
-       closure->derivative_flag = TRUE;
-    }
-    return closure;
-}
-
-/**
- * pyg_closure_set_exception_handler:
- * @closure: a closure created with pyg_closure_new()
- * @handler: the handler to call when an exception occurs or NULL for none
- *
- * Sets the handler to call when an exception occurs during closure invocation.
- * The handler is responsible for providing a proper return value to the
- * closure invocation. If @handler is %NULL, the default handler will be used.
- * The default handler prints the exception to stderr and doesn't touch the
- * closure's return value.
- */
-void
-pyg_closure_set_exception_handler(GClosure *closure,
-                                 PyClosureExceptionHandler handler)
-{
-    PyGClosure *pygclosure;
-
-    g_return_if_fail(closure != NULL);
-
-    pygclosure = (PyGClosure *)closure;
-    pygclosure->exception_handler = handler;
-}
-/* -------------- PySignalClassClosure ----------------- */
-/* a closure used for the `class closure' of a signal.  As this gets
- * all the info from the first argument to the closure and the
- * invocation hint, we can have a single closure that handles all
- * class closure cases.  We call a method by the name of the signal
- * with "do_" prepended.
- *
- *  We also remove the first argument from the * param list, as it is
- *  the instance object, which is passed * implicitly to the method
- *  object. */
-
-static void
-pyg_signal_class_closure_marshal(GClosure *closure,
-                                GValue *return_value,
-                                guint n_param_values,
-                                const GValue *param_values,
-                                gpointer invocation_hint,
-                                gpointer marshal_data)
-{
-    PyGILState_STATE state;
-    GObject *object;
-    PyObject *object_wrapper;
-    GSignalInvocationHint *hint = (GSignalInvocationHint *)invocation_hint;
-    gchar *method_name, *tmp;
-    PyObject *method;
-    PyObject *params, *ret;
-    guint i, len;
-
-    state = PyGILState_Ensure();
-
-    g_return_if_fail(invocation_hint != NULL);
-    /* get the object passed as the first argument to the closure */
-    object = g_value_get_object(&param_values[0]);
-    g_return_if_fail(object != NULL && G_IS_OBJECT(object));
-
-    /* get the wrapper for this object */
-    object_wrapper = pygobject_new(object);
-    g_return_if_fail(object_wrapper != NULL);
-
-    /* construct method name for this class closure */
-    method_name = g_strconcat("do_", g_signal_name(hint->signal_id), NULL);
-
-    /* convert dashes to underscores.  For some reason, g_signal_name
-     * seems to convert all the underscores in the signal name to
-       dashes??? */
-    for (tmp = method_name; *tmp != '\0'; tmp++)
-       if (*tmp == '-') *tmp = '_';
-
-    method = PyObject_GetAttrString(object_wrapper, method_name);
-    g_free(method_name);
-
-    if (!method) {
-       PyErr_Clear();
-       Py_DECREF(object_wrapper);
-       PyGILState_Release(state);
-       return;
-    }
-    Py_DECREF(object_wrapper);
-
-    /* construct Python tuple for the parameter values; don't copy boxed values
-       initially because we'll check after the call to see if a copy is needed. */
-    params = PyTuple_New(n_param_values - 1);
-    for (i = 1; i < n_param_values; i++) {
-       PyObject *item = pyg_value_as_pyobject(&param_values[i], FALSE);
-
-       /* error condition */
-       if (!item) {
-           Py_DECREF(params);
-           PyGILState_Release(state);
-           return;
-       }
-       PyTuple_SetItem(params, i - 1, item);
-    }
-
-    ret = PyObject_CallObject(method, params);
-
-    /* Copy boxed values if others ref them, this needs to be done regardless of
-       exception status. */
-    len = PyTuple_Size(params);
-    for (i = 0; i < len; i++) {
-       PyObject *item = PyTuple_GetItem(params, i);
-       if (item != NULL && PyObject_TypeCheck(item, &PyGBoxed_Type)
-           && item->ob_refcnt != 1) {
-           PyGBoxed* boxed_item = (PyGBoxed*)item;
-           if (!boxed_item->free_on_dealloc) {
-               gpointer boxed_ptr = pyg_boxed_get_ptr (boxed_item);
-               pyg_boxed_set_ptr (boxed_item, g_boxed_copy (boxed_item->gtype, boxed_ptr));
-               boxed_item->free_on_dealloc = TRUE;
-           }
-       }
-    }
-
-    if (ret == NULL) {
-       PyErr_Print();
-       Py_DECREF(method);
-       Py_DECREF(params);
-       PyGILState_Release(state);
-       return;
-    }
-    Py_DECREF(method);
-    Py_DECREF(params);
-    if (G_IS_VALUE(return_value))
-       pyg_value_from_pyobject(return_value, ret);
-    Py_DECREF(ret);
-    PyGILState_Release(state);
-}
-
-/**
- * pyg_signal_class_closure_get:
- *
- * Returns the GClosure used for the class closure of signals.  When
- * called, it will invoke the method do_signalname (for the signal
- * "signalname").
- *
- * Returns: the closure.
- */
-GClosure *
-pyg_signal_class_closure_get(void)
-{
-    static GClosure *closure;
-
-    if (closure == NULL) {
-       closure = g_closure_new_simple(sizeof(GClosure), NULL);
-       g_closure_set_marshal(closure, pyg_signal_class_closure_marshal);
-
-       g_closure_ref(closure);
-       g_closure_sink(closure);
-    }
-    return closure;
-}
-
-/* ----- __doc__ descriptor for GObject and GInterface ----- */
-
-static void
-object_doc_dealloc(PyObject *self)
-{
-    PyObject_FREE(self);
-}
-
-/* append information about signals of a particular gtype */
-static void
-add_signal_docs(GType gtype, GString *string)
-{
-    GTypeClass *class = NULL;
-    guint *signal_ids, n_ids = 0, i;
-
-    if (G_TYPE_IS_CLASSED(gtype))
-       class = g_type_class_ref(gtype);
-    signal_ids = g_signal_list_ids(gtype, &n_ids);
-
-    if (n_ids > 0) {
-       g_string_append_printf(string, "Signals from %s:\n",
-                              g_type_name(gtype));
-
-       for (i = 0; i < n_ids; i++) {
-           GSignalQuery query;
-           guint j;
-
-           g_signal_query(signal_ids[i], &query);
-
-           g_string_append(string, "  ");
-           g_string_append(string, query.signal_name);
-           g_string_append(string, " (");
-           for (j = 0; j < query.n_params; j++) {
-               g_string_append(string, g_type_name(query.param_types[j]));
-               if (j != query.n_params - 1)
-                   g_string_append(string, ", ");
-           }
-           g_string_append(string, ")");
-           if (query.return_type && query.return_type != G_TYPE_NONE) {
-               g_string_append(string, " -> ");
-               g_string_append(string, g_type_name(query.return_type));
-           }
-           g_string_append(string, "\n");
-       }
-       g_free(signal_ids);
-       g_string_append(string, "\n");
-    }
-    if (class)
-       g_type_class_unref(class);
-}
-
-static void
-add_property_docs(GType gtype, GString *string)
-{
-    GObjectClass *class;
-    GParamSpec **props;
-    guint n_props = 0, i;
-    gboolean has_prop = FALSE;
-    G_CONST_RETURN gchar *blurb=NULL;
-
-    class = g_type_class_ref(gtype);
-    props = g_object_class_list_properties(class, &n_props);
-
-    for (i = 0; i < n_props; i++) {
-       if (props[i]->owner_type != gtype)
-           continue; /* these are from a parent type */
-
-       /* print out the heading first */
-       if (!has_prop) {
-           g_string_append_printf(string, "Properties from %s:\n",
-                                  g_type_name(gtype));
-           has_prop = TRUE;
-       }
-       g_string_append_printf(string, "  %s -> %s: %s\n",
-                              g_param_spec_get_name(props[i]),
-                              g_type_name(props[i]->value_type),
-                              g_param_spec_get_nick(props[i]));
-
-       /* g_string_append_printf crashes on win32 if the third
-          argument is NULL. */
-       blurb=g_param_spec_get_blurb(props[i]);
-       if (blurb)
-           g_string_append_printf(string, "    %s\n",blurb);
-    }
-    g_free(props);
-    if (has_prop)
-       g_string_append(string, "\n");
-    g_type_class_unref(class);
-}
-
-static PyObject *
-object_doc_descr_get(PyObject *self, PyObject *obj, PyObject *type)
-{
-    GType gtype = 0;
-    GString *string;
-    PyObject *pystring;
-
-    if (obj && pygobject_check(obj, &PyGObject_Type)) {
-       gtype = G_OBJECT_TYPE(pygobject_get(obj));
-       if (!gtype)
-           PyErr_SetString(PyExc_RuntimeError, "could not get object type");
-    } else {
-       gtype = pyg_type_from_object(type);
-    }
-    if (!gtype)
-       return NULL;
-
-    string = g_string_new_len(NULL, 512);
-
-    if (g_type_is_a(gtype, G_TYPE_INTERFACE))
-       g_string_append_printf(string, "Interface %s\n\n", g_type_name(gtype));
-    else if (g_type_is_a(gtype, G_TYPE_OBJECT))
-       g_string_append_printf(string, "Object %s\n\n", g_type_name(gtype));
-    else
-       g_string_append_printf(string, "%s\n\n", g_type_name(gtype));
-
-    if (((PyTypeObject *) type)->tp_doc)
-        g_string_append_printf(string, "%s\n\n", ((PyTypeObject *) type)->tp_doc);
-
-    if (g_type_is_a(gtype, G_TYPE_OBJECT)) {
-       GType parent = G_TYPE_OBJECT;
-        GArray *parents = g_array_new(FALSE, FALSE, sizeof(GType));
-        int iparent;
-
-        while (parent) {
-            g_array_append_val(parents, parent);
-            parent = g_type_next_base(gtype, parent);
-        }
-
-        for (iparent = parents->len - 1; iparent >= 0; --iparent) {
-           GType *interfaces;
-           guint n_interfaces, i;
-
-            parent = g_array_index(parents, GType, iparent);
-           add_signal_docs(parent, string);
-           add_property_docs(parent, string);
-
-           /* add docs for implemented interfaces */
-           interfaces = g_type_interfaces(parent, &n_interfaces);
-           for (i = 0; i < n_interfaces; i++)
-               add_signal_docs(interfaces[i], string);
-           g_free(interfaces);
-       }
-        g_array_free(parents, TRUE);
-    }
-
-    pystring = PYGLIB_PyUnicode_FromStringAndSize(string->str, string->len);
-    g_string_free(string, TRUE);
-    return pystring;
-}
-
-PYGLIB_DEFINE_TYPE("gobject.GObject.__doc__", PyGObjectDoc_Type, PyObject);
-
-/**
- * pyg_object_descr_doc_get:
- *
- * Returns an object intended to be the __doc__ attribute of GObject
- * wrappers.  When read in the context of the object it will return
- * some documentation about the signals and properties of the object.
- *
- * Returns: the descriptor.
- */
-PyObject *
-pyg_object_descr_doc_get(void)
-{
-    static PyObject *doc_descr = NULL;
-
-    if (!doc_descr) {
-       Py_TYPE(&PyGObjectDoc_Type) = &PyType_Type;
-       if (PyType_Ready(&PyGObjectDoc_Type))
-           return NULL;
-
-       doc_descr = PyObject_NEW(PyObject, &PyGObjectDoc_Type);
-       if (doc_descr == NULL)
-           return NULL;
-    }
-    return doc_descr;
-}
-
-
-/**
- * pyg_pyobj_to_unichar_conv:
- *
- * Converts PyObject value to a unichar and write result to memory
- * pointed to by ptr.  Follows the calling convention of a ParseArgs
- * converter (O& format specifier) so it may be used to convert function
- * arguments.
- *
- * Returns: 1 if the conversion succeeds and 0 otherwise.  If the conversion
- *          did not succeesd, a Python exception is raised
- */
-int pyg_pyobj_to_unichar_conv(PyObject* py_obj, void* ptr)
-{
-    gunichar* u = ptr;
-    const Py_UNICODE* uni_buffer;
-    PyObject* tmp_uni = NULL;
-
-    if (PyUnicode_Check(py_obj)) {
-       tmp_uni = py_obj;
-       Py_INCREF(tmp_uni);
-    }
-    else {
-       tmp_uni = PyUnicode_FromObject(py_obj);
-       if (tmp_uni == NULL)
-           goto failure;
-    }
-
-    if ( PyUnicode_GetSize(tmp_uni) != 1) {
-       PyErr_SetString(PyExc_ValueError, "unicode character value must be 1 character uniode string");
-       goto failure;
-    }
-    uni_buffer = PyUnicode_AsUnicode(tmp_uni);
-    if ( uni_buffer == NULL)
-       goto failure;
-    *u = uni_buffer[0];
-
-    Py_DECREF(tmp_uni);
-    return 1;
-
-  failure:
-    Py_XDECREF(tmp_uni);
-    return 0;
-}
-
-gboolean
-pyg_gtype_is_custom(GType gtype)
-{
-    return g_type_get_qdata (gtype, pygobject_custom_key) != NULL;
-}
-
-void
-pygobject_type_register_types(PyObject *d)
-{
-    PyGTypeWrapper_Type.tp_dealloc = (destructor)pyg_type_wrapper_dealloc;
-    PyGTypeWrapper_Type.tp_richcompare = pyg_type_wrapper_richcompare;
-    PyGTypeWrapper_Type.tp_repr = (reprfunc)pyg_type_wrapper_repr;
-    PyGTypeWrapper_Type.tp_hash = (hashfunc)pyg_type_wrapper_hash;
-    PyGTypeWrapper_Type.tp_flags = Py_TPFLAGS_DEFAULT;
-    PyGTypeWrapper_Type.tp_methods = _PyGTypeWrapper_methods;
-    PyGTypeWrapper_Type.tp_getset = _PyGTypeWrapper_getsets;
-    PyGTypeWrapper_Type.tp_init = (initproc)pyg_type_wrapper_init;
-    PYGLIB_REGISTER_TYPE(d, PyGTypeWrapper_Type, "GType");
-
-    /* This type lazily registered in pyg_object_descr_doc_get */
-    PyGObjectDoc_Type.tp_dealloc = (destructor)object_doc_dealloc;
-    PyGObjectDoc_Type.tp_flags = Py_TPFLAGS_DEFAULT;
-    PyGObjectDoc_Type.tp_descr_get = (descrgetfunc)object_doc_descr_get;
-
-    pyg_register_gtype_custom(G_TYPE_STRV,
-                             pyg_strv_from_gvalue,
-                             pyg_strv_to_gvalue);
-}
diff --git a/gi/pygtype.h b/gi/pygtype.h
deleted file mode 100644 (file)
index 7caf77c..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -*- Mode: C; c-basic-offset: 4 -*-
- * pygtk- Python bindings for the GTK toolkit.
- * Copyright (C) 1998-2003  James Henstridge
- *               2004-2008  Johan Dahlin
- *   pyginterface.c: wrapper for the gobject library.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __PYGOBJECT_TYPE_H__ 
-#define __PYGOBJECT_TYPE_H__
-
-#include <Python.h>
-#include <glib-object.h>
-#include "pygobject-internal.h"
-
-#define PYGOBJECT_REGISTER_GTYPE(d, type, name, gtype)      \
-  {                                                         \
-    PyObject *o;                                           \
-    PYGLIB_REGISTER_TYPE(d, type, name);                    \
-    PyDict_SetItemString(type.tp_dict, "__gtype__",         \
-                        o=pyg_type_wrapper_new(gtype));    \
-    Py_DECREF(o);                                           \
-}
-
-extern PyTypeObject PyGTypeWrapper_Type;
-
-typedef PyObject *(* fromvaluefunc)(const GValue *value);
-typedef int (*tovaluefunc)(GValue *value, PyObject *obj);
-
-typedef struct {
-    fromvaluefunc fromvalue;
-    tovaluefunc tovalue;
-} PyGTypeMarshal;
-
-PyGTypeMarshal *pyg_type_lookup(GType type);
-
-gboolean pyg_gtype_is_custom (GType gtype);
-
-void pyg_register_gtype_custom(GType gtype,
-                               fromvaluefunc from_func,
-                               tovaluefunc to_func);
-
-void pygobject_type_register_types(PyObject *d);
-
-PyObject *pyg_object_descr_doc_get(void);
-PyObject *pyg_type_wrapper_new (GType type);
-GType     pyg_type_from_object_strict (PyObject *obj, gboolean strict);
-GType     pyg_type_from_object (PyObject *obj);
-
-int pyg_pyobj_to_unichar_conv (PyObject* py_obj, void* ptr);
-
-GClosure *pyg_closure_new(PyObject *callback, PyObject *extra_args, PyObject *swap_data);
-GClosure *pyg_signal_class_closure_get(void);
-void      pyg_closure_set_exception_handler(GClosure *closure,
-                                            PyClosureExceptionHandler handler);
-#endif /* __PYGOBJECT_TYPE_H__ */
diff --git a/gi/repository/Makefile.am b/gi/repository/Makefile.am
deleted file mode 100644 (file)
index 1177ad5..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-pygirepositorydir = $(pyexecdir)/gi/repository
-
-pygirepository_PYTHON = \
-       __init__.py
-
-
-# if we build in a separate tree, we need to symlink the *.py files from the
-# source tree; Python does not accept the extensions and modules in different
-# paths
-build_pylinks:
-       for f in $(pygirepository_PYTHON); do \
-           [ -e $(builddir)/$$f ] || $(LN_S) $(srcdir)/$$f $(builddir)/$$f; \
-       done
-
-all-local: build_pylinks
-check-local: build_pylinks
diff --git a/gi/repository/Makefile.in b/gi/repository/Makefile.in
deleted file mode 100644 (file)
index 5be6560..0000000
+++ /dev/null
@@ -1,608 +0,0 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2017 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@
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) 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@
-subdir = gi/repository
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
-       $(top_srcdir)/m4/ax_append_flag.m4 \
-       $(top_srcdir)/m4/ax_append_link_flags.m4 \
-       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
-       $(top_srcdir)/m4/ax_check_link_flag.m4 \
-       $(top_srcdir)/m4/ax_code_coverage.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_cflags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_gir.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_ldflags.m4 \
-       $(top_srcdir)/m4/ax_is_release.m4 \
-       $(top_srcdir)/m4/ax_require_defined.m4 \
-       $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/introspection.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/pkg.m4 \
-       $(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(pygirepository_PYTHON) \
-       $(am__DIST_COMMON)
-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__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__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile)
-am__installdirs = "$(DESTDIR)$(pygirepositorydir)"
-am__pep3147_tweak = \
-  sed -e 's|\.py$$||' -e 's|[^/]*$$|__pycache__/&.*.py|'
-py_compile = $(top_srcdir)/py-compile
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/py-compile
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
-CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
-CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
-CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
-CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
-CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
-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@
-FFI_CFLAGS = @FFI_CFLAGS@
-FFI_LIBS = @FFI_LIBS@
-FGREP = @FGREP@
-GCOV = @GCOV@
-GENHTML = @GENHTML@
-GIO_CFLAGS = @GIO_CFLAGS@
-GIO_LIBS = @GIO_LIBS@
-GI_CFLAGS = @GI_CFLAGS@
-GI_DATADIR = @GI_DATADIR@
-GI_LIBS = @GI_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_QUERY = @GOBJECT_QUERY@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-LCOV = @LCOV@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_EXT = @OS_EXT@
-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@
-PYCAIRO_CFLAGS = @PYCAIRO_CFLAGS@
-PYCAIRO_LIBS = @PYCAIRO_LIBS@
-PYGOBJECT_MAJOR_VERSION = @PYGOBJECT_MAJOR_VERSION@
-PYGOBJECT_MICRO_VERSION = @PYGOBJECT_MICRO_VERSION@
-PYGOBJECT_MINOR_VERSION = @PYGOBJECT_MINOR_VERSION@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_LIB_LOC = @PYTHON_LIB_LOC@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_SO = @PYTHON_SO@
-PYTHON_VALGRIND_SUPP = @PYTHON_VALGRIND_SUPP@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WARN_LDFLAGS = @WARN_LDFLAGS@
-WARN_SCANNERFLAGS = @WARN_SCANNERFLAGS@
-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@
-runstatedir = @runstatedir@
-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@
-pygirepositorydir = $(pyexecdir)/gi/repository
-pygirepository_PYTHON = \
-       __init__.py
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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 gi/repository/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign gi/repository/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_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(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
-install-pygirepositoryPYTHON: $(pygirepository_PYTHON)
-       @$(NORMAL_INSTALL)
-       @list='$(pygirepository_PYTHON)'; dlist=; list2=; test -n "$(pygirepositorydir)" || list=; \
-       if test -n "$$list"; then \
-         echo " $(MKDIR_P) '$(DESTDIR)$(pygirepositorydir)'"; \
-         $(MKDIR_P) "$(DESTDIR)$(pygirepositorydir)" || exit 1; \
-       fi; \
-       for p in $$list; do \
-         if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
-         if test -f $$b$$p; then \
-           $(am__strip_dir) \
-           dlist="$$dlist $$f"; \
-           list2="$$list2 $$b$$p"; \
-         else :; fi; \
-       done; \
-       for file in $$list2; do echo $$file; done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pygirepositorydir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pygirepositorydir)" || exit $$?; \
-       done || exit $$?; \
-       if test -n "$$dlist"; then \
-         $(am__py_compile) --destdir "$(DESTDIR)" \
-                           --basedir "$(pygirepositorydir)" $$dlist; \
-       else :; fi
-
-uninstall-pygirepositoryPYTHON:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pygirepository_PYTHON)'; test -n "$(pygirepositorydir)" || list=; \
-       py_files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       test -n "$$py_files" || exit 0; \
-       dir='$(DESTDIR)$(pygirepositorydir)'; \
-       pyc_files=`echo "$$py_files" | sed 's|$$|c|'`; \
-       pyo_files=`echo "$$py_files" | sed 's|$$|o|'`; \
-       py_files_pep3147=`echo "$$py_files" | $(am__pep3147_tweak)`; \
-       echo "$$py_files_pep3147";\
-       pyc_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|c|'`; \
-       pyo_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|o|'`; \
-       st=0; \
-       for files in \
-         "$$py_files" \
-         "$$pyc_files" \
-         "$$pyo_files" \
-         "$$pyc_files_pep3147" \
-         "$$pyo_files_pep3147" \
-       ; do \
-         $(am__uninstall_files_from_dir) || st=$$?; \
-       done; \
-       exit $$st
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-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-local
-check: check-am
-all-am: Makefile all-local
-installdirs:
-       for dir in "$(DESTDIR)$(pygirepositorydir)"; 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-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:
-
-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-pygirepositoryPYTHON
-
-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: uninstall-pygirepositoryPYTHON
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: all all-am all-local check check-am check-local 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-pygirepositoryPYTHON \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags-am uninstall uninstall-am uninstall-pygirepositoryPYTHON
-
-.PRECIOUS: Makefile
-
-
-# if we build in a separate tree, we need to symlink the *.py files from the
-# source tree; Python does not accept the extensions and modules in different
-# paths
-build_pylinks:
-       for f in $(pygirepository_PYTHON); do \
-           [ -e $(builddir)/$$f ] || $(LN_S) $(srcdir)/$$f $(builddir)/$$f; \
-       done
-
-all-local: build_pylinks
-check-local: build_pylinks
-
-# 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 f73f30c..47ed18a 100644 (file)
@@ -22,7 +22,6 @@
 
 from __future__ import absolute_import
 
-import sys
 import warnings
 import re
 
@@ -44,11 +43,6 @@ StructInfo, GInterface  # pyflakes
 from . import _propertyhelper as propertyhelper
 from . import _signalhelper as signalhelper
 
-if (3, 0) <= sys.version_info < (3, 3):
-    # callable not available for python 3.0 thru 3.2
-    def callable(obj):
-        return hasattr(obj, '__call__')
-
 
 def snake_case(name):
     s1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name)
diff --git a/install-sh b/install-sh
deleted file mode 100755 (executable)
index 59990a1..0000000
+++ /dev/null
@@ -1,508 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2014-09-12.12; # UTC
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# 'make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-tab='  '
-nl='
-'
-IFS=" $tab$nl"
-
-# Set DOITPROG to "echo" to test this script.
-
-doit=${DOITPROG-}
-doit_exec=${doit:-exec}
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chgrpcmd=
-chmodcmd=$chmodprog
-chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
-stripcmd=
-
-src=
-dst=
-dir_arg=
-dst_arg=
-
-copy_on_change=false
-is_target_a_directory=possibly
-
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
-   or: $0 [OPTION]... SRCFILES... DIRECTORY
-   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
-   or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
-     --help     display this help and exit.
-     --version  display version info and exit.
-
-  -c            (ignored)
-  -C            install only if different (preserve the last data modification time)
-  -d            create directories instead of installing files.
-  -g GROUP      $chgrpprog installed files to GROUP.
-  -m MODE       $chmodprog installed files to MODE.
-  -o USER       $chownprog installed files to USER.
-  -s            $stripprog installed files.
-  -t DIRECTORY  install into DIRECTORY.
-  -T            report an error if DSTFILE is a directory.
-
-Environment variables override the default commands:
-  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
-  RMPROG STRIPPROG
-"
-
-while test $# -ne 0; do
-  case $1 in
-    -c) ;;
-
-    -C) copy_on_change=true;;
-
-    -d) dir_arg=true;;
-
-    -g) chgrpcmd="$chgrpprog $2"
-        shift;;
-
-    --help) echo "$usage"; exit $?;;
-
-    -m) mode=$2
-        case $mode in
-          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
-            echo "$0: invalid mode: $mode" >&2
-            exit 1;;
-        esac
-        shift;;
-
-    -o) chowncmd="$chownprog $2"
-        shift;;
-
-    -s) stripcmd=$stripprog;;
-
-    -t)
-        is_target_a_directory=always
-        dst_arg=$2
-        # Protect names problematic for 'test' and other utilities.
-        case $dst_arg in
-          -* | [=\(\)!]) dst_arg=./$dst_arg;;
-        esac
-        shift;;
-
-    -T) is_target_a_directory=never;;
-
-    --version) echo "$0 $scriptversion"; exit $?;;
-
-    --) shift
-        break;;
-
-    -*) echo "$0: invalid option: $1" >&2
-        exit 1;;
-
-    *)  break;;
-  esac
-  shift
-done
-
-# We allow the use of options -d and -T together, by making -d
-# take the precedence; this is for compatibility with GNU install.
-
-if test -n "$dir_arg"; then
-  if test -n "$dst_arg"; then
-    echo "$0: target directory not allowed when installing a directory." >&2
-    exit 1
-  fi
-fi
-
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
-  # When -d is used, all remaining arguments are directories to create.
-  # When -t is used, the destination is already specified.
-  # Otherwise, the last argument is the destination.  Remove it from $@.
-  for arg
-  do
-    if test -n "$dst_arg"; then
-      # $@ is not empty: it contains at least $arg.
-      set fnord "$@" "$dst_arg"
-      shift # fnord
-    fi
-    shift # arg
-    dst_arg=$arg
-    # Protect names problematic for 'test' and other utilities.
-    case $dst_arg in
-      -* | [=\(\)!]) dst_arg=./$dst_arg;;
-    esac
-  done
-fi
-
-if test $# -eq 0; then
-  if test -z "$dir_arg"; then
-    echo "$0: no input file specified." >&2
-    exit 1
-  fi
-  # It's OK to call 'install-sh -d' without argument.
-  # This can happen when creating conditional directories.
-  exit 0
-fi
-
-if test -z "$dir_arg"; then
-  if test $# -gt 1 || test "$is_target_a_directory" = always; then
-    if test ! -d "$dst_arg"; then
-      echo "$0: $dst_arg: Is not a directory." >&2
-      exit 1
-    fi
-  fi
-fi
-
-if test -z "$dir_arg"; then
-  do_exit='(exit $ret); exit $ret'
-  trap "ret=129; $do_exit" 1
-  trap "ret=130; $do_exit" 2
-  trap "ret=141; $do_exit" 13
-  trap "ret=143; $do_exit" 15
-
-  # Set umask so as not to create temps with too-generous modes.
-  # However, 'strip' requires both read and write access to temps.
-  case $mode in
-    # Optimize common cases.
-    *644) cp_umask=133;;
-    *755) cp_umask=22;;
-
-    *[0-7])
-      if test -z "$stripcmd"; then
-        u_plus_rw=
-      else
-        u_plus_rw='% 200'
-      fi
-      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
-    *)
-      if test -z "$stripcmd"; then
-        u_plus_rw=
-      else
-        u_plus_rw=,u+rw
-      fi
-      cp_umask=$mode$u_plus_rw;;
-  esac
-fi
-
-for src
-do
-  # Protect names problematic for 'test' and other utilities.
-  case $src in
-    -* | [=\(\)!]) src=./$src;;
-  esac
-
-  if test -n "$dir_arg"; then
-    dst=$src
-    dstdir=$dst
-    test -d "$dstdir"
-    dstdir_status=$?
-  else
-
-    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
-    # might cause directories to be created, which would be especially bad
-    # if $src (and thus $dsttmp) contains '*'.
-    if test ! -f "$src" && test ! -d "$src"; then
-      echo "$0: $src does not exist." >&2
-      exit 1
-    fi
-
-    if test -z "$dst_arg"; then
-      echo "$0: no destination specified." >&2
-      exit 1
-    fi
-    dst=$dst_arg
-
-    # If destination is a directory, append the input filename; won't work
-    # if double slashes aren't ignored.
-    if test -d "$dst"; then
-      if test "$is_target_a_directory" = never; then
-        echo "$0: $dst_arg: Is a directory" >&2
-        exit 1
-      fi
-      dstdir=$dst
-      dst=$dstdir/`basename "$src"`
-      dstdir_status=0
-    else
-      dstdir=`dirname "$dst"`
-      test -d "$dstdir"
-      dstdir_status=$?
-    fi
-  fi
-
-  obsolete_mkdir_used=false
-
-  if test $dstdir_status != 0; then
-    case $posix_mkdir in
-      '')
-        # Create intermediate dirs using mode 755 as modified by the umask.
-        # This is like FreeBSD 'install' as of 1997-10-28.
-        umask=`umask`
-        case $stripcmd.$umask in
-          # Optimize common cases.
-          *[2367][2367]) mkdir_umask=$umask;;
-          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-          *[0-7])
-            mkdir_umask=`expr $umask + 22 \
-              - $umask % 100 % 40 + $umask % 20 \
-              - $umask % 10 % 4 + $umask % 2
-            `;;
-          *) mkdir_umask=$umask,go-w;;
-        esac
-
-        # With -d, create the new directory with the user-specified mode.
-        # Otherwise, rely on $mkdir_umask.
-        if test -n "$dir_arg"; then
-          mkdir_mode=-m$mode
-        else
-          mkdir_mode=
-        fi
-
-        posix_mkdir=false
-        case $umask in
-          *[123567][0-7][0-7])
-            # POSIX mkdir -p sets u+wx bits regardless of umask, which
-            # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-            ;;
-          *)
-            # $RANDOM is not portable (e.g. dash);  use it when possible to
-            # lower collision chance
-            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-            # As "mkdir -p" follows symlinks and we work in /tmp possibly;  so
-            # create the $tmpdir first (and fail if unsuccessful) to make sure
-            # that nobody tries to guess the $tmpdir name.
-            if (umask $mkdir_umask &&
-                $mkdirprog $mkdir_mode "$tmpdir" &&
-                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
-            then
-              if test -z "$dir_arg" || {
-                   # Check for POSIX incompatibilities with -m.
-                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                   # other-writable bit of parent directory when it shouldn't.
-                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                   test_tmpdir="$tmpdir/a"
-                   ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
-                   case $ls_ld_tmpdir in
-                     d????-?r-*) different_mode=700;;
-                     d????-?--*) different_mode=755;;
-                     *) false;;
-                   esac &&
-                   $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
-                     ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
-                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-                   }
-                 }
-              then posix_mkdir=:
-              fi
-              rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
-            else
-              # Remove any dirs left behind by ancient mkdir implementations.
-              rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
-            fi
-            trap '' 0;;
-        esac;;
-    esac
-
-    if
-      $posix_mkdir && (
-        umask $mkdir_umask &&
-        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
-      )
-    then :
-    else
-
-      # The umask is ridiculous, or mkdir does not conform to POSIX,
-      # or it failed possibly due to a race condition.  Create the
-      # directory the slow way, step by step, checking for races as we go.
-
-      case $dstdir in
-        /*) prefix='/';;
-        [-=\(\)!]*) prefix='./';;
-        *)  prefix='';;
-      esac
-
-      oIFS=$IFS
-      IFS=/
-      set -f
-      set fnord $dstdir
-      shift
-      set +f
-      IFS=$oIFS
-
-      prefixes=
-
-      for d
-      do
-        test X"$d" = X && continue
-
-        prefix=$prefix$d
-        if test -d "$prefix"; then
-          prefixes=
-        else
-          if $posix_mkdir; then
-            (umask=$mkdir_umask &&
-             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-            # Don't fail if two instances are running concurrently.
-            test -d "$prefix" || exit 1
-          else
-            case $prefix in
-              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-              *) qprefix=$prefix;;
-            esac
-            prefixes="$prefixes '$qprefix'"
-          fi
-        fi
-        prefix=$prefix/
-      done
-
-      if test -n "$prefixes"; then
-        # Don't fail if two instances are running concurrently.
-        (umask $mkdir_umask &&
-         eval "\$doit_exec \$mkdirprog $prefixes") ||
-          test -d "$dstdir" || exit 1
-        obsolete_mkdir_used=true
-      fi
-    fi
-  fi
-
-  if test -n "$dir_arg"; then
-    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
-    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
-      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
-  else
-
-    # Make a couple of temp file names in the proper directory.
-    dsttmp=$dstdir/_inst.$$_
-    rmtmp=$dstdir/_rm.$$_
-
-    # Trap to clean up those temp files at exit.
-    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-
-    # Copy the file name to the temp name.
-    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
-
-    # and set any options; do chmod last to preserve setuid bits.
-    #
-    # If any of these fail, we abort the whole thing.  If we want to
-    # ignore errors from any of these, just make sure not to ignore
-    # errors from the above "$doit $cpprog $src $dsttmp" command.
-    #
-    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
-    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
-    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
-    # If -C, don't bother to copy if it wouldn't change the file.
-    if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
-       set -f &&
-       set X $old && old=:$2:$4:$5:$6 &&
-       set X $new && new=:$2:$4:$5:$6 &&
-       set +f &&
-       test "$old" = "$new" &&
-       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
-    then
-      rm -f "$dsttmp"
-    else
-      # Rename the file to the real destination.
-      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
-      # The rename failed, perhaps because mv can't rename something else
-      # to itself, or perhaps because mv is so ancient that it does not
-      # support -f.
-      {
-        # Now remove or move aside any old file at destination location.
-        # We try this two ways since rm can't unlink itself on some
-        # systems and the destination file might be busy for other
-        # reasons.  In this case, the final cleanup might fail but the new
-        # file should still install successfully.
-        {
-          test ! -f "$dst" ||
-          $doit $rmcmd -f "$dst" 2>/dev/null ||
-          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-          } ||
-          { echo "$0: cannot unlink or rename $dst" >&2
-            (exit 1); exit 1
-          }
-        } &&
-
-        # Now rename the file to the real destination.
-        $doit $mvcmd "$dsttmp" "$dst"
-      }
-    fi || exit 1
-
-    trap '' 0
-  fi
-done
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/ltmain.sh b/ltmain.sh
deleted file mode 100644 (file)
index e4eda6d..0000000
--- a/ltmain.sh
+++ /dev/null
@@ -1,11346 +0,0 @@
-#! /bin/sh
-## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
-##               by inline-source v2014-01-03.01
-
-# libtool (GNU libtool) 2.4.6
-# Provide generalized library-building support services.
-# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-PROGRAM=libtool
-PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-2.1"
-package_revision=2.4.6
-
-
-## ------ ##
-## Usage. ##
-## ------ ##
-
-# Run './libtool --help' for help with using this script from the
-# command line.
-
-
-## ------------------------------- ##
-## User overridable command paths. ##
-## ------------------------------- ##
-
-# After configure completes, it has a better idea of some of the
-# shell tools we need than the defaults used by the functions shared
-# with bootstrap, so set those here where they can still be over-
-# ridden by the user, but otherwise take precedence.
-
-: ${AUTOCONF="autoconf"}
-: ${AUTOMAKE="automake"}
-
-
-## -------------------------- ##
-## Source external libraries. ##
-## -------------------------- ##
-
-# Much of our low-level functionality needs to be sourced from external
-# libraries, which are installed to $pkgauxdir.
-
-# Set a version string for this script.
-scriptversion=2015-10-12.13; # UTC
-
-# General shell script boiler plate, and helper functions.
-# Written by Gary V. Vaughan, 2004
-
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-
-# As a special exception to the GNU General Public License, if you distribute
-# this file as part of a program or library that is built using GNU Libtool,
-# you may include this file under the same distribution terms that you use
-# for the rest of that program.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Please report bugs or propose patches to gary@gnu.org.
-
-
-## ------ ##
-## Usage. ##
-## ------ ##
-
-# Evaluate this file near the top of your script to gain access to
-# the functions and variables defined here:
-#
-#   . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
-#
-# If you need to override any of the default environment variable
-# settings, do that before evaluating this file.
-
-
-## -------------------- ##
-## Shell normalisation. ##
-## -------------------- ##
-
-# Some shells need a little help to be as Bourne compatible as possible.
-# Before doing anything else, make sure all that help has been provided!
-
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
-fi
-
-# NLS nuisances: We save the old values in case they are required later.
-_G_user_locale=
-_G_safe_locale=
-for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
-  eval "if test set = \"\${$_G_var+set}\"; then
-          save_$_G_var=\$$_G_var
-          $_G_var=C
-         export $_G_var
-         _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
-         _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
-       fi"
-done
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Make sure IFS has a sensible default
-sp=' '
-nl='
-'
-IFS="$sp       $nl"
-
-# There are apparently some retarded systems that use ';' as a PATH separator!
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-
-## ------------------------- ##
-## Locate command utilities. ##
-## ------------------------- ##
-
-
-# func_executable_p FILE
-# ----------------------
-# Check that FILE is an executable regular file.
-func_executable_p ()
-{
-    test -f "$1" && test -x "$1"
-}
-
-
-# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
-# --------------------------------------------
-# Search for either a program that responds to --version with output
-# containing "GNU", or else returned by CHECK_FUNC otherwise, by
-# trying all the directories in PATH with each of the elements of
-# PROGS_LIST.
-#
-# CHECK_FUNC should accept the path to a candidate program, and
-# set $func_check_prog_result if it truncates its output less than
-# $_G_path_prog_max characters.
-func_path_progs ()
-{
-    _G_progs_list=$1
-    _G_check_func=$2
-    _G_PATH=${3-"$PATH"}
-
-    _G_path_prog_max=0
-    _G_path_prog_found=false
-    _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
-    for _G_dir in $_G_PATH; do
-      IFS=$_G_save_IFS
-      test -z "$_G_dir" && _G_dir=.
-      for _G_prog_name in $_G_progs_list; do
-        for _exeext in '' .EXE; do
-          _G_path_prog=$_G_dir/$_G_prog_name$_exeext
-          func_executable_p "$_G_path_prog" || continue
-          case `"$_G_path_prog" --version 2>&1` in
-            *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
-            *)     $_G_check_func $_G_path_prog
-                  func_path_progs_result=$func_check_prog_result
-                  ;;
-          esac
-          $_G_path_prog_found && break 3
-        done
-      done
-    done
-    IFS=$_G_save_IFS
-    test -z "$func_path_progs_result" && {
-      echo "no acceptable sed could be found in \$PATH" >&2
-      exit 1
-    }
-}
-
-
-# We want to be able to use the functions in this file before configure
-# has figured out where the best binaries are kept, which means we have
-# to search for them ourselves - except when the results are already set
-# where we skip the searches.
-
-# Unless the user overrides by setting SED, search the path for either GNU
-# sed, or the sed that truncates its output the least.
-test -z "$SED" && {
-  _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-  for _G_i in 1 2 3 4 5 6 7; do
-    _G_sed_script=$_G_sed_script$nl$_G_sed_script
-  done
-  echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
-  _G_sed_script=
-
-  func_check_prog_sed ()
-  {
-    _G_path_prog=$1
-
-    _G_count=0
-    printf 0123456789 >conftest.in
-    while :
-    do
-      cat conftest.in conftest.in >conftest.tmp
-      mv conftest.tmp conftest.in
-      cp conftest.in conftest.nl
-      echo '' >> conftest.nl
-      "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
-      diff conftest.out conftest.nl >/dev/null 2>&1 || break
-      _G_count=`expr $_G_count + 1`
-      if test "$_G_count" -gt "$_G_path_prog_max"; then
-        # Best one so far, save it but keep looking for a better one
-        func_check_prog_result=$_G_path_prog
-        _G_path_prog_max=$_G_count
-      fi
-      # 10*(2^10) chars as input seems more than enough
-      test 10 -lt "$_G_count" && break
-    done
-    rm -f conftest.in conftest.tmp conftest.nl conftest.out
-  }
-
-  func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
-  rm -f conftest.sed
-  SED=$func_path_progs_result
-}
-
-
-# Unless the user overrides by setting GREP, search the path for either GNU
-# grep, or the grep that truncates its output the least.
-test -z "$GREP" && {
-  func_check_prog_grep ()
-  {
-    _G_path_prog=$1
-
-    _G_count=0
-    _G_path_prog_max=0
-    printf 0123456789 >conftest.in
-    while :
-    do
-      cat conftest.in conftest.in >conftest.tmp
-      mv conftest.tmp conftest.in
-      cp conftest.in conftest.nl
-      echo 'GREP' >> conftest.nl
-      "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
-      diff conftest.out conftest.nl >/dev/null 2>&1 || break
-      _G_count=`expr $_G_count + 1`
-      if test "$_G_count" -gt "$_G_path_prog_max"; then
-        # Best one so far, save it but keep looking for a better one
-        func_check_prog_result=$_G_path_prog
-        _G_path_prog_max=$_G_count
-      fi
-      # 10*(2^10) chars as input seems more than enough
-      test 10 -lt "$_G_count" && break
-    done
-    rm -f conftest.in conftest.tmp conftest.nl conftest.out
-  }
-
-  func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
-  GREP=$func_path_progs_result
-}
-
-
-## ------------------------------- ##
-## User overridable command paths. ##
-## ------------------------------- ##
-
-# All uppercase variable names are used for environment variables.  These
-# variables can be overridden by the user before calling a script that
-# uses them if a suitable command of that name is not already available
-# in the command search PATH.
-
-: ${CP="cp -f"}
-: ${ECHO="printf %s\n"}
-: ${EGREP="$GREP -E"}
-: ${FGREP="$GREP -F"}
-: ${LN_S="ln -s"}
-: ${MAKE="make"}
-: ${MKDIR="mkdir"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-
-
-## -------------------- ##
-## Useful sed snippets. ##
-## -------------------- ##
-
-sed_dirname='s|/[^/]*$||'
-sed_basename='s|^.*/||'
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
-
-# Same as above, but do not quote variable references.
-sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
-
-# Sed substitution that converts a w32 file name or path
-# that contains forward slashes, into one that contains
-# (escaped) backslashes.  A very naive implementation.
-sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-'\' parameter expansions in output of sed_double_quote_subst that
-# were '\'-ed in input to the same.  If an odd number of '\' preceded a
-# '$' in input to sed_double_quote_subst, that '$' was protected from
-# expansion.  Since each input '\' is now two '\'s, look for any number
-# of runs of four '\'s followed by two '\'s and then a '$'.  '\' that '$'.
-_G_bs='\\'
-_G_bs2='\\\\'
-_G_bs4='\\\\\\\\'
-_G_dollar='\$'
-sed_double_backslash="\
-  s/$_G_bs4/&\\
-/g
-  s/^$_G_bs2$_G_dollar/$_G_bs&/
-  s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
-  s/\n//g"
-
-
-## ----------------- ##
-## Global variables. ##
-## ----------------- ##
-
-# Except for the global variables explicitly listed below, the following
-# functions in the '^func_' namespace, and the '^require_' namespace
-# variables initialised in the 'Resource management' section, sourcing
-# this file will not pollute your global namespace with anything
-# else. There's no portable way to scope variables in Bourne shell
-# though, so actually running these functions will sometimes place
-# results into a variable named after the function, and often use
-# temporary variables in the '^_G_' namespace. If you are careful to
-# avoid using those namespaces casually in your sourcing script, things
-# should continue to work as you expect. And, of course, you can freely
-# overwrite any of the functions or variables defined here before
-# calling anything to customize them.
-
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77     # $? = 77 is used to indicate a skipped test to automake.
-
-# Allow overriding, eg assuming that you follow the convention of
-# putting '$debug_cmd' at the start of all your functions, you can get
-# bash to show function call trace with:
-#
-#    debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
-debug_cmd=${debug_cmd-":"}
-exit_cmd=:
-
-# By convention, finish your script with:
-#
-#    exit $exit_status
-#
-# so that you can set exit_status to non-zero if you want to indicate
-# something went wrong during execution without actually bailing out at
-# the point of failure.
-exit_status=$EXIT_SUCCESS
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath=$0
-
-# The name of this program.
-progname=`$ECHO "$progpath" |$SED "$sed_basename"`
-
-# Make sure we have an absolute progpath for reexecution:
-case $progpath in
-  [\\/]*|[A-Za-z]:\\*) ;;
-  *[\\/]*)
-     progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
-     progdir=`cd "$progdir" && pwd`
-     progpath=$progdir/$progname
-     ;;
-  *)
-     _G_IFS=$IFS
-     IFS=${PATH_SEPARATOR-:}
-     for progdir in $PATH; do
-       IFS=$_G_IFS
-       test -x "$progdir/$progname" && break
-     done
-     IFS=$_G_IFS
-     test -n "$progdir" || progdir=`pwd`
-     progpath=$progdir/$progname
-     ;;
-esac
-
-
-## ----------------- ##
-## Standard options. ##
-## ----------------- ##
-
-# The following options affect the operation of the functions defined
-# below, and should be set appropriately depending on run-time para-
-# meters passed on the command line.
-
-opt_dry_run=false
-opt_quiet=false
-opt_verbose=false
-
-# Categories 'all' and 'none' are always available.  Append any others
-# you will pass as the first argument to func_warning from your own
-# code.
-warning_categories=
-
-# By default, display warnings according to 'opt_warning_types'.  Set
-# 'warning_func'  to ':' to elide all warnings, or func_fatal_error to
-# treat the next displayed warning as a fatal error.
-warning_func=func_warn_and_continue
-
-# Set to 'all' to display all warnings, 'none' to suppress all
-# warnings, or a space delimited list of some subset of
-# 'warning_categories' to display only the listed warnings.
-opt_warning_types=all
-
-
-## -------------------- ##
-## Resource management. ##
-## -------------------- ##
-
-# This section contains definitions for functions that each ensure a
-# particular resource (a file, or a non-empty configuration variable for
-# example) is available, and if appropriate to extract default values
-# from pertinent package files. Call them using their associated
-# 'require_*' variable to ensure that they are executed, at most, once.
-#
-# It's entirely deliberate that calling these functions can set
-# variables that don't obey the namespace limitations obeyed by the rest
-# of this file, in order that that they be as useful as possible to
-# callers.
-
-
-# require_term_colors
-# -------------------
-# Allow display of bold text on terminals that support it.
-require_term_colors=func_require_term_colors
-func_require_term_colors ()
-{
-    $debug_cmd
-
-    test -t 1 && {
-      # COLORTERM and USE_ANSI_COLORS environment variables take
-      # precedence, because most terminfo databases neglect to describe
-      # whether color sequences are supported.
-      test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
-
-      if test 1 = "$USE_ANSI_COLORS"; then
-        # Standard ANSI escape sequences
-        tc_reset='\e[0m'
-        tc_bold='\e[1m';   tc_standout='\e[7m'
-        tc_red='\e[31m';   tc_green='\e[32m'
-        tc_blue='\e[34m';  tc_cyan='\e[36m'
-      else
-        # Otherwise trust the terminfo database after all.
-        test -n "`tput sgr0 2>/dev/null`" && {
-          tc_reset=`tput sgr0`
-          test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
-          tc_standout=$tc_bold
-          test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
-          test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
-          test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
-          test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
-          test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
-        }
-      fi
-    }
-
-    require_term_colors=:
-}
-
-
-## ----------------- ##
-## Function library. ##
-## ----------------- ##
-
-# This section contains a variety of useful functions to call in your
-# scripts. Take note of the portable wrappers for features provided by
-# some modern shells, which will fall back to slower equivalents on
-# less featureful shells.
-
-
-# func_append VAR VALUE
-# ---------------------
-# Append VALUE onto the existing contents of VAR.
-
-  # We should try to minimise forks, especially on Windows where they are
-  # unreasonably slow, so skip the feature probes when bash or zsh are
-  # being used:
-  if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
-    : ${_G_HAVE_ARITH_OP="yes"}
-    : ${_G_HAVE_XSI_OPS="yes"}
-    # The += operator was introduced in bash 3.1
-    case $BASH_VERSION in
-      [12].* | 3.0 | 3.0*) ;;
-      *)
-        : ${_G_HAVE_PLUSEQ_OP="yes"}
-        ;;
-    esac
-  fi
-
-  # _G_HAVE_PLUSEQ_OP
-  # Can be empty, in which case the shell is probed, "yes" if += is
-  # useable or anything else if it does not work.
-  test -z "$_G_HAVE_PLUSEQ_OP" \
-    && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
-    && _G_HAVE_PLUSEQ_OP=yes
-
-if test yes = "$_G_HAVE_PLUSEQ_OP"
-then
-  # This is an XSI compatible shell, allowing a faster implementation...
-  eval 'func_append ()
-  {
-    $debug_cmd
-
-    eval "$1+=\$2"
-  }'
-else
-  # ...otherwise fall back to using expr, which is often a shell builtin.
-  func_append ()
-  {
-    $debug_cmd
-
-    eval "$1=\$$1\$2"
-  }
-fi
-
-
-# func_append_quoted VAR VALUE
-# ----------------------------
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-if test yes = "$_G_HAVE_PLUSEQ_OP"; then
-  eval 'func_append_quoted ()
-  {
-    $debug_cmd
-
-    func_quote_arg pretty "$2"
-    eval "$1+=\\ \$func_quote_arg_result"
-  }'
-else
-  func_append_quoted ()
-  {
-    $debug_cmd
-
-    func_quote_arg pretty "$2"
-    eval "$1=\$$1\\ \$func_quote_arg_result"
-  }
-fi
-
-
-# func_append_uniq VAR VALUE
-# --------------------------
-# Append unique VALUE onto the existing contents of VAR, assuming
-# entries are delimited by the first character of VALUE.  For example:
-#
-#   func_append_uniq options " --another-option option-argument"
-#
-# will only append to $options if " --another-option option-argument "
-# is not already present somewhere in $options already (note spaces at
-# each end implied by leading space in second argument).
-func_append_uniq ()
-{
-    $debug_cmd
-
-    eval _G_current_value='`$ECHO $'$1'`'
-    _G_delim=`expr "$2" : '\(.\)'`
-
-    case $_G_delim$_G_current_value$_G_delim in
-      *"$2$_G_delim"*) ;;
-      *) func_append "$@" ;;
-    esac
-}
-
-
-# func_arith TERM...
-# ------------------
-# Set func_arith_result to the result of evaluating TERMs.
-  test -z "$_G_HAVE_ARITH_OP" \
-    && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
-    && _G_HAVE_ARITH_OP=yes
-
-if test yes = "$_G_HAVE_ARITH_OP"; then
-  eval 'func_arith ()
-  {
-    $debug_cmd
-
-    func_arith_result=$(( $* ))
-  }'
-else
-  func_arith ()
-  {
-    $debug_cmd
-
-    func_arith_result=`expr "$@"`
-  }
-fi
-
-
-# func_basename FILE
-# ------------------
-# Set func_basename_result to FILE with everything up to and including
-# the last / stripped.
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  # If this shell supports suffix pattern removal, then use it to avoid
-  # forking. Hide the definitions single quotes in case the shell chokes
-  # on unsupported syntax...
-  _b='func_basename_result=${1##*/}'
-  _d='case $1 in
-        */*) func_dirname_result=${1%/*}$2 ;;
-        *  ) func_dirname_result=$3        ;;
-      esac'
-
-else
-  # ...otherwise fall back to using sed.
-  _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
-  _d='func_dirname_result=`$ECHO "$1"  |$SED "$sed_dirname"`
-      if test "X$func_dirname_result" = "X$1"; then
-        func_dirname_result=$3
-      else
-        func_append func_dirname_result "$2"
-      fi'
-fi
-
-eval 'func_basename ()
-{
-    $debug_cmd
-
-    '"$_b"'
-}'
-
-
-# func_dirname FILE APPEND NONDIR_REPLACEMENT
-# -------------------------------------------
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-eval 'func_dirname ()
-{
-    $debug_cmd
-
-    '"$_d"'
-}'
-
-
-# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
-# --------------------------------------------------------
-# Perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# For efficiency, we do not delegate to the functions above but instead
-# duplicate the functionality here.
-eval 'func_dirname_and_basename ()
-{
-    $debug_cmd
-
-    '"$_b"'
-    '"$_d"'
-}'
-
-
-# func_echo ARG...
-# ----------------
-# Echo program name prefixed message.
-func_echo ()
-{
-    $debug_cmd
-
-    _G_message=$*
-
-    func_echo_IFS=$IFS
-    IFS=$nl
-    for _G_line in $_G_message; do
-      IFS=$func_echo_IFS
-      $ECHO "$progname: $_G_line"
-    done
-    IFS=$func_echo_IFS
-}
-
-
-# func_echo_all ARG...
-# --------------------
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*"
-}
-
-
-# func_echo_infix_1 INFIX ARG...
-# ------------------------------
-# Echo program name, followed by INFIX on the first line, with any
-# additional lines not showing INFIX.
-func_echo_infix_1 ()
-{
-    $debug_cmd
-
-    $require_term_colors
-
-    _G_infix=$1; shift
-    _G_indent=$_G_infix
-    _G_prefix="$progname: $_G_infix: "
-    _G_message=$*
-
-    # Strip color escape sequences before counting printable length
-    for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
-    do
-      test -n "$_G_tc" && {
-        _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
-        _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
-      }
-    done
-    _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`"  " ## exclude from sc_prohibit_nested_quotes
-
-    func_echo_infix_1_IFS=$IFS
-    IFS=$nl
-    for _G_line in $_G_message; do
-      IFS=$func_echo_infix_1_IFS
-      $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
-      _G_prefix=$_G_indent
-    done
-    IFS=$func_echo_infix_1_IFS
-}
-
-
-# func_error ARG...
-# -----------------
-# Echo program name prefixed message to standard error.
-func_error ()
-{
-    $debug_cmd
-
-    $require_term_colors
-
-    func_echo_infix_1 "  $tc_standout${tc_red}error$tc_reset" "$*" >&2
-}
-
-
-# func_fatal_error ARG...
-# -----------------------
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
-    $debug_cmd
-
-    func_error "$*"
-    exit $EXIT_FAILURE
-}
-
-
-# func_grep EXPRESSION FILENAME
-# -----------------------------
-# Check whether EXPRESSION matches any line of FILENAME, without output.
-func_grep ()
-{
-    $debug_cmd
-
-    $GREP "$1" "$2" >/dev/null 2>&1
-}
-
-
-# func_len STRING
-# ---------------
-# Set func_len_result to the length of STRING. STRING may not
-# start with a hyphen.
-  test -z "$_G_HAVE_XSI_OPS" \
-    && (eval 'x=a/b/c;
-      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
-    && _G_HAVE_XSI_OPS=yes
-
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  eval 'func_len ()
-  {
-    $debug_cmd
-
-    func_len_result=${#1}
-  }'
-else
-  func_len ()
-  {
-    $debug_cmd
-
-    func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
-  }
-fi
-
-
-# func_mkdir_p DIRECTORY-PATH
-# ---------------------------
-# Make sure the entire path to DIRECTORY-PATH is available.
-func_mkdir_p ()
-{
-    $debug_cmd
-
-    _G_directory_path=$1
-    _G_dir_list=
-
-    if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
-
-      # Protect directory names starting with '-'
-      case $_G_directory_path in
-        -*) _G_directory_path=./$_G_directory_path ;;
-      esac
-
-      # While some portion of DIR does not yet exist...
-      while test ! -d "$_G_directory_path"; do
-        # ...make a list in topmost first order.  Use a colon delimited
-       # list incase some portion of path contains whitespace.
-        _G_dir_list=$_G_directory_path:$_G_dir_list
-
-        # If the last portion added has no slash in it, the list is done
-        case $_G_directory_path in */*) ;; *) break ;; esac
-
-        # ...otherwise throw away the child directory and loop
-        _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
-      done
-      _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
-
-      func_mkdir_p_IFS=$IFS; IFS=:
-      for _G_dir in $_G_dir_list; do
-       IFS=$func_mkdir_p_IFS
-        # mkdir can fail with a 'File exist' error if two processes
-        # try to create one of the directories concurrently.  Don't
-        # stop in that case!
-        $MKDIR "$_G_dir" 2>/dev/null || :
-      done
-      IFS=$func_mkdir_p_IFS
-
-      # Bail out if we (or some other process) failed to create a directory.
-      test -d "$_G_directory_path" || \
-        func_fatal_error "Failed to create '$1'"
-    fi
-}
-
-
-# func_mktempdir [BASENAME]
-# -------------------------
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible.  If
-# given, BASENAME is the basename for that directory.
-func_mktempdir ()
-{
-    $debug_cmd
-
-    _G_template=${TMPDIR-/tmp}/${1-$progname}
-
-    if test : = "$opt_dry_run"; then
-      # Return a directory name, but don't create it in dry-run mode
-      _G_tmpdir=$_G_template-$$
-    else
-
-      # If mktemp works, use that first and foremost
-      _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
-
-      if test ! -d "$_G_tmpdir"; then
-        # Failing that, at least try and use $RANDOM to avoid a race
-        _G_tmpdir=$_G_template-${RANDOM-0}$$
-
-        func_mktempdir_umask=`umask`
-        umask 0077
-        $MKDIR "$_G_tmpdir"
-        umask $func_mktempdir_umask
-      fi
-
-      # If we're not in dry-run mode, bomb out on failure
-      test -d "$_G_tmpdir" || \
-        func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
-    fi
-
-    $ECHO "$_G_tmpdir"
-}
-
-
-# func_normal_abspath PATH
-# ------------------------
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-func_normal_abspath ()
-{
-    $debug_cmd
-
-    # These SED scripts presuppose an absolute path with a trailing slash.
-    _G_pathcar='s|^/\([^/]*\).*$|\1|'
-    _G_pathcdr='s|^/[^/]*||'
-    _G_removedotparts=':dotsl
-               s|/\./|/|g
-               t dotsl
-               s|/\.$|/|'
-    _G_collapseslashes='s|/\{1,\}|/|g'
-    _G_finalslash='s|/*$|/|'
-
-    # Start from root dir and reassemble the path.
-    func_normal_abspath_result=
-    func_normal_abspath_tpath=$1
-    func_normal_abspath_altnamespace=
-    case $func_normal_abspath_tpath in
-      "")
-        # Empty path, that just means $cwd.
-        func_stripname '' '/' "`pwd`"
-        func_normal_abspath_result=$func_stripname_result
-        return
-        ;;
-      # The next three entries are used to spot a run of precisely
-      # two leading slashes without using negated character classes;
-      # we take advantage of case's first-match behaviour.
-      ///*)
-        # Unusual form of absolute path, do nothing.
-        ;;
-      //*)
-        # Not necessarily an ordinary path; POSIX reserves leading '//'
-        # and for example Cygwin uses it to access remote file shares
-        # over CIFS/SMB, so we conserve a leading double slash if found.
-        func_normal_abspath_altnamespace=/
-        ;;
-      /*)
-        # Absolute path, do nothing.
-        ;;
-      *)
-        # Relative path, prepend $cwd.
-        func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
-        ;;
-    esac
-
-    # Cancel out all the simple stuff to save iterations.  We also want
-    # the path to end with a slash for ease of parsing, so make sure
-    # there is one (and only one) here.
-    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-          -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
-    while :; do
-      # Processed it all yet?
-      if test / = "$func_normal_abspath_tpath"; then
-        # If we ascended to the root using ".." the result may be empty now.
-        if test -z "$func_normal_abspath_result"; then
-          func_normal_abspath_result=/
-        fi
-        break
-      fi
-      func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-          -e "$_G_pathcar"`
-      func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-          -e "$_G_pathcdr"`
-      # Figure out what to do with it
-      case $func_normal_abspath_tcomponent in
-        "")
-          # Trailing empty path component, ignore it.
-          ;;
-        ..)
-          # Parent dir; strip last assembled component from result.
-          func_dirname "$func_normal_abspath_result"
-          func_normal_abspath_result=$func_dirname_result
-          ;;
-        *)
-          # Actual path component, append it.
-          func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
-          ;;
-      esac
-    done
-    # Restore leading double-slash if one was found on entry.
-    func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
-
-
-# func_notquiet ARG...
-# --------------------
-# Echo program name prefixed message only when not in quiet mode.
-func_notquiet ()
-{
-    $debug_cmd
-
-    $opt_quiet || func_echo ${1+"$@"}
-
-    # A bug in bash halts the script if the last line of a function
-    # fails when set -e is in force, so we need another command to
-    # work around that:
-    :
-}
-
-
-# func_relative_path SRCDIR DSTDIR
-# --------------------------------
-# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
-func_relative_path ()
-{
-    $debug_cmd
-
-    func_relative_path_result=
-    func_normal_abspath "$1"
-    func_relative_path_tlibdir=$func_normal_abspath_result
-    func_normal_abspath "$2"
-    func_relative_path_tbindir=$func_normal_abspath_result
-
-    # Ascend the tree starting from libdir
-    while :; do
-      # check if we have found a prefix of bindir
-      case $func_relative_path_tbindir in
-        $func_relative_path_tlibdir)
-          # found an exact match
-          func_relative_path_tcancelled=
-          break
-          ;;
-        $func_relative_path_tlibdir*)
-          # found a matching prefix
-          func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
-          func_relative_path_tcancelled=$func_stripname_result
-          if test -z "$func_relative_path_result"; then
-            func_relative_path_result=.
-          fi
-          break
-          ;;
-        *)
-          func_dirname $func_relative_path_tlibdir
-          func_relative_path_tlibdir=$func_dirname_result
-          if test -z "$func_relative_path_tlibdir"; then
-            # Have to descend all the way to the root!
-            func_relative_path_result=../$func_relative_path_result
-            func_relative_path_tcancelled=$func_relative_path_tbindir
-            break
-          fi
-          func_relative_path_result=../$func_relative_path_result
-          ;;
-      esac
-    done
-
-    # Now calculate path; take care to avoid doubling-up slashes.
-    func_stripname '' '/' "$func_relative_path_result"
-    func_relative_path_result=$func_stripname_result
-    func_stripname '/' '/' "$func_relative_path_tcancelled"
-    if test -n "$func_stripname_result"; then
-      func_append func_relative_path_result "/$func_stripname_result"
-    fi
-
-    # Normalisation. If bindir is libdir, return '.' else relative path.
-    if test -n "$func_relative_path_result"; then
-      func_stripname './' '' "$func_relative_path_result"
-      func_relative_path_result=$func_stripname_result
-    fi
-
-    test -n "$func_relative_path_result" || func_relative_path_result=.
-
-    :
-}
-
-
-# func_quote_portable EVAL ARG
-# ----------------------------
-# Internal function to portably implement func_quote_arg.  Note that we still
-# keep attention to performance here so we as much as possible try to avoid
-# calling sed binary (so far O(N) complexity as long as func_append is O(1)).
-func_quote_portable ()
-{
-    $debug_cmd
-
-    func_quote_portable_result=$2
-
-    # one-time-loop (easy break)
-    while true
-    do
-      if $1; then
-        func_quote_portable_result=`$ECHO "$2" | $SED \
-          -e "$sed_double_quote_subst" -e "$sed_double_backslash"`
-        break
-      fi
-
-      # Quote for eval.
-      case $func_quote_portable_result in
-        *[\\\`\"\$]*)
-          case $func_quote_portable_result in
-            *[\[\*\?]*)
-              func_quote_portable_result=`$ECHO "$func_quote_portable_result" | $SED "$sed_quote_subst"`
-              break
-              ;;
-          esac
-
-          func_quote_portable_old_IFS=$IFS
-          for _G_char in '\' '`' '"' '$'
-          do
-            # STATE($1) PREV($2) SEPARATOR($3)
-            set start "" ""
-            func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy
-            IFS=$_G_char
-            for _G_part in $func_quote_portable_result
-            do
-              case $1 in
-              quote)
-                func_append func_quote_portable_result "$3$2"
-                set quote "$_G_part" "\\$_G_char"
-                ;;
-              start)
-                set first "" ""
-                func_quote_portable_result=
-                ;;
-              first)
-                set quote "$_G_part" ""
-                ;;
-              esac
-            done
-          done
-          IFS=$func_quote_portable_old_IFS
-          ;;
-        *) ;;
-      esac
-      break
-    done
-
-    func_quote_portable_unquoted_result=$func_quote_portable_result
-    case $func_quote_portable_result in
-      # double-quote args containing shell metacharacters to delay
-      # word splitting, command substitution and variable expansion
-      # for a subsequent eval.
-      # many bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-        func_quote_portable_result=\"$func_quote_portable_result\"
-        ;;
-    esac
-}
-
-
-# func_quotefast_eval ARG
-# -----------------------
-# Quote one ARG (internal).  This is equivalent to 'func_quote_arg eval ARG',
-# but optimized for speed.  Result is stored in $func_quotefast_eval.
-if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then
-  func_quotefast_eval ()
-  {
-    printf -v func_quotefast_eval_result %q "$1"
-  }
-else
-  func_quotefast_eval ()
-  {
-    func_quote_portable false "$1"
-    func_quotefast_eval_result=$func_quote_portable_result
-  }
-fi
-
-
-# func_quote_arg MODEs ARG
-# ------------------------
-# Quote one ARG to be evaled later.  MODEs argument may contain zero ore more
-# specifiers listed below separated by ',' character.  This function returns two
-# values:
-#   i) func_quote_arg_result
-#      double-quoted (when needed), suitable for a subsequent eval
-#  ii) func_quote_arg_unquoted_result
-#      has all characters that are still active within double
-#      quotes backslashified.  Available only if 'unquoted' is specified.
-#
-# Available modes:
-# ----------------
-# 'eval' (default)
-#       - escape shell special characters
-# 'expand'
-#       - the same as 'eval';  but do not quote variable references
-# 'pretty'
-#       - request aesthetic output, i.e. '"a b"' instead of 'a\ b'.  This might
-#         later used in func_quote to get output like: 'echo "a b"' instead of
-#         'echo a\ b'.  This is slower than default on some shells.
-# 'unquoted'
-#       - produce also $func_quote_arg_unquoted_result which does not contain
-#         wrapping double-quotes.
-#
-# Examples for 'func_quote_arg pretty,unquoted string':
-#
-#   string      | *_result              | *_unquoted_result
-#   ------------+-----------------------+-------------------
-#   "           | \"                    | \"
-#   a b         | "a b"                 | a b
-#   "a b"       | "\"a b\""             | \"a b\"
-#   *           | "*"                   | *
-#   z="${x-$y}" | "z=\"\${x-\$y}\""     | z=\"\${x-\$y}\"
-#
-# Examples for 'func_quote_arg pretty,unquoted,expand string':
-#
-#   string        |   *_result          |  *_unquoted_result
-#   --------------+---------------------+--------------------
-#   z="${x-$y}"   | "z=\"${x-$y}\""     | z=\"${x-$y}\"
-func_quote_arg ()
-{
-    _G_quote_expand=false
-    case ,$1, in
-      *,expand,*)
-        _G_quote_expand=:
-        ;;
-    esac
-
-    case ,$1, in
-      *,pretty,*|*,expand,*|*,unquoted,*)
-        func_quote_portable $_G_quote_expand "$2"
-        func_quote_arg_result=$func_quote_portable_result
-        func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result
-        ;;
-      *)
-        # Faster quote-for-eval for some shells.
-        func_quotefast_eval "$2"
-        func_quote_arg_result=$func_quotefast_eval_result
-        ;;
-    esac
-}
-
-
-# func_quote MODEs ARGs...
-# ------------------------
-# Quote all ARGs to be evaled later and join them into single command.  See
-# func_quote_arg's description for more info.
-func_quote ()
-{
-    $debug_cmd
-    _G_func_quote_mode=$1 ; shift
-    func_quote_result=
-    while test 0 -lt $#; do
-      func_quote_arg "$_G_func_quote_mode" "$1"
-      if test -n "$func_quote_result"; then
-        func_append func_quote_result " $func_quote_arg_result"
-      else
-        func_append func_quote_result "$func_quote_arg_result"
-      fi
-      shift
-    done
-}
-
-
-# func_stripname PREFIX SUFFIX NAME
-# ---------------------------------
-# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  eval 'func_stripname ()
-  {
-    $debug_cmd
-
-    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-    # positional parameters, so assign one to ordinary variable first.
-    func_stripname_result=$3
-    func_stripname_result=${func_stripname_result#"$1"}
-    func_stripname_result=${func_stripname_result%"$2"}
-  }'
-else
-  func_stripname ()
-  {
-    $debug_cmd
-
-    case $2 in
-      .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
-      *)  func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
-    esac
-  }
-fi
-
-
-# func_show_eval CMD [FAIL_EXP]
-# -----------------------------
-# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
-{
-    $debug_cmd
-
-    _G_cmd=$1
-    _G_fail_exp=${2-':'}
-
-    func_quote_arg pretty,expand "$_G_cmd"
-    eval "func_notquiet $func_quote_arg_result"
-
-    $opt_dry_run || {
-      eval "$_G_cmd"
-      _G_status=$?
-      if test 0 -ne "$_G_status"; then
-       eval "(exit $_G_status); $_G_fail_exp"
-      fi
-    }
-}
-
-
-# func_show_eval_locale CMD [FAIL_EXP]
-# ------------------------------------
-# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.  Use the saved locale for evaluation.
-func_show_eval_locale ()
-{
-    $debug_cmd
-
-    _G_cmd=$1
-    _G_fail_exp=${2-':'}
-
-    $opt_quiet || {
-      func_quote_arg expand,pretty "$_G_cmd"
-      eval "func_echo $func_quote_arg_result"
-    }
-
-    $opt_dry_run || {
-      eval "$_G_user_locale
-           $_G_cmd"
-      _G_status=$?
-      eval "$_G_safe_locale"
-      if test 0 -ne "$_G_status"; then
-       eval "(exit $_G_status); $_G_fail_exp"
-      fi
-    }
-}
-
-
-# func_tr_sh
-# ----------
-# Turn $1 into a string suitable for a shell variable name.
-# Result is stored in $func_tr_sh_result.  All characters
-# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
-# if $1 begins with a digit, a '_' is prepended as well.
-func_tr_sh ()
-{
-    $debug_cmd
-
-    case $1 in
-    [0-9]* | *[!a-zA-Z0-9_]*)
-      func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
-      ;;
-    * )
-      func_tr_sh_result=$1
-      ;;
-    esac
-}
-
-
-# func_verbose ARG...
-# -------------------
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
-    $debug_cmd
-
-    $opt_verbose && func_echo "$*"
-
-    :
-}
-
-
-# func_warn_and_continue ARG...
-# -----------------------------
-# Echo program name prefixed warning message to standard error.
-func_warn_and_continue ()
-{
-    $debug_cmd
-
-    $require_term_colors
-
-    func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
-}
-
-
-# func_warning CATEGORY ARG...
-# ----------------------------
-# Echo program name prefixed warning message to standard error. Warning
-# messages can be filtered according to CATEGORY, where this function
-# elides messages where CATEGORY is not listed in the global variable
-# 'opt_warning_types'.
-func_warning ()
-{
-    $debug_cmd
-
-    # CATEGORY must be in the warning_categories list!
-    case " $warning_categories " in
-      *" $1 "*) ;;
-      *) func_internal_error "invalid warning category '$1'" ;;
-    esac
-
-    _G_category=$1
-    shift
-
-    case " $opt_warning_types " in
-      *" $_G_category "*) $warning_func ${1+"$@"} ;;
-    esac
-}
-
-
-# func_sort_ver VER1 VER2
-# -----------------------
-# 'sort -V' is not generally available.
-# Note this deviates from the version comparison in automake
-# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
-# but this should suffice as we won't be specifying old
-# version formats or redundant trailing .0 in bootstrap.conf.
-# If we did want full compatibility then we should probably
-# use m4_version_compare from autoconf.
-func_sort_ver ()
-{
-    $debug_cmd
-
-    printf '%s\n%s\n' "$1" "$2" \
-      | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
-}
-
-# func_lt_ver PREV CURR
-# ---------------------
-# Return true if PREV and CURR are in the correct order according to
-# func_sort_ver, otherwise false.  Use it like this:
-#
-#  func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
-func_lt_ver ()
-{
-    $debug_cmd
-
-    test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
-}
-
-
-# Local variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
-# time-stamp-time-zone: "UTC"
-# End:
-#! /bin/sh
-
-# Set a version string for this script.
-scriptversion=2015-10-12.13; # UTC
-
-# A portable, pluggable option parser for Bourne shell.
-# Written by Gary V. Vaughan, 2010
-
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Please report bugs or propose patches to gary@gnu.org.
-
-
-## ------ ##
-## Usage. ##
-## ------ ##
-
-# This file is a library for parsing options in your shell scripts along
-# with assorted other useful supporting features that you can make use
-# of too.
-#
-# For the simplest scripts you might need only:
-#
-#   #!/bin/sh
-#   . relative/path/to/funclib.sh
-#   . relative/path/to/options-parser
-#   scriptversion=1.0
-#   func_options ${1+"$@"}
-#   eval set dummy "$func_options_result"; shift
-#   ...rest of your script...
-#
-# In order for the '--version' option to work, you will need to have a
-# suitably formatted comment like the one at the top of this file
-# starting with '# Written by ' and ending with '# warranty; '.
-#
-# For '-h' and '--help' to work, you will also need a one line
-# description of your script's purpose in a comment directly above the
-# '# Written by ' line, like the one at the top of this file.
-#
-# The default options also support '--debug', which will turn on shell
-# execution tracing (see the comment above debug_cmd below for another
-# use), and '--verbose' and the func_verbose function to allow your script
-# to display verbose messages only when your user has specified
-# '--verbose'.
-#
-# After sourcing this file, you can plug processing for additional
-# options by amending the variables from the 'Configuration' section
-# below, and following the instructions in the 'Option parsing'
-# section further down.
-
-## -------------- ##
-## Configuration. ##
-## -------------- ##
-
-# You should override these variables in your script after sourcing this
-# file so that they reflect the customisations you have added to the
-# option parser.
-
-# The usage line for option parsing errors and the start of '-h' and
-# '--help' output messages. You can embed shell variables for delayed
-# expansion at the time the message is displayed, but you will need to
-# quote other shell meta-characters carefully to prevent them being
-# expanded when the contents are evaled.
-usage='$progpath [OPTION]...'
-
-# Short help message in response to '-h' and '--help'.  Add to this or
-# override it after sourcing this library to reflect the full set of
-# options your script accepts.
-usage_message="\
-       --debug        enable verbose shell tracing
-   -W, --warnings=CATEGORY
-                      report the warnings falling in CATEGORY [all]
-   -v, --verbose      verbosely report processing
-       --version      print version information and exit
-   -h, --help         print short or long help message and exit
-"
-
-# Additional text appended to 'usage_message' in response to '--help'.
-long_help_message="
-Warning categories include:
-       'all'          show all warnings
-       'none'         turn off all the warnings
-       'error'        warnings are treated as fatal errors"
-
-# Help message printed before fatal option parsing errors.
-fatal_help="Try '\$progname --help' for more information."
-
-
-
-## ------------------------- ##
-## Hook function management. ##
-## ------------------------- ##
-
-# This section contains functions for adding, removing, and running hooks
-# to the main code.  A hook is just a named list of of function, that can
-# be run in order later on.
-
-# func_hookable FUNC_NAME
-# -----------------------
-# Declare that FUNC_NAME will run hooks added with
-# 'func_add_hook FUNC_NAME ...'.
-func_hookable ()
-{
-    $debug_cmd
-
-    func_append hookable_fns " $1"
-}
-
-
-# func_add_hook FUNC_NAME HOOK_FUNC
-# ---------------------------------
-# Request that FUNC_NAME call HOOK_FUNC before it returns.  FUNC_NAME must
-# first have been declared "hookable" by a call to 'func_hookable'.
-func_add_hook ()
-{
-    $debug_cmd
-
-    case " $hookable_fns " in
-      *" $1 "*) ;;
-      *) func_fatal_error "'$1' does not accept hook functions." ;;
-    esac
-
-    eval func_append ${1}_hooks '" $2"'
-}
-
-
-# func_remove_hook FUNC_NAME HOOK_FUNC
-# ------------------------------------
-# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
-func_remove_hook ()
-{
-    $debug_cmd
-
-    eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
-}
-
-
-# func_run_hooks FUNC_NAME [ARG]...
-# ---------------------------------
-# Run all hook functions registered to FUNC_NAME.
-# It is assumed that the list of hook functions contains nothing more
-# than a whitespace-delimited list of legal shell function names, and
-# no effort is wasted trying to catch shell meta-characters or preserve
-# whitespace.
-func_run_hooks ()
-{
-    $debug_cmd
-
-    _G_rc_run_hooks=false
-
-    case " $hookable_fns " in
-      *" $1 "*) ;;
-      *) func_fatal_error "'$1' does not support hook funcions.n" ;;
-    esac
-
-    eval _G_hook_fns=\$$1_hooks; shift
-
-    for _G_hook in $_G_hook_fns; do
-      if eval $_G_hook '"$@"'; then
-        # store returned options list back into positional
-        # parameters for next 'cmd' execution.
-        eval _G_hook_result=\$${_G_hook}_result
-        eval set dummy "$_G_hook_result"; shift
-        _G_rc_run_hooks=:
-      fi
-    done
-
-    $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
-}
-
-
-
-## --------------- ##
-## Option parsing. ##
-## --------------- ##
-
-# In order to add your own option parsing hooks, you must accept the
-# full positional parameter list in your hook function, you may remove/edit
-# any options that you action, and then pass back the remaining unprocessed
-# options in '<hooked_function_name>_result', escaped suitably for
-# 'eval'.  In this case you also must return $EXIT_SUCCESS to let the
-# hook's caller know that it should pay attention to
-# '<hooked_function_name>_result'.  Returning $EXIT_FAILURE signalizes that
-# arguments are left untouched by the hook and therefore caller will ignore the
-# result variable.
-#
-# Like this:
-#
-#    my_options_prep ()
-#    {
-#        $debug_cmd
-#
-#        # Extend the existing usage message.
-#        usage_message=$usage_message'
-#      -s, --silent       don'\''t print informational messages
-#    '
-#        # No change in '$@' (ignored completely by this hook).  There is
-#        # no need to do the equivalent (but slower) action:
-#        # func_quote eval ${1+"$@"}
-#        # my_options_prep_result=$func_quote_result
-#        false
-#    }
-#    func_add_hook func_options_prep my_options_prep
-#
-#
-#    my_silent_option ()
-#    {
-#        $debug_cmd
-#
-#        args_changed=false
-#
-#        # Note that for efficiency, we parse as many options as we can
-#        # recognise in a loop before passing the remainder back to the
-#        # caller on the first unrecognised argument we encounter.
-#        while test $# -gt 0; do
-#          opt=$1; shift
-#          case $opt in
-#            --silent|-s) opt_silent=:
-#                         args_changed=:
-#                         ;;
-#            # Separate non-argument short options:
-#            -s*)         func_split_short_opt "$_G_opt"
-#                         set dummy "$func_split_short_opt_name" \
-#                             "-$func_split_short_opt_arg" ${1+"$@"}
-#                         shift
-#                         args_changed=:
-#                         ;;
-#            *)           # Make sure the first unrecognised option "$_G_opt"
-#                         # is added back to "$@", we could need that later
-#                         # if $args_changed is true.
-#                         set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
-#          esac
-#        done
-#
-#        if $args_changed; then
-#          func_quote eval ${1+"$@"}
-#          my_silent_option_result=$func_quote_result
-#        fi
-#
-#        $args_changed
-#    }
-#    func_add_hook func_parse_options my_silent_option
-#
-#
-#    my_option_validation ()
-#    {
-#        $debug_cmd
-#
-#        $opt_silent && $opt_verbose && func_fatal_help "\
-#    '--silent' and '--verbose' options are mutually exclusive."
-#
-#        false
-#    }
-#    func_add_hook func_validate_options my_option_validation
-#
-# You'll also need to manually amend $usage_message to reflect the extra
-# options you parse.  It's preferable to append if you can, so that
-# multiple option parsing hooks can be added safely.
-
-
-# func_options_finish [ARG]...
-# ----------------------------
-# Finishing the option parse loop (call 'func_options' hooks ATM).
-func_options_finish ()
-{
-    $debug_cmd
-
-    _G_func_options_finish_exit=false
-    if func_run_hooks func_options ${1+"$@"}; then
-      func_options_finish_result=$func_run_hooks_result
-      _G_func_options_finish_exit=:
-    fi
-
-    $_G_func_options_finish_exit
-}
-
-
-# func_options [ARG]...
-# ---------------------
-# All the functions called inside func_options are hookable. See the
-# individual implementations for details.
-func_hookable func_options
-func_options ()
-{
-    $debug_cmd
-
-    _G_rc_options=false
-
-    for my_func in options_prep parse_options validate_options options_finish
-    do
-      if eval func_$my_func '${1+"$@"}'; then
-        eval _G_res_var='$'"func_${my_func}_result"
-        eval set dummy "$_G_res_var" ; shift
-        _G_rc_options=:
-      fi
-    done
-
-    # Save modified positional parameters for caller.  As a top-level
-    # options-parser function we always need to set the 'func_options_result'
-    # variable (regardless the $_G_rc_options value).
-    if $_G_rc_options; then
-      func_options_result=$_G_res_var
-    else
-      func_quote eval ${1+"$@"}
-      func_options_result=$func_quote_result
-    fi
-
-    $_G_rc_options
-}
-
-
-# func_options_prep [ARG]...
-# --------------------------
-# All initialisations required before starting the option parse loop.
-# Note that when calling hook functions, we pass through the list of
-# positional parameters.  If a hook function modifies that list, and
-# needs to propagate that back to rest of this script, then the complete
-# modified list must be put in 'func_run_hooks_result' before
-# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
-func_hookable func_options_prep
-func_options_prep ()
-{
-    $debug_cmd
-
-    # Option defaults:
-    opt_verbose=false
-    opt_warning_types=
-
-    _G_rc_options_prep=false
-    if func_run_hooks func_options_prep ${1+"$@"}; then
-      _G_rc_options_prep=:
-      # save modified positional parameters for caller
-      func_options_prep_result=$func_run_hooks_result
-    fi
-
-    $_G_rc_options_prep
-}
-
-
-# func_parse_options [ARG]...
-# ---------------------------
-# The main option parsing loop.
-func_hookable func_parse_options
-func_parse_options ()
-{
-    $debug_cmd
-
-    func_parse_options_result=
-
-    _G_rc_parse_options=false
-    # this just eases exit handling
-    while test $# -gt 0; do
-      # Defer to hook functions for initial option parsing, so they
-      # get priority in the event of reusing an option name.
-      if func_run_hooks func_parse_options ${1+"$@"}; then
-        eval set dummy "$func_run_hooks_result"; shift
-        _G_rc_parse_options=:
-      fi
-
-      # Break out of the loop if we already parsed every option.
-      test $# -gt 0 || break
-
-      _G_match_parse_options=:
-      _G_opt=$1
-      shift
-      case $_G_opt in
-        --debug|-x)   debug_cmd='set -x'
-                      func_echo "enabling shell trace mode"
-                      $debug_cmd
-                      ;;
-
-        --no-warnings|--no-warning|--no-warn)
-                      set dummy --warnings none ${1+"$@"}
-                      shift
-                     ;;
-
-        --warnings|--warning|-W)
-                      if test $# = 0 && func_missing_arg $_G_opt; then
-                        _G_rc_parse_options=:
-                        break
-                      fi
-                      case " $warning_categories $1" in
-                        *" $1 "*)
-                          # trailing space prevents matching last $1 above
-                          func_append_uniq opt_warning_types " $1"
-                          ;;
-                        *all)
-                          opt_warning_types=$warning_categories
-                          ;;
-                        *none)
-                          opt_warning_types=none
-                          warning_func=:
-                          ;;
-                        *error)
-                          opt_warning_types=$warning_categories
-                          warning_func=func_fatal_error
-                          ;;
-                        *)
-                          func_fatal_error \
-                             "unsupported warning category: '$1'"
-                          ;;
-                      esac
-                      shift
-                      ;;
-
-        --verbose|-v) opt_verbose=: ;;
-        --version)    func_version ;;
-        -\?|-h)       func_usage ;;
-        --help)       func_help ;;
-
-       # Separate optargs to long options (plugins may need this):
-       --*=*)        func_split_equals "$_G_opt"
-                     set dummy "$func_split_equals_lhs" \
-                          "$func_split_equals_rhs" ${1+"$@"}
-                      shift
-                      ;;
-
-       # Separate optargs to short options:
-        -W*)
-                      func_split_short_opt "$_G_opt"
-                      set dummy "$func_split_short_opt_name" \
-                          "$func_split_short_opt_arg" ${1+"$@"}
-                      shift
-                      ;;
-
-        # Separate non-argument short options:
-        -\?*|-h*|-v*|-x*)
-                      func_split_short_opt "$_G_opt"
-                      set dummy "$func_split_short_opt_name" \
-                          "-$func_split_short_opt_arg" ${1+"$@"}
-                      shift
-                      ;;
-
-        --)           _G_rc_parse_options=: ; break ;;
-        -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
-        *)            set dummy "$_G_opt" ${1+"$@"}; shift
-                      _G_match_parse_options=false
-                      break
-                      ;;
-      esac
-
-      $_G_match_parse_options && _G_rc_parse_options=:
-    done
-
-
-    if $_G_rc_parse_options; then
-      # save modified positional parameters for caller
-      func_quote eval ${1+"$@"}
-      func_parse_options_result=$func_quote_result
-    fi
-
-    $_G_rc_parse_options
-}
-
-
-# func_validate_options [ARG]...
-# ------------------------------
-# Perform any sanity checks on option settings and/or unconsumed
-# arguments.
-func_hookable func_validate_options
-func_validate_options ()
-{
-    $debug_cmd
-
-    _G_rc_validate_options=false
-
-    # Display all warnings if -W was not given.
-    test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
-
-    if func_run_hooks func_validate_options ${1+"$@"}; then
-      # save modified positional parameters for caller
-      func_validate_options_result=$func_run_hooks_result
-      _G_rc_validate_options=:
-    fi
-
-    # Bail if the options were screwed!
-    $exit_cmd $EXIT_FAILURE
-
-    $_G_rc_validate_options
-}
-
-
-
-## ----------------- ##
-## Helper functions. ##
-## ----------------- ##
-
-# This section contains the helper functions used by the rest of the
-# hookable option parser framework in ascii-betical order.
-
-
-# func_fatal_help ARG...
-# ----------------------
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
-    $debug_cmd
-
-    eval \$ECHO \""Usage: $usage"\"
-    eval \$ECHO \""$fatal_help"\"
-    func_error ${1+"$@"}
-    exit $EXIT_FAILURE
-}
-
-
-# func_help
-# ---------
-# Echo long help message to standard output and exit.
-func_help ()
-{
-    $debug_cmd
-
-    func_usage_message
-    $ECHO "$long_help_message"
-    exit 0
-}
-
-
-# func_missing_arg ARGNAME
-# ------------------------
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
-    $debug_cmd
-
-    func_error "Missing argument for '$1'."
-    exit_cmd=exit
-}
-
-
-# func_split_equals STRING
-# ------------------------
-# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
-# splitting STRING at the '=' sign.
-test -z "$_G_HAVE_XSI_OPS" \
-    && (eval 'x=a/b/c;
-      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
-    && _G_HAVE_XSI_OPS=yes
-
-if test yes = "$_G_HAVE_XSI_OPS"
-then
-  # This is an XSI compatible shell, allowing a faster implementation...
-  eval 'func_split_equals ()
-  {
-      $debug_cmd
-
-      func_split_equals_lhs=${1%%=*}
-      func_split_equals_rhs=${1#*=}
-      test "x$func_split_equals_lhs" = "x$1" \
-        && func_split_equals_rhs=
-  }'
-else
-  # ...otherwise fall back to using expr, which is often a shell builtin.
-  func_split_equals ()
-  {
-      $debug_cmd
-
-      func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
-      func_split_equals_rhs=
-      test "x$func_split_equals_lhs" = "x$1" \
-        || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
-  }
-fi #func_split_equals
-
-
-# func_split_short_opt SHORTOPT
-# -----------------------------
-# Set func_split_short_opt_name and func_split_short_opt_arg shell
-# variables after splitting SHORTOPT after the 2nd character.
-if test yes = "$_G_HAVE_XSI_OPS"
-then
-  # This is an XSI compatible shell, allowing a faster implementation...
-  eval 'func_split_short_opt ()
-  {
-      $debug_cmd
-
-      func_split_short_opt_arg=${1#??}
-      func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
-  }'
-else
-  # ...otherwise fall back to using expr, which is often a shell builtin.
-  func_split_short_opt ()
-  {
-      $debug_cmd
-
-      func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
-      func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
-  }
-fi #func_split_short_opt
-
-
-# func_usage
-# ----------
-# Echo short help message to standard output and exit.
-func_usage ()
-{
-    $debug_cmd
-
-    func_usage_message
-    $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
-    exit 0
-}
-
-
-# func_usage_message
-# ------------------
-# Echo short help message to standard output.
-func_usage_message ()
-{
-    $debug_cmd
-
-    eval \$ECHO \""Usage: $usage"\"
-    echo
-    $SED -n 's|^# ||
-        /^Written by/{
-          x;p;x
-        }
-       h
-       /^Written by/q' < "$progpath"
-    echo
-    eval \$ECHO \""$usage_message"\"
-}
-
-
-# func_version
-# ------------
-# Echo version message to standard output and exit.
-func_version ()
-{
-    $debug_cmd
-
-    printf '%s\n' "$progname $scriptversion"
-    $SED -n '
-        /(C)/!b go
-        :more
-        /\./!{
-          N
-          s|\n# | |
-          b more
-        }
-        :go
-        /^# Written by /,/# warranty; / {
-          s|^# ||
-          s|^# *$||
-          s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
-          p
-        }
-        /^# Written by / {
-          s|^# ||
-          p
-        }
-        /^warranty; /q' < "$progpath"
-
-    exit $?
-}
-
-
-# Local variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
-# time-stamp-time-zone: "UTC"
-# End:
-
-# Set a version string.
-scriptversion='(GNU libtool) 2.4.6'
-
-
-# func_echo ARG...
-# ----------------
-# Libtool also displays the current mode in messages, so override
-# funclib.sh func_echo with this custom definition.
-func_echo ()
-{
-    $debug_cmd
-
-    _G_message=$*
-
-    func_echo_IFS=$IFS
-    IFS=$nl
-    for _G_line in $_G_message; do
-      IFS=$func_echo_IFS
-      $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
-    done
-    IFS=$func_echo_IFS
-}
-
-
-# func_warning ARG...
-# -------------------
-# Libtool warnings are not categorized, so override funclib.sh
-# func_warning with this simpler definition.
-func_warning ()
-{
-    $debug_cmd
-
-    $warning_func ${1+"$@"}
-}
-
-
-## ---------------- ##
-## Options parsing. ##
-## ---------------- ##
-
-# Hook in the functions to make sure our own options are parsed during
-# the option parsing loop.
-
-usage='$progpath [OPTION]... [MODE-ARG]...'
-
-# Short help message in response to '-h'.
-usage_message="Options:
-       --config             show all configuration variables
-       --debug              enable verbose shell tracing
-   -n, --dry-run            display commands without modifying any files
-       --features           display basic configuration information and exit
-       --mode=MODE          use operation mode MODE
-       --no-warnings        equivalent to '-Wnone'
-       --preserve-dup-deps  don't remove duplicate dependency libraries
-       --quiet, --silent    don't print informational messages
-       --tag=TAG            use configuration variables from tag TAG
-   -v, --verbose            print more informational messages than default
-       --version            print version information
-   -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [all]
-   -h, --help, --help-all   print short, long, or detailed help message
-"
-
-# Additional text appended to 'usage_message' in response to '--help'.
-func_help ()
-{
-    $debug_cmd
-
-    func_usage_message
-    $ECHO "$long_help_message
-
-MODE must be one of the following:
-
-       clean           remove files from the build directory
-       compile         compile a source file into a libtool object
-       execute         automatically set library path, then run a program
-       finish          complete the installation of libtool libraries
-       install         install libraries or executables
-       link            create a library or an executable
-       uninstall       remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE.  When passed as first option,
-'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
-Try '$progname --help --mode=MODE' for a more detailed description of MODE.
-
-When reporting a bug, please describe a test case to reproduce it and
-include the following information:
-
-       host-triplet:   $host
-       shell:          $SHELL
-       compiler:       $LTCC
-       compiler flags: $LTCFLAGS
-       linker:         $LD (gnu? $with_gnu_ld)
-       version:        $progname $scriptversion Debian-2.4.6-2.1
-       automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
-       autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
-
-Report bugs to <bug-libtool@gnu.org>.
-GNU libtool home page: <http://www.gnu.org/s/libtool/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>."
-    exit 0
-}
-
-
-# func_lo2o OBJECT-NAME
-# ---------------------
-# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
-# object suffix.
-
-lo2o=s/\\.lo\$/.$objext/
-o2lo=s/\\.$objext\$/.lo/
-
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  eval 'func_lo2o ()
-  {
-    case $1 in
-      *.lo) func_lo2o_result=${1%.lo}.$objext ;;
-      *   ) func_lo2o_result=$1               ;;
-    esac
-  }'
-
-  # func_xform LIBOBJ-OR-SOURCE
-  # ---------------------------
-  # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
-  # suffix to a '.lo' libtool-object suffix.
-  eval 'func_xform ()
-  {
-    func_xform_result=${1%.*}.lo
-  }'
-else
-  # ...otherwise fall back to using sed.
-  func_lo2o ()
-  {
-    func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
-  }
-
-  func_xform ()
-  {
-    func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
-  }
-fi
-
-
-# func_fatal_configuration ARG...
-# -------------------------------
-# Echo program name prefixed message to standard error, followed by
-# a configuration failure hint, and exit.
-func_fatal_configuration ()
-{
-    func__fatal_error ${1+"$@"} \
-      "See the $PACKAGE documentation for more information." \
-      "Fatal configuration error."
-}
-
-
-# func_config
-# -----------
-# Display the configuration for all the tags in this script.
-func_config ()
-{
-    re_begincf='^# ### BEGIN LIBTOOL'
-    re_endcf='^# ### END LIBTOOL'
-
-    # Default configuration.
-    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
-
-    # Now print the configurations for the tags.
-    for tagname in $taglist; do
-      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
-    done
-
-    exit $?
-}
-
-
-# func_features
-# -------------
-# Display the features supported by this script.
-func_features ()
-{
-    echo "host: $host"
-    if test yes = "$build_libtool_libs"; then
-      echo "enable shared libraries"
-    else
-      echo "disable shared libraries"
-    fi
-    if test yes = "$build_old_libs"; then
-      echo "enable static libraries"
-    else
-      echo "disable static libraries"
-    fi
-
-    exit $?
-}
-
-
-# func_enable_tag TAGNAME
-# -----------------------
-# Verify that TAGNAME is valid, and either flag an error and exit, or
-# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
-# variable here.
-func_enable_tag ()
-{
-    # Global variable:
-    tagname=$1
-
-    re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-    re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-    sed_extractcf=/$re_begincf/,/$re_endcf/p
-
-    # Validate tagname.
-    case $tagname in
-      *[!-_A-Za-z0-9,/]*)
-        func_fatal_error "invalid tag name: $tagname"
-        ;;
-    esac
-
-    # Don't test for the "default" C tag, as we know it's
-    # there but not specially marked.
-    case $tagname in
-        CC) ;;
-    *)
-        if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
-         taglist="$taglist $tagname"
-
-         # Evaluate the configuration.  Be careful to quote the path
-         # and the sed script, to avoid splitting on whitespace, but
-         # also don't use non-portable quotes within backquotes within
-         # quotes we have to do it in 2 steps:
-         extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
-         eval "$extractedcf"
-        else
-         func_error "ignoring unknown tag $tagname"
-        fi
-        ;;
-    esac
-}
-
-
-# func_check_version_match
-# ------------------------
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
-    if test "$package_revision" != "$macro_revision"; then
-      if test "$VERSION" != "$macro_version"; then
-        if test -z "$macro_version"; then
-          cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-        else
-          cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-        fi
-      else
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
-      fi
-
-      exit $EXIT_MISMATCH
-    fi
-}
-
-
-# libtool_options_prep [ARG]...
-# -----------------------------
-# Preparation for options parsed by libtool.
-libtool_options_prep ()
-{
-    $debug_mode
-
-    # Option defaults:
-    opt_config=false
-    opt_dlopen=
-    opt_dry_run=false
-    opt_help=false
-    opt_mode=
-    opt_preserve_dup_deps=false
-    opt_quiet=false
-
-    nonopt=
-    preserve_args=
-
-    _G_rc_lt_options_prep=:
-
-    # Shorthand for --mode=foo, only valid as the first argument
-    case $1 in
-    clean|clea|cle|cl)
-      shift; set dummy --mode clean ${1+"$@"}; shift
-      ;;
-    compile|compil|compi|comp|com|co|c)
-      shift; set dummy --mode compile ${1+"$@"}; shift
-      ;;
-    execute|execut|execu|exec|exe|ex|e)
-      shift; set dummy --mode execute ${1+"$@"}; shift
-      ;;
-    finish|finis|fini|fin|fi|f)
-      shift; set dummy --mode finish ${1+"$@"}; shift
-      ;;
-    install|instal|insta|inst|ins|in|i)
-      shift; set dummy --mode install ${1+"$@"}; shift
-      ;;
-    link|lin|li|l)
-      shift; set dummy --mode link ${1+"$@"}; shift
-      ;;
-    uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-      shift; set dummy --mode uninstall ${1+"$@"}; shift
-      ;;
-    *)
-      _G_rc_lt_options_prep=false
-      ;;
-    esac
-
-    if $_G_rc_lt_options_prep; then
-      # Pass back the list of options.
-      func_quote eval ${1+"$@"}
-      libtool_options_prep_result=$func_quote_result
-    fi
-
-    $_G_rc_lt_options_prep
-}
-func_add_hook func_options_prep libtool_options_prep
-
-
-# libtool_parse_options [ARG]...
-# ---------------------------------
-# Provide handling for libtool specific options.
-libtool_parse_options ()
-{
-    $debug_cmd
-
-    _G_rc_lt_parse_options=false
-
-    # Perform our own loop to consume as many options as possible in
-    # each iteration.
-    while test $# -gt 0; do
-      _G_match_lt_parse_options=:
-      _G_opt=$1
-      shift
-      case $_G_opt in
-        --dry-run|--dryrun|-n)
-                        opt_dry_run=:
-                        ;;
-
-        --config)       func_config ;;
-
-        --dlopen|-dlopen)
-                        opt_dlopen="${opt_dlopen+$opt_dlopen
-}$1"
-                        shift
-                        ;;
-
-        --preserve-dup-deps)
-                        opt_preserve_dup_deps=: ;;
-
-        --features)     func_features ;;
-
-        --finish)       set dummy --mode finish ${1+"$@"}; shift ;;
-
-        --help)         opt_help=: ;;
-
-        --help-all)     opt_help=': help-all' ;;
-
-        --mode)         test $# = 0 && func_missing_arg $_G_opt && break
-                        opt_mode=$1
-                        case $1 in
-                          # Valid mode arguments:
-                          clean|compile|execute|finish|install|link|relink|uninstall) ;;
-
-                          # Catch anything else as an error
-                          *) func_error "invalid argument for $_G_opt"
-                             exit_cmd=exit
-                             break
-                             ;;
-                        esac
-                        shift
-                        ;;
-
-        --no-silent|--no-quiet)
-                        opt_quiet=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --no-warnings|--no-warning|--no-warn)
-                        opt_warning=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --no-verbose)
-                        opt_verbose=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --silent|--quiet)
-                        opt_quiet=:
-                        opt_verbose=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --tag)          test $# = 0 && func_missing_arg $_G_opt && break
-                        opt_tag=$1
-                        func_append preserve_args " $_G_opt $1"
-                        func_enable_tag "$1"
-                        shift
-                        ;;
-
-        --verbose|-v)   opt_quiet=false
-                        opt_verbose=:
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        # An option not handled by this hook function:
-        *)              set dummy "$_G_opt" ${1+"$@"} ; shift
-                        _G_match_lt_parse_options=false
-                        break
-                        ;;
-      esac
-      $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
-    done
-
-    if $_G_rc_lt_parse_options; then
-      # save modified positional parameters for caller
-      func_quote eval ${1+"$@"}
-      libtool_parse_options_result=$func_quote_result
-    fi
-
-    $_G_rc_lt_parse_options
-}
-func_add_hook func_parse_options libtool_parse_options
-
-
-
-# libtool_validate_options [ARG]...
-# ---------------------------------
-# Perform any sanity checks on option settings and/or unconsumed
-# arguments.
-libtool_validate_options ()
-{
-    # save first non-option argument
-    if test 0 -lt $#; then
-      nonopt=$1
-      shift
-    fi
-
-    # preserve --debug
-    test : = "$debug_cmd" || func_append preserve_args " --debug"
-
-    case $host in
-      # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
-      # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
-      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
-        # don't eliminate duplications in $postdeps and $predeps
-        opt_duplicate_compiler_generated_deps=:
-        ;;
-      *)
-        opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
-        ;;
-    esac
-
-    $opt_help || {
-      # Sanity checks first:
-      func_check_version_match
-
-      test yes != "$build_libtool_libs" \
-        && test yes != "$build_old_libs" \
-        && func_fatal_configuration "not configured to build any kind of library"
-
-      # Darwin sucks
-      eval std_shrext=\"$shrext_cmds\"
-
-      # Only execute mode is allowed to have -dlopen flags.
-      if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
-        func_error "unrecognized option '-dlopen'"
-        $ECHO "$help" 1>&2
-        exit $EXIT_FAILURE
-      fi
-
-      # Change the help message to a mode-specific one.
-      generic_help=$help
-      help="Try '$progname --help --mode=$opt_mode' for more information."
-    }
-
-    # Pass back the unparsed argument list
-    func_quote eval ${1+"$@"}
-    libtool_validate_options_result=$func_quote_result
-}
-func_add_hook func_validate_options libtool_validate_options
-
-
-# Process options as early as possible so that --help and --version
-# can return quickly.
-func_options ${1+"$@"}
-eval set dummy "$func_options_result"; shift
-
-
-
-## ----------- ##
-##    Main.    ##
-## ----------- ##
-
-magic='%%%MAGIC variable%%%'
-magic_exe='%%%MAGIC EXE variable%%%'
-
-# Global variables.
-extracted_archives=
-extracted_serial=0
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
-
-# func_generated_by_libtool
-# True iff stdin has been generated by Libtool. This function is only
-# a basic sanity check; it will hardly flush out determined imposters.
-func_generated_by_libtool_p ()
-{
-  $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
-}
-
-# func_lalib_p file
-# True iff FILE is a libtool '.la' library or '.lo' object file.
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_lalib_p ()
-{
-    test -f "$1" &&
-      $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
-}
-
-# func_lalib_unsafe_p file
-# True iff FILE is a libtool '.la' library or '.lo' object file.
-# This function implements the same check as func_lalib_p without
-# resorting to external programs.  To this end, it redirects stdin and
-# closes it afterwards, without saving the original file descriptor.
-# As a safety measure, use it only where a negative result would be
-# fatal anyway.  Works if 'file' does not exist.
-func_lalib_unsafe_p ()
-{
-    lalib_p=no
-    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
-       for lalib_p_l in 1 2 3 4
-       do
-           read lalib_p_line
-           case $lalib_p_line in
-               \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
-           esac
-       done
-       exec 0<&5 5<&-
-    fi
-    test yes = "$lalib_p"
-}
-
-# func_ltwrapper_script_p file
-# True iff FILE is a libtool wrapper script
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_script_p ()
-{
-    test -f "$1" &&
-      $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
-}
-
-# func_ltwrapper_executable_p file
-# True iff FILE is a libtool wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_executable_p ()
-{
-    func_ltwrapper_exec_suffix=
-    case $1 in
-    *.exe) ;;
-    *) func_ltwrapper_exec_suffix=.exe ;;
-    esac
-    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
-}
-
-# func_ltwrapper_scriptname file
-# Assumes file is an ltwrapper_executable
-# uses $file to determine the appropriate filename for a
-# temporary ltwrapper_script.
-func_ltwrapper_scriptname ()
-{
-    func_dirname_and_basename "$1" "" "."
-    func_stripname '' '.exe' "$func_basename_result"
-    func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
-}
-
-# func_ltwrapper_p file
-# True iff FILE is a libtool wrapper script or wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_p ()
-{
-    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
-}
-
-
-# func_execute_cmds commands fail_cmd
-# Execute tilde-delimited COMMANDS.
-# If FAIL_CMD is given, eval that upon failure.
-# FAIL_CMD may read-access the current command in variable CMD!
-func_execute_cmds ()
-{
-    $debug_cmd
-
-    save_ifs=$IFS; IFS='~'
-    for cmd in $1; do
-      IFS=$sp$nl
-      eval cmd=\"$cmd\"
-      IFS=$save_ifs
-      func_show_eval "$cmd" "${2-:}"
-    done
-    IFS=$save_ifs
-}
-
-
-# func_source file
-# Source FILE, adding directory component if necessary.
-# Note that it is not necessary on cygwin/mingw to append a dot to
-# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
-# behavior happens only for exec(3), not for open(2)!  Also, sourcing
-# 'FILE.' does not work on cygwin managed mounts.
-func_source ()
-{
-    $debug_cmd
-
-    case $1 in
-    */* | *\\*)        . "$1" ;;
-    *)         . "./$1" ;;
-    esac
-}
-
-
-# func_resolve_sysroot PATH
-# Replace a leading = in PATH with a sysroot.  Store the result into
-# func_resolve_sysroot_result
-func_resolve_sysroot ()
-{
-  func_resolve_sysroot_result=$1
-  case $func_resolve_sysroot_result in
-  =*)
-    func_stripname '=' '' "$func_resolve_sysroot_result"
-    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
-    ;;
-  esac
-}
-
-# func_replace_sysroot PATH
-# If PATH begins with the sysroot, replace it with = and
-# store the result into func_replace_sysroot_result.
-func_replace_sysroot ()
-{
-  case $lt_sysroot:$1 in
-  ?*:"$lt_sysroot"*)
-    func_stripname "$lt_sysroot" '' "$1"
-    func_replace_sysroot_result='='$func_stripname_result
-    ;;
-  *)
-    # Including no sysroot.
-    func_replace_sysroot_result=$1
-    ;;
-  esac
-}
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
-    $debug_cmd
-
-    if test -n "$available_tags" && test -z "$tagname"; then
-      CC_quoted=
-      for arg in $CC; do
-       func_append_quoted CC_quoted "$arg"
-      done
-      CC_expanded=`func_echo_all $CC`
-      CC_quoted_expanded=`func_echo_all $CC_quoted`
-      case $@ in
-      # Blanks in the command may have been stripped by the calling shell,
-      # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
-      # Blanks at the start of $base_compile will cause this to fail
-      # if we don't check for them as well.
-      *)
-       for z in $available_tags; do
-         if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-           # Evaluate the configuration.
-           eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-           CC_quoted=
-           for arg in $CC; do
-             # Double-quote args containing other shell metacharacters.
-             func_append_quoted CC_quoted "$arg"
-           done
-           CC_expanded=`func_echo_all $CC`
-           CC_quoted_expanded=`func_echo_all $CC_quoted`
-           case "$@ " in
-           " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-           " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
-             # The compiler in the base compile command matches
-             # the one in the tagged configuration.
-             # Assume this is the tagged configuration we want.
-             tagname=$z
-             break
-             ;;
-           esac
-         fi
-       done
-       # If $tagname still isn't set, then no tagged configuration
-       # was found and let the user know that the "--tag" command
-       # line option must be used.
-       if test -z "$tagname"; then
-         func_echo "unable to infer tagged configuration"
-         func_fatal_error "specify a tag with '--tag'"
-#      else
-#        func_verbose "using $tagname tagged configuration"
-       fi
-       ;;
-      esac
-    fi
-}
-
-
-
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
-{
-    write_libobj=$1
-    if test yes = "$build_libtool_libs"; then
-      write_lobj=\'$2\'
-    else
-      write_lobj=none
-    fi
-
-    if test yes = "$build_old_libs"; then
-      write_oldobj=\'$3\'
-    else
-      write_oldobj=none
-    fi
-
-    $opt_dry_run || {
-      cat >${write_libobj}T <<EOF
-# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-pic_object=$write_lobj
-
-# Name of the non-PIC object
-non_pic_object=$write_oldobj
-
-EOF
-      $MV "${write_libobj}T" "$write_libobj"
-    }
-}
-
-
-##################################################
-# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
-##################################################
-
-# func_convert_core_file_wine_to_w32 ARG
-# Helper function used by file name conversion functions when $build is *nix,
-# and $host is mingw, cygwin, or some other w32 environment. Relies on a
-# correctly configured wine environment available, with the winepath program
-# in $build's $PATH.
-#
-# ARG is the $build file name to be converted to w32 format.
-# Result is available in $func_convert_core_file_wine_to_w32_result, and will
-# be empty on error (or when ARG is empty)
-func_convert_core_file_wine_to_w32 ()
-{
-  $debug_cmd
-
-  func_convert_core_file_wine_to_w32_result=$1
-  if test -n "$1"; then
-    # Unfortunately, winepath does not exit with a non-zero error code, so we
-    # are forced to check the contents of stdout. On the other hand, if the
-    # command is not found, the shell will set an exit code of 127 and print
-    # *an error message* to stdout. So we must check for both error code of
-    # zero AND non-empty stdout, which explains the odd construction:
-    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
-    if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
-      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
-        $SED -e "$sed_naive_backslashify"`
-    else
-      func_convert_core_file_wine_to_w32_result=
-    fi
-  fi
-}
-# end: func_convert_core_file_wine_to_w32
-
-
-# func_convert_core_path_wine_to_w32 ARG
-# Helper function used by path conversion functions when $build is *nix, and
-# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
-# configured wine environment available, with the winepath program in $build's
-# $PATH. Assumes ARG has no leading or trailing path separator characters.
-#
-# ARG is path to be converted from $build format to win32.
-# Result is available in $func_convert_core_path_wine_to_w32_result.
-# Unconvertible file (directory) names in ARG are skipped; if no directory names
-# are convertible, then the result may be empty.
-func_convert_core_path_wine_to_w32 ()
-{
-  $debug_cmd
-
-  # unfortunately, winepath doesn't convert paths, only file names
-  func_convert_core_path_wine_to_w32_result=
-  if test -n "$1"; then
-    oldIFS=$IFS
-    IFS=:
-    for func_convert_core_path_wine_to_w32_f in $1; do
-      IFS=$oldIFS
-      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
-      if test -n "$func_convert_core_file_wine_to_w32_result"; then
-        if test -z "$func_convert_core_path_wine_to_w32_result"; then
-          func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
-        else
-          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
-        fi
-      fi
-    done
-    IFS=$oldIFS
-  fi
-}
-# end: func_convert_core_path_wine_to_w32
-
-
-# func_cygpath ARGS...
-# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
-# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
-# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
-# (2), returns the Cygwin file name or path in func_cygpath_result (input
-# file name or path is assumed to be in w32 format, as previously converted
-# from $build's *nix or MSYS format). In case (3), returns the w32 file name
-# or path in func_cygpath_result (input file name or path is assumed to be in
-# Cygwin format). Returns an empty string on error.
-#
-# ARGS are passed to cygpath, with the last one being the file name or path to
-# be converted.
-#
-# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
-# environment variable; do not put it in $PATH.
-func_cygpath ()
-{
-  $debug_cmd
-
-  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
-    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
-    if test "$?" -ne 0; then
-      # on failure, ensure result is empty
-      func_cygpath_result=
-    fi
-  else
-    func_cygpath_result=
-    func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
-  fi
-}
-#end: func_cygpath
-
-
-# func_convert_core_msys_to_w32 ARG
-# Convert file name or path ARG from MSYS format to w32 format.  Return
-# result in func_convert_core_msys_to_w32_result.
-func_convert_core_msys_to_w32 ()
-{
-  $debug_cmd
-
-  # awkward: cmd appends spaces to result
-  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
-    $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
-}
-#end: func_convert_core_msys_to_w32
-
-
-# func_convert_file_check ARG1 ARG2
-# Verify that ARG1 (a file name in $build format) was converted to $host
-# format in ARG2. Otherwise, emit an error message, but continue (resetting
-# func_to_host_file_result to ARG1).
-func_convert_file_check ()
-{
-  $debug_cmd
-
-  if test -z "$2" && test -n "$1"; then
-    func_error "Could not determine host file name corresponding to"
-    func_error "  '$1'"
-    func_error "Continuing, but uninstalled executables may not work."
-    # Fallback:
-    func_to_host_file_result=$1
-  fi
-}
-# end func_convert_file_check
-
-
-# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
-# Verify that FROM_PATH (a path in $build format) was converted to $host
-# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
-# func_to_host_file_result to a simplistic fallback value (see below).
-func_convert_path_check ()
-{
-  $debug_cmd
-
-  if test -z "$4" && test -n "$3"; then
-    func_error "Could not determine the host path corresponding to"
-    func_error "  '$3'"
-    func_error "Continuing, but uninstalled executables may not work."
-    # Fallback.  This is a deliberately simplistic "conversion" and
-    # should not be "improved".  See libtool.info.
-    if test "x$1" != "x$2"; then
-      lt_replace_pathsep_chars="s|$1|$2|g"
-      func_to_host_path_result=`echo "$3" |
-        $SED -e "$lt_replace_pathsep_chars"`
-    else
-      func_to_host_path_result=$3
-    fi
-  fi
-}
-# end func_convert_path_check
-
-
-# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
-# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
-# and appending REPL if ORIG matches BACKPAT.
-func_convert_path_front_back_pathsep ()
-{
-  $debug_cmd
-
-  case $4 in
-  $1 ) func_to_host_path_result=$3$func_to_host_path_result
-    ;;
-  esac
-  case $4 in
-  $2 ) func_append func_to_host_path_result "$3"
-    ;;
-  esac
-}
-# end func_convert_path_front_back_pathsep
-
-
-##################################################
-# $build to $host FILE NAME CONVERSION FUNCTIONS #
-##################################################
-# invoked via '$to_host_file_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# Result will be available in $func_to_host_file_result.
-
-
-# func_to_host_file ARG
-# Converts the file name ARG from $build format to $host format. Return result
-# in func_to_host_file_result.
-func_to_host_file ()
-{
-  $debug_cmd
-
-  $to_host_file_cmd "$1"
-}
-# end func_to_host_file
-
-
-# func_to_tool_file ARG LAZY
-# converts the file name ARG from $build format to toolchain format. Return
-# result in func_to_tool_file_result.  If the conversion in use is listed
-# in (the comma separated) LAZY, no conversion takes place.
-func_to_tool_file ()
-{
-  $debug_cmd
-
-  case ,$2, in
-    *,"$to_tool_file_cmd",*)
-      func_to_tool_file_result=$1
-      ;;
-    *)
-      $to_tool_file_cmd "$1"
-      func_to_tool_file_result=$func_to_host_file_result
-      ;;
-  esac
-}
-# end func_to_tool_file
-
-
-# func_convert_file_noop ARG
-# Copy ARG to func_to_host_file_result.
-func_convert_file_noop ()
-{
-  func_to_host_file_result=$1
-}
-# end func_convert_file_noop
-
-
-# func_convert_file_msys_to_w32 ARG
-# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper.  Returns result in
-# func_to_host_file_result.
-func_convert_file_msys_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    func_convert_core_msys_to_w32 "$1"
-    func_to_host_file_result=$func_convert_core_msys_to_w32_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_w32
-
-
-# func_convert_file_cygwin_to_w32 ARG
-# Convert file name ARG from Cygwin to w32 format.  Returns result in
-# func_to_host_file_result.
-func_convert_file_cygwin_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
-    # LT_CYGPATH in this case.
-    func_to_host_file_result=`cygpath -m "$1"`
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_cygwin_to_w32
-
-
-# func_convert_file_nix_to_w32 ARG
-# Convert file name ARG from *nix to w32 format.  Requires a wine environment
-# and a working winepath. Returns result in func_to_host_file_result.
-func_convert_file_nix_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    func_convert_core_file_wine_to_w32 "$1"
-    func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_w32
-
-
-# func_convert_file_msys_to_cygwin ARG
-# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_file_msys_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    func_convert_core_msys_to_w32 "$1"
-    func_cygpath -u "$func_convert_core_msys_to_w32_result"
-    func_to_host_file_result=$func_cygpath_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_cygwin
-
-
-# func_convert_file_nix_to_cygwin ARG
-# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
-# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
-# in func_to_host_file_result.
-func_convert_file_nix_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
-    func_convert_core_file_wine_to_w32 "$1"
-    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
-    func_to_host_file_result=$func_cygpath_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_cygwin
-
-
-#############################################
-# $build to $host PATH CONVERSION FUNCTIONS #
-#############################################
-# invoked via '$to_host_path_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# The result will be available in $func_to_host_path_result.
-#
-# Path separators are also converted from $build format to $host format.  If
-# ARG begins or ends with a path separator character, it is preserved (but
-# converted to $host format) on output.
-#
-# All path conversion functions are named using the following convention:
-#   file name conversion function    : func_convert_file_X_to_Y ()
-#   path conversion function         : func_convert_path_X_to_Y ()
-# where, for any given $build/$host combination the 'X_to_Y' value is the
-# same.  If conversion functions are added for new $build/$host combinations,
-# the two new functions must follow this pattern, or func_init_to_host_path_cmd
-# will break.
-
-
-# func_init_to_host_path_cmd
-# Ensures that function "pointer" variable $to_host_path_cmd is set to the
-# appropriate value, based on the value of $to_host_file_cmd.
-to_host_path_cmd=
-func_init_to_host_path_cmd ()
-{
-  $debug_cmd
-
-  if test -z "$to_host_path_cmd"; then
-    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
-    to_host_path_cmd=func_convert_path_$func_stripname_result
-  fi
-}
-
-
-# func_to_host_path ARG
-# Converts the path ARG from $build format to $host format. Return result
-# in func_to_host_path_result.
-func_to_host_path ()
-{
-  $debug_cmd
-
-  func_init_to_host_path_cmd
-  $to_host_path_cmd "$1"
-}
-# end func_to_host_path
-
-
-# func_convert_path_noop ARG
-# Copy ARG to func_to_host_path_result.
-func_convert_path_noop ()
-{
-  func_to_host_path_result=$1
-}
-# end func_convert_path_noop
-
-
-# func_convert_path_msys_to_w32 ARG
-# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper.  Returns result in
-# func_to_host_path_result.
-func_convert_path_msys_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # Remove leading and trailing path separator characters from ARG.  MSYS
-    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
-    # and winepath ignores them completely.
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result=$func_convert_core_msys_to_w32_result
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_msys_to_w32
-
-
-# func_convert_path_cygwin_to_w32 ARG
-# Convert path ARG from Cygwin to w32 format.  Returns result in
-# func_to_host_file_result.
-func_convert_path_cygwin_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_cygwin_to_w32
-
-
-# func_convert_path_nix_to_w32 ARG
-# Convert path ARG from *nix to w32 format.  Requires a wine environment and
-# a working winepath.  Returns result in func_to_host_file_result.
-func_convert_path_nix_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_nix_to_w32
-
-
-# func_convert_path_msys_to_cygwin ARG
-# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_path_msys_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
-    func_to_host_path_result=$func_cygpath_result
-    func_convert_path_check : : \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-  fi
-}
-# end func_convert_path_msys_to_cygwin
-
-
-# func_convert_path_nix_to_cygwin ARG
-# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
-# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
-# func_to_host_file_result.
-func_convert_path_nix_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # Remove leading and trailing path separator characters from
-    # ARG. msys behavior is inconsistent here, cygpath turns them
-    # into '.;' and ';.', and winepath ignores them completely.
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
-    func_to_host_path_result=$func_cygpath_result
-    func_convert_path_check : : \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-  fi
-}
-# end func_convert_path_nix_to_cygwin
-
-
-# func_dll_def_p FILE
-# True iff FILE is a Windows DLL '.def' file.
-# Keep in sync with _LT_DLL_DEF_P in libtool.m4
-func_dll_def_p ()
-{
-  $debug_cmd
-
-  func_dll_def_p_tmp=`$SED -n \
-    -e 's/^[    ]*//' \
-    -e '/^\(;.*\)*$/d' \
-    -e 's/^\(EXPORTS\|LIBRARY\)\([      ].*\)*$/DEF/p' \
-    -e q \
-    "$1"`
-  test DEF = "$func_dll_def_p_tmp"
-}
-
-
-# func_mode_compile arg...
-func_mode_compile ()
-{
-    $debug_cmd
-
-    # Get the compilation command and the source file.
-    base_compile=
-    srcfile=$nonopt  #  always keep a non-empty value in "srcfile"
-    suppress_opt=yes
-    suppress_output=
-    arg_mode=normal
-    libobj=
-    later=
-    pie_flag=
-
-    for arg
-    do
-      case $arg_mode in
-      arg  )
-       # do not "continue".  Instead, add this to base_compile
-       lastarg=$arg
-       arg_mode=normal
-       ;;
-
-      target )
-       libobj=$arg
-       arg_mode=normal
-       continue
-       ;;
-
-      normal )
-       # Accept any command-line options.
-       case $arg in
-       -o)
-         test -n "$libobj" && \
-           func_fatal_error "you cannot specify '-o' more than once"
-         arg_mode=target
-         continue
-         ;;
-
-       -pie | -fpie | -fPIE)
-          func_append pie_flag " $arg"
-         continue
-         ;;
-
-       -shared | -static | -prefer-pic | -prefer-non-pic)
-         func_append later " $arg"
-         continue
-         ;;
-
-       -no-suppress)
-         suppress_opt=no
-         continue
-         ;;
-
-       -Xcompiler)
-         arg_mode=arg  #  the next one goes into the "base_compile" arg list
-         continue      #  The current "srcfile" will either be retained or
-         ;;            #  replaced later.  I would guess that would be a bug.
-
-       -Wc,*)
-         func_stripname '-Wc,' '' "$arg"
-         args=$func_stripname_result
-         lastarg=
-         save_ifs=$IFS; IFS=,
-         for arg in $args; do
-           IFS=$save_ifs
-           func_append_quoted lastarg "$arg"
-         done
-         IFS=$save_ifs
-         func_stripname ' ' '' "$lastarg"
-         lastarg=$func_stripname_result
-
-         # Add the arguments to base_compile.
-         func_append base_compile " $lastarg"
-         continue
-         ;;
-
-       *)
-         # Accept the current argument as the source file.
-         # The previous "srcfile" becomes the current argument.
-         #
-         lastarg=$srcfile
-         srcfile=$arg
-         ;;
-       esac  #  case $arg
-       ;;
-      esac    #  case $arg_mode
-
-      # Aesthetically quote the previous argument.
-      func_append_quoted base_compile "$lastarg"
-    done # for arg
-
-    case $arg_mode in
-    arg)
-      func_fatal_error "you must specify an argument for -Xcompile"
-      ;;
-    target)
-      func_fatal_error "you must specify a target with '-o'"
-      ;;
-    *)
-      # Get the name of the library object.
-      test -z "$libobj" && {
-       func_basename "$srcfile"
-       libobj=$func_basename_result
-      }
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    case $libobj in
-    *.[cCFSifmso] | \
-    *.ada | *.adb | *.ads | *.asm | \
-    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
-      func_xform "$libobj"
-      libobj=$func_xform_result
-      ;;
-    esac
-
-    case $libobj in
-    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
-    *)
-      func_fatal_error "cannot determine name of library object from '$libobj'"
-      ;;
-    esac
-
-    func_infer_tag $base_compile
-
-    for arg in $later; do
-      case $arg in
-      -shared)
-       test yes = "$build_libtool_libs" \
-         || func_fatal_configuration "cannot build a shared library"
-       build_old_libs=no
-       continue
-       ;;
-
-      -static)
-       build_libtool_libs=no
-       build_old_libs=yes
-       continue
-       ;;
-
-      -prefer-pic)
-       pic_mode=yes
-       continue
-       ;;
-
-      -prefer-non-pic)
-       pic_mode=no
-       continue
-       ;;
-      esac
-    done
-
-    func_quote_arg pretty "$libobj"
-    test "X$libobj" != "X$func_quote_arg_result" \
-      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'   &()|`$[]' \
-      && func_warning "libobj name '$libobj' may not contain shell special characters."
-    func_dirname_and_basename "$obj" "/" ""
-    objname=$func_basename_result
-    xdir=$func_dirname_result
-    lobj=$xdir$objdir/$objname
-
-    test -z "$base_compile" && \
-      func_fatal_help "you must specify a compilation command"
-
-    # Delete any leftover library objects.
-    if test yes = "$build_old_libs"; then
-      removelist="$obj $lobj $libobj ${libobj}T"
-    else
-      removelist="$lobj $libobj ${libobj}T"
-    fi
-
-    # On Cygwin there's no "real" PIC flag so we must build both object types
-    case $host_os in
-    cygwin* | mingw* | pw32* | os2* | cegcc*)
-      pic_mode=default
-      ;;
-    esac
-    if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
-      # non-PIC code in shared libraries is not supported
-      pic_mode=default
-    fi
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test no = "$compiler_c_o"; then
-      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
-      lockfile=$output_obj.lock
-    else
-      output_obj=
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test yes = "$need_locks"; then
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-       func_echo "Waiting for $lockfile to be removed"
-       sleep 2
-      done
-    elif test warn = "$need_locks"; then
-      if test -f "$lockfile"; then
-       $ECHO "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support '-c' and '-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $opt_dry_run || $RM $removelist
-       exit $EXIT_FAILURE
-      fi
-      func_append removelist " $output_obj"
-      $ECHO "$srcfile" > "$lockfile"
-    fi
-
-    $opt_dry_run || $RM $removelist
-    func_append removelist " $lockfile"
-    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
-
-    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
-    srcfile=$func_to_tool_file_result
-    func_quote_arg pretty "$srcfile"
-    qsrcfile=$func_quote_arg_result
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test yes = "$build_libtool_libs"; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      if test no != "$pic_mode"; then
-       command="$base_compile $qsrcfile $pic_flag"
-      else
-       # Don't build PIC code
-       command="$base_compile $qsrcfile"
-      fi
-
-      func_mkdir_p "$xdir$objdir"
-
-      if test -z "$output_obj"; then
-       # Place PIC objects in $objdir
-       func_append command " -o $lobj"
-      fi
-
-      func_show_eval_locale "$command" \
-          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
-
-      if test warn = "$need_locks" &&
-        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-       $ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support '-c' and '-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $opt_dry_run || $RM $removelist
-       exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-       func_show_eval '$MV "$output_obj" "$lobj"' \
-         'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-
-      # Allow error messages only from the first compilation.
-      if test yes = "$suppress_opt"; then
-       suppress_output=' >/dev/null 2>&1'
-      fi
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test yes = "$build_old_libs"; then
-      if test yes != "$pic_mode"; then
-       # Don't build PIC code
-       command="$base_compile $qsrcfile$pie_flag"
-      else
-       command="$base_compile $qsrcfile $pic_flag"
-      fi
-      if test yes = "$compiler_c_o"; then
-       func_append command " -o $obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      func_append command "$suppress_output"
-      func_show_eval_locale "$command" \
-        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
-
-      if test warn = "$need_locks" &&
-        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-       $ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support '-c' and '-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $opt_dry_run || $RM $removelist
-       exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed
-      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-       func_show_eval '$MV "$output_obj" "$obj"' \
-         'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-    fi
-
-    $opt_dry_run || {
-      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
-
-      # Unlock the critical section if it was locked
-      if test no != "$need_locks"; then
-       removelist=$lockfile
-        $RM "$lockfile"
-      fi
-    }
-
-    exit $EXIT_SUCCESS
-}
-
-$opt_help || {
-  test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
-}
-
-func_mode_help ()
-{
-    # We need to display help for each of the modes.
-    case $opt_mode in
-      "")
-        # Generic help is extracted from the usage comments
-        # at the start of this file.
-        func_help
-        ;;
-
-      clean)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      compile)
-      $ECHO \
-"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -no-suppress      do not suppress compiler output for multiple passes
-  -prefer-pic       try to build PIC objects only
-  -prefer-non-pic   try to build non-PIC objects only
-  -shared           do not build a '.o' file suitable for static linking
-  -static           only build a '.o' file suitable for static linking
-  -Wc,FLAG          pass FLAG directly to the compiler
-
-COMPILE-COMMAND is a command to be used in creating a 'standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix '.c' with the
-library object suffix, '.lo'."
-        ;;
-
-      execute)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to '-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-        ;;
-
-      finish)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the '--dry-run' option if you just want to see what would be executed."
-        ;;
-
-      install)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the 'install' or 'cp' program.
-
-The following components of INSTALL-COMMAND are treated specially:
-
-  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-        ;;
-
-      link)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -bindir BINDIR    specify path to binaries directory (for systems where
-                    libraries must be found in the PATH setting at runtime)
-  -dlopen FILE      '-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-                    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-                    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-fast-install  disable the fast-install mode
-  -no-install       link a not-installable executable
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  use a list of object files found in FILE to specify objects
-  -os2dllname NAME  force a short DLL name on OS/2 (no effect on other OSes)
-  -precious-files-regex REGEX
-                    don't remove output files matching REGEX
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -shared           only do dynamic linking of libtool libraries
-  -shrext SUFFIX    override the standard shared library file extension
-  -static           do not do any dynamic linking of uninstalled libtool libraries
-  -static-libtool-libs
-                    do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-                    specify library version info [each variable defaults to 0]
-  -weak LIBNAME     declare that the target provides the LIBNAME interface
-  -Wc,FLAG
-  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
-  -Wl,FLAG
-  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
-  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
-
-All other options (arguments beginning with '-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in '.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in '.la', then a libtool library is created,
-only library objects ('.lo' files) may be specified, and '-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
-using 'ar' and 'ranlib', or on Windows using 'lib'.
-
-If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
-is created, otherwise an executable program is created."
-        ;;
-
-      uninstall)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      *)
-        func_fatal_help "invalid operation mode '$opt_mode'"
-        ;;
-    esac
-
-    echo
-    $ECHO "Try '$progname --help' for more information about other modes."
-}
-
-# Now that we've collected a possible --mode arg, show help if necessary
-if $opt_help; then
-  if test : = "$opt_help"; then
-    func_mode_help
-  else
-    {
-      func_help noexit
-      for opt_mode in compile link execute install finish uninstall clean; do
-       func_mode_help
-      done
-    } | $SED -n '1p; 2,$s/^Usage:/  or: /p'
-    {
-      func_help noexit
-      for opt_mode in compile link execute install finish uninstall clean; do
-       echo
-       func_mode_help
-      done
-    } |
-    $SED '1d
-      /^When reporting/,/^Report/{
-       H
-       d
-      }
-      $x
-      /information about other modes/d
-      /more detailed .*MODE/d
-      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
-  fi
-  exit $?
-fi
-
-
-# func_mode_execute arg...
-func_mode_execute ()
-{
-    $debug_cmd
-
-    # The first argument is the command name.
-    cmd=$nonopt
-    test -z "$cmd" && \
-      func_fatal_help "you must specify a COMMAND"
-
-    # Handle -dlopen flags immediately.
-    for file in $opt_dlopen; do
-      test -f "$file" \
-       || func_fatal_help "'$file' is not a file"
-
-      dir=
-      case $file in
-      *.la)
-       func_resolve_sysroot "$file"
-       file=$func_resolve_sysroot_result
-
-       # Check to see that this really is a libtool archive.
-       func_lalib_unsafe_p "$file" \
-         || func_fatal_help "'$lib' is not a valid libtool archive"
-
-       # Read the libtool library.
-       dlname=
-       library_names=
-       func_source "$file"
-
-       # Skip this library if it cannot be dlopened.
-       if test -z "$dlname"; then
-         # Warn if it was a shared library.
-         test -n "$library_names" && \
-           func_warning "'$file' was not linked with '-export-dynamic'"
-         continue
-       fi
-
-       func_dirname "$file" "" "."
-       dir=$func_dirname_result
-
-       if test -f "$dir/$objdir/$dlname"; then
-         func_append dir "/$objdir"
-       else
-         if test ! -f "$dir/$dlname"; then
-           func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
-         fi
-       fi
-       ;;
-
-      *.lo)
-       # Just add the directory containing the .lo file.
-       func_dirname "$file" "" "."
-       dir=$func_dirname_result
-       ;;
-
-      *)
-       func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
-       continue
-       ;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir=$absdir
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-       eval "$shlibpath_var=\"\$dir\""
-      else
-       eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic=$magic
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case $file in
-      -* | *.la | *.lo ) ;;
-      *)
-       # Do a test to see if this is really a libtool program.
-       if func_ltwrapper_script_p "$file"; then
-         func_source "$file"
-         # Transform arg to wrapped name.
-         file=$progdir/$program
-       elif func_ltwrapper_executable_p "$file"; then
-         func_ltwrapper_scriptname "$file"
-         func_source "$func_ltwrapper_scriptname_result"
-         # Transform arg to wrapped name.
-         file=$progdir/$program
-       fi
-       ;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      func_append_quoted args "$file"
-    done
-
-    if $opt_dry_run; then
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-       eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-       echo "export $shlibpath_var"
-      fi
-      $ECHO "$cmd$args"
-      exit $EXIT_SUCCESS
-    else
-      if test -n "$shlibpath_var"; then
-       # Export the shlibpath_var.
-       eval "export $shlibpath_var"
-      fi
-
-      # Restore saved environment variables
-      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-      do
-       eval "if test \"\${save_$lt_var+set}\" = set; then
-                $lt_var=\$save_$lt_var; export $lt_var
-             else
-               $lt_unset $lt_var
-             fi"
-      done
-
-      # Now prepare to actually exec the command.
-      exec_cmd=\$cmd$args
-    fi
-}
-
-test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
-
-
-# func_mode_finish arg...
-func_mode_finish ()
-{
-    $debug_cmd
-
-    libs=
-    libdirs=
-    admincmds=
-
-    for opt in "$nonopt" ${1+"$@"}
-    do
-      if test -d "$opt"; then
-       func_append libdirs " $opt"
-
-      elif test -f "$opt"; then
-       if func_lalib_unsafe_p "$opt"; then
-         func_append libs " $opt"
-       else
-         func_warning "'$opt' is not a valid libtool archive"
-       fi
-
-      else
-       func_fatal_error "invalid argument '$opt'"
-      fi
-    done
-
-    if test -n "$libs"; then
-      if test -n "$lt_sysroot"; then
-        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
-        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
-      else
-        sysroot_cmd=
-      fi
-
-      # Remove sysroot references
-      if $opt_dry_run; then
-        for lib in $libs; do
-          echo "removing references to $lt_sysroot and '=' prefixes from $lib"
-        done
-      else
-        tmpdir=`func_mktempdir`
-        for lib in $libs; do
-         $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
-           > $tmpdir/tmp-la
-         mv -f $tmpdir/tmp-la $lib
-       done
-        ${RM}r "$tmpdir"
-      fi
-    fi
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for libdir in $libdirs; do
-       if test -n "$finish_cmds"; then
-         # Do each command in the finish commands.
-         func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
-'"$cmd"'"'
-       fi
-       if test -n "$finish_eval"; then
-         # Do the single finish_eval.
-         eval cmds=\"$finish_eval\"
-         $opt_dry_run || eval "$cmds" || func_append admincmds "
-       $cmds"
-       fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    $opt_quiet && exit $EXIT_SUCCESS
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      echo "----------------------------------------------------------------------"
-      echo "Libraries have been installed in:"
-      for libdir in $libdirs; do
-       $ECHO "   $libdir"
-      done
-      echo
-      echo "If you ever happen to want to link against installed libraries"
-      echo "in a given directory, LIBDIR, you must either use libtool, and"
-      echo "specify the full pathname of the library, or use the '-LLIBDIR'"
-      echo "flag during linking and do at least one of the following:"
-      if test -n "$shlibpath_var"; then
-       echo "   - add LIBDIR to the '$shlibpath_var' environment variable"
-       echo "     during execution"
-      fi
-      if test -n "$runpath_var"; then
-       echo "   - add LIBDIR to the '$runpath_var' environment variable"
-       echo "     during linking"
-      fi
-      if test -n "$hardcode_libdir_flag_spec"; then
-       libdir=LIBDIR
-       eval flag=\"$hardcode_libdir_flag_spec\"
-
-       $ECHO "   - use the '$flag' linker flag"
-      fi
-      if test -n "$admincmds"; then
-       $ECHO "   - have your system administrator run these commands:$admincmds"
-      fi
-      if test -f /etc/ld.so.conf; then
-       echo "   - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
-      fi
-      echo
-
-      echo "See any operating system documentation about shared libraries for"
-      case $host in
-       solaris2.[6789]|solaris2.1[0-9])
-         echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-         echo "pages."
-         ;;
-       *)
-         echo "more information, such as the ld(1) and ld.so(8) manual pages."
-         ;;
-      esac
-      echo "----------------------------------------------------------------------"
-    fi
-    exit $EXIT_SUCCESS
-}
-
-test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
-
-
-# func_mode_install arg...
-func_mode_install ()
-{
-    $debug_cmd
-
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
-       # Allow the use of GNU shtool's install command.
-       case $nonopt in *shtool*) :;; *) false;; esac
-    then
-      # Aesthetically quote it.
-      func_quote_arg pretty "$nonopt"
-      install_prog="$func_quote_arg_result "
-      arg=$1
-      shift
-    else
-      install_prog=
-      arg=$nonopt
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    func_quote_arg pretty "$arg"
-    func_append install_prog "$func_quote_arg_result"
-    install_shared_prog=$install_prog
-    case " $install_prog " in
-      *[\\\ /]cp\ *) install_cp=: ;;
-      *) install_cp=false ;;
-    esac
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=false
-    stripme=
-    no_mode=:
-    for arg
-    do
-      arg2=
-      if test -n "$dest"; then
-       func_append files " $dest"
-       dest=$arg
-       continue
-      fi
-
-      case $arg in
-      -d) isdir=: ;;
-      -f)
-       if $install_cp; then :; else
-         prev=$arg
-       fi
-       ;;
-      -g | -m | -o)
-       prev=$arg
-       ;;
-      -s)
-       stripme=" -s"
-       continue
-       ;;
-      -*)
-       ;;
-      *)
-       # If the previous option needed an argument, then skip it.
-       if test -n "$prev"; then
-         if test X-m = "X$prev" && test -n "$install_override_mode"; then
-           arg2=$install_override_mode
-           no_mode=false
-         fi
-         prev=
-       else
-         dest=$arg
-         continue
-       fi
-       ;;
-      esac
-
-      # Aesthetically quote the argument.
-      func_quote_arg pretty "$arg"
-      func_append install_prog " $func_quote_arg_result"
-      if test -n "$arg2"; then
-       func_quote_arg pretty "$arg2"
-      fi
-      func_append install_shared_prog " $func_quote_arg_result"
-    done
-
-    test -z "$install_prog" && \
-      func_fatal_help "you must specify an install program"
-
-    test -n "$prev" && \
-      func_fatal_help "the '$prev' option requires an argument"
-
-    if test -n "$install_override_mode" && $no_mode; then
-      if $install_cp; then :; else
-       func_quote_arg pretty "$install_override_mode"
-       func_append install_shared_prog " -m $func_quote_arg_result"
-      fi
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-       func_fatal_help "no file or destination specified"
-      else
-       func_fatal_help "you must specify a destination"
-      fi
-    fi
-
-    # Strip any trailing slash from the destination.
-    func_stripname '' '/' "$dest"
-    dest=$func_stripname_result
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=:
-    if $isdir; then
-      destdir=$dest
-      destname=
-    else
-      func_dirname_and_basename "$dest" "" "."
-      destdir=$func_dirname_result
-      destname=$func_basename_result
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files; shift
-      test "$#" -gt 1 && \
-       func_fatal_help "'$dest' is not a directory"
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-       case $file in
-       *.lo) ;;
-       *)
-         func_fatal_help "'$destdir' must be an absolute directory name"
-         ;;
-       esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic=$magic
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case $file in
-      *.$libext)
-       # Do the static libraries later.
-       func_append staticlibs " $file"
-       ;;
-
-      *.la)
-       func_resolve_sysroot "$file"
-       file=$func_resolve_sysroot_result
-
-       # Check to see that this really is a libtool archive.
-       func_lalib_unsafe_p "$file" \
-         || func_fatal_help "'$file' is not a valid libtool archive"
-
-       library_names=
-       old_library=
-       relink_command=
-       func_source "$file"
-
-       # Add the libdir to current_libdirs if it is the destination.
-       if test "X$destdir" = "X$libdir"; then
-         case "$current_libdirs " in
-         *" $libdir "*) ;;
-         *) func_append current_libdirs " $libdir" ;;
-         esac
-       else
-         # Note the libdir as a future libdir.
-         case "$future_libdirs " in
-         *" $libdir "*) ;;
-         *) func_append future_libdirs " $libdir" ;;
-         esac
-       fi
-
-       func_dirname "$file" "/" ""
-       dir=$func_dirname_result
-       func_append dir "$objdir"
-
-       if test -n "$relink_command"; then
-         # Determine the prefix the user has applied to our future dir.
-         inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
-
-         # Don't allow the user to place us outside of our expected
-         # location b/c this prevents finding dependent libraries that
-         # are installed to the same prefix.
-         # At present, this check doesn't affect windows .dll's that
-         # are installed into $libdir/../bin (currently, that works fine)
-         # but it's something to keep an eye on.
-         test "$inst_prefix_dir" = "$destdir" && \
-           func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
-
-         if test -n "$inst_prefix_dir"; then
-           # Stick the inst_prefix_dir data into the link command.
-           relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
-         else
-           relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
-         fi
-
-         func_warning "relinking '$file'"
-         func_show_eval "$relink_command" \
-           'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
-       fi
-
-       # See the names of the shared library.
-       set dummy $library_names; shift
-       if test -n "$1"; then
-         realname=$1
-         shift
-
-         srcname=$realname
-         test -n "$relink_command" && srcname=${realname}T
-
-         # Install the shared library and build the symlinks.
-         func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
-             'exit $?'
-         tstripme=$stripme
-         case $host_os in
-         cygwin* | mingw* | pw32* | cegcc*)
-           case $realname in
-           *.dll.a)
-             tstripme=
-             ;;
-           esac
-           ;;
-         os2*)
-           case $realname in
-           *_dll.a)
-             tstripme=
-             ;;
-           esac
-           ;;
-         esac
-         if test -n "$tstripme" && test -n "$striplib"; then
-           func_show_eval "$striplib $destdir/$realname" 'exit $?'
-         fi
-
-         if test "$#" -gt 0; then
-           # Delete the old symlinks, and create new ones.
-           # Try 'ln -sf' first, because the 'ln' binary might depend on
-           # the symlink we replace!  Solaris /bin/ln does not understand -f,
-           # so we also need to try rm && ln -s.
-           for linkname
-           do
-             test "$linkname" != "$realname" \
-               && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
-           done
-         fi
-
-         # Do each command in the postinstall commands.
-         lib=$destdir/$realname
-         func_execute_cmds "$postinstall_cmds" 'exit $?'
-       fi
-
-       # Install the pseudo-library for information purposes.
-       func_basename "$file"
-       name=$func_basename_result
-       instname=$dir/${name}i
-       func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
-
-       # Maybe install the static library, too.
-       test -n "$old_library" && func_append staticlibs " $dir/$old_library"
-       ;;
-
-      *.lo)
-       # Install (i.e. copy) a libtool object.
-
-       # Figure out destination file name, if it wasn't already specified.
-       if test -n "$destname"; then
-         destfile=$destdir/$destname
-       else
-         func_basename "$file"
-         destfile=$func_basename_result
-         destfile=$destdir/$destfile
-       fi
-
-       # Deduce the name of the destination old-style object file.
-       case $destfile in
-       *.lo)
-         func_lo2o "$destfile"
-         staticdest=$func_lo2o_result
-         ;;
-       *.$objext)
-         staticdest=$destfile
-         destfile=
-         ;;
-       *)
-         func_fatal_help "cannot copy a libtool object to '$destfile'"
-         ;;
-       esac
-
-       # Install the libtool object if requested.
-       test -n "$destfile" && \
-         func_show_eval "$install_prog $file $destfile" 'exit $?'
-
-       # Install the old object if enabled.
-       if test yes = "$build_old_libs"; then
-         # Deduce the name of the old-style object file.
-         func_lo2o "$file"
-         staticobj=$func_lo2o_result
-         func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
-       fi
-       exit $EXIT_SUCCESS
-       ;;
-
-      *)
-       # Figure out destination file name, if it wasn't already specified.
-       if test -n "$destname"; then
-         destfile=$destdir/$destname
-       else
-         func_basename "$file"
-         destfile=$func_basename_result
-         destfile=$destdir/$destfile
-       fi
-
-       # If the file is missing, and there is a .exe on the end, strip it
-       # because it is most likely a libtool script we actually want to
-       # install
-       stripped_ext=
-       case $file in
-         *.exe)
-           if test ! -f "$file"; then
-             func_stripname '' '.exe' "$file"
-             file=$func_stripname_result
-             stripped_ext=.exe
-           fi
-           ;;
-       esac
-
-       # Do a test to see if this is really a libtool program.
-       case $host in
-       *cygwin* | *mingw*)
-           if func_ltwrapper_executable_p "$file"; then
-             func_ltwrapper_scriptname "$file"
-             wrapper=$func_ltwrapper_scriptname_result
-           else
-             func_stripname '' '.exe' "$file"
-             wrapper=$func_stripname_result
-           fi
-           ;;
-       *)
-           wrapper=$file
-           ;;
-       esac
-       if func_ltwrapper_script_p "$wrapper"; then
-         notinst_deplibs=
-         relink_command=
-
-         func_source "$wrapper"
-
-         # Check the variables that should have been set.
-         test -z "$generated_by_libtool_version" && \
-           func_fatal_error "invalid libtool wrapper script '$wrapper'"
-
-         finalize=:
-         for lib in $notinst_deplibs; do
-           # Check to see that each library is installed.
-           libdir=
-           if test -f "$lib"; then
-             func_source "$lib"
-           fi
-           libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
-           if test -n "$libdir" && test ! -f "$libfile"; then
-             func_warning "'$lib' has not been installed in '$libdir'"
-             finalize=false
-           fi
-         done
-
-         relink_command=
-         func_source "$wrapper"
-
-         outputname=
-         if test no = "$fast_install" && test -n "$relink_command"; then
-           $opt_dry_run || {
-             if $finalize; then
-               tmpdir=`func_mktempdir`
-               func_basename "$file$stripped_ext"
-               file=$func_basename_result
-               outputname=$tmpdir/$file
-               # Replace the output file specification.
-               relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
-
-               $opt_quiet || {
-                 func_quote_arg expand,pretty "$relink_command"
-                 eval "func_echo $func_quote_arg_result"
-               }
-               if eval "$relink_command"; then :
-                 else
-                 func_error "error: relink '$file' with the above command before installing it"
-                 $opt_dry_run || ${RM}r "$tmpdir"
-                 continue
-               fi
-               file=$outputname
-             else
-               func_warning "cannot relink '$file'"
-             fi
-           }
-         else
-           # Install the binary that we compiled earlier.
-           file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
-         fi
-       fi
-
-       # remove .exe since cygwin /usr/bin/install will append another
-       # one anyway
-       case $install_prog,$host in
-       */usr/bin/install*,*cygwin*)
-         case $file:$destfile in
-         *.exe:*.exe)
-           # this is ok
-           ;;
-         *.exe:*)
-           destfile=$destfile.exe
-           ;;
-         *:*.exe)
-           func_stripname '' '.exe' "$destfile"
-           destfile=$func_stripname_result
-           ;;
-         esac
-         ;;
-       esac
-       func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
-       $opt_dry_run || if test -n "$outputname"; then
-         ${RM}r "$tmpdir"
-       fi
-       ;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      func_basename "$file"
-      name=$func_basename_result
-
-      # Set up the ranlib parameters.
-      oldlib=$destdir/$name
-      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
-      tool_oldlib=$func_to_tool_file_result
-
-      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
-
-      if test -n "$stripme" && test -n "$old_striplib"; then
-       func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
-      fi
-
-      # Do each command in the postinstall commands.
-      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
-    done
-
-    test -n "$future_libdirs" && \
-      func_warning "remember to run '$progname --finish$future_libdirs'"
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      $opt_dry_run && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
-    else
-      exit $EXIT_SUCCESS
-    fi
-}
-
-test install = "$opt_mode" && func_mode_install ${1+"$@"}
-
-
-# func_generate_dlsyms outputname originator pic_p
-# Extract symbols from dlprefiles and create ${outputname}S.o with
-# a dlpreopen symbol table.
-func_generate_dlsyms ()
-{
-    $debug_cmd
-
-    my_outputname=$1
-    my_originator=$2
-    my_pic_p=${3-false}
-    my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
-    my_dlsyms=
-
-    if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
-      if test -n "$NM" && test -n "$global_symbol_pipe"; then
-       my_dlsyms=${my_outputname}S.c
-      else
-       func_error "not configured to extract global symbols from dlpreopened files"
-      fi
-    fi
-
-    if test -n "$my_dlsyms"; then
-      case $my_dlsyms in
-      "") ;;
-      *.c)
-       # Discover the nlist of each of the dlfiles.
-       nlist=$output_objdir/$my_outputname.nm
-
-       func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
-
-       # Parse the name list into a source file.
-       func_verbose "creating $output_objdir/$my_dlsyms"
-
-       $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
-#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
-#endif
-
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
-/* DATA imports from DLLs on WIN32 can't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined __osf__
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
-
-/* External symbol declarations for the compiler. */\
-"
-
-       if test yes = "$dlself"; then
-         func_verbose "generating symbol list for '$output'"
-
-         $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
-
-         # Add our own program objects to the symbol list.
-         progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
-         for progfile in $progfiles; do
-           func_to_tool_file "$progfile" func_convert_file_msys_to_w32
-           func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
-           $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
-         done
-
-         if test -n "$exclude_expsyms"; then
-           $opt_dry_run || {
-             eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-             eval '$MV "$nlist"T "$nlist"'
-           }
-         fi
-
-         if test -n "$export_symbols_regex"; then
-           $opt_dry_run || {
-             eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-             eval '$MV "$nlist"T "$nlist"'
-           }
-         fi
-
-         # Prepare the list of exported symbols
-         if test -z "$export_symbols"; then
-           export_symbols=$output_objdir/$outputname.exp
-           $opt_dry_run || {
-             $RM $export_symbols
-             eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-             case $host in
-             *cygwin* | *mingw* | *cegcc* )
-                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-               ;;
-             esac
-           }
-         else
-           $opt_dry_run || {
-             eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-             eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-             eval '$MV "$nlist"T "$nlist"'
-             case $host in
-               *cygwin* | *mingw* | *cegcc* )
-                 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-                 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-                 ;;
-             esac
-           }
-         fi
-       fi
-
-       for dlprefile in $dlprefiles; do
-         func_verbose "extracting global C symbols from '$dlprefile'"
-         func_basename "$dlprefile"
-         name=$func_basename_result
-          case $host in
-           *cygwin* | *mingw* | *cegcc* )
-             # if an import library, we need to obtain dlname
-             if func_win32_import_lib_p "$dlprefile"; then
-               func_tr_sh "$dlprefile"
-               eval "curr_lafile=\$libfile_$func_tr_sh_result"
-               dlprefile_dlbasename=
-               if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
-                 # Use subshell, to avoid clobbering current variable values
-                 dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
-                 if test -n "$dlprefile_dlname"; then
-                   func_basename "$dlprefile_dlname"
-                   dlprefile_dlbasename=$func_basename_result
-                 else
-                   # no lafile. user explicitly requested -dlpreopen <import library>.
-                   $sharedlib_from_linklib_cmd "$dlprefile"
-                   dlprefile_dlbasename=$sharedlib_from_linklib_result
-                 fi
-               fi
-               $opt_dry_run || {
-                 if test -n "$dlprefile_dlbasename"; then
-                   eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
-                 else
-                   func_warning "Could not compute DLL name from $name"
-                   eval '$ECHO ": $name " >> "$nlist"'
-                 fi
-                 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-                 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
-                   $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
-               }
-             else # not an import lib
-               $opt_dry_run || {
-                 eval '$ECHO ": $name " >> "$nlist"'
-                 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-                 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-               }
-             fi
-           ;;
-           *)
-             $opt_dry_run || {
-               eval '$ECHO ": $name " >> "$nlist"'
-               func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-               eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-             }
-           ;;
-          esac
-       done
-
-       $opt_dry_run || {
-         # Make sure we have at least an empty file.
-         test -f "$nlist" || : > "$nlist"
-
-         if test -n "$exclude_expsyms"; then
-           $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-           $MV "$nlist"T "$nlist"
-         fi
-
-         # Try sorting and uniquifying the output.
-         if $GREP -v "^: " < "$nlist" |
-             if sort -k 3 </dev/null >/dev/null 2>&1; then
-               sort -k 3
-             else
-               sort +2
-             fi |
-             uniq > "$nlist"S; then
-           :
-         else
-           $GREP -v "^: " < "$nlist" > "$nlist"S
-         fi
-
-         if test -f "$nlist"S; then
-           eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
-         else
-           echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
-         fi
-
-         func_show_eval '$RM "${nlist}I"'
-         if test -n "$global_symbol_to_import"; then
-           eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
-         fi
-
-         echo >> "$output_objdir/$my_dlsyms" "\
-
-/* The mapping between symbol names and symbols.  */
-typedef struct {
-  const char *name;
-  void *address;
-} lt_dlsymlist;
-extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];\
-"
-
-         if test -s "$nlist"I; then
-           echo >> "$output_objdir/$my_dlsyms" "\
-static void lt_syminit(void)
-{
-  LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
-  for (; symbol->name; ++symbol)
-    {"
-           $SED 's/.*/      if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
-           echo >> "$output_objdir/$my_dlsyms" "\
-    }
-}"
-         fi
-         echo >> "$output_objdir/$my_dlsyms" "\
-LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[] =
-{ {\"$my_originator\", (void *) 0},"
-
-         if test -s "$nlist"I; then
-           echo >> "$output_objdir/$my_dlsyms" "\
-  {\"@INIT@\", (void *) &lt_syminit},"
-         fi
-
-         case $need_lib_prefix in
-         no)
-           eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
-           ;;
-         *)
-           eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
-           ;;
-         esac
-         echo >> "$output_objdir/$my_dlsyms" "\
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_${my_prefix}_LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-       } # !$opt_dry_run
-
-       pic_flag_for_symtable=
-       case "$compile_command " in
-       *" -static "*) ;;
-       *)
-         case $host in
-         # compiling the symbol table file with pic_flag works around
-         # a FreeBSD bug that causes programs to crash when -lm is
-         # linked before any other PIC object.  But we must not use
-         # pic_flag when linking with -static.  The problem exists in
-         # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-         *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-           pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
-         *-*-hpux*)
-           pic_flag_for_symtable=" $pic_flag"  ;;
-         *)
-           $my_pic_p && pic_flag_for_symtable=" $pic_flag"
-           ;;
-         esac
-         ;;
-       esac
-       symtab_cflags=
-       for arg in $LTCFLAGS; do
-         case $arg in
-         -pie | -fpie | -fPIE) ;;
-         *) func_append symtab_cflags " $arg" ;;
-         esac
-       done
-
-       # Now compile the dynamic symbol file.
-       func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
-
-       # Clean up the generated files.
-       func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
-
-       # Transform the symbol file into the correct name.
-       symfileobj=$output_objdir/${my_outputname}S.$objext
-       case $host in
-       *cygwin* | *mingw* | *cegcc* )
-         if test -f "$output_objdir/$my_outputname.def"; then
-           compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-           finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-         else
-           compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-           finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-         fi
-         ;;
-       *)
-         compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-         finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-         ;;
-       esac
-       ;;
-      *)
-       func_fatal_error "unknown suffix for '$my_dlsyms'"
-       ;;
-      esac
-    else
-      # We keep going just in case the user didn't refer to
-      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-      # really was required.
-
-      # Nullify the symbol file.
-      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
-      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
-    fi
-}
-
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
-  $debug_cmd
-
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
-  test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
-  $debug_cmd
-
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
-  test -n "$func_cygming_ms_implib_tmp"
-}
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-# Despite the name, also deal with 64 bit binaries.
-func_win32_libid ()
-{
-  $debug_cmd
-
-  win32_libid_type=unknown
-  win32_fileres=`file -L $1 2>/dev/null`
-  case $win32_fileres in
-  *ar\ archive\ import\ library*) # definitely import
-    win32_libid_type="x86 archive import"
-    ;;
-  *ar\ archive*) # could be an import, or static
-    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
-    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
-      case $nm_interface in
-      "MS dumpbin")
-       if func_cygming_ms_implib_p "$1" ||
-          func_cygming_gnu_implib_p "$1"
-       then
-         win32_nmres=import
-       else
-         win32_nmres=
-       fi
-       ;;
-      *)
-       func_to_tool_file "$1" func_convert_file_msys_to_w32
-       win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
-         $SED -n -e '
-           1,100{
-               / I /{
-                   s|.*|import|
-                   p
-                   q
-               }
-           }'`
-       ;;
-      esac
-      case $win32_nmres in
-      import*)  win32_libid_type="x86 archive import";;
-      *)        win32_libid_type="x86 archive static";;
-      esac
-    fi
-    ;;
-  *DLL*)
-    win32_libid_type="x86 DLL"
-    ;;
-  *executable*) # but shell scripts are "executable" too...
-    case $win32_fileres in
-    *MS\ Windows\ PE\ Intel*)
-      win32_libid_type="x86 DLL"
-      ;;
-    esac
-    ;;
-  esac
-  $ECHO "$win32_libid_type"
-}
-
-# func_cygming_dll_for_implib ARG
-#
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-# Invoked by eval'ing the libtool variable
-#    $sharedlib_from_linklib_cmd
-# Result is available in the variable
-#    $sharedlib_from_linklib_result
-func_cygming_dll_for_implib ()
-{
-  $debug_cmd
-
-  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
-}
-
-# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
-#
-# The is the core of a fallback implementation of a
-# platform-specific function to extract the name of the
-# DLL associated with the specified import library LIBNAME.
-#
-# SECTION_NAME is either .idata$6 or .idata$7, depending
-# on the platform and compiler that created the implib.
-#
-# Echos the name of the DLL associated with the
-# specified import library.
-func_cygming_dll_for_implib_fallback_core ()
-{
-  $debug_cmd
-
-  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
-  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
-    $SED '/^Contents of section '"$match_literal"':/{
-      # Place marker at beginning of archive member dllname section
-      s/.*/====MARK====/
-      p
-      d
-    }
-    # These lines can sometimes be longer than 43 characters, but
-    # are always uninteresting
-    /:[         ]*file format pe[i]\{,1\}-/d
-    /^In archive [^:]*:/d
-    # Ensure marker is printed
-    /^====MARK====/p
-    # Remove all lines with less than 43 characters
-    /^.\{43\}/!d
-    # From remaining lines, remove first 43 characters
-    s/^.\{43\}//' |
-    $SED -n '
-      # Join marker and all lines until next marker into a single line
-      /^====MARK====/ b para
-      H
-      $ b para
-      b
-      :para
-      x
-      s/\n//g
-      # Remove the marker
-      s/^====MARK====//
-      # Remove trailing dots and whitespace
-      s/[\. \t]*$//
-      # Print
-      /./p' |
-    # we now have a list, one entry per line, of the stringified
-    # contents of the appropriate section of all members of the
-    # archive that possess that section. Heuristic: eliminate
-    # all those that have a first or second character that is
-    # a '.' (that is, objdump's representation of an unprintable
-    # character.) This should work for all archives with less than
-    # 0x302f exports -- but will fail for DLLs whose name actually
-    # begins with a literal '.' or a single character followed by
-    # a '.'.
-    #
-    # Of those that remain, print the first one.
-    $SED -e '/^\./d;/^.\./d;q'
-}
-
-# func_cygming_dll_for_implib_fallback ARG
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-#
-# This fallback implementation is for use when $DLLTOOL
-# does not support the --identify-strict option.
-# Invoked by eval'ing the libtool variable
-#    $sharedlib_from_linklib_cmd
-# Result is available in the variable
-#    $sharedlib_from_linklib_result
-func_cygming_dll_for_implib_fallback ()
-{
-  $debug_cmd
-
-  if func_cygming_gnu_implib_p "$1"; then
-    # binutils import library
-    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
-  elif func_cygming_ms_implib_p "$1"; then
-    # ms-generated import library
-    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
-  else
-    # unknown
-    sharedlib_from_linklib_result=
-  fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
-    $debug_cmd
-
-    f_ex_an_ar_dir=$1; shift
-    f_ex_an_ar_oldlib=$1
-    if test yes = "$lock_old_archive_extraction"; then
-      lockfile=$f_ex_an_ar_oldlib.lock
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-       func_echo "Waiting for $lockfile to be removed"
-       sleep 2
-      done
-    fi
-    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
-                  'stat=$?; rm -f "$lockfile"; exit $stat'
-    if test yes = "$lock_old_archive_extraction"; then
-      $opt_dry_run || rm -f "$lockfile"
-    fi
-    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-     :
-    else
-      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
-    fi
-}
-
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
-    $debug_cmd
-
-    my_gentop=$1; shift
-    my_oldlibs=${1+"$@"}
-    my_oldobjs=
-    my_xlib=
-    my_xabs=
-    my_xdir=
-
-    for my_xlib in $my_oldlibs; do
-      # Extract the objects.
-      case $my_xlib in
-       [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
-       *) my_xabs=`pwd`"/$my_xlib" ;;
-      esac
-      func_basename "$my_xlib"
-      my_xlib=$func_basename_result
-      my_xlib_u=$my_xlib
-      while :; do
-        case " $extracted_archives " in
-       *" $my_xlib_u "*)
-         func_arith $extracted_serial + 1
-         extracted_serial=$func_arith_result
-         my_xlib_u=lt$extracted_serial-$my_xlib ;;
-       *) break ;;
-       esac
-      done
-      extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir=$my_gentop/$my_xlib_u
-
-      func_mkdir_p "$my_xdir"
-
-      case $host in
-      *-darwin*)
-       func_verbose "Extracting $my_xabs"
-       # Do not bother doing anything if just a dry run
-       $opt_dry_run || {
-         darwin_orig_dir=`pwd`
-         cd $my_xdir || exit $?
-         darwin_archive=$my_xabs
-         darwin_curdir=`pwd`
-         func_basename "$darwin_archive"
-         darwin_base_archive=$func_basename_result
-         darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
-         if test -n "$darwin_arches"; then
-           darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
-           darwin_arch=
-           func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
-           for darwin_arch in  $darwin_arches; do
-             func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
-             $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
-             cd "unfat-$$/$darwin_base_archive-$darwin_arch"
-             func_extract_an_archive "`pwd`" "$darwin_base_archive"
-             cd "$darwin_curdir"
-             $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
-           done # $darwin_arches
-            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
-           darwin_file=
-           darwin_files=
-           for darwin_file in $darwin_filelist; do
-             darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
-             $LIPO -create -output "$darwin_file" $darwin_files
-           done # $darwin_filelist
-           $RM -rf unfat-$$
-           cd "$darwin_orig_dir"
-         else
-           cd $darwin_orig_dir
-           func_extract_an_archive "$my_xdir" "$my_xabs"
-         fi # $darwin_arches
-       } # !$opt_dry_run
-       ;;
-      *)
-        func_extract_an_archive "$my_xdir" "$my_xabs"
-       ;;
-      esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
-    done
-
-    func_extract_archives_result=$my_oldobjs
-}
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable.  Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take.  If 'yes', then the emitted script
-# will assume that the directory where it is stored is
-# the $objdir directory.  This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
-       func_emit_wrapper_arg1=${1-no}
-
-       $ECHO "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variables:
-  generated_by_libtool_version='$macro_version'
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$ECHO are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    file=\"\$0\""
-
-    func_quote_arg pretty "$ECHO"
-    qECHO=$func_quote_arg_result
-    $ECHO "\
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-    ECHO=$qECHO
-  fi
-
-# Very basic option parsing. These options are (a) specific to
-# the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ that is used only on
-# windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options that match
-# this pattern).
-#
-# There are only two supported options: --lt-debug and
-# --lt-dump-script. There is, deliberately, no --lt-help.
-#
-# The first argument to this parsing function should be the
-# script's $0 value, followed by "$@".
-lt_option_debug=
-func_parse_lt_options ()
-{
-  lt_script_arg0=\$0
-  shift
-  for lt_opt
-  do
-    case \"\$lt_opt\" in
-    --lt-debug) lt_option_debug=1 ;;
-    --lt-dump-script)
-        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
-        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
-        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
-        cat \"\$lt_dump_D/\$lt_dump_F\"
-        exit 0
-      ;;
-    --lt-*)
-        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
-        exit 1
-      ;;
-    esac
-  done
-
-  # Print the debug banner immediately:
-  if test -n \"\$lt_option_debug\"; then
-    echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
-  fi
-}
-
-# Used when --lt-debug. Prints its arguments to stdout
-# (redirection is the responsibility of the caller)
-func_lt_dump_args ()
-{
-  lt_dump_args_N=1;
-  for lt_arg
-  do
-    \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
-    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
-  done
-}
-
-# Core function for launching the target application
-func_exec_program_core ()
-{
-"
-  case $host in
-  # Backslashes separate directories on plain windows
-  *-*-mingw | *-*-os2* | *-cegcc*)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-    ;;
-
-  *)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-    ;;
-  esac
-  $ECHO "\
-      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-      exit 1
-}
-
-# A function to encapsulate launching the target application
-# Strips options in the --lt-* namespace from \$@ and
-# launches target application with the remaining arguments.
-func_exec_program ()
-{
-  case \" \$* \" in
-  *\\ --lt-*)
-    for lt_wr_arg
-    do
-      case \$lt_wr_arg in
-      --lt-*) ;;
-      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
-      esac
-      shift
-    done ;;
-  esac
-  func_exec_program_core \${1+\"\$@\"}
-}
-
-  # Parse options
-  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
-  done
-
-  # Usually 'no', except on cygwin/mingw when embedded into
-  # the cwrapper.
-  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
-  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
-    # special case for '.'
-    if test \"\$thisdir\" = \".\"; then
-      thisdir=\`pwd\`
-    fi
-    # remove .libs from thisdir
-    case \"\$thisdir\" in
-    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
-    $objdir )   thisdir=. ;;
-    esac
-  fi
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-       if test yes = "$fast_install"; then
-         $ECHO "\
-  program=lt-'$outputname'$exeext
-  progdir=\"\$thisdir/$objdir\"
-
-  if test ! -f \"\$progdir/\$program\" ||
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $MKDIR \"\$progdir\"
-    else
-      $RM \"\$progdir/\$file\"
-    fi"
-
-         $ECHO "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-       \$ECHO \"\$relink_command_output\" >&2
-       $RM \"\$progdir/\$file\"
-       exit 1
-      fi
-    fi
-
-    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $RM \"\$progdir/\$program\";
-      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $RM \"\$progdir/\$file\"
-  fi"
-       else
-         $ECHO "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-       fi
-
-       $ECHO "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-       # fixup the dll searchpath if we need to.
-       #
-       # Fix the DLL searchpath if we need to.  Do this before prepending
-       # to shlibpath, because on Windows, both are PATH and uninstalled
-       # libraries must come first.
-       if test -n "$dllsearchpath"; then
-         $ECHO "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-       fi
-
-       # Export our shlibpath_var if we have one.
-       if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-         $ECHO "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-       fi
-
-       $ECHO "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-      func_exec_program \${1+\"\$@\"}
-    fi
-  else
-    # The program doesn't exist.
-    \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
-    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
-    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit 1
-  fi
-fi\
-"
-}
-
-
-# func_emit_cwrapperexe_src
-# emit the source code for a wrapper executable on stdout
-# Must ONLY be called from within func_mode_link because
-# it depends on a number of variable set therein.
-func_emit_cwrapperexe_src ()
-{
-       cat <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-
-   The $output program cannot be directly executed until all the libtool
-   libraries that it depends on are installed.
-
-   This wrapper executable should never be moved out of the build directory.
-   If it is, it will not operate correctly.
-*/
-EOF
-           cat <<"EOF"
-#ifdef _MSC_VER
-# define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef _MSC_VER
-# include <direct.h>
-# include <process.h>
-# include <io.h>
-#else
-# include <unistd.h>
-# include <stdint.h>
-# ifdef __CYGWIN__
-#  include <io.h>
-# endif
-#endif
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
-
-/* declarations of non-ANSI functions */
-#if defined __MINGW32__
-# ifdef __STRICT_ANSI__
-int _putenv (const char *);
-# endif
-#elif defined __CYGWIN__
-# ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-# endif
-/* #elif defined other_platform || defined ... */
-#endif
-
-/* portability defines, excluding path handling macros */
-#if defined _MSC_VER
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-# define S_IXUSR _S_IEXEC
-#elif defined __MINGW32__
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-#elif defined __CYGWIN__
-# define HAVE_SETENV
-# define FOPEN_WB "wb"
-/* #elif defined other platforms ... */
-#endif
-
-#if defined PATH_MAX
-# define LT_PATHMAX PATH_MAX
-#elif defined MAXPATHLEN
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef S_IXOTH
-# define S_IXOTH 0
-#endif
-#ifndef S_IXGRP
-# define S_IXGRP 0
-#endif
-
-/* path handling portability macros */
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
-  defined __OS2__
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# define FOPEN_WB "wb"
-# ifndef DIR_SEPARATOR_2
-#  define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-#  define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
-       (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#ifndef FOPEN_WB
-# define FOPEN_WB "w"
-#endif
-#ifndef _O_BINARY
-# define _O_BINARY 0
-#endif
-
-#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
-  if (stale) { free (stale); stale = 0; } \
-} while (0)
-
-#if defined LT_DEBUGWRAPPER
-static int lt_debug = 1;
-#else
-static int lt_debug = 0;
-#endif
-
-const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
-
-void *xmalloc (size_t num);
-char *xstrdup (const char *string);
-const char *base_name (const char *name);
-char *find_executable (const char *wrapper);
-char *chase_symlinks (const char *pathspec);
-int make_executable (const char *path);
-int check_executable (const char *path);
-char *strendzap (char *str, const char *pat);
-void lt_debugprintf (const char *file, int line, const char *fmt, ...);
-void lt_fatal (const char *file, int line, const char *message, ...);
-static const char *nonnull (const char *s);
-static const char *nonempty (const char *s);
-void lt_setenv (const char *name, const char *value);
-char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_update_exe_path (const char *name, const char *value);
-void lt_update_lib_path (const char *name, const char *value);
-char **prepare_spawn (char **argv);
-void lt_dump_script (FILE *f);
-EOF
-
-           cat <<EOF
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
-# define externally_visible volatile
-#else
-# define externally_visible __attribute__((externally_visible)) volatile
-#endif
-externally_visible const char * MAGIC_EXE = "$magic_exe";
-const char * LIB_PATH_VARNAME = "$shlibpath_var";
-EOF
-
-           if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-              func_to_host_path "$temp_rpath"
-             cat <<EOF
-const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
-EOF
-           else
-             cat <<"EOF"
-const char * LIB_PATH_VALUE   = "";
-EOF
-           fi
-
-           if test -n "$dllsearchpath"; then
-              func_to_host_path "$dllsearchpath:"
-             cat <<EOF
-const char * EXE_PATH_VARNAME = "PATH";
-const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
-EOF
-           else
-             cat <<"EOF"
-const char * EXE_PATH_VARNAME = "";
-const char * EXE_PATH_VALUE   = "";
-EOF
-           fi
-
-           if test yes = "$fast_install"; then
-             cat <<EOF
-const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
-EOF
-           else
-             cat <<EOF
-const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
-EOF
-           fi
-
-
-           cat <<"EOF"
-
-#define LTWRAPPER_OPTION_PREFIX         "--lt-"
-
-static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
-static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
-
-int
-main (int argc, char *argv[])
-{
-  char **newargz;
-  int  newargc;
-  char *tmp_pathspec;
-  char *actual_cwrapper_path;
-  char *actual_cwrapper_name;
-  char *target_name;
-  char *lt_argv_zero;
-  int rval = 127;
-
-  int i;
-
-  program_name = (char *) xstrdup (base_name (argv[0]));
-  newargz = XMALLOC (char *, (size_t) argc + 1);
-
-  /* very simple arg parsing; don't want to rely on getopt
-   * also, copy all non cwrapper options to newargz, except
-   * argz[0], which is handled differently
-   */
-  newargc=0;
-  for (i = 1; i < argc; i++)
-    {
-      if (STREQ (argv[i], dumpscript_opt))
-       {
-EOF
-           case $host in
-             *mingw* | *cygwin* )
-               # make stdout use "unix" line endings
-               echo "          setmode(1,_O_BINARY);"
-               ;;
-             esac
-
-           cat <<"EOF"
-         lt_dump_script (stdout);
-         return 0;
-       }
-      if (STREQ (argv[i], debug_opt))
-       {
-          lt_debug = 1;
-          continue;
-       }
-      if (STREQ (argv[i], ltwrapper_option_prefix))
-        {
-          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-             namespace, but it is not one of the ones we know about and
-             have already dealt with, above (inluding dump-script), then
-             report an error. Otherwise, targets might begin to believe
-             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-             namespace. The first time any user complains about this, we'll
-             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-             or a configure.ac-settable value.
-           */
-          lt_fatal (__FILE__, __LINE__,
-                   "unrecognized %s option: '%s'",
-                    ltwrapper_option_prefix, argv[i]);
-        }
-      /* otherwise ... */
-      newargz[++newargc] = xstrdup (argv[i]);
-    }
-  newargz[++newargc] = NULL;
-
-EOF
-           cat <<EOF
-  /* The GNU banner must be the first non-error debug message */
-  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
-EOF
-           cat <<"EOF"
-  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
-
-  tmp_pathspec = find_executable (argv[0]);
-  if (tmp_pathspec == NULL)
-    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (before symlink chase) at: %s\n",
-                 tmp_pathspec);
-
-  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (after symlink chase) at: %s\n",
-                 actual_cwrapper_path);
-  XFREE (tmp_pathspec);
-
-  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
-  strendzap (actual_cwrapper_path, actual_cwrapper_name);
-
-  /* wrapper name transforms */
-  strendzap (actual_cwrapper_name, ".exe");
-  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
-  XFREE (actual_cwrapper_name);
-  actual_cwrapper_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  /* target_name transforms -- use actual target program name; might have lt- prefix */
-  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
-  strendzap (target_name, ".exe");
-  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
-  XFREE (target_name);
-  target_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  lt_debugprintf (__FILE__, __LINE__,
-                 "(main) libtool target name: %s\n",
-                 target_name);
-EOF
-
-           cat <<EOF
-  newargz[0] =
-    XMALLOC (char, (strlen (actual_cwrapper_path) +
-                   strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
-  strcpy (newargz[0], actual_cwrapper_path);
-  strcat (newargz[0], "$objdir");
-  strcat (newargz[0], "/");
-EOF
-
-           cat <<"EOF"
-  /* stop here, and copy so we don't have to do this twice */
-  tmp_pathspec = xstrdup (newargz[0]);
-
-  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
-  strcat (newargz[0], actual_cwrapper_name);
-
-  /* DO want the lt- prefix here if it exists, so use target_name */
-  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
-  XFREE (tmp_pathspec);
-  tmp_pathspec = NULL;
-EOF
-
-           case $host_os in
-             mingw*)
-           cat <<"EOF"
-  {
-    char* p;
-    while ((p = strchr (newargz[0], '\\')) != NULL)
-      {
-       *p = '/';
-      }
-    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
-      {
-       *p = '/';
-      }
-  }
-EOF
-           ;;
-           esac
-
-           cat <<"EOF"
-  XFREE (target_name);
-  XFREE (actual_cwrapper_path);
-  XFREE (actual_cwrapper_name);
-
-  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
-  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
-  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
-     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
-     because on Windows, both *_VARNAMEs are PATH but uninstalled
-     libraries must come first. */
-  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
-  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
-
-  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
-                 nonnull (lt_argv_zero));
-  for (i = 0; i < newargc; i++)
-    {
-      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
-                     i, nonnull (newargz[i]));
-    }
-
-EOF
-
-           case $host_os in
-             mingw*)
-               cat <<"EOF"
-  /* execv doesn't actually work on mingw as expected on unix */
-  newargz = prepare_spawn (newargz);
-  rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
-  if (rval == -1)
-    {
-      /* failed to start process */
-      lt_debugprintf (__FILE__, __LINE__,
-                     "(main) failed to launch target \"%s\": %s\n",
-                     lt_argv_zero, nonnull (strerror (errno)));
-      return 127;
-    }
-  return rval;
-EOF
-               ;;
-             *)
-               cat <<"EOF"
-  execv (lt_argv_zero, newargz);
-  return rval; /* =127, but avoids unused variable warning */
-EOF
-               ;;
-           esac
-
-           cat <<"EOF"
-}
-
-void *
-xmalloc (size_t num)
-{
-  void *p = (void *) malloc (num);
-  if (!p)
-    lt_fatal (__FILE__, __LINE__, "memory exhausted");
-
-  return p;
-}
-
-char *
-xstrdup (const char *string)
-{
-  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
-                         string) : NULL;
-}
-
-const char *
-base_name (const char *name)
-{
-  const char *base;
-
-#if defined HAVE_DOS_BASED_FILE_SYSTEM
-  /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
-    name += 2;
-#endif
-
-  for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
-      base = name + 1;
-  return base;
-}
-
-int
-check_executable (const char *path)
-{
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if ((stat (path, &st) >= 0)
-      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
-    return 1;
-  else
-    return 0;
-}
-
-int
-make_executable (const char *path)
-{
-  int rval = 0;
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if (stat (path, &st) >= 0)
-    {
-      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
-    }
-  return rval;
-}
-
-/* Searches for the full path of the wrapper.  Returns
-   newly allocated full path name if found, NULL otherwise
-   Does not chase symlinks, even on platforms that support them.
-*/
-char *
-find_executable (const char *wrapper)
-{
-  int has_slash = 0;
-  const char *p;
-  const char *p_next;
-  /* static buffer for getcwd */
-  char tmp[LT_PATHMAX + 1];
-  size_t tmp_len;
-  char *concat_name;
-
-  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
-                  nonempty (wrapper));
-
-  if ((wrapper == NULL) || (*wrapper == '\0'))
-    return NULL;
-
-  /* Absolute path? */
-#if defined HAVE_DOS_BASED_FILE_SYSTEM
-  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
-    {
-      concat_name = xstrdup (wrapper);
-      if (check_executable (concat_name))
-       return concat_name;
-      XFREE (concat_name);
-    }
-  else
-    {
-#endif
-      if (IS_DIR_SEPARATOR (wrapper[0]))
-       {
-         concat_name = xstrdup (wrapper);
-         if (check_executable (concat_name))
-           return concat_name;
-         XFREE (concat_name);
-       }
-#if defined HAVE_DOS_BASED_FILE_SYSTEM
-    }
-#endif
-
-  for (p = wrapper; *p; p++)
-    if (*p == '/')
-      {
-       has_slash = 1;
-       break;
-      }
-  if (!has_slash)
-    {
-      /* no slashes; search PATH */
-      const char *path = getenv ("PATH");
-      if (path != NULL)
-       {
-         for (p = path; *p; p = p_next)
-           {
-             const char *q;
-             size_t p_len;
-             for (q = p; *q; q++)
-               if (IS_PATH_SEPARATOR (*q))
-                 break;
-             p_len = (size_t) (q - p);
-             p_next = (*q == '\0' ? q : q + 1);
-             if (p_len == 0)
-               {
-                 /* empty path: current directory */
-                 if (getcwd (tmp, LT_PATHMAX) == NULL)
-                   lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-                              nonnull (strerror (errno)));
-                 tmp_len = strlen (tmp);
-                 concat_name =
-                   XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-                 memcpy (concat_name, tmp, tmp_len);
-                 concat_name[tmp_len] = '/';
-                 strcpy (concat_name + tmp_len + 1, wrapper);
-               }
-             else
-               {
-                 concat_name =
-                   XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
-                 memcpy (concat_name, p, p_len);
-                 concat_name[p_len] = '/';
-                 strcpy (concat_name + p_len + 1, wrapper);
-               }
-             if (check_executable (concat_name))
-               return concat_name;
-             XFREE (concat_name);
-           }
-       }
-      /* not found in PATH; assume curdir */
-    }
-  /* Relative path | not found in path: prepend cwd */
-  if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-              nonnull (strerror (errno)));
-  tmp_len = strlen (tmp);
-  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-  memcpy (concat_name, tmp, tmp_len);
-  concat_name[tmp_len] = '/';
-  strcpy (concat_name + tmp_len + 1, wrapper);
-
-  if (check_executable (concat_name))
-    return concat_name;
-  XFREE (concat_name);
-  return NULL;
-}
-
-char *
-chase_symlinks (const char *pathspec)
-{
-#ifndef S_ISLNK
-  return xstrdup (pathspec);
-#else
-  char buf[LT_PATHMAX];
-  struct stat s;
-  char *tmp_pathspec = xstrdup (pathspec);
-  char *p;
-  int has_symlinks = 0;
-  while (strlen (tmp_pathspec) && !has_symlinks)
-    {
-      lt_debugprintf (__FILE__, __LINE__,
-                     "checking path component for symlinks: %s\n",
-                     tmp_pathspec);
-      if (lstat (tmp_pathspec, &s) == 0)
-       {
-         if (S_ISLNK (s.st_mode) != 0)
-           {
-             has_symlinks = 1;
-             break;
-           }
-
-         /* search backwards for last DIR_SEPARATOR */
-         p = tmp_pathspec + strlen (tmp_pathspec) - 1;
-         while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-           p--;
-         if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-           {
-             /* no more DIR_SEPARATORS left */
-             break;
-           }
-         *p = '\0';
-       }
-      else
-       {
-         lt_fatal (__FILE__, __LINE__,
-                   "error accessing file \"%s\": %s",
-                   tmp_pathspec, nonnull (strerror (errno)));
-       }
-    }
-  XFREE (tmp_pathspec);
-
-  if (!has_symlinks)
-    {
-      return xstrdup (pathspec);
-    }
-
-  tmp_pathspec = realpath (pathspec, buf);
-  if (tmp_pathspec == 0)
-    {
-      lt_fatal (__FILE__, __LINE__,
-               "could not follow symlinks for %s", pathspec);
-    }
-  return xstrdup (tmp_pathspec);
-#endif
-}
-
-char *
-strendzap (char *str, const char *pat)
-{
-  size_t len, patlen;
-
-  assert (str != NULL);
-  assert (pat != NULL);
-
-  len = strlen (str);
-  patlen = strlen (pat);
-
-  if (patlen <= len)
-    {
-      str += len - patlen;
-      if (STREQ (str, pat))
-       *str = '\0';
-    }
-  return str;
-}
-
-void
-lt_debugprintf (const char *file, int line, const char *fmt, ...)
-{
-  va_list args;
-  if (lt_debug)
-    {
-      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
-      va_start (args, fmt);
-      (void) vfprintf (stderr, fmt, args);
-      va_end (args);
-    }
-}
-
-static void
-lt_error_core (int exit_status, const char *file,
-              int line, const char *mode,
-              const char *message, va_list ap)
-{
-  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
-  vfprintf (stderr, message, ap);
-  fprintf (stderr, ".\n");
-
-  if (exit_status >= 0)
-    exit (exit_status);
-}
-
-void
-lt_fatal (const char *file, int line, const char *message, ...)
-{
-  va_list ap;
-  va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
-  va_end (ap);
-}
-
-static const char *
-nonnull (const char *s)
-{
-  return s ? s : "(null)";
-}
-
-static const char *
-nonempty (const char *s)
-{
-  return (s && !*s) ? "(empty)" : nonnull (s);
-}
-
-void
-lt_setenv (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-                 "(lt_setenv) setting '%s' to '%s'\n",
-                  nonnull (name), nonnull (value));
-  {
-#ifdef HAVE_SETENV
-    /* always make a copy, for consistency with !HAVE_SETENV */
-    char *str = xstrdup (value);
-    setenv (name, str, 1);
-#else
-    size_t len = strlen (name) + 1 + strlen (value) + 1;
-    char *str = XMALLOC (char, len);
-    sprintf (str, "%s=%s", name, value);
-    if (putenv (str) != EXIT_SUCCESS)
-      {
-        XFREE (str);
-      }
-#endif
-  }
-}
-
-char *
-lt_extend_str (const char *orig_value, const char *add, int to_end)
-{
-  char *new_value;
-  if (orig_value && *orig_value)
-    {
-      size_t orig_value_len = strlen (orig_value);
-      size_t add_len = strlen (add);
-      new_value = XMALLOC (char, add_len + orig_value_len + 1);
-      if (to_end)
-        {
-          strcpy (new_value, orig_value);
-          strcpy (new_value + orig_value_len, add);
-        }
-      else
-        {
-          strcpy (new_value, add);
-          strcpy (new_value + add_len, orig_value);
-        }
-    }
-  else
-    {
-      new_value = xstrdup (add);
-    }
-  return new_value;
-}
-
-void
-lt_update_exe_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-                 "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      /* some systems can't cope with a ':'-terminated path #' */
-      size_t len = strlen (new_value);
-      while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
-        {
-          new_value[--len] = '\0';
-        }
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-void
-lt_update_lib_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-                 "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-EOF
-           case $host_os in
-             mingw*)
-               cat <<"EOF"
-
-/* Prepares an argument vector before calling spawn().
-   Note that spawn() does not by itself call the command interpreter
-     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
-      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-         GetVersionEx(&v);
-         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
-      }) ? "cmd.exe" : "command.com").
-   Instead it simply concatenates the arguments, separated by ' ', and calls
-   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
-   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
-   special way:
-   - Space and tab are interpreted as delimiters. They are not treated as
-     delimiters if they are surrounded by double quotes: "...".
-   - Unescaped double quotes are removed from the input. Their only effect is
-     that within double quotes, space and tab are treated like normal
-     characters.
-   - Backslashes not followed by double quotes are not special.
-   - But 2*n+1 backslashes followed by a double quote become
-     n backslashes followed by a double quote (n >= 0):
-       \" -> "
-       \\\" -> \"
-       \\\\\" -> \\"
- */
-#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-char **
-prepare_spawn (char **argv)
-{
-  size_t argc;
-  char **new_argv;
-  size_t i;
-
-  /* Count number of arguments.  */
-  for (argc = 0; argv[argc] != NULL; argc++)
-    ;
-
-  /* Allocate new argument vector.  */
-  new_argv = XMALLOC (char *, argc + 1);
-
-  /* Put quoted arguments into the new argument vector.  */
-  for (i = 0; i < argc; i++)
-    {
-      const char *string = argv[i];
-
-      if (string[0] == '\0')
-       new_argv[i] = xstrdup ("\"\"");
-      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
-       {
-         int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
-         size_t length;
-         unsigned int backslashes;
-         const char *s;
-         char *quoted_string;
-         char *p;
-
-         length = 0;
-         backslashes = 0;
-         if (quote_around)
-           length++;
-         for (s = string; *s != '\0'; s++)
-           {
-             char c = *s;
-             if (c == '"')
-               length += backslashes + 1;
-             length++;
-             if (c == '\\')
-               backslashes++;
-             else
-               backslashes = 0;
-           }
-         if (quote_around)
-           length += backslashes + 1;
-
-         quoted_string = XMALLOC (char, length + 1);
-
-         p = quoted_string;
-         backslashes = 0;
-         if (quote_around)
-           *p++ = '"';
-         for (s = string; *s != '\0'; s++)
-           {
-             char c = *s;
-             if (c == '"')
-               {
-                 unsigned int j;
-                 for (j = backslashes + 1; j > 0; j--)
-                   *p++ = '\\';
-               }
-             *p++ = c;
-             if (c == '\\')
-               backslashes++;
-             else
-               backslashes = 0;
-           }
-         if (quote_around)
-           {
-             unsigned int j;
-             for (j = backslashes; j > 0; j--)
-               *p++ = '\\';
-             *p++ = '"';
-           }
-         *p = '\0';
-
-         new_argv[i] = quoted_string;
-       }
-      else
-       new_argv[i] = (char *) string;
-    }
-  new_argv[argc] = NULL;
-
-  return new_argv;
-}
-EOF
-               ;;
-           esac
-
-            cat <<"EOF"
-void lt_dump_script (FILE* f)
-{
-EOF
-           func_emit_wrapper yes |
-             $SED -n -e '
-s/^\(.\{79\}\)\(..*\)/\1\
-\2/
-h
-s/\([\\"]\)/\\\1/g
-s/$/\\n/
-s/\([^\n]*\).*/  fputs ("\1", f);/p
-g
-D'
-            cat <<"EOF"
-}
-EOF
-}
-# end: func_emit_cwrapperexe_src
-
-# func_win32_import_lib_p ARG
-# True if ARG is an import lib, as indicated by $file_magic_cmd
-func_win32_import_lib_p ()
-{
-    $debug_cmd
-
-    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
-    *import*) : ;;
-    *) false ;;
-    esac
-}
-
-# func_suncc_cstd_abi
-# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
-# Several compiler flags select an ABI that is incompatible with the
-# Cstd library. Avoid specifying it if any are in CXXFLAGS.
-func_suncc_cstd_abi ()
-{
-    $debug_cmd
-
-    case " $compile_command " in
-    *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
-      suncc_use_cstd_abi=no
-      ;;
-    *)
-      suncc_use_cstd_abi=yes
-      ;;
-    esac
-}
-
-# func_mode_link arg...
-func_mode_link ()
-{
-    $debug_cmd
-
-    case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # what system we are compiling for in order to pass an extra
-      # flag for every libtool invocation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll that has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    libtool_args=$nonopt
-    base_compile="$nonopt $@"
-    compile_command=$nonopt
-    finalize_command=$nonopt
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    old_deplibs=
-    compiler_flags=
-    linker_flags=
-    dllsearchpath=
-    lib_search_path=`pwd`
-    inst_prefix_dir=
-    new_inherited_linker_flags=
-
-    avoid_version=no
-    bindir=
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    ltlibs=
-    module=no
-    no_install=no
-    objs=
-    os2dllname=
-    non_pic_objects=
-    precious_files_regex=
-    prefer_static_libs=no
-    preload=false
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-    vinfo_number=no
-    weak_libs=
-    single_module=$wl-single_module
-    func_infer_tag $base_compile
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case $arg in
-      -shared)
-       test yes != "$build_libtool_libs" \
-         && func_fatal_configuration "cannot build a shared library"
-       build_old_libs=no
-       break
-       ;;
-      -all-static | -static | -static-libtool-libs)
-       case $arg in
-       -all-static)
-         if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
-           func_warning "complete static linking is impossible in this configuration"
-         fi
-         if test -n "$link_static_flag"; then
-           dlopen_self=$dlopen_self_static
-         fi
-         prefer_static_libs=yes
-         ;;
-       -static)
-         if test -z "$pic_flag" && test -n "$link_static_flag"; then
-           dlopen_self=$dlopen_self_static
-         fi
-         prefer_static_libs=built
-         ;;
-       -static-libtool-libs)
-         if test -z "$pic_flag" && test -n "$link_static_flag"; then
-           dlopen_self=$dlopen_self_static
-         fi
-         prefer_static_libs=yes
-         ;;
-       esac
-       build_libtool_libs=no
-       build_old_libs=yes
-       break
-       ;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test "$#" -gt 0; do
-      arg=$1
-      shift
-      func_quote_arg pretty,unquoted "$arg"
-      qarg=$func_quote_arg_unquoted_result
-      func_append libtool_args " $func_quote_arg_result"
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-       case $prev in
-       output)
-         func_append compile_command " @OUTPUT@"
-         func_append finalize_command " @OUTPUT@"
-         ;;
-       esac
-
-       case $prev in
-       bindir)
-         bindir=$arg
-         prev=
-         continue
-         ;;
-       dlfiles|dlprefiles)
-         $preload || {
-           # Add the symbol object into the linking commands.
-           func_append compile_command " @SYMFILE@"
-           func_append finalize_command " @SYMFILE@"
-           preload=:
-         }
-         case $arg in
-         *.la | *.lo) ;;  # We handle these cases below.
-         force)
-           if test no = "$dlself"; then
-             dlself=needless
-             export_dynamic=yes
-           fi
-           prev=
-           continue
-           ;;
-         self)
-           if test dlprefiles = "$prev"; then
-             dlself=yes
-           elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
-             dlself=yes
-           else
-             dlself=needless
-             export_dynamic=yes
-           fi
-           prev=
-           continue
-           ;;
-         *)
-           if test dlfiles = "$prev"; then
-             func_append dlfiles " $arg"
-           else
-             func_append dlprefiles " $arg"
-           fi
-           prev=
-           continue
-           ;;
-         esac
-         ;;
-       expsyms)
-         export_symbols=$arg
-         test -f "$arg" \
-           || func_fatal_error "symbol file '$arg' does not exist"
-         prev=
-         continue
-         ;;
-       expsyms_regex)
-         export_symbols_regex=$arg
-         prev=
-         continue
-         ;;
-       framework)
-         case $host in
-           *-*-darwin*)
-             case "$deplibs " in
-               *" $qarg.ltframework "*) ;;
-               *) func_append deplibs " $qarg.ltframework" # this is fixed later
-                  ;;
-             esac
-             ;;
-         esac
-         prev=
-         continue
-         ;;
-       inst_prefix)
-         inst_prefix_dir=$arg
-         prev=
-         continue
-         ;;
-       mllvm)
-         # Clang does not use LLVM to link, so we can simply discard any
-         # '-mllvm $arg' options when doing the link step.
-         prev=
-         continue
-         ;;
-       objectlist)
-         if test -f "$arg"; then
-           save_arg=$arg
-           moreargs=
-           for fil in `cat "$save_arg"`
-           do
-#            func_append moreargs " $fil"
-             arg=$fil
-             # A libtool-controlled object.
-
-             # Check to see that this really is a libtool object.
-             if func_lalib_unsafe_p "$arg"; then
-               pic_object=
-               non_pic_object=
-
-               # Read the .lo file
-               func_source "$arg"
-
-               if test -z "$pic_object" ||
-                  test -z "$non_pic_object" ||
-                  test none = "$pic_object" &&
-                  test none = "$non_pic_object"; then
-                 func_fatal_error "cannot find name of object for '$arg'"
-               fi
-
-               # Extract subdirectory from the argument.
-               func_dirname "$arg" "/" ""
-               xdir=$func_dirname_result
-
-               if test none != "$pic_object"; then
-                 # Prepend the subdirectory the object is found in.
-                 pic_object=$xdir$pic_object
-
-                 if test dlfiles = "$prev"; then
-                   if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
-                     func_append dlfiles " $pic_object"
-                     prev=
-                     continue
-                   else
-                     # If libtool objects are unsupported, then we need to preload.
-                     prev=dlprefiles
-                   fi
-                 fi
-
-                 # CHECK ME:  I think I busted this.  -Ossama
-                 if test dlprefiles = "$prev"; then
-                   # Preload the old-style object.
-                   func_append dlprefiles " $pic_object"
-                   prev=
-                 fi
-
-                 # A PIC object.
-                 func_append libobjs " $pic_object"
-                 arg=$pic_object
-               fi
-
-               # Non-PIC object.
-               if test none != "$non_pic_object"; then
-                 # Prepend the subdirectory the object is found in.
-                 non_pic_object=$xdir$non_pic_object
-
-                 # A standard non-PIC object
-                 func_append non_pic_objects " $non_pic_object"
-                 if test -z "$pic_object" || test none = "$pic_object"; then
-                   arg=$non_pic_object
-                 fi
-               else
-                 # If the PIC object exists, use it instead.
-                 # $xdir was prepended to $pic_object above.
-                 non_pic_object=$pic_object
-                 func_append non_pic_objects " $non_pic_object"
-               fi
-             else
-               # Only an error if not doing a dry-run.
-               if $opt_dry_run; then
-                 # Extract subdirectory from the argument.
-                 func_dirname "$arg" "/" ""
-                 xdir=$func_dirname_result
-
-                 func_lo2o "$arg"
-                 pic_object=$xdir$objdir/$func_lo2o_result
-                 non_pic_object=$xdir$func_lo2o_result
-                 func_append libobjs " $pic_object"
-                 func_append non_pic_objects " $non_pic_object"
-               else
-                 func_fatal_error "'$arg' is not a valid libtool object"
-               fi
-             fi
-           done
-         else
-           func_fatal_error "link input file '$arg' does not exist"
-         fi
-         arg=$save_arg
-         prev=
-         continue
-         ;;
-       os2dllname)
-         os2dllname=$arg
-         prev=
-         continue
-         ;;
-       precious_regex)
-         precious_files_regex=$arg
-         prev=
-         continue
-         ;;
-       release)
-         release=-$arg
-         prev=
-         continue
-         ;;
-       rpath | xrpath)
-         # We need an absolute path.
-         case $arg in
-         [\\/]* | [A-Za-z]:[\\/]*) ;;
-         *)
-           func_fatal_error "only absolute run-paths are allowed"
-           ;;
-         esac
-         if test rpath = "$prev"; then
-           case "$rpath " in
-           *" $arg "*) ;;
-           *) func_append rpath " $arg" ;;
-           esac
-         else
-           case "$xrpath " in
-           *" $arg "*) ;;
-           *) func_append xrpath " $arg" ;;
-           esac
-         fi
-         prev=
-         continue
-         ;;
-       shrext)
-         shrext_cmds=$arg
-         prev=
-         continue
-         ;;
-       weak)
-         func_append weak_libs " $arg"
-         prev=
-         continue
-         ;;
-       xcclinker)
-         func_append linker_flags " $qarg"
-         func_append compiler_flags " $qarg"
-         prev=
-         func_append compile_command " $qarg"
-         func_append finalize_command " $qarg"
-         continue
-         ;;
-       xcompiler)
-         func_append compiler_flags " $qarg"
-         prev=
-         func_append compile_command " $qarg"
-         func_append finalize_command " $qarg"
-         continue
-         ;;
-       xlinker)
-         func_append linker_flags " $qarg"
-         func_append compiler_flags " $wl$qarg"
-         prev=
-         func_append compile_command " $wl$qarg"
-         func_append finalize_command " $wl$qarg"
-         continue
-         ;;
-       *)
-         eval "$prev=\"\$arg\""
-         prev=
-         continue
-         ;;
-       esac
-      fi # test -n "$prev"
-
-      prevarg=$arg
-
-      case $arg in
-      -all-static)
-       if test -n "$link_static_flag"; then
-         # See comment for -static flag below, for more details.
-         func_append compile_command " $link_static_flag"
-         func_append finalize_command " $link_static_flag"
-       fi
-       continue
-       ;;
-
-      -allow-undefined)
-       # FIXME: remove this flag sometime in the future.
-       func_fatal_error "'-allow-undefined' must not be used because it is the default"
-       ;;
-
-      -avoid-version)
-       avoid_version=yes
-       continue
-       ;;
-
-      -bindir)
-       prev=bindir
-       continue
-       ;;
-
-      -dlopen)
-       prev=dlfiles
-       continue
-       ;;
-
-      -dlpreopen)
-       prev=dlprefiles
-       continue
-       ;;
-
-      -export-dynamic)
-       export_dynamic=yes
-       continue
-       ;;
-
-      -export-symbols | -export-symbols-regex)
-       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-         func_fatal_error "more than one -exported-symbols argument is not allowed"
-       fi
-       if test X-export-symbols = "X$arg"; then
-         prev=expsyms
-       else
-         prev=expsyms_regex
-       fi
-       continue
-       ;;
-
-      -framework)
-       prev=framework
-       continue
-       ;;
-
-      -inst-prefix-dir)
-       prev=inst_prefix
-       continue
-       ;;
-
-      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-      # so, if we see these flags be careful not to treat them like -L
-      -L[A-Z][A-Z]*:*)
-       case $with_gcc/$host in
-       no/*-*-irix* | /*-*-irix*)
-         func_append compile_command " $arg"
-         func_append finalize_command " $arg"
-         ;;
-       esac
-       continue
-       ;;
-
-      -L*)
-       func_stripname "-L" '' "$arg"
-       if test -z "$func_stripname_result"; then
-         if test "$#" -gt 0; then
-           func_fatal_error "require no space between '-L' and '$1'"
-         else
-           func_fatal_error "need path for '-L' option"
-         fi
-       fi
-       func_resolve_sysroot "$func_stripname_result"
-       dir=$func_resolve_sysroot_result
-       # We need an absolute path.
-       case $dir in
-       [\\/]* | [A-Za-z]:[\\/]*) ;;
-       *)
-         absdir=`cd "$dir" && pwd`
-         test -z "$absdir" && \
-           func_fatal_error "cannot determine absolute directory name of '$dir'"
-         dir=$absdir
-         ;;
-       esac
-       case "$deplibs " in
-       *" -L$dir "* | *" $arg "*)
-         # Will only happen for absolute or sysroot arguments
-         ;;
-       *)
-         # Preserve sysroot, but never include relative directories
-         case $dir in
-           [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
-           *) func_append deplibs " -L$dir" ;;
-         esac
-         func_append lib_search_path " $dir"
-         ;;
-       esac
-       case $host in
-       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-         testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
-         case :$dllsearchpath: in
-         *":$dir:"*) ;;
-         ::) dllsearchpath=$dir;;
-         *) func_append dllsearchpath ":$dir";;
-         esac
-         case :$dllsearchpath: in
-         *":$testbindir:"*) ;;
-         ::) dllsearchpath=$testbindir;;
-         *) func_append dllsearchpath ":$testbindir";;
-         esac
-         ;;
-       esac
-       continue
-       ;;
-
-      -l*)
-       if test X-lc = "X$arg" || test X-lm = "X$arg"; then
-         case $host in
-         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
-           # These systems don't actually have a C or math library (as such)
-           continue
-           ;;
-         *-*-os2*)
-           # These systems don't actually have a C library (as such)
-           test X-lc = "X$arg" && continue
-           ;;
-         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
-           # Do not include libc due to us having libc/libc_r.
-           test X-lc = "X$arg" && continue
-           ;;
-         *-*-rhapsody* | *-*-darwin1.[012])
-           # Rhapsody C and math libraries are in the System framework
-           func_append deplibs " System.ltframework"
-           continue
-           ;;
-         *-*-sco3.2v5* | *-*-sco5v6*)
-           # Causes problems with __ctype
-           test X-lc = "X$arg" && continue
-           ;;
-         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-           # Compiler inserts libc in the correct place for threads to work
-           test X-lc = "X$arg" && continue
-           ;;
-         esac
-       elif test X-lc_r = "X$arg"; then
-        case $host in
-        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
-          # Do not include libc_r directly, use -pthread flag.
-          continue
-          ;;
-        esac
-       fi
-       func_append deplibs " $arg"
-       continue
-       ;;
-
-      -mllvm)
-       prev=mllvm
-       continue
-       ;;
-
-      -module)
-       module=yes
-       continue
-       ;;
-
-      # Tru64 UNIX uses -model [arg] to determine the layout of C++
-      # classes, name mangling, and exception handling.
-      # Darwin uses the -arch flag to determine output architecture.
-      -model|-arch|-isysroot|--sysroot)
-       func_append compiler_flags " $arg"
-       func_append compile_command " $arg"
-       func_append finalize_command " $arg"
-       prev=xcompiler
-       continue
-       ;;
-
-      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
-      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
-       func_append compiler_flags " $arg"
-       func_append compile_command " $arg"
-       func_append finalize_command " $arg"
-       case "$new_inherited_linker_flags " in
-           *" $arg "*) ;;
-           * ) func_append new_inherited_linker_flags " $arg" ;;
-       esac
-       continue
-       ;;
-
-      -multi_module)
-       single_module=$wl-multi_module
-       continue
-       ;;
-
-      -no-fast-install)
-       fast_install=no
-       continue
-       ;;
-
-      -no-install)
-       case $host in
-       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
-         # The PATH hackery in wrapper scripts is required on Windows
-         # and Darwin in order for the loader to find any dlls it needs.
-         func_warning "'-no-install' is ignored for $host"
-         func_warning "assuming '-no-fast-install' instead"
-         fast_install=no
-         ;;
-       *) no_install=yes ;;
-       esac
-       continue
-       ;;
-
-      -no-undefined)
-       allow_undefined=no
-       continue
-       ;;
-
-      -objectlist)
-       prev=objectlist
-       continue
-       ;;
-
-      -os2dllname)
-       prev=os2dllname
-       continue
-       ;;
-
-      -o) prev=output ;;
-
-      -precious-files-regex)
-       prev=precious_regex
-       continue
-       ;;
-
-      -release)
-       prev=release
-       continue
-       ;;
-
-      -rpath)
-       prev=rpath
-       continue
-       ;;
-
-      -R)
-       prev=xrpath
-       continue
-       ;;
-
-      -R*)
-       func_stripname '-R' '' "$arg"
-       dir=$func_stripname_result
-       # We need an absolute path.
-       case $dir in
-       [\\/]* | [A-Za-z]:[\\/]*) ;;
-       =*)
-         func_stripname '=' '' "$dir"
-         dir=$lt_sysroot$func_stripname_result
-         ;;
-       *)
-         func_fatal_error "only absolute run-paths are allowed"
-         ;;
-       esac
-       case "$xrpath " in
-       *" $dir "*) ;;
-       *) func_append xrpath " $dir" ;;
-       esac
-       continue
-       ;;
-
-      -shared)
-       # The effects of -shared are defined in a previous loop.
-       continue
-       ;;
-
-      -shrext)
-       prev=shrext
-       continue
-       ;;
-
-      -static | -static-libtool-libs)
-       # The effects of -static are defined in a previous loop.
-       # We used to do the same as -all-static on platforms that
-       # didn't have a PIC flag, but the assumption that the effects
-       # would be equivalent was wrong.  It would break on at least
-       # Digital Unix and AIX.
-       continue
-       ;;
-
-      -thread-safe)
-       thread_safe=yes
-       continue
-       ;;
-
-      -version-info)
-       prev=vinfo
-       continue
-       ;;
-
-      -version-number)
-       prev=vinfo
-       vinfo_number=yes
-       continue
-       ;;
-
-      -weak)
-        prev=weak
-       continue
-       ;;
-
-      -Wc,*)
-       func_stripname '-Wc,' '' "$arg"
-       args=$func_stripname_result
-       arg=
-       save_ifs=$IFS; IFS=,
-       for flag in $args; do
-         IFS=$save_ifs
-          func_quote_arg pretty "$flag"
-         func_append arg " $func_quote_arg_result"
-         func_append compiler_flags " $func_quote_arg_result"
-       done
-       IFS=$save_ifs
-       func_stripname ' ' '' "$arg"
-       arg=$func_stripname_result
-       ;;
-
-      -Wl,*)
-       func_stripname '-Wl,' '' "$arg"
-       args=$func_stripname_result
-       arg=
-       save_ifs=$IFS; IFS=,
-       for flag in $args; do
-         IFS=$save_ifs
-          func_quote_arg pretty "$flag"
-         func_append arg " $wl$func_quote_arg_result"
-         func_append compiler_flags " $wl$func_quote_arg_result"
-         func_append linker_flags " $func_quote_arg_result"
-       done
-       IFS=$save_ifs
-       func_stripname ' ' '' "$arg"
-       arg=$func_stripname_result
-       ;;
-
-      -Xcompiler)
-       prev=xcompiler
-       continue
-       ;;
-
-      -Xlinker)
-       prev=xlinker
-       continue
-       ;;
-
-      -XCClinker)
-       prev=xcclinker
-       continue
-       ;;
-
-      # -msg_* for osf cc
-      -msg_*)
-       func_quote_arg pretty "$arg"
-       arg=$func_quote_arg_result
-       ;;
-
-      # Flags to be passed through unchanged, with rationale:
-      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
-      # -r[0-9][0-9]*        specify processor for the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
-      # +DA*, +DD*           enable 64-bit mode for the HP compiler
-      # -q*                  compiler args for the IBM compiler
-      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
-      # -F/path              path to uninstalled frameworks, gcc on darwin
-      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
-      # -fstack-protector*   stack protector flags for GCC
-      # @file                GCC response files
-      # -tp=*                Portland pgcc target processor selection
-      # --sysroot=*          for sysroot support
-      # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
-      # -specs=*             GCC specs files
-      # -stdlib=*            select c++ std lib with clang
-      # -fsanitize=*         Clang/GCC memory and address sanitizer
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
-      -specs=*|-fsanitize=*)
-        func_quote_arg pretty "$arg"
-       arg=$func_quote_arg_result
-        func_append compile_command " $arg"
-        func_append finalize_command " $arg"
-        func_append compiler_flags " $arg"
-        continue
-        ;;
-
-      -Z*)
-        if test os2 = "`expr $host : '.*\(os2\)'`"; then
-          # OS/2 uses -Zxxx to specify OS/2-specific options
-         compiler_flags="$compiler_flags $arg"
-         func_append compile_command " $arg"
-         func_append finalize_command " $arg"
-         case $arg in
-         -Zlinker | -Zstack)
-           prev=xcompiler
-           ;;
-         esac
-         continue
-        else
-         # Otherwise treat like 'Some other compiler flag' below
-         func_quote_arg pretty "$arg"
-         arg=$func_quote_arg_result
-        fi
-       ;;
-
-      # Some other compiler flag.
-      -* | +*)
-        func_quote_arg pretty "$arg"
-       arg=$func_quote_arg_result
-       ;;
-
-      *.$objext)
-       # A standard object.
-       func_append objs " $arg"
-       ;;
-
-      *.lo)
-       # A libtool-controlled object.
-
-       # Check to see that this really is a libtool object.
-       if func_lalib_unsafe_p "$arg"; then
-         pic_object=
-         non_pic_object=
-
-         # Read the .lo file
-         func_source "$arg"
-
-         if test -z "$pic_object" ||
-            test -z "$non_pic_object" ||
-            test none = "$pic_object" &&
-            test none = "$non_pic_object"; then
-           func_fatal_error "cannot find name of object for '$arg'"
-         fi
-
-         # Extract subdirectory from the argument.
-         func_dirname "$arg" "/" ""
-         xdir=$func_dirname_result
-
-         test none = "$pic_object" || {
-           # Prepend the subdirectory the object is found in.
-           pic_object=$xdir$pic_object
-
-           if test dlfiles = "$prev"; then
-             if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
-               func_append dlfiles " $pic_object"
-               prev=
-               continue
-             else
-               # If libtool objects are unsupported, then we need to preload.
-               prev=dlprefiles
-             fi
-           fi
-
-           # CHECK ME:  I think I busted this.  -Ossama
-           if test dlprefiles = "$prev"; then
-             # Preload the old-style object.
-             func_append dlprefiles " $pic_object"
-             prev=
-           fi
-
-           # A PIC object.
-           func_append libobjs " $pic_object"
-           arg=$pic_object
-         }
-
-         # Non-PIC object.
-         if test none != "$non_pic_object"; then
-           # Prepend the subdirectory the object is found in.
-           non_pic_object=$xdir$non_pic_object
-
-           # A standard non-PIC object
-           func_append non_pic_objects " $non_pic_object"
-           if test -z "$pic_object" || test none = "$pic_object"; then
-             arg=$non_pic_object
-           fi
-         else
-           # If the PIC object exists, use it instead.
-           # $xdir was prepended to $pic_object above.
-           non_pic_object=$pic_object
-           func_append non_pic_objects " $non_pic_object"
-         fi
-       else
-         # Only an error if not doing a dry-run.
-         if $opt_dry_run; then
-           # Extract subdirectory from the argument.
-           func_dirname "$arg" "/" ""
-           xdir=$func_dirname_result
-
-           func_lo2o "$arg"
-           pic_object=$xdir$objdir/$func_lo2o_result
-           non_pic_object=$xdir$func_lo2o_result
-           func_append libobjs " $pic_object"
-           func_append non_pic_objects " $non_pic_object"
-         else
-           func_fatal_error "'$arg' is not a valid libtool object"
-         fi
-       fi
-       ;;
-
-      *.$libext)
-       # An archive.
-       func_append deplibs " $arg"
-       func_append old_deplibs " $arg"
-       continue
-       ;;
-
-      *.la)
-       # A libtool-controlled library.
-
-       func_resolve_sysroot "$arg"
-       if test dlfiles = "$prev"; then
-         # This library was specified with -dlopen.
-         func_append dlfiles " $func_resolve_sysroot_result"
-         prev=
-       elif test dlprefiles = "$prev"; then
-         # The library was specified with -dlpreopen.
-         func_append dlprefiles " $func_resolve_sysroot_result"
-         prev=
-       else
-         func_append deplibs " $func_resolve_sysroot_result"
-       fi
-       continue
-       ;;
-
-      # Some other compiler argument.
-      *)
-       # Unknown arguments in both finalize_command and compile_command need
-       # to be aesthetically quoted because they are evaled later.
-       func_quote_arg pretty "$arg"
-       arg=$func_quote_arg_result
-       ;;
-      esac # arg
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-       func_append compile_command " $arg"
-       func_append finalize_command " $arg"
-      fi
-    done # argument parsing loop
-
-    test -n "$prev" && \
-      func_fatal_help "the '$prevarg' option requires an argument"
-
-    if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      func_append compile_command " $arg"
-      func_append finalize_command " $arg"
-    fi
-
-    oldlibs=
-    # calculate the name of the file, without its directory
-    func_basename "$output"
-    outputname=$func_basename_result
-    libobjs_save=$libobjs
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
-    else
-      shlib_search_path=
-    fi
-    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
-    # Definition is injected by LT_CONFIG during libtool generation.
-    func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
-
-    func_dirname "$output" "/" ""
-    output_objdir=$func_dirname_result$objdir
-    func_to_tool_file "$output_objdir/"
-    tool_output_objdir=$func_to_tool_file_result
-    # Create the object directory.
-    func_mkdir_p "$output_objdir"
-
-    # Determine the type of output
-    case $output in
-    "")
-      func_fatal_help "you must specify an output file"
-      ;;
-    *.$libext) linkmode=oldlib ;;
-    *.lo | *.$objext) linkmode=obj ;;
-    *.la) linkmode=lib ;;
-    *) linkmode=prog ;; # Anything else should be a program.
-    esac
-
-    specialdeplibs=
-
-    libs=
-    # Find all interdependent deplibs by searching for libraries
-    # that are linked more than once (e.g. -la -lb -la)
-    for deplib in $deplibs; do
-      if $opt_preserve_dup_deps; then
-       case "$libs " in
-       *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-       esac
-      fi
-      func_append libs " $deplib"
-    done
-
-    if test lib = "$linkmode"; then
-      libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
-      # Compute libraries that are listed more than once in $predeps
-      # $postdeps and mark them as special (i.e., whose duplicates are
-      # not to be eliminated).
-      pre_post_deps=
-      if $opt_duplicate_compiler_generated_deps; then
-       for pre_post_dep in $predeps $postdeps; do
-         case "$pre_post_deps " in
-         *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
-         esac
-         func_append pre_post_deps " $pre_post_dep"
-       done
-      fi
-      pre_post_deps=
-    fi
-
-    deplibs=
-    newdependency_libs=
-    newlib_search_path=
-    need_relink=no # whether we're linking any uninstalled libtool libraries
-    notinst_deplibs= # not-installed libtool libraries
-    notinst_path= # paths that contain not-installed libtool libraries
-
-    case $linkmode in
-    lib)
-       passes="conv dlpreopen link"
-       for file in $dlfiles $dlprefiles; do
-         case $file in
-         *.la) ;;
-         *)
-           func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
-           ;;
-         esac
-       done
-       ;;
-    prog)
-       compile_deplibs=
-       finalize_deplibs=
-       alldeplibs=false
-       newdlfiles=
-       newdlprefiles=
-       passes="conv scan dlopen dlpreopen link"
-       ;;
-    *)  passes="conv"
-       ;;
-    esac
-
-    for pass in $passes; do
-      # The preopen pass in lib mode reverses $deplibs; put it back here
-      # so that -L comes before libs that need it for instance...
-      if test lib,link = "$linkmode,$pass"; then
-       ## FIXME: Find the place where the list is rebuilt in the wrong
-       ##        order, and fix it there properly
-        tmp_deplibs=
-       for deplib in $deplibs; do
-         tmp_deplibs="$deplib $tmp_deplibs"
-       done
-       deplibs=$tmp_deplibs
-      fi
-
-      if test lib,link = "$linkmode,$pass" ||
-        test prog,scan = "$linkmode,$pass"; then
-       libs=$deplibs
-       deplibs=
-      fi
-      if test prog = "$linkmode"; then
-       case $pass in
-       dlopen) libs=$dlfiles ;;
-       dlpreopen) libs=$dlprefiles ;;
-       link)
-         libs="$deplibs %DEPLIBS%"
-         test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
-         ;;
-       esac
-      fi
-      if test lib,dlpreopen = "$linkmode,$pass"; then
-       # Collect and forward deplibs of preopened libtool libs
-       for lib in $dlprefiles; do
-         # Ignore non-libtool-libs
-         dependency_libs=
-         func_resolve_sysroot "$lib"
-         case $lib in
-         *.la) func_source "$func_resolve_sysroot_result" ;;
-         esac
-
-         # Collect preopened libtool deplibs, except any this library
-         # has declared as weak libs
-         for deplib in $dependency_libs; do
-           func_basename "$deplib"
-            deplib_base=$func_basename_result
-           case " $weak_libs " in
-           *" $deplib_base "*) ;;
-           *) func_append deplibs " $deplib" ;;
-           esac
-         done
-       done
-       libs=$dlprefiles
-      fi
-      if test dlopen = "$pass"; then
-       # Collect dlpreopened libraries
-       save_deplibs=$deplibs
-       deplibs=
-      fi
-
-      for deplib in $libs; do
-       lib=
-       found=false
-       case $deplib in
-       -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
-        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
-         if test prog,link = "$linkmode,$pass"; then
-           compile_deplibs="$deplib $compile_deplibs"
-           finalize_deplibs="$deplib $finalize_deplibs"
-         else
-           func_append compiler_flags " $deplib"
-           if test lib = "$linkmode"; then
-               case "$new_inherited_linker_flags " in
-                   *" $deplib "*) ;;
-                   * ) func_append new_inherited_linker_flags " $deplib" ;;
-               esac
-           fi
-         fi
-         continue
-         ;;
-       -l*)
-         if test lib != "$linkmode" && test prog != "$linkmode"; then
-           func_warning "'-l' is ignored for archives/objects"
-           continue
-         fi
-         func_stripname '-l' '' "$deplib"
-         name=$func_stripname_result
-         if test lib = "$linkmode"; then
-           searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
-         else
-           searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
-         fi
-         for searchdir in $searchdirs; do
-           for search_ext in .la $std_shrext .so .a; do
-             # Search the libtool library
-             lib=$searchdir/lib$name$search_ext
-             if test -f "$lib"; then
-               if test .la = "$search_ext"; then
-                 found=:
-               else
-                 found=false
-               fi
-               break 2
-             fi
-           done
-         done
-         if $found; then
-           # deplib is a libtool library
-           # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
-           # We need to do some special things here, and not later.
-           if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-             case " $predeps $postdeps " in
-             *" $deplib "*)
-               if func_lalib_p "$lib"; then
-                 library_names=
-                 old_library=
-                 func_source "$lib"
-                 for l in $old_library $library_names; do
-                   ll=$l
-                 done
-                 if test "X$ll" = "X$old_library"; then # only static version available
-                   found=false
-                   func_dirname "$lib" "" "."
-                   ladir=$func_dirname_result
-                   lib=$ladir/$old_library
-                   if test prog,link = "$linkmode,$pass"; then
-                     compile_deplibs="$deplib $compile_deplibs"
-                     finalize_deplibs="$deplib $finalize_deplibs"
-                   else
-                     deplibs="$deplib $deplibs"
-                     test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
-                   fi
-                   continue
-                 fi
-               fi
-               ;;
-             *) ;;
-             esac
-           fi
-         else
-           # deplib doesn't seem to be a libtool library
-           if test prog,link = "$linkmode,$pass"; then
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           else
-             deplibs="$deplib $deplibs"
-             test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
-           fi
-           continue
-         fi
-         ;; # -l
-       *.ltframework)
-         if test prog,link = "$linkmode,$pass"; then
-           compile_deplibs="$deplib $compile_deplibs"
-           finalize_deplibs="$deplib $finalize_deplibs"
-         else
-           deplibs="$deplib $deplibs"
-           if test lib = "$linkmode"; then
-               case "$new_inherited_linker_flags " in
-                   *" $deplib "*) ;;
-                   * ) func_append new_inherited_linker_flags " $deplib" ;;
-               esac
-           fi
-         fi
-         continue
-         ;;
-       -L*)
-         case $linkmode in
-         lib)
-           deplibs="$deplib $deplibs"
-           test conv = "$pass" && continue
-           newdependency_libs="$deplib $newdependency_libs"
-           func_stripname '-L' '' "$deplib"
-           func_resolve_sysroot "$func_stripname_result"
-           func_append newlib_search_path " $func_resolve_sysroot_result"
-           ;;
-         prog)
-           if test conv = "$pass"; then
-             deplibs="$deplib $deplibs"
-             continue
-           fi
-           if test scan = "$pass"; then
-             deplibs="$deplib $deplibs"
-           else
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           fi
-           func_stripname '-L' '' "$deplib"
-           func_resolve_sysroot "$func_stripname_result"
-           func_append newlib_search_path " $func_resolve_sysroot_result"
-           ;;
-         *)
-           func_warning "'-L' is ignored for archives/objects"
-           ;;
-         esac # linkmode
-         continue
-         ;; # -L
-       -R*)
-         if test link = "$pass"; then
-           func_stripname '-R' '' "$deplib"
-           func_resolve_sysroot "$func_stripname_result"
-           dir=$func_resolve_sysroot_result
-           # Make sure the xrpath contains only unique directories.
-           case "$xrpath " in
-           *" $dir "*) ;;
-           *) func_append xrpath " $dir" ;;
-           esac
-         fi
-         deplibs="$deplib $deplibs"
-         continue
-         ;;
-       *.la)
-         func_resolve_sysroot "$deplib"
-         lib=$func_resolve_sysroot_result
-         ;;
-       *.$libext)
-         if test conv = "$pass"; then
-           deplibs="$deplib $deplibs"
-           continue
-         fi
-         case $linkmode in
-         lib)
-           # Linking convenience modules into shared libraries is allowed,
-           # but linking other static libraries is non-portable.
-           case " $dlpreconveniencelibs " in
-           *" $deplib "*) ;;
-           *)
-             valid_a_lib=false
-             case $deplibs_check_method in
-               match_pattern*)
-                 set dummy $deplibs_check_method; shift
-                 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-                 if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
-                   | $EGREP "$match_pattern_regex" > /dev/null; then
-                   valid_a_lib=:
-                 fi
-               ;;
-               pass_all)
-                 valid_a_lib=:
-               ;;
-             esac
-             if $valid_a_lib; then
-               echo
-               $ECHO "*** Warning: Linking the shared library $output against the"
-               $ECHO "*** static library $deplib is not portable!"
-               deplibs="$deplib $deplibs"
-             else
-               echo
-               $ECHO "*** Warning: Trying to link with static lib archive $deplib."
-               echo "*** I have the capability to make that library automatically link in when"
-               echo "*** you link to this library.  But I can only do this if you have a"
-               echo "*** shared version of the library, which you do not appear to have"
-               echo "*** because the file extensions .$libext of this argument makes me believe"
-               echo "*** that it is just a static archive that I should not use here."
-             fi
-             ;;
-           esac
-           continue
-           ;;
-         prog)
-           if test link != "$pass"; then
-             deplibs="$deplib $deplibs"
-           else
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           fi
-           continue
-           ;;
-         esac # linkmode
-         ;; # *.$libext
-       *.lo | *.$objext)
-         if test conv = "$pass"; then
-           deplibs="$deplib $deplibs"
-         elif test prog = "$linkmode"; then
-           if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
-             # If there is no dlopen support or we're linking statically,
-             # we need to preload.
-             func_append newdlprefiles " $deplib"
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           else
-             func_append newdlfiles " $deplib"
-           fi
-         fi
-         continue
-         ;;
-       %DEPLIBS%)
-         alldeplibs=:
-         continue
-         ;;
-       esac # case $deplib
-
-       $found || test -f "$lib" \
-         || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
-
-       # Check to see that this really is a libtool archive.
-       func_lalib_unsafe_p "$lib" \
-         || func_fatal_error "'$lib' is not a valid libtool archive"
-
-       func_dirname "$lib" "" "."
-       ladir=$func_dirname_result
-
-       dlname=
-       dlopen=
-       dlpreopen=
-       libdir=
-       library_names=
-       old_library=
-       inherited_linker_flags=
-       # If the library was installed with an old release of libtool,
-       # it will not redefine variables installed, or shouldnotlink
-       installed=yes
-       shouldnotlink=no
-       avoidtemprpath=
-
-
-       # Read the .la file
-       func_source "$lib"
-
-       # Convert "-framework foo" to "foo.ltframework"
-       if test -n "$inherited_linker_flags"; then
-         tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
-         for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
-           case " $new_inherited_linker_flags " in
-             *" $tmp_inherited_linker_flag "*) ;;
-             *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
-           esac
-         done
-       fi
-       dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-       if test lib,link = "$linkmode,$pass" ||
-          test prog,scan = "$linkmode,$pass" ||
-          { test prog != "$linkmode" && test lib != "$linkmode"; }; then
-         test -n "$dlopen" && func_append dlfiles " $dlopen"
-         test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
-       fi
-
-       if test conv = "$pass"; then
-         # Only check for convenience libraries
-         deplibs="$lib $deplibs"
-         if test -z "$libdir"; then
-           if test -z "$old_library"; then
-             func_fatal_error "cannot find name of link library for '$lib'"
-           fi
-           # It is a libtool convenience library, so add in its objects.
-           func_append convenience " $ladir/$objdir/$old_library"
-           func_append old_convenience " $ladir/$objdir/$old_library"
-           tmp_libs=
-           for deplib in $dependency_libs; do
-             deplibs="$deplib $deplibs"
-             if $opt_preserve_dup_deps; then
-               case "$tmp_libs " in
-               *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-               esac
-             fi
-             func_append tmp_libs " $deplib"
-           done
-         elif test prog != "$linkmode" && test lib != "$linkmode"; then
-           func_fatal_error "'$lib' is not a convenience library"
-         fi
-         continue
-       fi # $pass = conv
-
-
-       # Get the name of the library we link against.
-       linklib=
-       if test -n "$old_library" &&
-          { test yes = "$prefer_static_libs" ||
-            test built,no = "$prefer_static_libs,$installed"; }; then
-         linklib=$old_library
-       else
-         for l in $old_library $library_names; do
-           linklib=$l
-         done
-       fi
-       if test -z "$linklib"; then
-         func_fatal_error "cannot find name of link library for '$lib'"
-       fi
-
-       # This library was specified with -dlopen.
-       if test dlopen = "$pass"; then
-         test -z "$libdir" \
-           && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
-         if test -z "$dlname" ||
-            test yes != "$dlopen_support" ||
-            test no = "$build_libtool_libs"
-         then
-           # If there is no dlname, no dlopen support or we're linking
-           # statically, we need to preload.  We also need to preload any
-           # dependent libraries so libltdl's deplib preloader doesn't
-           # bomb out in the load deplibs phase.
-           func_append dlprefiles " $lib $dependency_libs"
-         else
-           func_append newdlfiles " $lib"
-         fi
-         continue
-       fi # $pass = dlopen
-
-       # We need an absolute path.
-       case $ladir in
-       [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
-       *)
-         abs_ladir=`cd "$ladir" && pwd`
-         if test -z "$abs_ladir"; then
-           func_warning "cannot determine absolute directory name of '$ladir'"
-           func_warning "passing it literally to the linker, although it might fail"
-           abs_ladir=$ladir
-         fi
-         ;;
-       esac
-       func_basename "$lib"
-       laname=$func_basename_result
-
-       # Find the relevant object directory and library name.
-       if test yes = "$installed"; then
-         if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-           func_warning "library '$lib' was moved."
-           dir=$ladir
-           absdir=$abs_ladir
-           libdir=$abs_ladir
-         else
-           dir=$lt_sysroot$libdir
-           absdir=$lt_sysroot$libdir
-         fi
-         test yes = "$hardcode_automatic" && avoidtemprpath=yes
-       else
-         if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-           dir=$ladir
-           absdir=$abs_ladir
-           # Remove this search path later
-           func_append notinst_path " $abs_ladir"
-         else
-           dir=$ladir/$objdir
-           absdir=$abs_ladir/$objdir
-           # Remove this search path later
-           func_append notinst_path " $abs_ladir"
-         fi
-       fi # $installed = yes
-       func_stripname 'lib' '.la' "$laname"
-       name=$func_stripname_result
-
-       # This library was specified with -dlpreopen.
-       if test dlpreopen = "$pass"; then
-         if test -z "$libdir" && test prog = "$linkmode"; then
-           func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
-         fi
-         case $host in
-           # special handling for platforms with PE-DLLs.
-           *cygwin* | *mingw* | *cegcc* )
-             # Linker will automatically link against shared library if both
-             # static and shared are present.  Therefore, ensure we extract
-             # symbols from the import library if a shared library is present
-             # (otherwise, the dlopen module name will be incorrect).  We do
-             # this by putting the import library name into $newdlprefiles.
-             # We recover the dlopen module name by 'saving' the la file
-             # name in a special purpose variable, and (later) extracting the
-             # dlname from the la file.
-             if test -n "$dlname"; then
-               func_tr_sh "$dir/$linklib"
-               eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
-               func_append newdlprefiles " $dir/$linklib"
-             else
-               func_append newdlprefiles " $dir/$old_library"
-               # Keep a list of preopened convenience libraries to check
-               # that they are being used correctly in the link pass.
-               test -z "$libdir" && \
-                 func_append dlpreconveniencelibs " $dir/$old_library"
-             fi
-           ;;
-           * )
-             # Prefer using a static library (so that no silly _DYNAMIC symbols
-             # are required to link).
-             if test -n "$old_library"; then
-               func_append newdlprefiles " $dir/$old_library"
-               # Keep a list of preopened convenience libraries to check
-               # that they are being used correctly in the link pass.
-               test -z "$libdir" && \
-                 func_append dlpreconveniencelibs " $dir/$old_library"
-             # Otherwise, use the dlname, so that lt_dlopen finds it.
-             elif test -n "$dlname"; then
-               func_append newdlprefiles " $dir/$dlname"
-             else
-               func_append newdlprefiles " $dir/$linklib"
-             fi
-           ;;
-         esac
-       fi # $pass = dlpreopen
-
-       if test -z "$libdir"; then
-         # Link the convenience library
-         if test lib = "$linkmode"; then
-           deplibs="$dir/$old_library $deplibs"
-         elif test prog,link = "$linkmode,$pass"; then
-           compile_deplibs="$dir/$old_library $compile_deplibs"
-           finalize_deplibs="$dir/$old_library $finalize_deplibs"
-         else
-           deplibs="$lib $deplibs" # used for prog,scan pass
-         fi
-         continue
-       fi
-
-
-       if test prog = "$linkmode" && test link != "$pass"; then
-         func_append newlib_search_path " $ladir"
-         deplibs="$lib $deplibs"
-
-         linkalldeplibs=false
-         if test no != "$link_all_deplibs" || test -z "$library_names" ||
-            test no = "$build_libtool_libs"; then
-           linkalldeplibs=:
-         fi
-
-         tmp_libs=
-         for deplib in $dependency_libs; do
-           case $deplib in
-           -L*) func_stripname '-L' '' "$deplib"
-                func_resolve_sysroot "$func_stripname_result"
-                func_append newlib_search_path " $func_resolve_sysroot_result"
-                ;;
-           esac
-           # Need to link against all dependency_libs?
-           if $linkalldeplibs; then
-             deplibs="$deplib $deplibs"
-           else
-             # Need to hardcode shared library paths
-             # or/and link against static libraries
-             newdependency_libs="$deplib $newdependency_libs"
-           fi
-           if $opt_preserve_dup_deps; then
-             case "$tmp_libs " in
-             *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-             esac
-           fi
-           func_append tmp_libs " $deplib"
-         done # for deplib
-         continue
-       fi # $linkmode = prog...
-
-       if test prog,link = "$linkmode,$pass"; then
-         if test -n "$library_names" &&
-            { { test no = "$prefer_static_libs" ||
-                test built,yes = "$prefer_static_libs,$installed"; } ||
-              test -z "$old_library"; }; then
-           # We need to hardcode the library path
-           if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
-             # Make sure the rpath contains only unique directories.
-             case $temp_rpath: in
-             *"$absdir:"*) ;;
-             *) func_append temp_rpath "$absdir:" ;;
-             esac
-           fi
-
-           # Hardcode the library path.
-           # Skip directories that are in the system default run-time
-           # search path.
-           case " $sys_lib_dlsearch_path " in
-           *" $absdir "*) ;;
-           *)
-             case "$compile_rpath " in
-             *" $absdir "*) ;;
-             *) func_append compile_rpath " $absdir" ;;
-             esac
-             ;;
-           esac
-           case " $sys_lib_dlsearch_path " in
-           *" $libdir "*) ;;
-           *)
-             case "$finalize_rpath " in
-             *" $libdir "*) ;;
-             *) func_append finalize_rpath " $libdir" ;;
-             esac
-             ;;
-           esac
-         fi # $linkmode,$pass = prog,link...
-
-         if $alldeplibs &&
-            { test pass_all = "$deplibs_check_method" ||
-              { test yes = "$build_libtool_libs" &&
-                test -n "$library_names"; }; }; then
-           # We only need to search for static libraries
-           continue
-         fi
-       fi
-
-       link_static=no # Whether the deplib will be linked statically
-       use_static_libs=$prefer_static_libs
-       if test built = "$use_static_libs" && test yes = "$installed"; then
-         use_static_libs=no
-       fi
-       if test -n "$library_names" &&
-          { test no = "$use_static_libs" || test -z "$old_library"; }; then
-         case $host in
-         *cygwin* | *mingw* | *cegcc* | *os2*)
-             # No point in relinking DLLs because paths are not encoded
-             func_append notinst_deplibs " $lib"
-             need_relink=no
-           ;;
-         *)
-           if test no = "$installed"; then
-             func_append notinst_deplibs " $lib"
-             need_relink=yes
-           fi
-           ;;
-         esac
-         # This is a shared library
-
-         # Warn about portability, can't link against -module's on some
-         # systems (darwin).  Don't bleat about dlopened modules though!
-         dlopenmodule=
-         for dlpremoduletest in $dlprefiles; do
-           if test "X$dlpremoduletest" = "X$lib"; then
-             dlopenmodule=$dlpremoduletest
-             break
-           fi
-         done
-         if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
-           echo
-           if test prog = "$linkmode"; then
-             $ECHO "*** Warning: Linking the executable $output against the loadable module"
-           else
-             $ECHO "*** Warning: Linking the shared library $output against the loadable module"
-           fi
-           $ECHO "*** $linklib is not portable!"
-         fi
-         if test lib = "$linkmode" &&
-            test yes = "$hardcode_into_libs"; then
-           # Hardcode the library path.
-           # Skip directories that are in the system default run-time
-           # search path.
-           case " $sys_lib_dlsearch_path " in
-           *" $absdir "*) ;;
-           *)
-             case "$compile_rpath " in
-             *" $absdir "*) ;;
-             *) func_append compile_rpath " $absdir" ;;
-             esac
-             ;;
-           esac
-           case " $sys_lib_dlsearch_path " in
-           *" $libdir "*) ;;
-           *)
-             case "$finalize_rpath " in
-             *" $libdir "*) ;;
-             *) func_append finalize_rpath " $libdir" ;;
-             esac
-             ;;
-           esac
-         fi
-
-         if test -n "$old_archive_from_expsyms_cmds"; then
-           # figure out the soname
-           set dummy $library_names
-           shift
-           realname=$1
-           shift
-           libname=`eval "\\$ECHO \"$libname_spec\""`
-           # use dlname if we got it. it's perfectly good, no?
-           if test -n "$dlname"; then
-             soname=$dlname
-           elif test -n "$soname_spec"; then
-             # bleh windows
-             case $host in
-             *cygwin* | mingw* | *cegcc* | *os2*)
-               func_arith $current - $age
-               major=$func_arith_result
-               versuffix=-$major
-               ;;
-             esac
-             eval soname=\"$soname_spec\"
-           else
-             soname=$realname
-           fi
-
-           # Make a new name for the extract_expsyms_cmds to use
-           soroot=$soname
-           func_basename "$soroot"
-           soname=$func_basename_result
-           func_stripname 'lib' '.dll' "$soname"
-           newlib=libimp-$func_stripname_result.a
-
-           # If the library has no export list, then create one now
-           if test -f "$output_objdir/$soname-def"; then :
-           else
-             func_verbose "extracting exported symbol list from '$soname'"
-             func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
-           fi
-
-           # Create $newlib
-           if test -f "$output_objdir/$newlib"; then :; else
-             func_verbose "generating import library for '$soname'"
-             func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
-           fi
-           # make sure the library variables are pointing to the new library
-           dir=$output_objdir
-           linklib=$newlib
-         fi # test -n "$old_archive_from_expsyms_cmds"
-
-         if test prog = "$linkmode" || test relink != "$opt_mode"; then
-           add_shlibpath=
-           add_dir=
-           add=
-           lib_linked=yes
-           case $hardcode_action in
-           immediate | unsupported)
-             if test no = "$hardcode_direct"; then
-               add=$dir/$linklib
-               case $host in
-                 *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
-                 *-*-sysv4*uw2*) add_dir=-L$dir ;;
-                 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-                   *-*-unixware7*) add_dir=-L$dir ;;
-                 *-*-darwin* )
-                   # if the lib is a (non-dlopened) module then we cannot
-                   # link against it, someone is ignoring the earlier warnings
-                   if /usr/bin/file -L $add 2> /dev/null |
-                        $GREP ": [^:]* bundle" >/dev/null; then
-                     if test "X$dlopenmodule" != "X$lib"; then
-                       $ECHO "*** Warning: lib $linklib is a module, not a shared library"
-                       if test -z "$old_library"; then
-                         echo
-                         echo "*** And there doesn't seem to be a static archive available"
-                         echo "*** The link will probably fail, sorry"
-                       else
-                         add=$dir/$old_library
-                       fi
-                     elif test -n "$old_library"; then
-                       add=$dir/$old_library
-                     fi
-                   fi
-               esac
-             elif test no = "$hardcode_minus_L"; then
-               case $host in
-               *-*-sunos*) add_shlibpath=$dir ;;
-               esac
-               add_dir=-L$dir
-               add=-l$name
-             elif test no = "$hardcode_shlibpath_var"; then
-               add_shlibpath=$dir
-               add=-l$name
-             else
-               lib_linked=no
-             fi
-             ;;
-           relink)
-             if test yes = "$hardcode_direct" &&
-                test no = "$hardcode_direct_absolute"; then
-               add=$dir/$linklib
-             elif test yes = "$hardcode_minus_L"; then
-               add_dir=-L$absdir
-               # Try looking first in the location we're being installed to.
-               if test -n "$inst_prefix_dir"; then
-                 case $libdir in
-                   [\\/]*)
-                     func_append add_dir " -L$inst_prefix_dir$libdir"
-                     ;;
-                 esac
-               fi
-               add=-l$name
-             elif test yes = "$hardcode_shlibpath_var"; then
-               add_shlibpath=$dir
-               add=-l$name
-             else
-               lib_linked=no
-             fi
-             ;;
-           *) lib_linked=no ;;
-           esac
-
-           if test yes != "$lib_linked"; then
-             func_fatal_configuration "unsupported hardcode properties"
-           fi
-
-           if test -n "$add_shlibpath"; then
-             case :$compile_shlibpath: in
-             *":$add_shlibpath:"*) ;;
-             *) func_append compile_shlibpath "$add_shlibpath:" ;;
-             esac
-           fi
-           if test prog = "$linkmode"; then
-             test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
-             test -n "$add" && compile_deplibs="$add $compile_deplibs"
-           else
-             test -n "$add_dir" && deplibs="$add_dir $deplibs"
-             test -n "$add" && deplibs="$add $deplibs"
-             if test yes != "$hardcode_direct" &&
-                test yes != "$hardcode_minus_L" &&
-                test yes = "$hardcode_shlibpath_var"; then
-               case :$finalize_shlibpath: in
-               *":$libdir:"*) ;;
-               *) func_append finalize_shlibpath "$libdir:" ;;
-               esac
-             fi
-           fi
-         fi
-
-         if test prog = "$linkmode" || test relink = "$opt_mode"; then
-           add_shlibpath=
-           add_dir=
-           add=
-           # Finalize command for both is simple: just hardcode it.
-           if test yes = "$hardcode_direct" &&
-              test no = "$hardcode_direct_absolute"; then
-             add=$libdir/$linklib
-           elif test yes = "$hardcode_minus_L"; then
-             add_dir=-L$libdir
-             add=-l$name
-           elif test yes = "$hardcode_shlibpath_var"; then
-             case :$finalize_shlibpath: in
-             *":$libdir:"*) ;;
-             *) func_append finalize_shlibpath "$libdir:" ;;
-             esac
-             add=-l$name
-           elif test yes = "$hardcode_automatic"; then
-             if test -n "$inst_prefix_dir" &&
-                test -f "$inst_prefix_dir$libdir/$linklib"; then
-               add=$inst_prefix_dir$libdir/$linklib
-             else
-               add=$libdir/$linklib
-             fi
-           else
-             # We cannot seem to hardcode it, guess we'll fake it.
-             add_dir=-L$libdir
-             # Try looking first in the location we're being installed to.
-             if test -n "$inst_prefix_dir"; then
-               case $libdir in
-                 [\\/]*)
-                   func_append add_dir " -L$inst_prefix_dir$libdir"
-                   ;;
-               esac
-             fi
-             add=-l$name
-           fi
-
-           if test prog = "$linkmode"; then
-             test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
-             test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
-           else
-             test -n "$add_dir" && deplibs="$add_dir $deplibs"
-             test -n "$add" && deplibs="$add $deplibs"
-           fi
-         fi
-       elif test prog = "$linkmode"; then
-         # Here we assume that one of hardcode_direct or hardcode_minus_L
-         # is not unsupported.  This is valid on all known static and
-         # shared platforms.
-         if test unsupported != "$hardcode_direct"; then
-           test -n "$old_library" && linklib=$old_library
-           compile_deplibs="$dir/$linklib $compile_deplibs"
-           finalize_deplibs="$dir/$linklib $finalize_deplibs"
-         else
-           compile_deplibs="-l$name -L$dir $compile_deplibs"
-           finalize_deplibs="-l$name -L$dir $finalize_deplibs"
-         fi
-       elif test yes = "$build_libtool_libs"; then
-         # Not a shared library
-         if test pass_all != "$deplibs_check_method"; then
-           # We're trying link a shared library against a static one
-           # but the system doesn't support it.
-
-           # Just print a warning and add the library to dependency_libs so
-           # that the program can be linked against the static library.
-           echo
-           $ECHO "*** Warning: This system cannot link to static lib archive $lib."
-           echo "*** I have the capability to make that library automatically link in when"
-           echo "*** you link to this library.  But I can only do this if you have a"
-           echo "*** shared version of the library, which you do not appear to have."
-           if test yes = "$module"; then
-             echo "*** But as you try to build a module library, libtool will still create "
-             echo "*** a static module, that should work as long as the dlopening application"
-             echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
-             if test -z "$global_symbol_pipe"; then
-               echo
-               echo "*** However, this would only work if libtool was able to extract symbol"
-               echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
-               echo "*** not find such a program.  So, this module is probably useless."
-               echo "*** 'nm' from GNU binutils and a full rebuild may help."
-             fi
-             if test no = "$build_old_libs"; then
-               build_libtool_libs=module
-               build_old_libs=yes
-             else
-               build_libtool_libs=no
-             fi
-           fi
-         else
-           deplibs="$dir/$old_library $deplibs"
-           link_static=yes
-         fi
-       fi # link shared/static library?
-
-       if test lib = "$linkmode"; then
-         if test -n "$dependency_libs" &&
-            { test yes != "$hardcode_into_libs" ||
-              test yes = "$build_old_libs" ||
-              test yes = "$link_static"; }; then
-           # Extract -R from dependency_libs
-           temp_deplibs=
-           for libdir in $dependency_libs; do
-             case $libdir in
-             -R*) func_stripname '-R' '' "$libdir"
-                  temp_xrpath=$func_stripname_result
-                  case " $xrpath " in
-                  *" $temp_xrpath "*) ;;
-                  *) func_append xrpath " $temp_xrpath";;
-                  esac;;
-             *) func_append temp_deplibs " $libdir";;
-             esac
-           done
-           dependency_libs=$temp_deplibs
-         fi
-
-         func_append newlib_search_path " $absdir"
-         # Link against this library
-         test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
-         # ... and its dependency_libs
-         tmp_libs=
-         for deplib in $dependency_libs; do
-           newdependency_libs="$deplib $newdependency_libs"
-           case $deplib in
-              -L*) func_stripname '-L' '' "$deplib"
-                   func_resolve_sysroot "$func_stripname_result";;
-              *) func_resolve_sysroot "$deplib" ;;
-            esac
-           if $opt_preserve_dup_deps; then
-             case "$tmp_libs " in
-             *" $func_resolve_sysroot_result "*)
-                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
-             esac
-           fi
-           func_append tmp_libs " $func_resolve_sysroot_result"
-         done
-
-         if test no != "$link_all_deplibs"; then
-           # Add the search paths of all dependency libraries
-           for deplib in $dependency_libs; do
-             path=
-             case $deplib in
-             -L*) path=$deplib ;;
-             *.la)
-               func_resolve_sysroot "$deplib"
-               deplib=$func_resolve_sysroot_result
-               func_dirname "$deplib" "" "."
-               dir=$func_dirname_result
-               # We need an absolute path.
-               case $dir in
-               [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
-               *)
-                 absdir=`cd "$dir" && pwd`
-                 if test -z "$absdir"; then
-                   func_warning "cannot determine absolute directory name of '$dir'"
-                   absdir=$dir
-                 fi
-                 ;;
-               esac
-               if $GREP "^installed=no" $deplib > /dev/null; then
-               case $host in
-               *-*-darwin*)
-                 depdepl=
-                 eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-                 if test -n "$deplibrary_names"; then
-                   for tmp in $deplibrary_names; do
-                     depdepl=$tmp
-                   done
-                   if test -f "$absdir/$objdir/$depdepl"; then
-                     depdepl=$absdir/$objdir/$depdepl
-                     darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
-                      if test -z "$darwin_install_name"; then
-                          darwin_install_name=`$OTOOL64 -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
-                      fi
-                     func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
-                     func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
-                     path=
-                   fi
-                 fi
-                 ;;
-               *)
-                 path=-L$absdir/$objdir
-                 ;;
-               esac
-               else
-                 eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-                 test -z "$libdir" && \
-                   func_fatal_error "'$deplib' is not a valid libtool archive"
-                 test "$absdir" != "$libdir" && \
-                   func_warning "'$deplib' seems to be moved"
-
-                 path=-L$absdir
-               fi
-               ;;
-             esac
-             case " $deplibs " in
-             *" $path "*) ;;
-             *) deplibs="$path $deplibs" ;;
-             esac
-           done
-         fi # link_all_deplibs != no
-       fi # linkmode = lib
-      done # for deplib in $libs
-      if test link = "$pass"; then
-       if test prog = "$linkmode"; then
-         compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
-         finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
-       else
-         compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-       fi
-      fi
-      dependency_libs=$newdependency_libs
-      if test dlpreopen = "$pass"; then
-       # Link the dlpreopened libraries before other libraries
-       for deplib in $save_deplibs; do
-         deplibs="$deplib $deplibs"
-       done
-      fi
-      if test dlopen != "$pass"; then
-       test conv = "$pass" || {
-         # Make sure lib_search_path contains only unique directories.
-         lib_search_path=
-         for dir in $newlib_search_path; do
-           case "$lib_search_path " in
-           *" $dir "*) ;;
-           *) func_append lib_search_path " $dir" ;;
-           esac
-         done
-         newlib_search_path=
-       }
-
-       if test prog,link = "$linkmode,$pass"; then
-         vars="compile_deplibs finalize_deplibs"
-       else
-         vars=deplibs
-       fi
-       for var in $vars dependency_libs; do
-         # Add libraries to $var in reverse order
-         eval tmp_libs=\"\$$var\"
-         new_libs=
-         for deplib in $tmp_libs; do
-           # FIXME: Pedantically, this is the right thing to do, so
-           #        that some nasty dependency loop isn't accidentally
-           #        broken:
-           #new_libs="$deplib $new_libs"
-           # Pragmatically, this seems to cause very few problems in
-           # practice:
-           case $deplib in
-           -L*) new_libs="$deplib $new_libs" ;;
-           -R*) ;;
-           *)
-             # And here is the reason: when a library appears more
-             # than once as an explicit dependence of a library, or
-             # is implicitly linked in more than once by the
-             # compiler, it is considered special, and multiple
-             # occurrences thereof are not removed.  Compare this
-             # with having the same library being listed as a
-             # dependency of multiple other libraries: in this case,
-             # we know (pedantically, we assume) the library does not
-             # need to be listed more than once, so we keep only the
-             # last copy.  This is not always right, but it is rare
-             # enough that we require users that really mean to play
-             # such unportable linking tricks to link the library
-             # using -Wl,-lname, so that libtool does not consider it
-             # for duplicate removal.
-             case " $specialdeplibs " in
-             *" $deplib "*) new_libs="$deplib $new_libs" ;;
-             *)
-               case " $new_libs " in
-               *" $deplib "*) ;;
-               *) new_libs="$deplib $new_libs" ;;
-               esac
-               ;;
-             esac
-             ;;
-           esac
-         done
-         tmp_libs=
-         for deplib in $new_libs; do
-           case $deplib in
-           -L*)
-             case " $tmp_libs " in
-             *" $deplib "*) ;;
-             *) func_append tmp_libs " $deplib" ;;
-             esac
-             ;;
-           *) func_append tmp_libs " $deplib" ;;
-           esac
-         done
-         eval $var=\"$tmp_libs\"
-       done # for var
-      fi
-
-      # Add Sun CC postdeps if required:
-      test CXX = "$tagname" && {
-        case $host_os in
-        linux*)
-          case `$CC -V 2>&1 | sed 5q` in
-          *Sun\ C*) # Sun C++ 5.9
-            func_suncc_cstd_abi
-
-            if test no != "$suncc_use_cstd_abi"; then
-              func_append postdeps ' -library=Cstd -library=Crun'
-            fi
-            ;;
-          esac
-          ;;
-
-        solaris*)
-          func_cc_basename "$CC"
-          case $func_cc_basename_result in
-          CC* | sunCC*)
-            func_suncc_cstd_abi
-
-            if test no != "$suncc_use_cstd_abi"; then
-              func_append postdeps ' -library=Cstd -library=Crun'
-            fi
-            ;;
-          esac
-          ;;
-        esac
-      }
-
-      # Last step: remove runtime libs from dependency_libs
-      # (they stay in deplibs)
-      tmp_libs=
-      for i in $dependency_libs; do
-       case " $predeps $postdeps $compiler_lib_search_path " in
-       *" $i "*)
-         i=
-         ;;
-       esac
-       if test -n "$i"; then
-         func_append tmp_libs " $i"
-       fi
-      done
-      dependency_libs=$tmp_libs
-    done # for pass
-    if test prog = "$linkmode"; then
-      dlfiles=$newdlfiles
-    fi
-    if test prog = "$linkmode" || test lib = "$linkmode"; then
-      dlprefiles=$newdlprefiles
-    fi
-
-    case $linkmode in
-    oldlib)
-      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
-       func_warning "'-dlopen' is ignored for archives"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-       func_warning "'-l' and '-L' are ignored for archives" ;;
-      esac
-
-      test -n "$rpath" && \
-       func_warning "'-rpath' is ignored for archives"
-
-      test -n "$xrpath" && \
-       func_warning "'-R' is ignored for archives"
-
-      test -n "$vinfo" && \
-       func_warning "'-version-info/-version-number' is ignored for archives"
-
-      test -n "$release" && \
-       func_warning "'-release' is ignored for archives"
-
-      test -n "$export_symbols$export_symbols_regex" && \
-       func_warning "'-export-symbols' is ignored for archives"
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs=$output
-      func_append objs "$old_deplibs"
-      ;;
-
-    lib)
-      # Make sure we only generate libraries of the form 'libNAME.la'.
-      case $outputname in
-      lib*)
-       func_stripname 'lib' '.la' "$outputname"
-       name=$func_stripname_result
-       eval shared_ext=\"$shrext_cmds\"
-       eval libname=\"$libname_spec\"
-       ;;
-      *)
-       test no = "$module" \
-         && func_fatal_help "libtool library '$output' must begin with 'lib'"
-
-       if test no != "$need_lib_prefix"; then
-         # Add the "lib" prefix for modules if required
-         func_stripname '' '.la' "$outputname"
-         name=$func_stripname_result
-         eval shared_ext=\"$shrext_cmds\"
-         eval libname=\"$libname_spec\"
-       else
-         func_stripname '' '.la' "$outputname"
-         libname=$func_stripname_result
-       fi
-       ;;
-      esac
-
-      if test -n "$objs"; then
-       if test pass_all != "$deplibs_check_method"; then
-         func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
-       else
-         echo
-         $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
-         $ECHO "*** objects $objs is not portable!"
-         func_append libobjs " $objs"
-       fi
-      fi
-
-      test no = "$dlself" \
-       || func_warning "'-dlopen self' is ignored for libtool libraries"
-
-      set dummy $rpath
-      shift
-      test 1 -lt "$#" \
-       && func_warning "ignoring multiple '-rpath's for a libtool library"
-
-      install_libdir=$1
-
-      oldlibs=
-      if test -z "$rpath"; then
-       if test yes = "$build_libtool_libs"; then
-         # Building a libtool convenience library.
-         # Some compilers have problems with a '.al' extension so
-         # convenience libraries should have the same extension an
-         # archive normally would.
-         oldlibs="$output_objdir/$libname.$libext $oldlibs"
-         build_libtool_libs=convenience
-         build_old_libs=yes
-       fi
-
-       test -n "$vinfo" && \
-         func_warning "'-version-info/-version-number' is ignored for convenience libraries"
-
-       test -n "$release" && \
-         func_warning "'-release' is ignored for convenience libraries"
-      else
-
-       # Parse the version information argument.
-       save_ifs=$IFS; IFS=:
-       set dummy $vinfo 0 0 0
-       shift
-       IFS=$save_ifs
-
-       test -n "$7" && \
-         func_fatal_help "too many parameters to '-version-info'"
-
-       # convert absolute version numbers to libtool ages
-       # this retains compatibility with .la files and attempts
-       # to make the code below a bit more comprehensible
-
-       case $vinfo_number in
-       yes)
-         number_major=$1
-         number_minor=$2
-         number_revision=$3
-         #
-         # There are really only two kinds -- those that
-         # use the current revision as the major version
-         # and those that subtract age and use age as
-         # a minor version.  But, then there is irix
-         # that has an extra 1 added just for fun
-         #
-         case $version_type in
-         # correct linux to gnu/linux during the next big refactor
-         darwin|freebsd-elf|linux|osf|windows|none)
-           func_arith $number_major + $number_minor
-           current=$func_arith_result
-           age=$number_minor
-           revision=$number_revision
-           ;;
-         freebsd-aout|qnx|sunos)
-           current=$number_major
-           revision=$number_minor
-           age=0
-           ;;
-         irix|nonstopux)
-           func_arith $number_major + $number_minor
-           current=$func_arith_result
-           age=$number_minor
-           revision=$number_minor
-           lt_irix_increment=no
-           ;;
-         *)
-           func_fatal_configuration "$modename: unknown library version type '$version_type'"
-           ;;
-         esac
-         ;;
-       no)
-         current=$1
-         revision=$2
-         age=$3
-         ;;
-       esac
-
-       # Check that each of the things are valid numbers.
-       case $current in
-       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-       *)
-         func_error "CURRENT '$current' must be a nonnegative integer"
-         func_fatal_error "'$vinfo' is not valid version information"
-         ;;
-       esac
-
-       case $revision in
-       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-       *)
-         func_error "REVISION '$revision' must be a nonnegative integer"
-         func_fatal_error "'$vinfo' is not valid version information"
-         ;;
-       esac
-
-       case $age in
-       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-       *)
-         func_error "AGE '$age' must be a nonnegative integer"
-         func_fatal_error "'$vinfo' is not valid version information"
-         ;;
-       esac
-
-       if test "$age" -gt "$current"; then
-         func_error "AGE '$age' is greater than the current interface number '$current'"
-         func_fatal_error "'$vinfo' is not valid version information"
-       fi
-
-       # Calculate the version variables.
-       major=
-       versuffix=
-       verstring=
-       case $version_type in
-       none) ;;
-
-       darwin)
-         # Like Linux, but with the current version available in
-         # verstring for coding it into the library header
-         func_arith $current - $age
-         major=.$func_arith_result
-         versuffix=$major.$age.$revision
-         # Darwin ld doesn't like 0 for these options...
-         func_arith $current + 1
-         minor_current=$func_arith_result
-         xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
-         verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-          # On Darwin other compilers
-          case $CC in
-              nagfor*)
-                  verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
-                  ;;
-              *)
-                  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-                  ;;
-          esac
-         ;;
-
-       freebsd-aout)
-         major=.$current
-         versuffix=.$current.$revision
-         ;;
-
-       freebsd-elf)
-         func_arith $current - $age
-         major=.$func_arith_result
-         versuffix=$major.$age.$revision
-         ;;
-
-       irix | nonstopux)
-         if test no = "$lt_irix_increment"; then
-           func_arith $current - $age
-         else
-           func_arith $current - $age + 1
-         fi
-         major=$func_arith_result
-
-         case $version_type in
-           nonstopux) verstring_prefix=nonstopux ;;
-           *)         verstring_prefix=sgi ;;
-         esac
-         verstring=$verstring_prefix$major.$revision
-
-         # Add in all the interfaces that we are compatible with.
-         loop=$revision
-         while test 0 -ne "$loop"; do
-           func_arith $revision - $loop
-           iface=$func_arith_result
-           func_arith $loop - 1
-           loop=$func_arith_result
-           verstring=$verstring_prefix$major.$iface:$verstring
-         done
-
-         # Before this point, $major must not contain '.'.
-         major=.$major
-         versuffix=$major.$revision
-         ;;
-
-       linux) # correct to gnu/linux during the next big refactor
-         func_arith $current - $age
-         major=.$func_arith_result
-         versuffix=$major.$age.$revision
-         ;;
-
-       osf)
-         func_arith $current - $age
-         major=.$func_arith_result
-         versuffix=.$current.$age.$revision
-         verstring=$current.$age.$revision
-
-         # Add in all the interfaces that we are compatible with.
-         loop=$age
-         while test 0 -ne "$loop"; do
-           func_arith $current - $loop
-           iface=$func_arith_result
-           func_arith $loop - 1
-           loop=$func_arith_result
-           verstring=$verstring:$iface.0
-         done
-
-         # Make executables depend on our current version.
-         func_append verstring ":$current.0"
-         ;;
-
-       qnx)
-         major=.$current
-         versuffix=.$current
-         ;;
-
-       sco)
-         major=.$current
-         versuffix=.$current
-         ;;
-
-       sunos)
-         major=.$current
-         versuffix=.$current.$revision
-         ;;
-
-       windows)
-         # Use '-' rather than '.', since we only want one
-         # extension on DOS 8.3 file systems.
-         func_arith $current - $age
-         major=$func_arith_result
-         versuffix=-$major
-         ;;
-
-       *)
-         func_fatal_configuration "unknown library version type '$version_type'"
-         ;;
-       esac
-
-       # Clear the version info if we defaulted, and they specified a release.
-       if test -z "$vinfo" && test -n "$release"; then
-         major=
-         case $version_type in
-         darwin)
-           # we can't check for "0.0" in archive_cmds due to quoting
-           # problems, so we reset it completely
-           verstring=
-           ;;
-         *)
-           verstring=0.0
-           ;;
-         esac
-         if test no = "$need_version"; then
-           versuffix=
-         else
-           versuffix=.0.0
-         fi
-       fi
-
-       # Remove version info from name if versioning should be avoided
-       if test yes,no = "$avoid_version,$need_version"; then
-         major=
-         versuffix=
-         verstring=
-       fi
-
-       # Check to see if the archive will have undefined symbols.
-       if test yes = "$allow_undefined"; then
-         if test unsupported = "$allow_undefined_flag"; then
-           if test yes = "$build_old_libs"; then
-             func_warning "undefined symbols not allowed in $host shared libraries; building static only"
-             build_libtool_libs=no
-           else
-             func_fatal_error "can't build $host shared library unless -no-undefined is specified"
-           fi
-         fi
-       else
-         # Don't allow undefined symbols.
-         allow_undefined_flag=$no_undefined_flag
-       fi
-
-      fi
-
-      func_generate_dlsyms "$libname" "$libname" :
-      func_append libobjs " $symfileobj"
-      test " " = "$libobjs" && libobjs=
-
-      if test relink != "$opt_mode"; then
-       # Remove our outputs, but don't remove object files since they
-       # may have been created when compiling PIC objects.
-       removelist=
-       tempremovelist=`$ECHO "$output_objdir/*"`
-       for p in $tempremovelist; do
-         case $p in
-           *.$objext | *.gcno)
-              ;;
-           $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
-              if test -n "$precious_files_regex"; then
-                if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
-                then
-                  continue
-                fi
-              fi
-              func_append removelist " $p"
-              ;;
-           *) ;;
-         esac
-       done
-       test -n "$removelist" && \
-         func_show_eval "${RM}r \$removelist"
-      fi
-
-      # Now set the variables for building old libraries.
-      if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
-       func_append oldlibs " $output_objdir/$libname.$libext"
-
-       # Transform .lo files to .o files.
-       oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
-      fi
-
-      # Eliminate all temporary directories.
-      #for path in $notinst_path; do
-      #        lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
-      #        deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
-      #        dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
-      #done
-
-      if test -n "$xrpath"; then
-       # If the user specified any rpath flags, then add them.
-       temp_xrpath=
-       for libdir in $xrpath; do
-         func_replace_sysroot "$libdir"
-         func_append temp_xrpath " -R$func_replace_sysroot_result"
-         case "$finalize_rpath " in
-         *" $libdir "*) ;;
-         *) func_append finalize_rpath " $libdir" ;;
-         esac
-       done
-       if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
-         dependency_libs="$temp_xrpath $dependency_libs"
-       fi
-      fi
-
-      # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles=$dlfiles
-      dlfiles=
-      for lib in $old_dlfiles; do
-       case " $dlprefiles $dlfiles " in
-       *" $lib "*) ;;
-       *) func_append dlfiles " $lib" ;;
-       esac
-      done
-
-      # Make sure dlprefiles contains only unique files
-      old_dlprefiles=$dlprefiles
-      dlprefiles=
-      for lib in $old_dlprefiles; do
-       case "$dlprefiles " in
-       *" $lib "*) ;;
-       *) func_append dlprefiles " $lib" ;;
-       esac
-      done
-
-      if test yes = "$build_libtool_libs"; then
-       if test -n "$rpath"; then
-         case $host in
-         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
-           # these systems don't actually have a c library (as such)!
-           ;;
-         *-*-rhapsody* | *-*-darwin1.[012])
-           # Rhapsody C library is in the System framework
-           func_append deplibs " System.ltframework"
-           ;;
-         *-*-netbsd*)
-           # Don't link with libc until the a.out ld.so is fixed.
-           ;;
-         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-           # Do not include libc due to us having libc/libc_r.
-           ;;
-         *-*-sco3.2v5* | *-*-sco5v6*)
-           # Causes problems with __ctype
-           ;;
-         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-           # Compiler inserts libc in the correct place for threads to work
-           ;;
-         *)
-           # Add libc to deplibs on all other systems if necessary.
-           if test yes = "$build_libtool_need_lc"; then
-             func_append deplibs " -lc"
-           fi
-           ;;
-         esac
-       fi
-
-       # Transform deplibs into only deplibs that can be linked in shared.
-       name_save=$name
-       libname_save=$libname
-       release_save=$release
-       versuffix_save=$versuffix
-       major_save=$major
-       # I'm not sure if I'm treating the release correctly.  I think
-       # release should show up in the -l (ie -lgmp5) so we don't want to
-       # add it in twice.  Is that correct?
-       release=
-       versuffix=
-       major=
-       newdeplibs=
-       droppeddeps=no
-       case $deplibs_check_method in
-       pass_all)
-         # Don't check for shared/static.  Everything works.
-         # This might be a little naive.  We might want to check
-         # whether the library exists or not.  But this is on
-         # osf3 & osf4 and I'm not really sure... Just
-         # implementing what was already the behavior.
-         newdeplibs=$deplibs
-         ;;
-       test_compile)
-         # This code stresses the "libraries are programs" paradigm to its
-         # limits. Maybe even breaks it.  We compile a program, linking it
-         # against the deplibs as a proxy for the library.  Then we can check
-         # whether they linked in statically or dynamically with ldd.
-         $opt_dry_run || $RM conftest.c
-         cat > conftest.c <<EOF
-         int main() { return 0; }
-EOF
-         $opt_dry_run || $RM conftest
-         if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
-           ldd_output=`ldd conftest`
-           for i in $deplibs; do
-             case $i in
-             -l*)
-               func_stripname -l '' "$i"
-               name=$func_stripname_result
-               if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-                 case " $predeps $postdeps " in
-                 *" $i "*)
-                   func_append newdeplibs " $i"
-                   i=
-                   ;;
-                 esac
-               fi
-               if test -n "$i"; then
-                 libname=`eval "\\$ECHO \"$libname_spec\""`
-                 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-                 set dummy $deplib_matches; shift
-                 deplib_match=$1
-                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
-                   func_append newdeplibs " $i"
-                 else
-                   droppeddeps=yes
-                   echo
-                   $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-                   echo "*** I have the capability to make that library automatically link in when"
-                   echo "*** you link to this library.  But I can only do this if you have a"
-                   echo "*** shared version of the library, which I believe you do not have"
-                   echo "*** because a test_compile did reveal that the linker did not use it for"
-                   echo "*** its dynamic dependency list that programs get resolved with at runtime."
-                 fi
-               fi
-               ;;
-             *)
-               func_append newdeplibs " $i"
-               ;;
-             esac
-           done
-         else
-           # Error occurred in the first compile.  Let's try to salvage
-           # the situation: Compile a separate program for each library.
-           for i in $deplibs; do
-             case $i in
-             -l*)
-               func_stripname -l '' "$i"
-               name=$func_stripname_result
-               $opt_dry_run || $RM conftest
-               if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
-                 ldd_output=`ldd conftest`
-                 if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-                   case " $predeps $postdeps " in
-                   *" $i "*)
-                     func_append newdeplibs " $i"
-                     i=
-                     ;;
-                   esac
-                 fi
-                 if test -n "$i"; then
-                   libname=`eval "\\$ECHO \"$libname_spec\""`
-                   deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-                   set dummy $deplib_matches; shift
-                   deplib_match=$1
-                   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
-                     func_append newdeplibs " $i"
-                   else
-                     droppeddeps=yes
-                     echo
-                     $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-                     echo "*** I have the capability to make that library automatically link in when"
-                     echo "*** you link to this library.  But I can only do this if you have a"
-                     echo "*** shared version of the library, which you do not appear to have"
-                     echo "*** because a test_compile did reveal that the linker did not use this one"
-                     echo "*** as a dynamic dependency that programs can get resolved with at runtime."
-                   fi
-                 fi
-               else
-                 droppeddeps=yes
-                 echo
-                 $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
-                 echo "*** make it link in!  You will probably need to install it or some"
-                 echo "*** library that it depends on before this library will be fully"
-                 echo "*** functional.  Installing it before continuing would be even better."
-               fi
-               ;;
-             *)
-               func_append newdeplibs " $i"
-               ;;
-             esac
-           done
-         fi
-         ;;
-       file_magic*)
-         set dummy $deplibs_check_method; shift
-         file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-         for a_deplib in $deplibs; do
-           case $a_deplib in
-           -l*)
-             func_stripname -l '' "$a_deplib"
-             name=$func_stripname_result
-             if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-               case " $predeps $postdeps " in
-               *" $a_deplib "*)
-                 func_append newdeplibs " $a_deplib"
-                 a_deplib=
-                 ;;
-               esac
-             fi
-             if test -n "$a_deplib"; then
-               libname=`eval "\\$ECHO \"$libname_spec\""`
-               if test -n "$file_magic_glob"; then
-                 libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
-               else
-                 libnameglob=$libname
-               fi
-               test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
-               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-                 if test yes = "$want_nocaseglob"; then
-                   shopt -s nocaseglob
-                   potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
-                   $nocaseglob
-                 else
-                   potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
-                 fi
-                 for potent_lib in $potential_libs; do
-                     # Follow soft links.
-                     if ls -lLd "$potent_lib" 2>/dev/null |
-                        $GREP " -> " >/dev/null; then
-                       continue
-                     fi
-                     # The statement above tries to avoid entering an
-                     # endless loop below, in case of cyclic links.
-                     # We might still enter an endless loop, since a link
-                     # loop can be closed while we follow links,
-                     # but so what?
-                     potlib=$potent_lib
-                     while test -h "$potlib" 2>/dev/null; do
-                       potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
-                       case $potliblink in
-                       [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
-                       *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
-                       esac
-                     done
-                     if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
-                        $SED -e 10q |
-                        $EGREP "$file_magic_regex" > /dev/null; then
-                       func_append newdeplibs " $a_deplib"
-                       a_deplib=
-                       break 2
-                     fi
-                 done
-               done
-             fi
-             if test -n "$a_deplib"; then
-               droppeddeps=yes
-               echo
-               $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-               echo "*** I have the capability to make that library automatically link in when"
-               echo "*** you link to this library.  But I can only do this if you have a"
-               echo "*** shared version of the library, which you do not appear to have"
-               echo "*** because I did check the linker path looking for a file starting"
-               if test -z "$potlib"; then
-                 $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
-               else
-                 $ECHO "*** with $libname and none of the candidates passed a file format test"
-                 $ECHO "*** using a file magic. Last file checked: $potlib"
-               fi
-             fi
-             ;;
-           *)
-             # Add a -L argument.
-             func_append newdeplibs " $a_deplib"
-             ;;
-           esac
-         done # Gone through all deplibs.
-         ;;
-       match_pattern*)
-         set dummy $deplibs_check_method; shift
-         match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-         for a_deplib in $deplibs; do
-           case $a_deplib in
-           -l*)
-             func_stripname -l '' "$a_deplib"
-             name=$func_stripname_result
-             if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-               case " $predeps $postdeps " in
-               *" $a_deplib "*)
-                 func_append newdeplibs " $a_deplib"
-                 a_deplib=
-                 ;;
-               esac
-             fi
-             if test -n "$a_deplib"; then
-               libname=`eval "\\$ECHO \"$libname_spec\""`
-               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-                 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-                 for potent_lib in $potential_libs; do
-                   potlib=$potent_lib # see symlink-check above in file_magic test
-                   if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
-                      $EGREP "$match_pattern_regex" > /dev/null; then
-                     func_append newdeplibs " $a_deplib"
-                     a_deplib=
-                     break 2
-                   fi
-                 done
-               done
-             fi
-             if test -n "$a_deplib"; then
-               droppeddeps=yes
-               echo
-               $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-               echo "*** I have the capability to make that library automatically link in when"
-               echo "*** you link to this library.  But I can only do this if you have a"
-               echo "*** shared version of the library, which you do not appear to have"
-               echo "*** because I did check the linker path looking for a file starting"
-               if test -z "$potlib"; then
-                 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
-               else
-                 $ECHO "*** with $libname and none of the candidates passed a file format test"
-                 $ECHO "*** using a regex pattern. Last file checked: $potlib"
-               fi
-             fi
-             ;;
-           *)
-             # Add a -L argument.
-             func_append newdeplibs " $a_deplib"
-             ;;
-           esac
-         done # Gone through all deplibs.
-         ;;
-       none | unknown | *)
-         newdeplibs=
-         tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
-         if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-           for i in $predeps $postdeps; do
-             # can't use Xsed below, because $i might contain '/'
-             tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
-           done
-         fi
-         case $tmp_deplibs in
-         *[!\  \ ]*)
-           echo
-           if test none = "$deplibs_check_method"; then
-             echo "*** Warning: inter-library dependencies are not supported in this platform."
-           else
-             echo "*** Warning: inter-library dependencies are not known to be supported."
-           fi
-           echo "*** All declared inter-library dependencies are being dropped."
-           droppeddeps=yes
-           ;;
-         esac
-         ;;
-       esac
-       versuffix=$versuffix_save
-       major=$major_save
-       release=$release_save
-       libname=$libname_save
-       name=$name_save
-
-       case $host in
-       *-*-rhapsody* | *-*-darwin1.[012])
-         # On Rhapsody replace the C library with the System framework
-         newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
-         ;;
-       esac
-
-       if test yes = "$droppeddeps"; then
-         if test yes = "$module"; then
-           echo
-           echo "*** Warning: libtool could not satisfy all declared inter-library"
-           $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
-           echo "*** a static module, that should work as long as the dlopening"
-           echo "*** application is linked with the -dlopen flag."
-           if test -z "$global_symbol_pipe"; then
-             echo
-             echo "*** However, this would only work if libtool was able to extract symbol"
-             echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
-             echo "*** not find such a program.  So, this module is probably useless."
-             echo "*** 'nm' from GNU binutils and a full rebuild may help."
-           fi
-           if test no = "$build_old_libs"; then
-             oldlibs=$output_objdir/$libname.$libext
-             build_libtool_libs=module
-             build_old_libs=yes
-           else
-             build_libtool_libs=no
-           fi
-         else
-           echo "*** The inter-library dependencies that have been dropped here will be"
-           echo "*** automatically added whenever a program is linked with this library"
-           echo "*** or is declared to -dlopen it."
-
-           if test no = "$allow_undefined"; then
-             echo
-             echo "*** Since this library must not contain undefined symbols,"
-             echo "*** because either the platform does not support them or"
-             echo "*** it was explicitly requested with -no-undefined,"
-             echo "*** libtool will only create a static version of it."
-             if test no = "$build_old_libs"; then
-               oldlibs=$output_objdir/$libname.$libext
-               build_libtool_libs=module
-               build_old_libs=yes
-             else
-               build_libtool_libs=no
-             fi
-           fi
-         fi
-       fi
-       # Done checking deplibs!
-       deplibs=$newdeplibs
-      fi
-      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
-      case $host in
-       *-*-darwin*)
-         newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-         new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-         deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-         ;;
-      esac
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-       case " $new_libs " in
-       *" -L$path/$objdir "*) ;;
-       *)
-         case " $deplibs " in
-         *" -L$path/$objdir "*)
-           func_append new_libs " -L$path/$objdir" ;;
-         esac
-         ;;
-       esac
-      done
-      for deplib in $deplibs; do
-       case $deplib in
-       -L*)
-         case " $new_libs " in
-         *" $deplib "*) ;;
-         *) func_append new_libs " $deplib" ;;
-         esac
-         ;;
-       *) func_append new_libs " $deplib" ;;
-       esac
-      done
-      deplibs=$new_libs
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-
-      # Test again, we may have decided not to build it any more
-      if test yes = "$build_libtool_libs"; then
-       # Remove $wl instances when linking with ld.
-       # FIXME: should test the right _cmds variable.
-       case $archive_cmds in
-         *\$LD\ *) wl= ;;
-        esac
-       if test yes = "$hardcode_into_libs"; then
-         # Hardcode the library paths
-         hardcode_libdirs=
-         dep_rpath=
-         rpath=$finalize_rpath
-         test relink = "$opt_mode" || rpath=$compile_rpath$rpath
-         for libdir in $rpath; do
-           if test -n "$hardcode_libdir_flag_spec"; then
-             if test -n "$hardcode_libdir_separator"; then
-               func_replace_sysroot "$libdir"
-               libdir=$func_replace_sysroot_result
-               if test -z "$hardcode_libdirs"; then
-                 hardcode_libdirs=$libdir
-               else
-                 # Just accumulate the unique libdirs.
-                 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-                 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-                   ;;
-                 *)
-                   func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-                   ;;
-                 esac
-               fi
-             else
-               eval flag=\"$hardcode_libdir_flag_spec\"
-               func_append dep_rpath " $flag"
-             fi
-           elif test -n "$runpath_var"; then
-             case "$perm_rpath " in
-             *" $libdir "*) ;;
-             *) func_append perm_rpath " $libdir" ;;
-             esac
-           fi
-         done
-         # Substitute the hardcoded libdirs into the rpath.
-         if test -n "$hardcode_libdir_separator" &&
-            test -n "$hardcode_libdirs"; then
-           libdir=$hardcode_libdirs
-           eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
-         fi
-         if test -n "$runpath_var" && test -n "$perm_rpath"; then
-           # We should set the runpath_var.
-           rpath=
-           for dir in $perm_rpath; do
-             func_append rpath "$dir:"
-           done
-           eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
-         fi
-         test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
-       fi
-
-       shlibpath=$finalize_shlibpath
-       test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
-       if test -n "$shlibpath"; then
-         eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
-       fi
-
-       # Get the real and link names of the library.
-       eval shared_ext=\"$shrext_cmds\"
-       eval library_names=\"$library_names_spec\"
-       set dummy $library_names
-       shift
-       realname=$1
-       shift
-
-       if test -n "$soname_spec"; then
-         eval soname=\"$soname_spec\"
-       else
-         soname=$realname
-       fi
-       if test -z "$dlname"; then
-         dlname=$soname
-       fi
-
-       lib=$output_objdir/$realname
-       linknames=
-       for link
-       do
-         func_append linknames " $link"
-       done
-
-       # Use standard objects if they are pic
-       test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
-       test "X$libobjs" = "X " && libobjs=
-
-       delfiles=
-       if test -n "$export_symbols" && test -n "$include_expsyms"; then
-         $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
-         export_symbols=$output_objdir/$libname.uexp
-         func_append delfiles " $export_symbols"
-       fi
-
-       orig_export_symbols=
-       case $host_os in
-       cygwin* | mingw* | cegcc*)
-         if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
-           # exporting using user supplied symfile
-           func_dll_def_p "$export_symbols" || {
-             # and it's NOT already a .def file. Must figure out
-             # which of the given symbols are data symbols and tag
-             # them as such. So, trigger use of export_symbols_cmds.
-             # export_symbols gets reassigned inside the "prepare
-             # the list of exported symbols" if statement, so the
-             # include_expsyms logic still works.
-             orig_export_symbols=$export_symbols
-             export_symbols=
-             always_export_symbols=yes
-           }
-         fi
-         ;;
-       esac
-
-       # Prepare the list of exported symbols
-       if test -z "$export_symbols"; then
-         if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
-           func_verbose "generating symbol list for '$libname.la'"
-           export_symbols=$output_objdir/$libname.exp
-           $opt_dry_run || $RM $export_symbols
-           cmds=$export_symbols_cmds
-           save_ifs=$IFS; IFS='~'
-           for cmd1 in $cmds; do
-             IFS=$save_ifs
-             # Take the normal branch if the nm_file_list_spec branch
-             # doesn't work or if tool conversion is not needed.
-             case $nm_file_list_spec~$to_tool_file_cmd in
-               *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
-                 try_normal_branch=yes
-                 eval cmd=\"$cmd1\"
-                 func_len " $cmd"
-                 len=$func_len_result
-                 ;;
-               *)
-                 try_normal_branch=no
-                 ;;
-             esac
-             if test yes = "$try_normal_branch" \
-                && { test "$len" -lt "$max_cmd_len" \
-                     || test "$max_cmd_len" -le -1; }
-             then
-               func_show_eval "$cmd" 'exit $?'
-               skipped_export=false
-             elif test -n "$nm_file_list_spec"; then
-               func_basename "$output"
-               output_la=$func_basename_result
-               save_libobjs=$libobjs
-               save_output=$output
-               output=$output_objdir/$output_la.nm
-               func_to_tool_file "$output"
-               libobjs=$nm_file_list_spec$func_to_tool_file_result
-               func_append delfiles " $output"
-               func_verbose "creating $NM input file list: $output"
-               for obj in $save_libobjs; do
-                 func_to_tool_file "$obj"
-                 $ECHO "$func_to_tool_file_result"
-               done > "$output"
-               eval cmd=\"$cmd1\"
-               func_show_eval "$cmd" 'exit $?'
-               output=$save_output
-               libobjs=$save_libobjs
-               skipped_export=false
-             else
-               # The command line is too long to execute in one step.
-               func_verbose "using reloadable object file for export list..."
-               skipped_export=:
-               # Break out early, otherwise skipped_export may be
-               # set to false by a later but shorter cmd.
-               break
-             fi
-           done
-           IFS=$save_ifs
-           if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
-             func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-             func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-           fi
-         fi
-       fi
-
-       if test -n "$export_symbols" && test -n "$include_expsyms"; then
-         tmp_export_symbols=$export_symbols
-         test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
-         $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
-       fi
-
-       if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
-         # The given exports_symbols file has to be filtered, so filter it.
-         func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
-         # FIXME: $output_objdir/$libname.filter potentially contains lots of
-         # 's' commands, which not all seds can handle. GNU sed should be fine
-         # though. Also, the filter scales superlinearly with the number of
-         # global variables. join(1) would be nice here, but unfortunately
-         # isn't a blessed tool.
-         $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-         func_append delfiles " $export_symbols $output_objdir/$libname.filter"
-         export_symbols=$output_objdir/$libname.def
-         $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-       fi
-
-       tmp_deplibs=
-       for test_deplib in $deplibs; do
-         case " $convenience " in
-         *" $test_deplib "*) ;;
-         *)
-           func_append tmp_deplibs " $test_deplib"
-           ;;
-         esac
-       done
-       deplibs=$tmp_deplibs
-
-       if test -n "$convenience"; then
-         if test -n "$whole_archive_flag_spec" &&
-           test yes = "$compiler_needs_object" &&
-           test -z "$libobjs"; then
-           # extract the archives, so we have objects to list.
-           # TODO: could optimize this to just extract one archive.
-           whole_archive_flag_spec=
-         fi
-         if test -n "$whole_archive_flag_spec"; then
-           save_libobjs=$libobjs
-           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-           test "X$libobjs" = "X " && libobjs=
-         else
-           gentop=$output_objdir/${outputname}x
-           func_append generated " $gentop"
-
-           func_extract_archives $gentop $convenience
-           func_append libobjs " $func_extract_archives_result"
-           test "X$libobjs" = "X " && libobjs=
-         fi
-       fi
-
-       if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
-         eval flag=\"$thread_safe_flag_spec\"
-         func_append linker_flags " $flag"
-       fi
-
-       # Make a backup of the uninstalled library when relinking
-       if test relink = "$opt_mode"; then
-         $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
-       fi
-
-       # Do each of the archive commands.
-       if test yes = "$module" && test -n "$module_cmds"; then
-         if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-           eval test_cmds=\"$module_expsym_cmds\"
-           cmds=$module_expsym_cmds
-         else
-           eval test_cmds=\"$module_cmds\"
-           cmds=$module_cmds
-         fi
-       else
-         if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-           eval test_cmds=\"$archive_expsym_cmds\"
-           cmds=$archive_expsym_cmds
-         else
-           eval test_cmds=\"$archive_cmds\"
-           cmds=$archive_cmds
-         fi
-       fi
-
-       if test : != "$skipped_export" &&
-          func_len " $test_cmds" &&
-          len=$func_len_result &&
-          test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-         :
-       else
-         # The command line is too long to link in one step, link piecewise
-         # or, if using GNU ld and skipped_export is not :, use a linker
-         # script.
-
-         # Save the value of $output and $libobjs because we want to
-         # use them later.  If we have whole_archive_flag_spec, we
-         # want to use save_libobjs as it was before
-         # whole_archive_flag_spec was expanded, because we can't
-         # assume the linker understands whole_archive_flag_spec.
-         # This may have to be revisited, in case too many
-         # convenience libraries get linked in and end up exceeding
-         # the spec.
-         if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
-           save_libobjs=$libobjs
-         fi
-         save_output=$output
-         func_basename "$output"
-         output_la=$func_basename_result
-
-         # Clear the reloadable object creation command queue and
-         # initialize k to one.
-         test_cmds=
-         concat_cmds=
-         objlist=
-         last_robj=
-         k=1
-
-         if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
-           output=$output_objdir/$output_la.lnkscript
-           func_verbose "creating GNU ld script: $output"
-           echo 'INPUT (' > $output
-           for obj in $save_libobjs
-           do
-             func_to_tool_file "$obj"
-             $ECHO "$func_to_tool_file_result" >> $output
-           done
-           echo ')' >> $output
-           func_append delfiles " $output"
-           func_to_tool_file "$output"
-           output=$func_to_tool_file_result
-         elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
-           output=$output_objdir/$output_la.lnk
-           func_verbose "creating linker input file list: $output"
-           : > $output
-           set x $save_libobjs
-           shift
-           firstobj=
-           if test yes = "$compiler_needs_object"; then
-             firstobj="$1 "
-             shift
-           fi
-           for obj
-           do
-             func_to_tool_file "$obj"
-             $ECHO "$func_to_tool_file_result" >> $output
-           done
-           func_append delfiles " $output"
-           func_to_tool_file "$output"
-           output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
-         else
-           if test -n "$save_libobjs"; then
-             func_verbose "creating reloadable object files..."
-             output=$output_objdir/$output_la-$k.$objext
-             eval test_cmds=\"$reload_cmds\"
-             func_len " $test_cmds"
-             len0=$func_len_result
-             len=$len0
-
-             # Loop over the list of objects to be linked.
-             for obj in $save_libobjs
-             do
-               func_len " $obj"
-               func_arith $len + $func_len_result
-               len=$func_arith_result
-               if test -z "$objlist" ||
-                  test "$len" -lt "$max_cmd_len"; then
-                 func_append objlist " $obj"
-               else
-                 # The command $test_cmds is almost too long, add a
-                 # command to the queue.
-                 if test 1 -eq "$k"; then
-                   # The first file doesn't have a previous command to add.
-                   reload_objs=$objlist
-                   eval concat_cmds=\"$reload_cmds\"
-                 else
-                   # All subsequent reloadable object files will link in
-                   # the last one created.
-                   reload_objs="$objlist $last_robj"
-                   eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
-                 fi
-                 last_robj=$output_objdir/$output_la-$k.$objext
-                 func_arith $k + 1
-                 k=$func_arith_result
-                 output=$output_objdir/$output_la-$k.$objext
-                 objlist=" $obj"
-                 func_len " $last_robj"
-                 func_arith $len0 + $func_len_result
-                 len=$func_arith_result
-               fi
-             done
-             # Handle the remaining objects by creating one last
-             # reloadable object file.  All subsequent reloadable object
-             # files will link in the last one created.
-             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-             reload_objs="$objlist $last_robj"
-             eval concat_cmds=\"\$concat_cmds$reload_cmds\"
-             if test -n "$last_robj"; then
-               eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
-             fi
-             func_append delfiles " $output"
-
-           else
-             output=
-           fi
-
-           ${skipped_export-false} && {
-             func_verbose "generating symbol list for '$libname.la'"
-             export_symbols=$output_objdir/$libname.exp
-             $opt_dry_run || $RM $export_symbols
-             libobjs=$output
-             # Append the command to create the export file.
-             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-             eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
-             if test -n "$last_robj"; then
-               eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
-             fi
-           }
-
-           test -n "$save_libobjs" &&
-             func_verbose "creating a temporary reloadable object file: $output"
-
-           # Loop through the commands generated above and execute them.
-           save_ifs=$IFS; IFS='~'
-           for cmd in $concat_cmds; do
-             IFS=$save_ifs
-             $opt_quiet || {
-                 func_quote_arg expand,pretty "$cmd"
-                 eval "func_echo $func_quote_arg_result"
-             }
-             $opt_dry_run || eval "$cmd" || {
-               lt_exit=$?
-
-               # Restore the uninstalled library and exit
-               if test relink = "$opt_mode"; then
-                 ( cd "$output_objdir" && \
-                   $RM "${realname}T" && \
-                   $MV "${realname}U" "$realname" )
-               fi
-
-               exit $lt_exit
-             }
-           done
-           IFS=$save_ifs
-
-           if test -n "$export_symbols_regex" && ${skipped_export-false}; then
-             func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-             func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-           fi
-         fi
-
-          ${skipped_export-false} && {
-           if test -n "$export_symbols" && test -n "$include_expsyms"; then
-             tmp_export_symbols=$export_symbols
-             test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
-             $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
-           fi
-
-           if test -n "$orig_export_symbols"; then
-             # The given exports_symbols file has to be filtered, so filter it.
-             func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
-             # FIXME: $output_objdir/$libname.filter potentially contains lots of
-             # 's' commands, which not all seds can handle. GNU sed should be fine
-             # though. Also, the filter scales superlinearly with the number of
-             # global variables. join(1) would be nice here, but unfortunately
-             # isn't a blessed tool.
-             $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-             func_append delfiles " $export_symbols $output_objdir/$libname.filter"
-             export_symbols=$output_objdir/$libname.def
-             $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-           fi
-         }
-
-         libobjs=$output
-         # Restore the value of output.
-         output=$save_output
-
-         if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
-           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-           test "X$libobjs" = "X " && libobjs=
-         fi
-         # Expand the library linking commands again to reset the
-         # value of $libobjs for piecewise linking.
-
-         # Do each of the archive commands.
-         if test yes = "$module" && test -n "$module_cmds"; then
-           if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-             cmds=$module_expsym_cmds
-           else
-             cmds=$module_cmds
-           fi
-         else
-           if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-             cmds=$archive_expsym_cmds
-           else
-             cmds=$archive_cmds
-           fi
-         fi
-       fi
-
-       if test -n "$delfiles"; then
-         # Append the command to remove temporary files to $cmds.
-         eval cmds=\"\$cmds~\$RM $delfiles\"
-       fi
-
-       # Add any objects from preloaded convenience libraries
-       if test -n "$dlprefiles"; then
-         gentop=$output_objdir/${outputname}x
-         func_append generated " $gentop"
-
-         func_extract_archives $gentop $dlprefiles
-         func_append libobjs " $func_extract_archives_result"
-         test "X$libobjs" = "X " && libobjs=
-       fi
-
-       save_ifs=$IFS; IFS='~'
-       for cmd in $cmds; do
-         IFS=$sp$nl
-         eval cmd=\"$cmd\"
-         IFS=$save_ifs
-         $opt_quiet || {
-           func_quote_arg expand,pretty "$cmd"
-           eval "func_echo $func_quote_arg_result"
-         }
-         $opt_dry_run || eval "$cmd" || {
-           lt_exit=$?
-
-           # Restore the uninstalled library and exit
-           if test relink = "$opt_mode"; then
-             ( cd "$output_objdir" && \
-               $RM "${realname}T" && \
-               $MV "${realname}U" "$realname" )
-           fi
-
-           exit $lt_exit
-         }
-       done
-       IFS=$save_ifs
-
-       # Restore the uninstalled library and exit
-       if test relink = "$opt_mode"; then
-         $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
-
-         if test -n "$convenience"; then
-           if test -z "$whole_archive_flag_spec"; then
-             func_show_eval '${RM}r "$gentop"'
-           fi
-         fi
-
-         exit $EXIT_SUCCESS
-       fi
-
-       # Create links to the real library.
-       for linkname in $linknames; do
-         if test "$realname" != "$linkname"; then
-           func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
-         fi
-       done
-
-       # If -module or -export-dynamic was specified, set the dlname.
-       if test yes = "$module" || test yes = "$export_dynamic"; then
-         # On all known operating systems, these are identical.
-         dlname=$soname
-       fi
-      fi
-      ;;
-
-    obj)
-      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
-       func_warning "'-dlopen' is ignored for objects"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-       func_warning "'-l' and '-L' are ignored for objects" ;;
-      esac
-
-      test -n "$rpath" && \
-       func_warning "'-rpath' is ignored for objects"
-
-      test -n "$xrpath" && \
-       func_warning "'-R' is ignored for objects"
-
-      test -n "$vinfo" && \
-       func_warning "'-version-info' is ignored for objects"
-
-      test -n "$release" && \
-       func_warning "'-release' is ignored for objects"
-
-      case $output in
-      *.lo)
-       test -n "$objs$old_deplibs" && \
-         func_fatal_error "cannot build library object '$output' from non-libtool objects"
-
-       libobj=$output
-       func_lo2o "$libobj"
-       obj=$func_lo2o_result
-       ;;
-      *)
-       libobj=
-       obj=$output
-       ;;
-      esac
-
-      # Delete the old objects.
-      $opt_dry_run || $RM $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # if reload_cmds runs $LD directly, get rid of -Wl from
-      # whole_archive_flag_spec and hope we can get by with turning comma
-      # into space.
-      case $reload_cmds in
-        *\$LD[\ \$]*) wl= ;;
-      esac
-      if test -n "$convenience"; then
-       if test -n "$whole_archive_flag_spec"; then
-         eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-         test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
-         reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
-       else
-         gentop=$output_objdir/${obj}x
-         func_append generated " $gentop"
-
-         func_extract_archives $gentop $convenience
-         reload_conv_objs="$reload_objs $func_extract_archives_result"
-       fi
-      fi
-
-      # If we're not building shared, we need to use non_pic_objs
-      test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
-
-      # Create the old-style object.
-      reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
-
-      output=$obj
-      func_execute_cmds "$reload_cmds" 'exit $?'
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-       if test -n "$gentop"; then
-         func_show_eval '${RM}r "$gentop"'
-       fi
-
-       exit $EXIT_SUCCESS
-      fi
-
-      test yes = "$build_libtool_libs" || {
-       if test -n "$gentop"; then
-         func_show_eval '${RM}r "$gentop"'
-       fi
-
-       # Create an invalid libtool object if no PIC, so that we don't
-       # accidentally link it into a program.
-       # $show "echo timestamp > $libobj"
-       # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
-       exit $EXIT_SUCCESS
-      }
-
-      if test -n "$pic_flag" || test default != "$pic_mode"; then
-       # Only do commands if we really have different PIC objects.
-       reload_objs="$libobjs $reload_conv_objs"
-       output=$libobj
-       func_execute_cmds "$reload_cmds" 'exit $?'
-      fi
-
-      if test -n "$gentop"; then
-       func_show_eval '${RM}r "$gentop"'
-      fi
-
-      exit $EXIT_SUCCESS
-      ;;
-
-    prog)
-      case $host in
-       *cygwin*) func_stripname '' '.exe' "$output"
-                 output=$func_stripname_result.exe;;
-      esac
-      test -n "$vinfo" && \
-       func_warning "'-version-info' is ignored for programs"
-
-      test -n "$release" && \
-       func_warning "'-release' is ignored for programs"
-
-      $preload \
-       && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
-       && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
-
-      case $host in
-      *-*-rhapsody* | *-*-darwin1.[012])
-       # On Rhapsody replace the C library is the System framework
-       compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
-       finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
-       ;;
-      esac
-
-      case $host in
-      *-*-darwin*)
-       # Don't allow lazy linking, it breaks C++ global constructors
-       # But is supposedly fixed on 10.4 or later (yay!).
-       if test CXX = "$tagname"; then
-         case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
-           10.[0123])
-             func_append compile_command " $wl-bind_at_load"
-             func_append finalize_command " $wl-bind_at_load"
-           ;;
-         esac
-       fi
-       # Time to change all our "foo.ltframework" stuff back to "-framework foo"
-       compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-       finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-       ;;
-      esac
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-       case " $new_libs " in
-       *" -L$path/$objdir "*) ;;
-       *)
-         case " $compile_deplibs " in
-         *" -L$path/$objdir "*)
-           func_append new_libs " -L$path/$objdir" ;;
-         esac
-         ;;
-       esac
-      done
-      for deplib in $compile_deplibs; do
-       case $deplib in
-       -L*)
-         case " $new_libs " in
-         *" $deplib "*) ;;
-         *) func_append new_libs " $deplib" ;;
-         esac
-         ;;
-       *) func_append new_libs " $deplib" ;;
-       esac
-      done
-      compile_deplibs=$new_libs
-
-
-      func_append compile_command " $compile_deplibs"
-      func_append finalize_command " $finalize_deplibs"
-
-      if test -n "$rpath$xrpath"; then
-       # If the user specified any rpath flags, then add them.
-       for libdir in $rpath $xrpath; do
-         # This is the magic to use -rpath.
-         case "$finalize_rpath " in
-         *" $libdir "*) ;;
-         *) func_append finalize_rpath " $libdir" ;;
-         esac
-       done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs=$libdir
-           else
-             # Just accumulate the unique libdirs.
-             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-               ;;
-             *)
-               func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-               ;;
-             esac
-           fi
-         else
-           eval flag=\"$hardcode_libdir_flag_spec\"
-           func_append rpath " $flag"
-         fi
-       elif test -n "$runpath_var"; then
-         case "$perm_rpath " in
-         *" $libdir "*) ;;
-         *) func_append perm_rpath " $libdir" ;;
-         esac
-       fi
-       case $host in
-       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-         testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
-         case :$dllsearchpath: in
-         *":$libdir:"*) ;;
-         ::) dllsearchpath=$libdir;;
-         *) func_append dllsearchpath ":$libdir";;
-         esac
-         case :$dllsearchpath: in
-         *":$testbindir:"*) ;;
-         ::) dllsearchpath=$testbindir;;
-         *) func_append dllsearchpath ":$testbindir";;
-         esac
-         ;;
-       esac
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-        test -n "$hardcode_libdirs"; then
-       libdir=$hardcode_libdirs
-       eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath=$rpath
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs=$libdir
-           else
-             # Just accumulate the unique libdirs.
-             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-               ;;
-             *)
-               func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-               ;;
-             esac
-           fi
-         else
-           eval flag=\"$hardcode_libdir_flag_spec\"
-           func_append rpath " $flag"
-         fi
-       elif test -n "$runpath_var"; then
-         case "$finalize_perm_rpath " in
-         *" $libdir "*) ;;
-         *) func_append finalize_perm_rpath " $libdir" ;;
-         esac
-       fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-        test -n "$hardcode_libdirs"; then
-       libdir=$hardcode_libdirs
-       eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath=$rpath
-
-      if test -n "$libobjs" && test yes = "$build_old_libs"; then
-       # Transform all the library objects into standard objects.
-       compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
-       finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
-      fi
-
-      func_generate_dlsyms "$outputname" "@PROGRAM@" false
-
-      # template prelinking step
-      if test -n "$prelink_cmds"; then
-       func_execute_cmds "$prelink_cmds" 'exit $?'
-      fi
-
-      wrappers_required=:
-      case $host in
-      *cegcc* | *mingw32ce*)
-        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
-        wrappers_required=false
-        ;;
-      *cygwin* | *mingw* )
-        test yes = "$build_libtool_libs" || wrappers_required=false
-        ;;
-      *)
-        if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
-          wrappers_required=false
-        fi
-        ;;
-      esac
-      $wrappers_required || {
-       # Replace the output file specification.
-       compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-       link_command=$compile_command$compile_rpath
-
-       # We have no uninstalled library dependencies, so finalize right now.
-       exit_status=0
-       func_show_eval "$link_command" 'exit_status=$?'
-
-       if test -n "$postlink_cmds"; then
-         func_to_tool_file "$output"
-         postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-         func_execute_cmds "$postlink_cmds" 'exit $?'
-       fi
-
-       # Delete the generated files.
-       if test -f "$output_objdir/${outputname}S.$objext"; then
-         func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
-       fi
-
-       exit $exit_status
-      }
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-       compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-       finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-       if test -n "$perm_rpath"; then
-         # We should set the runpath_var.
-         rpath=
-         for dir in $perm_rpath; do
-           func_append rpath "$dir:"
-         done
-         compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-       fi
-       if test -n "$finalize_perm_rpath"; then
-         # We should set the runpath_var.
-         rpath=
-         for dir in $finalize_perm_rpath; do
-           func_append rpath "$dir:"
-         done
-         finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-       fi
-      fi
-
-      if test yes = "$no_install"; then
-       # We don't need to create a wrapper script.
-       link_command=$compile_var$compile_command$compile_rpath
-       # Replace the output file specification.
-       link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-       # Delete the old output file.
-       $opt_dry_run || $RM $output
-       # Link the executable and exit
-       func_show_eval "$link_command" 'exit $?'
-
-       if test -n "$postlink_cmds"; then
-         func_to_tool_file "$output"
-         postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-         func_execute_cmds "$postlink_cmds" 'exit $?'
-       fi
-
-       exit $EXIT_SUCCESS
-      fi
-
-      case $hardcode_action,$fast_install in
-        relink,*)
-         # Fast installation is not supported
-         link_command=$compile_var$compile_command$compile_rpath
-         relink_command=$finalize_var$finalize_command$finalize_rpath
-
-         func_warning "this platform does not like uninstalled shared libraries"
-         func_warning "'$output' will be relinked during installation"
-         ;;
-        *,yes)
-         link_command=$finalize_var$compile_command$finalize_rpath
-         relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
-          ;;
-       *,no)
-         link_command=$compile_var$compile_command$compile_rpath
-         relink_command=$finalize_var$finalize_command$finalize_rpath
-          ;;
-       *,needless)
-         link_command=$finalize_var$compile_command$finalize_rpath
-         relink_command=
-          ;;
-      esac
-
-      # Replace the output file specification.
-      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
-      # Delete the old output files.
-      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      func_show_eval "$link_command" 'exit $?'
-
-      if test -n "$postlink_cmds"; then
-       func_to_tool_file "$output_objdir/$outputname"
-       postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-       func_execute_cmds "$postlink_cmds" 'exit $?'
-      fi
-
-      # Now create the wrapper script.
-      func_verbose "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-       # Preserve any variables that may affect compiler behavior
-       for var in $variables_saved_for_relink; do
-         if eval test -z \"\${$var+set}\"; then
-           relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-         elif eval var_value=\$$var; test -z "$var_value"; then
-           relink_command="$var=; export $var; $relink_command"
-         else
-           func_quote_arg pretty "$var_value"
-           relink_command="$var=$func_quote_arg_result; export $var; $relink_command"
-         fi
-       done
-       func_quote_arg pretty,unquoted "(cd `pwd`; $relink_command)"
-       relink_command=$func_quote_arg_unquoted_result
-      fi
-
-      # Only actually do things if not in dry run mode.
-      $opt_dry_run || {
-       # win32 will think the script is a binary if it has
-       # a .exe suffix, so we strip it off here.
-       case $output in
-         *.exe) func_stripname '' '.exe' "$output"
-                output=$func_stripname_result ;;
-       esac
-       # test for cygwin because mv fails w/o .exe extensions
-       case $host in
-         *cygwin*)
-           exeext=.exe
-           func_stripname '' '.exe' "$outputname"
-           outputname=$func_stripname_result ;;
-         *) exeext= ;;
-       esac
-       case $host in
-         *cygwin* | *mingw* )
-           func_dirname_and_basename "$output" "" "."
-           output_name=$func_basename_result
-           output_path=$func_dirname_result
-           cwrappersource=$output_path/$objdir/lt-$output_name.c
-           cwrapper=$output_path/$output_name.exe
-           $RM $cwrappersource $cwrapper
-           trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
-           func_emit_cwrapperexe_src > $cwrappersource
-
-           # The wrapper executable is built using the $host compiler,
-           # because it contains $host paths and files. If cross-
-           # compiling, it, like the target executable, must be
-           # executed on the $host or under an emulation environment.
-           $opt_dry_run || {
-             $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
-             $STRIP $cwrapper
-           }
-
-           # Now, create the wrapper script for func_source use:
-           func_ltwrapper_scriptname $cwrapper
-           $RM $func_ltwrapper_scriptname_result
-           trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
-           $opt_dry_run || {
-             # note: this script will not be executed, so do not chmod.
-             if test "x$build" = "x$host"; then
-               $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
-             else
-               func_emit_wrapper no > $func_ltwrapper_scriptname_result
-             fi
-           }
-         ;;
-         * )
-           $RM $output
-           trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
-
-           func_emit_wrapper no > $output
-           chmod +x $output
-         ;;
-       esac
-      }
-      exit $EXIT_SUCCESS
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      case $build_libtool_libs in
-        convenience)
-         oldobjs="$libobjs_save $symfileobj"
-         addlibs=$convenience
-         build_libtool_libs=no
-         ;;
-       module)
-         oldobjs=$libobjs_save
-         addlibs=$old_convenience
-         build_libtool_libs=no
-          ;;
-       *)
-         oldobjs="$old_deplibs $non_pic_objects"
-         $preload && test -f "$symfileobj" \
-           && func_append oldobjs " $symfileobj"
-         addlibs=$old_convenience
-         ;;
-      esac
-
-      if test -n "$addlibs"; then
-       gentop=$output_objdir/${outputname}x
-       func_append generated " $gentop"
-
-       func_extract_archives $gentop $addlibs
-       func_append oldobjs " $func_extract_archives_result"
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
-       cmds=$old_archive_from_new_cmds
-      else
-
-       # Add any objects from preloaded convenience libraries
-       if test -n "$dlprefiles"; then
-         gentop=$output_objdir/${outputname}x
-         func_append generated " $gentop"
-
-         func_extract_archives $gentop $dlprefiles
-         func_append oldobjs " $func_extract_archives_result"
-       fi
-
-       # POSIX demands no paths to be encoded in archives.  We have
-       # to avoid creating archives with duplicate basenames if we
-       # might have to extract them afterwards, e.g., when creating a
-       # static archive out of a convenience library, or when linking
-       # the entirety of a libtool archive into another (currently
-       # not supported by libtool).
-       if (for obj in $oldobjs
-           do
-             func_basename "$obj"
-             $ECHO "$func_basename_result"
-           done | sort | sort -uc >/dev/null 2>&1); then
-         :
-       else
-         echo "copying selected object files to avoid basename conflicts..."
-         gentop=$output_objdir/${outputname}x
-         func_append generated " $gentop"
-         func_mkdir_p "$gentop"
-         save_oldobjs=$oldobjs
-         oldobjs=
-         counter=1
-         for obj in $save_oldobjs
-         do
-           func_basename "$obj"
-           objbase=$func_basename_result
-           case " $oldobjs " in
-           " ") oldobjs=$obj ;;
-           *[\ /]"$objbase "*)
-             while :; do
-               # Make sure we don't pick an alternate name that also
-               # overlaps.
-               newobj=lt$counter-$objbase
-               func_arith $counter + 1
-               counter=$func_arith_result
-               case " $oldobjs " in
-               *[\ /]"$newobj "*) ;;
-               *) if test ! -f "$gentop/$newobj"; then break; fi ;;
-               esac
-             done
-             func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-             func_append oldobjs " $gentop/$newobj"
-             ;;
-           *) func_append oldobjs " $obj" ;;
-           esac
-         done
-       fi
-       func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
-       tool_oldlib=$func_to_tool_file_result
-       eval cmds=\"$old_archive_cmds\"
-
-       func_len " $cmds"
-       len=$func_len_result
-       if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-         cmds=$old_archive_cmds
-       elif test -n "$archiver_list_spec"; then
-         func_verbose "using command file archive linking..."
-         for obj in $oldobjs
-         do
-           func_to_tool_file "$obj"
-           $ECHO "$func_to_tool_file_result"
-         done > $output_objdir/$libname.libcmd
-         func_to_tool_file "$output_objdir/$libname.libcmd"
-         oldobjs=" $archiver_list_spec$func_to_tool_file_result"
-         cmds=$old_archive_cmds
-       else
-         # the command line is too long to link in one step, link in parts
-         func_verbose "using piecewise archive linking..."
-         save_RANLIB=$RANLIB
-         RANLIB=:
-         objlist=
-         concat_cmds=
-         save_oldobjs=$oldobjs
-         oldobjs=
-         # Is there a better way of finding the last object in the list?
-         for obj in $save_oldobjs
-         do
-           last_oldobj=$obj
-         done
-         eval test_cmds=\"$old_archive_cmds\"
-         func_len " $test_cmds"
-         len0=$func_len_result
-         len=$len0
-         for obj in $save_oldobjs
-         do
-           func_len " $obj"
-           func_arith $len + $func_len_result
-           len=$func_arith_result
-           func_append objlist " $obj"
-           if test "$len" -lt "$max_cmd_len"; then
-             :
-           else
-             # the above command should be used before it gets too long
-             oldobjs=$objlist
-             if test "$obj" = "$last_oldobj"; then
-               RANLIB=$save_RANLIB
-             fi
-             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-             eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
-             objlist=
-             len=$len0
-           fi
-         done
-         RANLIB=$save_RANLIB
-         oldobjs=$objlist
-         if test -z "$oldobjs"; then
-           eval cmds=\"\$concat_cmds\"
-         else
-           eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
-         fi
-       fi
-      fi
-      func_execute_cmds "$cmds" 'exit $?'
-    done
-
-    test -n "$generated" && \
-      func_show_eval "${RM}r$generated"
-
-    # Now create the libtool archive.
-    case $output in
-    *.la)
-      old_library=
-      test yes = "$build_old_libs" && old_library=$libname.$libext
-      func_verbose "creating $output"
-
-      # Preserve any variables that may affect compiler behavior
-      for var in $variables_saved_for_relink; do
-       if eval test -z \"\${$var+set}\"; then
-         relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-       elif eval var_value=\$$var; test -z "$var_value"; then
-         relink_command="$var=; export $var; $relink_command"
-       else
-         func_quote_arg pretty,unquoted "$var_value"
-         relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command"
-       fi
-      done
-      # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      func_quote_arg pretty,unquoted "$relink_command"
-      relink_command=$func_quote_arg_unquoted_result
-      if test yes = "$hardcode_automatic"; then
-       relink_command=
-      fi
-
-      # Only create the output if not a dry run.
-      $opt_dry_run || {
-       for installed in no yes; do
-         if test yes = "$installed"; then
-           if test -z "$install_libdir"; then
-             break
-           fi
-           output=$output_objdir/${outputname}i
-           # Replace all uninstalled libtool libraries with the installed ones
-           newdependency_libs=
-           for deplib in $dependency_libs; do
-             case $deplib in
-             *.la)
-               func_basename "$deplib"
-               name=$func_basename_result
-               func_resolve_sysroot "$deplib"
-               eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
-               test -z "$libdir" && \
-                 func_fatal_error "'$deplib' is not a valid libtool archive"
-               func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
-               ;;
-             -L*)
-               func_stripname -L '' "$deplib"
-               func_replace_sysroot "$func_stripname_result"
-               func_append newdependency_libs " -L$func_replace_sysroot_result"
-               ;;
-             -R*)
-               func_stripname -R '' "$deplib"
-               func_replace_sysroot "$func_stripname_result"
-               func_append newdependency_libs " -R$func_replace_sysroot_result"
-               ;;
-             *) func_append newdependency_libs " $deplib" ;;
-             esac
-           done
-           dependency_libs=$newdependency_libs
-           newdlfiles=
-
-           for lib in $dlfiles; do
-             case $lib in
-             *.la)
-               func_basename "$lib"
-               name=$func_basename_result
-               eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-               test -z "$libdir" && \
-                 func_fatal_error "'$lib' is not a valid libtool archive"
-               func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
-               ;;
-             *) func_append newdlfiles " $lib" ;;
-             esac
-           done
-           dlfiles=$newdlfiles
-           newdlprefiles=
-           for lib in $dlprefiles; do
-             case $lib in
-             *.la)
-               # Only pass preopened files to the pseudo-archive (for
-               # eventual linking with the app. that links it) if we
-               # didn't already link the preopened objects directly into
-               # the library:
-               func_basename "$lib"
-               name=$func_basename_result
-               eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-               test -z "$libdir" && \
-                 func_fatal_error "'$lib' is not a valid libtool archive"
-               func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
-               ;;
-             esac
-           done
-           dlprefiles=$newdlprefiles
-         else
-           newdlfiles=
-           for lib in $dlfiles; do
-             case $lib in
-               [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
-               *) abs=`pwd`"/$lib" ;;
-             esac
-             func_append newdlfiles " $abs"
-           done
-           dlfiles=$newdlfiles
-           newdlprefiles=
-           for lib in $dlprefiles; do
-             case $lib in
-               [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
-               *) abs=`pwd`"/$lib" ;;
-             esac
-             func_append newdlprefiles " $abs"
-           done
-           dlprefiles=$newdlprefiles
-         fi
-         $RM $output
-         # place dlname in correct position for cygwin
-         # In fact, it would be nice if we could use this code for all target
-         # systems that can't hard-code library paths into their executables
-         # and that have no shared library path variable independent of PATH,
-         # but it turns out we can't easily determine that from inspecting
-         # libtool variables, so we have to hard-code the OSs to which it
-         # applies here; at the moment, that means platforms that use the PE
-         # object format with DLL files.  See the long comment at the top of
-         # tests/bindir.at for full details.
-         tdlname=$dlname
-         case $host,$output,$installed,$module,$dlname in
-           *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
-             # If a -bindir argument was supplied, place the dll there.
-             if test -n "$bindir"; then
-               func_relative_path "$install_libdir" "$bindir"
-               tdlname=$func_relative_path_result/$dlname
-             else
-               # Otherwise fall back on heuristic.
-               tdlname=../bin/$dlname
-             fi
-             ;;
-         esac
-         $ECHO > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Linker flags that cannot go in dependency_libs.
-inherited_linker_flags='$new_inherited_linker_flags'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Names of additional weak libraries provided by this library
-weak_library_names='$weak_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
-         if test no,yes = "$installed,$need_relink"; then
-           $ECHO >> $output "\
-relink_command=\"$relink_command\""
-         fi
-       done
-      }
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
-      ;;
-    esac
-    exit $EXIT_SUCCESS
-}
-
-if test link = "$opt_mode" || test relink = "$opt_mode"; then
-  func_mode_link ${1+"$@"}
-fi
-
-
-# func_mode_uninstall arg...
-func_mode_uninstall ()
-{
-    $debug_cmd
-
-    RM=$nonopt
-    files=
-    rmforce=false
-    exit_status=0
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic=$magic
-
-    for arg
-    do
-      case $arg in
-      -f) func_append RM " $arg"; rmforce=: ;;
-      -*) func_append RM " $arg" ;;
-      *) func_append files " $arg" ;;
-      esac
-    done
-
-    test -z "$RM" && \
-      func_fatal_help "you must specify an RM program"
-
-    rmdirs=
-
-    for file in $files; do
-      func_dirname "$file" "" "."
-      dir=$func_dirname_result
-      if test . = "$dir"; then
-       odir=$objdir
-      else
-       odir=$dir/$objdir
-      fi
-      func_basename "$file"
-      name=$func_basename_result
-      test uninstall = "$opt_mode" && odir=$dir
-
-      # Remember odir for removal later, being careful to avoid duplicates
-      if test clean = "$opt_mode"; then
-       case " $rmdirs " in
-         *" $odir "*) ;;
-         *) func_append rmdirs " $odir" ;;
-       esac
-      fi
-
-      # Don't error if the file doesn't exist and rm -f was used.
-      if { test -L "$file"; } >/dev/null 2>&1 ||
-        { test -h "$file"; } >/dev/null 2>&1 ||
-        test -f "$file"; then
-       :
-      elif test -d "$file"; then
-       exit_status=1
-       continue
-      elif $rmforce; then
-       continue
-      fi
-
-      rmfiles=$file
-
-      case $name in
-      *.la)
-       # Possibly a libtool archive, so verify it.
-       if func_lalib_p "$file"; then
-         func_source $dir/$name
-
-         # Delete the libtool libraries and symlinks.
-         for n in $library_names; do
-           func_append rmfiles " $odir/$n"
-         done
-         test -n "$old_library" && func_append rmfiles " $odir/$old_library"
-
-         case $opt_mode in
-         clean)
-           case " $library_names " in
-           *" $dlname "*) ;;
-           *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
-           esac
-           test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
-           ;;
-         uninstall)
-           if test -n "$library_names"; then
-             # Do each command in the postuninstall commands.
-             func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
-           fi
-
-           if test -n "$old_library"; then
-             # Do each command in the old_postuninstall commands.
-             func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
-           fi
-           # FIXME: should reinstall the best remaining shared library.
-           ;;
-         esac
-       fi
-       ;;
-
-      *.lo)
-       # Possibly a libtool object, so verify it.
-       if func_lalib_p "$file"; then
-
-         # Read the .lo file
-         func_source $dir/$name
-
-         # Add PIC object to the list of files to remove.
-         if test -n "$pic_object" && test none != "$pic_object"; then
-           func_append rmfiles " $dir/$pic_object"
-         fi
-
-         # Add non-PIC object to the list of files to remove.
-         if test -n "$non_pic_object" && test none != "$non_pic_object"; then
-           func_append rmfiles " $dir/$non_pic_object"
-         fi
-       fi
-       ;;
-
-      *)
-       if test clean = "$opt_mode"; then
-         noexename=$name
-         case $file in
-         *.exe)
-           func_stripname '' '.exe' "$file"
-           file=$func_stripname_result
-           func_stripname '' '.exe' "$name"
-           noexename=$func_stripname_result
-           # $file with .exe has already been added to rmfiles,
-           # add $file without .exe
-           func_append rmfiles " $file"
-           ;;
-         esac
-         # Do a test to see if this is a libtool program.
-         if func_ltwrapper_p "$file"; then
-           if func_ltwrapper_executable_p "$file"; then
-             func_ltwrapper_scriptname "$file"
-             relink_command=
-             func_source $func_ltwrapper_scriptname_result
-             func_append rmfiles " $func_ltwrapper_scriptname_result"
-           else
-             relink_command=
-             func_source $dir/$noexename
-           fi
-
-           # note $name still contains .exe if it was in $file originally
-           # as does the version of $file that was added into $rmfiles
-           func_append rmfiles " $odir/$name $odir/${name}S.$objext"
-           if test yes = "$fast_install" && test -n "$relink_command"; then
-             func_append rmfiles " $odir/lt-$name"
-           fi
-           if test "X$noexename" != "X$name"; then
-             func_append rmfiles " $odir/lt-$noexename.c"
-           fi
-         fi
-       fi
-       ;;
-      esac
-      func_show_eval "$RM $rmfiles" 'exit_status=1'
-    done
-
-    # Try to remove the $objdir's in the directories where we deleted files
-    for dir in $rmdirs; do
-      if test -d "$dir"; then
-       func_show_eval "rmdir $dir >/dev/null 2>&1"
-      fi
-    done
-
-    exit $exit_status
-}
-
-if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
-  func_mode_uninstall ${1+"$@"}
-fi
-
-test -z "$opt_mode" && {
-  help=$generic_help
-  func_fatal_help "you must specify a MODE"
-}
-
-test -z "$exec_cmd" && \
-  func_fatal_help "invalid operation mode '$opt_mode'"
-
-if test -n "$exec_cmd"; then
-  eval exec "$exec_cmd"
-  exit $EXIT_FAILURE
-fi
-
-exit $exit_status
-
-
-# The TAGs below are defined such that we never get into a situation
-# where we disable both kinds of libraries.  Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them.  This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration.  But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/m4/ax_append_compile_flags.m4 b/m4/ax_append_compile_flags.m4
deleted file mode 100644 (file)
index 5b6f1af..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# ============================================================================
-#  https://www.gnu.org/software/autoconf-archive/ax_append_compile_flags.html
-# ============================================================================
-#
-# SYNOPSIS
-#
-#   AX_APPEND_COMPILE_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS], [INPUT])
-#
-# DESCRIPTION
-#
-#   For every FLAG1, FLAG2 it is checked whether the compiler works with the
-#   flag.  If it does, the flag is added FLAGS-VARIABLE
-#
-#   If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
-#   CFLAGS) is used.  During the check the flag is always added to the
-#   current language's flags.
-#
-#   If EXTRA-FLAGS is defined, it is added to the current language's default
-#   flags (e.g. CFLAGS) when the check is done.  The check is thus made with
-#   the flags: "CFLAGS EXTRA-FLAGS FLAG".  This can for example be used to
-#   force the compiler to issue an error when a bad flag is given.
-#
-#   INPUT gives an alternative input source to AC_COMPILE_IFELSE.
-#
-#   NOTE: This macro depends on the AX_APPEND_FLAG and
-#   AX_CHECK_COMPILE_FLAG. Please keep this macro in sync with
-#   AX_APPEND_LINK_FLAGS.
-#
-# LICENSE
-#
-#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
-#
-#   This program is free software: you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation, either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <https://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 6
-
-AC_DEFUN([AX_APPEND_COMPILE_FLAGS],
-[AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
-AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
-for flag in $1; do
-  AX_CHECK_COMPILE_FLAG([$flag], [AX_APPEND_FLAG([$flag], [$2])], [], [$3], [$4])
-done
-])dnl AX_APPEND_COMPILE_FLAGS
diff --git a/m4/ax_append_flag.m4 b/m4/ax_append_flag.m4
deleted file mode 100644 (file)
index e8c5312..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-# ===========================================================================
-#      https://www.gnu.org/software/autoconf-archive/ax_append_flag.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE])
-#
-# DESCRIPTION
-#
-#   FLAG is appended to the FLAGS-VARIABLE shell variable, with a space
-#   added in between.
-#
-#   If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
-#   CFLAGS) is used.  FLAGS-VARIABLE is not changed if it already contains
-#   FLAG.  If FLAGS-VARIABLE is unset in the shell, it is set to exactly
-#   FLAG.
-#
-#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION.
-#
-# LICENSE
-#
-#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
-#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
-#
-#   This program is free software: you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation, either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <https://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 7
-
-AC_DEFUN([AX_APPEND_FLAG],
-[dnl
-AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF
-AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])])
-AS_VAR_SET_IF(FLAGS,[
-  AS_CASE([" AS_VAR_GET(FLAGS) "],
-    [*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])],
-    [
-     AS_VAR_APPEND(FLAGS,[" $1"])
-     AC_RUN_LOG([: FLAGS="$FLAGS"])
-    ])
-  ],
-  [
-  AS_VAR_SET(FLAGS,[$1])
-  AC_RUN_LOG([: FLAGS="$FLAGS"])
-  ])
-AS_VAR_POPDEF([FLAGS])dnl
-])dnl AX_APPEND_FLAG
diff --git a/m4/ax_append_link_flags.m4 b/m4/ax_append_link_flags.m4
deleted file mode 100644 (file)
index 6f7f174..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-# ===========================================================================
-#   https://www.gnu.org/software/autoconf-archive/ax_append_link_flags.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_APPEND_LINK_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS], [INPUT])
-#
-# DESCRIPTION
-#
-#   For every FLAG1, FLAG2 it is checked whether the linker works with the
-#   flag.  If it does, the flag is added FLAGS-VARIABLE
-#
-#   If FLAGS-VARIABLE is not specified, the linker's flags (LDFLAGS) is
-#   used. During the check the flag is always added to the linker's flags.
-#
-#   If EXTRA-FLAGS is defined, it is added to the linker's default flags
-#   when the check is done.  The check is thus made with the flags: "LDFLAGS
-#   EXTRA-FLAGS FLAG".  This can for example be used to force the linker to
-#   issue an error when a bad flag is given.
-#
-#   INPUT gives an alternative input source to AC_COMPILE_IFELSE.
-#
-#   NOTE: This macro depends on the AX_APPEND_FLAG and AX_CHECK_LINK_FLAG.
-#   Please keep this macro in sync with AX_APPEND_COMPILE_FLAGS.
-#
-# LICENSE
-#
-#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
-#
-#   This program is free software: you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation, either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <https://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 6
-
-AC_DEFUN([AX_APPEND_LINK_FLAGS],
-[AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
-AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
-for flag in $1; do
-  AX_CHECK_LINK_FLAG([$flag], [AX_APPEND_FLAG([$flag], [m4_default([$2], [LDFLAGS])])], [], [$3], [$4])
-done
-])dnl AX_APPEND_LINK_FLAGS
diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4
deleted file mode 100644 (file)
index dcabb92..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-# ===========================================================================
-#  https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
-#
-# DESCRIPTION
-#
-#   Check whether the given FLAG works with the current language's compiler
-#   or gives an error.  (Warnings, however, are ignored)
-#
-#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
-#   success/failure.
-#
-#   If EXTRA-FLAGS is defined, it is added to the current language's default
-#   flags (e.g. CFLAGS) when the check is done.  The check is thus made with
-#   the flags: "CFLAGS EXTRA-FLAGS FLAG".  This can for example be used to
-#   force the compiler to issue an error when a bad flag is given.
-#
-#   INPUT gives an alternative input source to AC_COMPILE_IFELSE.
-#
-#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
-#   macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
-#
-# LICENSE
-#
-#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
-#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
-#
-#   This program is free software: you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation, either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <https://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 5
-
-AC_DEFUN([AX_CHECK_COMPILE_FLAG],
-[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
-AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
-AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
-  ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
-  _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
-  AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
-    [AS_VAR_SET(CACHEVAR,[yes])],
-    [AS_VAR_SET(CACHEVAR,[no])])
-  _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
-AS_VAR_IF(CACHEVAR,yes,
-  [m4_default([$2], :)],
-  [m4_default([$3], :)])
-AS_VAR_POPDEF([CACHEVAR])dnl
-])dnl AX_CHECK_COMPILE_FLAGS
diff --git a/m4/ax_check_link_flag.m4 b/m4/ax_check_link_flag.m4
deleted file mode 100644 (file)
index 819409a..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-# ===========================================================================
-#    https://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
-#
-# DESCRIPTION
-#
-#   Check whether the given FLAG works with the linker or gives an error.
-#   (Warnings, however, are ignored)
-#
-#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
-#   success/failure.
-#
-#   If EXTRA-FLAGS is defined, it is added to the linker's default flags
-#   when the check is done.  The check is thus made with the flags: "LDFLAGS
-#   EXTRA-FLAGS FLAG".  This can for example be used to force the linker to
-#   issue an error when a bad flag is given.
-#
-#   INPUT gives an alternative input source to AC_LINK_IFELSE.
-#
-#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
-#   macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG.
-#
-# LICENSE
-#
-#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
-#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
-#
-#   This program is free software: you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation, either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <https://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 5
-
-AC_DEFUN([AX_CHECK_LINK_FLAG],
-[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
-AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl
-AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [
-  ax_check_save_flags=$LDFLAGS
-  LDFLAGS="$LDFLAGS $4 $1"
-  AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
-    [AS_VAR_SET(CACHEVAR,[yes])],
-    [AS_VAR_SET(CACHEVAR,[no])])
-  LDFLAGS=$ax_check_save_flags])
-AS_VAR_IF(CACHEVAR,yes,
-  [m4_default([$2], :)],
-  [m4_default([$3], :)])
-AS_VAR_POPDEF([CACHEVAR])dnl
-])dnl AX_CHECK_LINK_FLAGS
diff --git a/m4/ax_code_coverage.m4 b/m4/ax_code_coverage.m4
deleted file mode 100644 (file)
index 6484f03..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-# ===========================================================================
-#     https://www.gnu.org/software/autoconf-archive/ax_code_coverage.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_CODE_COVERAGE()
-#
-# DESCRIPTION
-#
-#   Defines CODE_COVERAGE_CPPFLAGS, CODE_COVERAGE_CFLAGS,
-#   CODE_COVERAGE_CXXFLAGS and CODE_COVERAGE_LIBS which should be included
-#   in the CPPFLAGS, CFLAGS CXXFLAGS and LIBS/LIBADD variables of every
-#   build target (program or library) which should be built with code
-#   coverage support. Also defines CODE_COVERAGE_RULES which should be
-#   substituted in your Makefile; and $enable_code_coverage which can be
-#   used in subsequent configure output. CODE_COVERAGE_ENABLED is defined
-#   and substituted, and corresponds to the value of the
-#   --enable-code-coverage option, which defaults to being disabled.
-#
-#   Test also for gcov program and create GCOV variable that could be
-#   substituted.
-#
-#   Note that all optimization flags in CFLAGS must be disabled when code
-#   coverage is enabled.
-#
-#   Usage example:
-#
-#   configure.ac:
-#
-#     AX_CODE_COVERAGE
-#
-#   Makefile.am:
-#
-#     @CODE_COVERAGE_RULES@
-#     my_program_LIBS = ... $(CODE_COVERAGE_LIBS) ...
-#     my_program_CPPFLAGS = ... $(CODE_COVERAGE_CPPFLAGS) ...
-#     my_program_CFLAGS = ... $(CODE_COVERAGE_CFLAGS) ...
-#     my_program_CXXFLAGS = ... $(CODE_COVERAGE_CXXFLAGS) ...
-#
-#   This results in a "check-code-coverage" rule being added to any
-#   Makefile.am which includes "@CODE_COVERAGE_RULES@" (assuming the module
-#   has been configured with --enable-code-coverage). Running `make
-#   check-code-coverage` in that directory will run the module's test suite
-#   (`make check`) and build a code coverage report detailing the code which
-#   was touched, then print the URI for the report.
-#
-#   In earlier versions of this macro, CODE_COVERAGE_LDFLAGS was defined
-#   instead of CODE_COVERAGE_LIBS. They are both still defined, but use of
-#   CODE_COVERAGE_LIBS is preferred for clarity; CODE_COVERAGE_LDFLAGS is
-#   deprecated. They have the same value.
-#
-#   This code was derived from Makefile.decl in GLib, originally licenced
-#   under LGPLv2.1+.
-#
-# LICENSE
-#
-#   Copyright (c) 2012, 2016 Philip Withnall
-#   Copyright (c) 2012 Xan Lopez
-#   Copyright (c) 2012 Christian Persch
-#   Copyright (c) 2012 Paolo Borelli
-#   Copyright (c) 2012 Dan Winship
-#   Copyright (c) 2015 Bastien ROUCARIES
-#
-#   This library is free software; you can redistribute it and/or modify it
-#   under the terms of the GNU Lesser General Public License as published by
-#   the Free Software Foundation; either version 2.1 of the License, or (at
-#   your option) any later version.
-#
-#   This library is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
-#   General Public License for more details.
-#
-#   You should have received a copy of the GNU Lesser General Public License
-#   along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-#serial 25
-
-AC_DEFUN([AX_CODE_COVERAGE],[
-       dnl Check for --enable-code-coverage
-       AC_REQUIRE([AC_PROG_SED])
-
-       # allow to override gcov location
-       AC_ARG_WITH([gcov],
-         [AS_HELP_STRING([--with-gcov[=GCOV]], [use given GCOV for coverage (GCOV=gcov).])],
-         [_AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov],
-         [_AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov])
-
-       AC_MSG_CHECKING([whether to build with code coverage support])
-       AC_ARG_ENABLE([code-coverage],
-         AS_HELP_STRING([--enable-code-coverage],
-         [Whether to enable code coverage support]),,
-         enable_code_coverage=no)
-
-       AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test x$enable_code_coverage = xyes])
-       AC_SUBST([CODE_COVERAGE_ENABLED], [$enable_code_coverage])
-       AC_MSG_RESULT($enable_code_coverage)
-
-       AS_IF([ test "$enable_code_coverage" = "yes" ], [
-               # check for gcov
-               AC_CHECK_TOOL([GCOV],
-                 [$_AX_CODE_COVERAGE_GCOV_PROG_WITH],
-                 [:])
-               AS_IF([test "X$GCOV" = "X:"],
-                 [AC_MSG_ERROR([gcov is needed to do coverage])])
-               AC_SUBST([GCOV])
-
-               dnl Check if gcc is being used
-               AS_IF([ test "$GCC" = "no" ], [
-                       AC_MSG_ERROR([not compiling with gcc, which is required for gcov code coverage])
-               ])
-
-               AC_CHECK_PROG([LCOV], [lcov], [lcov])
-               AC_CHECK_PROG([GENHTML], [genhtml], [genhtml])
-
-               AS_IF([ test -z "$LCOV" ], [
-                       AC_MSG_ERROR([To enable code coverage reporting you must have lcov installed])
-               ])
-
-               AS_IF([ test -z "$GENHTML" ], [
-                       AC_MSG_ERROR([Could not find genhtml from the lcov package])
-               ])
-
-               dnl Build the code coverage flags
-               dnl Define CODE_COVERAGE_LDFLAGS for backwards compatibility
-               CODE_COVERAGE_CPPFLAGS="-DNDEBUG"
-               CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
-               CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
-               CODE_COVERAGE_LIBS="-lgcov"
-               CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS"
-
-               AC_SUBST([CODE_COVERAGE_CPPFLAGS])
-               AC_SUBST([CODE_COVERAGE_CFLAGS])
-               AC_SUBST([CODE_COVERAGE_CXXFLAGS])
-               AC_SUBST([CODE_COVERAGE_LIBS])
-               AC_SUBST([CODE_COVERAGE_LDFLAGS])
-
-               [CODE_COVERAGE_RULES_CHECK='
-       -$(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k check
-       $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture
-']
-               [CODE_COVERAGE_RULES_CAPTURE='
-       $(code_coverage_v_lcov_cap)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(call code_coverage_sanitize,$(PACKAGE_NAME)-$(PACKAGE_VERSION))" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_OPTIONS)
-       $(code_coverage_v_lcov_ign)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_RMOPTS)
-       -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp
-       $(code_coverage_v_genhtml)LANG=C $(GENHTML) $(code_coverage_quiet) $(addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY)) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS)
-       @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html"
-']
-               [CODE_COVERAGE_RULES_CLEAN='
-clean: code-coverage-clean
-distclean: code-coverage-clean
-code-coverage-clean:
-       -$(LCOV) --directory $(top_builddir) -z
-       -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY)
-       -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete
-']
-       ], [
-               [CODE_COVERAGE_RULES_CHECK='
-       @echo "Need to reconfigure with --enable-code-coverage"
-']
-               CODE_COVERAGE_RULES_CAPTURE="$CODE_COVERAGE_RULES_CHECK"
-               CODE_COVERAGE_RULES_CLEAN=''
-       ])
-
-[CODE_COVERAGE_RULES='
-# Code coverage
-#
-# Optional:
-#  - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting.
-#    Multiple directories may be specified, separated by whitespace.
-#    (Default: $(top_builddir))
-#  - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated
-#    by lcov for code coverage. (Default:
-#    $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info)
-#  - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage
-#    reports to be created. (Default:
-#    $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage)
-#  - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage,
-#    set to 0 to disable it and leave empty to stay with the default.
-#    (Default: empty)
-#  - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov
-#    instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE)
-#  - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov
-#    instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT)
-#  - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov
-#  - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the
-#    collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH)
-#  - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov
-#    instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)
-#  - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering
-#    lcov instance. (Default: empty)
-#  - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov
-#    instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT)
-#  - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the
-#    genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE)
-#  - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml
-#    instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT)
-#  - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore
-#
-# The generated report will be titled using the $(PACKAGE_NAME) and
-# $(PACKAGE_VERSION). In order to add the current git hash to the title,
-# use the git-version-gen script, available online.
-
-# Optional variables
-CODE_COVERAGE_DIRECTORY ?= $(top_builddir)
-CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info
-CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage
-CODE_COVERAGE_BRANCH_COVERAGE ?=
-CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\
---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE))
-CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT)
-CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)"
-CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH)
-CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)
-CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?=
-CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT)
-CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\
-$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\
---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE))
-CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT)
-CODE_COVERAGE_IGNORE_PATTERN ?=
-
-GITIGNOREFILES ?=
-GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY)
-
-code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V))
-code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY))
-code_coverage_v_lcov_cap_0 = @echo "  LCOV   --capture"\
- $(CODE_COVERAGE_OUTPUT_FILE);
-code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V))
-code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY))
-code_coverage_v_lcov_ign_0 = @echo "  LCOV   --remove /tmp/*"\
- $(CODE_COVERAGE_IGNORE_PATTERN);
-code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V))
-code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY))
-code_coverage_v_genhtml_0 = @echo "  GEN   " $(CODE_COVERAGE_OUTPUT_DIRECTORY);
-code_coverage_quiet = $(code_coverage_quiet_$(V))
-code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY))
-code_coverage_quiet_0 = --quiet
-
-# sanitizes the test-name: replaces with underscores: dashes and dots
-code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1)))
-
-# Use recursive makes in order to ignore errors during check
-check-code-coverage:'"$CODE_COVERAGE_RULES_CHECK"'
-
-# Capture code coverage data
-code-coverage-capture: code-coverage-capture-hook'"$CODE_COVERAGE_RULES_CAPTURE"'
-
-# Hook rule executed before code-coverage-capture, overridable by the user
-code-coverage-capture-hook:
-
-'"$CODE_COVERAGE_RULES_CLEAN"'
-
-A''M_DISTCHECK_CONFIGURE_FLAGS ?=
-A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage
-
-.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean
-']
-
-       AC_SUBST([CODE_COVERAGE_RULES])
-       m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([CODE_COVERAGE_RULES])])
-])
diff --git a/m4/ax_compiler_flags.m4 b/m4/ax_compiler_flags.m4
deleted file mode 100644 (file)
index ddb0456..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-# ===========================================================================
-#    https://www.gnu.org/software/autoconf-archive/ax_compiler_flags.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_COMPILER_FLAGS([CFLAGS-VARIABLE], [LDFLAGS-VARIABLE], [IS-RELEASE], [EXTRA-BASE-CFLAGS], [EXTRA-YES-CFLAGS], [UNUSED], [UNUSED], [UNUSED], [EXTRA-BASE-LDFLAGS], [EXTRA-YES-LDFLAGS], [UNUSED], [UNUSED], [UNUSED])
-#
-# DESCRIPTION
-#
-#   Check for the presence of an --enable-compile-warnings option to
-#   configure, defaulting to "error" in normal operation, or "yes" if
-#   IS-RELEASE is equal to "yes".  Return the value in the variable
-#   $ax_enable_compile_warnings.
-#
-#   Depending on the value of --enable-compile-warnings, different compiler
-#   warnings are checked to see if they work with the current compiler and,
-#   if so, are appended to CFLAGS-VARIABLE and LDFLAGS-VARIABLE.  This
-#   allows a consistent set of baseline compiler warnings to be used across
-#   a code base, irrespective of any warnings enabled locally by individual
-#   developers.  By standardising the warnings used by all developers of a
-#   project, the project can commit to a zero-warnings policy, using -Werror
-#   to prevent compilation if new warnings are introduced.  This makes
-#   catching bugs which are flagged by warnings a lot easier.
-#
-#   By providing a consistent --enable-compile-warnings argument across all
-#   projects using this macro, continuous integration systems can easily be
-#   configured the same for all projects.  Automated systems or build
-#   systems aimed at beginners may want to pass the --disable-Werror
-#   argument to unconditionally prevent warnings being fatal.
-#
-#   --enable-compile-warnings can take the values:
-#
-#    * no:      Base compiler warnings only; not even -Wall.
-#    * yes:     The above, plus a broad range of useful warnings.
-#    * error:   The above, plus -Werror so that all warnings are fatal.
-#               Use --disable-Werror to override this and disable fatal
-#               warnings.
-#
-#   The set of base and enabled flags can be augmented using the
-#   EXTRA-*-CFLAGS and EXTRA-*-LDFLAGS variables, which are tested and
-#   appended to the output variable if --enable-compile-warnings is not
-#   "no". Flags should not be disabled using these arguments, as the entire
-#   point of AX_COMPILER_FLAGS is to enforce a consistent set of useful
-#   compiler warnings on code, using warnings which have been chosen for low
-#   false positive rates.  If a compiler emits false positives for a
-#   warning, a #pragma should be used in the code to disable the warning
-#   locally. See:
-#
-#     https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas
-#
-#   The EXTRA-* variables should only be used to supply extra warning flags,
-#   and not general purpose compiler flags, as they are controlled by
-#   configure options such as --disable-Werror.
-#
-#   IS-RELEASE can be used to disable -Werror when making a release, which
-#   is useful for those hairy moments when you just want to get the release
-#   done as quickly as possible.  Set it to "yes" to disable -Werror. By
-#   default, it uses the value of $ax_is_release, so if you are using the
-#   AX_IS_RELEASE macro, there is no need to pass this parameter. For
-#   example:
-#
-#     AX_IS_RELEASE([git-directory])
-#     AX_COMPILER_FLAGS()
-#
-#   CFLAGS-VARIABLE defaults to WARN_CFLAGS, and LDFLAGS-VARIABLE defaults
-#   to WARN_LDFLAGS.  Both variables are AC_SUBST-ed by this macro, but must
-#   be manually added to the CFLAGS and LDFLAGS variables for each target in
-#   the code base.
-#
-#   If C++ language support is enabled with AC_PROG_CXX, which must occur
-#   before this macro in configure.ac, warning flags for the C++ compiler
-#   are AC_SUBST-ed as WARN_CXXFLAGS, and must be manually added to the
-#   CXXFLAGS variables for each target in the code base.  EXTRA-*-CFLAGS can
-#   be used to augment the base and enabled flags.
-#
-#   Warning flags for g-ir-scanner (from GObject Introspection) are
-#   AC_SUBST-ed as WARN_SCANNERFLAGS.  This variable must be manually added
-#   to the SCANNERFLAGS variable for each GIR target in the code base.  If
-#   extra g-ir-scanner flags need to be enabled, the AX_COMPILER_FLAGS_GIR
-#   macro must be invoked manually.
-#
-#   AX_COMPILER_FLAGS may add support for other tools in future, in addition
-#   to the compiler and linker.  No extra EXTRA-* variables will be added
-#   for those tools, and all extra support will still use the single
-#   --enable-compile-warnings configure option.  For finer grained control
-#   over the flags for individual tools, use AX_COMPILER_FLAGS_CFLAGS,
-#   AX_COMPILER_FLAGS_LDFLAGS and AX_COMPILER_FLAGS_* for new tools.
-#
-#   The UNUSED variables date from a previous version of this macro, and are
-#   automatically appended to the preceding non-UNUSED variable. They should
-#   be left empty in new uses of the macro.
-#
-# LICENSE
-#
-#   Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
-#   Copyright (c) 2015 David King <amigadave@amigadave.com>
-#
-#   Copying and distribution of this file, with or without modification, are
-#   permitted in any medium without royalty provided the copyright notice
-#   and this notice are preserved.  This file is offered as-is, without any
-#   warranty.
-
-#serial 14
-
-# _AX_COMPILER_FLAGS_LANG([LANGNAME])
-m4_defun([_AX_COMPILER_FLAGS_LANG],
-[m4_ifdef([_AX_COMPILER_FLAGS_LANG_]$1[_enabled], [],
-          [m4_define([_AX_COMPILER_FLAGS_LANG_]$1[_enabled], [])dnl
-           AX_REQUIRE_DEFINED([AX_COMPILER_FLAGS_]$1[FLAGS])])dnl
-])
-
-AC_DEFUN([AX_COMPILER_FLAGS],[
-    # C support is enabled by default.
-    _AX_COMPILER_FLAGS_LANG([C])
-    # Only enable C++ support if AC_PROG_CXX is called. The redefinition of
-    # AC_PROG_CXX is so that a fatal error is emitted if this macro is called
-    # before AC_PROG_CXX, which would otherwise cause no C++ warnings to be
-    # checked.
-    AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                      [_AX_COMPILER_FLAGS_LANG([CXX])],
-                      [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AX_COMPILER_FLAGS_LANG([CXX])])])
-    AX_REQUIRE_DEFINED([AX_COMPILER_FLAGS_LDFLAGS])
-
-    # Default value for IS-RELEASE is $ax_is_release
-    ax_compiler_flags_is_release=m4_tolower(m4_normalize(ifelse([$3],,
-                                                                [$ax_is_release],
-                                                                [$3])))
-
-    AC_ARG_ENABLE([compile-warnings],
-                  AS_HELP_STRING([--enable-compile-warnings=@<:@no/yes/error@:>@],
-                                 [Enable compiler warnings and errors]),,
-                  [AS_IF([test "$ax_compiler_flags_is_release" = "yes"],
-                         [enable_compile_warnings="yes"],
-                         [enable_compile_warnings="error"])])
-    AC_ARG_ENABLE([Werror],
-                  AS_HELP_STRING([--disable-Werror],
-                                 [Unconditionally make all compiler warnings non-fatal]),,
-                  [enable_Werror=maybe])
-
-    # Return the user's chosen warning level
-    AS_IF([test "$enable_Werror" = "no" -a \
-                "$enable_compile_warnings" = "error"],[
-        enable_compile_warnings="yes"
-    ])
-
-    ax_enable_compile_warnings=$enable_compile_warnings
-
-    AX_COMPILER_FLAGS_CFLAGS([$1],[$ax_compiler_flags_is_release],
-                             [$4],[$5 $6 $7 $8])
-    m4_ifdef([_AX_COMPILER_FLAGS_LANG_CXX_enabled],
-             [AX_COMPILER_FLAGS_CXXFLAGS([WARN_CXXFLAGS],
-                                         [$ax_compiler_flags_is_release],
-                                         [$4],[$5 $6 $7 $8])])
-    AX_COMPILER_FLAGS_LDFLAGS([$2],[$ax_compiler_flags_is_release],
-                              [$9],[$10 $11 $12 $13])
-    AX_COMPILER_FLAGS_GIR([WARN_SCANNERFLAGS],[$ax_compiler_flags_is_release])
-])dnl AX_COMPILER_FLAGS
diff --git a/m4/ax_compiler_flags_cflags.m4 b/m4/ax_compiler_flags_cflags.m4
deleted file mode 100644 (file)
index aeb16e3..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-# =============================================================================
-#  https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_cflags.html
-# =============================================================================
-#
-# SYNOPSIS
-#
-#   AX_COMPILER_FLAGS_CFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS])
-#
-# DESCRIPTION
-#
-#   Add warning flags for the C compiler to VARIABLE, which defaults to
-#   WARN_CFLAGS.  VARIABLE is AC_SUBST-ed by this macro, but must be
-#   manually added to the CFLAGS variable for each target in the code base.
-#
-#   This macro depends on the environment set up by AX_COMPILER_FLAGS.
-#   Specifically, it uses the value of $ax_enable_compile_warnings to decide
-#   which flags to enable.
-#
-# LICENSE
-#
-#   Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
-#
-#   Copying and distribution of this file, with or without modification, are
-#   permitted in any medium without royalty provided the copyright notice
-#   and this notice are preserved.  This file is offered as-is, without any
-#   warranty.
-
-#serial 14
-
-AC_DEFUN([AX_COMPILER_FLAGS_CFLAGS],[
-    AC_REQUIRE([AC_PROG_SED])
-    AX_REQUIRE_DEFINED([AX_APPEND_COMPILE_FLAGS])
-    AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
-    AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
-
-    # Variable names
-    m4_define([ax_warn_cflags_variable],
-              [m4_normalize(ifelse([$1],,[WARN_CFLAGS],[$1]))])
-
-    AC_LANG_PUSH([C])
-
-    # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
-    # flags, otherwise they are always appended to the warn_cflags variable, and
-    # Clang warns on them for every compilation unit.
-    # If this is passed to GCC, it will explode, so the flag must be enabled
-    # conditionally.
-    AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[
-        ax_compiler_flags_test="-Werror=unknown-warning-option"
-    ],[
-        ax_compiler_flags_test=""
-    ])
-
-    # Check that -Wno-suggest-attribute=format is supported
-    AX_CHECK_COMPILE_FLAG([-Wno-suggest-attribute=format],[
-        ax_compiler_no_suggest_attribute_flags="-Wno-suggest-attribute=format"
-    ],[
-        ax_compiler_no_suggest_attribute_flags=""
-    ])
-
-    # Base flags
-    AX_APPEND_COMPILE_FLAGS([ dnl
-        -fno-strict-aliasing dnl
-        $3 dnl
-    ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
-
-    AS_IF([test "$ax_enable_compile_warnings" != "no"],[
-        # "yes" flags
-        AX_APPEND_COMPILE_FLAGS([ dnl
-            -Wall dnl
-            -Wextra dnl
-            -Wundef dnl
-            -Wnested-externs dnl
-            -Wwrite-strings dnl
-            -Wpointer-arith dnl
-            -Wmissing-declarations dnl
-            -Wmissing-prototypes dnl
-            -Wstrict-prototypes dnl
-            -Wredundant-decls dnl
-            -Wno-unused-parameter dnl
-            -Wno-missing-field-initializers dnl
-            -Wdeclaration-after-statement dnl
-            -Wformat=2 dnl
-            -Wold-style-definition dnl
-            -Wcast-align dnl
-            -Wformat-nonliteral dnl
-            -Wformat-security dnl
-            -Wsign-compare dnl
-            -Wstrict-aliasing dnl
-            -Wshadow dnl
-            -Winline dnl
-            -Wpacked dnl
-            -Wmissing-format-attribute dnl
-            -Wmissing-noreturn dnl
-            -Winit-self dnl
-            -Wredundant-decls dnl
-            -Wmissing-include-dirs dnl
-            -Wunused-but-set-variable dnl
-            -Warray-bounds dnl
-            -Wimplicit-function-declaration dnl
-            -Wreturn-type dnl
-            -Wswitch-enum dnl
-            -Wswitch-default dnl
-            $4 dnl
-            $5 dnl
-            $6 dnl
-            $7 dnl
-        ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
-    ])
-    AS_IF([test "$ax_enable_compile_warnings" = "error"],[
-        # "error" flags; -Werror has to be appended unconditionally because
-        # it's not possible to test for
-        #
-        # suggest-attribute=format is disabled because it gives too many false
-        # positives
-        AX_APPEND_FLAG([-Werror],ax_warn_cflags_variable)
-
-        AX_APPEND_COMPILE_FLAGS([ dnl
-            [$ax_compiler_no_suggest_attribute_flags] dnl
-        ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
-    ])
-
-    # In the flags below, when disabling specific flags, always add *both*
-    # -Wno-foo and -Wno-error=foo. This fixes the situation where (for example)
-    # we enable -Werror, disable a flag, and a build bot passes CFLAGS=-Wall,
-    # which effectively turns that flag back on again as an error.
-    for flag in $ax_warn_cflags_variable; do
-        AS_CASE([$flag],
-                [-Wno-*=*],[],
-                [-Wno-*],[
-                    AX_APPEND_COMPILE_FLAGS([-Wno-error=$(AS_ECHO([$flag]) | $SED 's/^-Wno-//')],
-                                            ax_warn_cflags_variable,
-                                            [$ax_compiler_flags_test])
-                ])
-    done
-
-    AC_LANG_POP([C])
-
-    # Substitute the variables
-    AC_SUBST(ax_warn_cflags_variable)
-])dnl AX_COMPILER_FLAGS
diff --git a/m4/ax_compiler_flags_gir.m4 b/m4/ax_compiler_flags_gir.m4
deleted file mode 100644 (file)
index 5b4924a..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-# ===========================================================================
-#  https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_gir.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_COMPILER_FLAGS_GIR([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS])
-#
-# DESCRIPTION
-#
-#   Add warning flags for the g-ir-scanner (from GObject Introspection) to
-#   VARIABLE, which defaults to WARN_SCANNERFLAGS.  VARIABLE is AC_SUBST-ed
-#   by this macro, but must be manually added to the SCANNERFLAGS variable
-#   for each GIR target in the code base.
-#
-#   This macro depends on the environment set up by AX_COMPILER_FLAGS.
-#   Specifically, it uses the value of $ax_enable_compile_warnings to decide
-#   which flags to enable.
-#
-# LICENSE
-#
-#   Copyright (c) 2015 Philip Withnall <philip@tecnocode.co.uk>
-#
-#   Copying and distribution of this file, with or without modification, are
-#   permitted in any medium without royalty provided the copyright notice
-#   and this notice are preserved.  This file is offered as-is, without any
-#   warranty.
-
-#serial 6
-
-AC_DEFUN([AX_COMPILER_FLAGS_GIR],[
-    AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
-
-    # Variable names
-    m4_define([ax_warn_scannerflags_variable],
-              [m4_normalize(ifelse([$1],,[WARN_SCANNERFLAGS],[$1]))])
-
-    # Base flags
-    AX_APPEND_FLAG([$3],ax_warn_scannerflags_variable)
-
-    AS_IF([test "$ax_enable_compile_warnings" != "no"],[
-        # "yes" flags
-        AX_APPEND_FLAG([ dnl
-            --warn-all dnl
-            $4 dnl
-            $5 dnl
-            $6 dnl
-            $7 dnl
-        ],ax_warn_scannerflags_variable)
-    ])
-    AS_IF([test "$ax_enable_compile_warnings" = "error"],[
-        # "error" flags
-        AX_APPEND_FLAG([ dnl
-            --warn-error dnl
-        ],ax_warn_scannerflags_variable)
-    ])
-
-    # Substitute the variables
-    AC_SUBST(ax_warn_scannerflags_variable)
-])dnl AX_COMPILER_FLAGS
diff --git a/m4/ax_compiler_flags_ldflags.m4 b/m4/ax_compiler_flags_ldflags.m4
deleted file mode 100644 (file)
index 842e329..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-# ==============================================================================
-#  https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_ldflags.html
-# ==============================================================================
-#
-# SYNOPSIS
-#
-#   AX_COMPILER_FLAGS_LDFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS])
-#
-# DESCRIPTION
-#
-#   Add warning flags for the linker to VARIABLE, which defaults to
-#   WARN_LDFLAGS.  VARIABLE is AC_SUBST-ed by this macro, but must be
-#   manually added to the LDFLAGS variable for each target in the code base.
-#
-#   This macro depends on the environment set up by AX_COMPILER_FLAGS.
-#   Specifically, it uses the value of $ax_enable_compile_warnings to decide
-#   which flags to enable.
-#
-# LICENSE
-#
-#   Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
-#
-#   Copying and distribution of this file, with or without modification, are
-#   permitted in any medium without royalty provided the copyright notice
-#   and this notice are preserved.  This file is offered as-is, without any
-#   warranty.
-
-#serial 8
-
-AC_DEFUN([AX_COMPILER_FLAGS_LDFLAGS],[
-    AX_REQUIRE_DEFINED([AX_APPEND_LINK_FLAGS])
-    AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
-    AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
-    AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
-
-    # Variable names
-    m4_define([ax_warn_ldflags_variable],
-              [m4_normalize(ifelse([$1],,[WARN_LDFLAGS],[$1]))])
-
-    # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
-    # flags, otherwise they are always appended to the warn_ldflags variable,
-    # and Clang warns on them for every compilation unit.
-    # If this is passed to GCC, it will explode, so the flag must be enabled
-    # conditionally.
-    AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[
-        ax_compiler_flags_test="-Werror=unknown-warning-option"
-    ],[
-        ax_compiler_flags_test=""
-    ])
-
-    # macOS linker does not have --as-needed
-    AX_CHECK_LINK_FLAG([-Wl,--no-as-needed], [
-        ax_compiler_flags_as_needed_option="-Wl,--no-as-needed"
-    ], [
-        ax_compiler_flags_as_needed_option=""
-    ])
-
-    # macOS linker speaks with a different accent
-    ax_compiler_flags_fatal_warnings_option=""
-    AX_CHECK_LINK_FLAG([-Wl,--fatal-warnings], [
-        ax_compiler_flags_fatal_warnings_option="-Wl,--fatal-warnings"
-    ])
-    AX_CHECK_LINK_FLAG([-Wl,-fatal_warnings], [
-        ax_compiler_flags_fatal_warnings_option="-Wl,-fatal_warnings"
-    ])
-
-    # Base flags
-    AX_APPEND_LINK_FLAGS([ dnl
-        $ax_compiler_flags_as_needed_option dnl
-        $3 dnl
-    ],ax_warn_ldflags_variable,[$ax_compiler_flags_test])
-
-    AS_IF([test "$ax_enable_compile_warnings" != "no"],[
-        # "yes" flags
-        AX_APPEND_LINK_FLAGS([$4 $5 $6 $7],
-                                ax_warn_ldflags_variable,
-                                [$ax_compiler_flags_test])
-    ])
-    AS_IF([test "$ax_enable_compile_warnings" = "error"],[
-        # "error" flags; -Werror has to be appended unconditionally because
-        # it's not possible to test for
-        #
-        # suggest-attribute=format is disabled because it gives too many false
-        # positives
-        AX_APPEND_LINK_FLAGS([ dnl
-            $ax_compiler_flags_fatal_warnings_option dnl
-        ],ax_warn_ldflags_variable,[$ax_compiler_flags_test])
-    ])
-
-    # Substitute the variables
-    AC_SUBST(ax_warn_ldflags_variable)
-])dnl AX_COMPILER_FLAGS
diff --git a/m4/ax_is_release.m4 b/m4/ax_is_release.m4
deleted file mode 100644 (file)
index 9097ddb..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-# ===========================================================================
-#      https://www.gnu.org/software/autoconf-archive/ax_is_release.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_IS_RELEASE(POLICY)
-#
-# DESCRIPTION
-#
-#   Determine whether the code is being configured as a release, or from
-#   git. Set the ax_is_release variable to 'yes' or 'no'.
-#
-#   If building a release version, it is recommended that the configure
-#   script disable compiler errors and debug features, by conditionalising
-#   them on the ax_is_release variable.  If building from git, these
-#   features should be enabled.
-#
-#   The POLICY parameter specifies how ax_is_release is determined. It can
-#   take the following values:
-#
-#    * git-directory:  ax_is_release will be 'no' if a '.git' directory exists
-#    * minor-version:  ax_is_release will be 'no' if the minor version number
-#                      in $PACKAGE_VERSION is odd; this assumes
-#                      $PACKAGE_VERSION follows the 'major.minor.micro' scheme
-#    * micro-version:  ax_is_release will be 'no' if the micro version number
-#                      in $PACKAGE_VERSION is odd; this assumes
-#                      $PACKAGE_VERSION follows the 'major.minor.micro' scheme
-#    * dash-version:   ax_is_release will be 'no' if there is a dash '-'
-#                      in $PACKAGE_VERSION, for example 1.2-pre3, 1.2.42-a8b9
-#                      or 2.0-dirty (in particular this is suitable for use
-#                      with git-version-gen)
-#    * always:         ax_is_release will always be 'yes'
-#    * never:          ax_is_release will always be 'no'
-#
-#   Other policies may be added in future.
-#
-# LICENSE
-#
-#   Copyright (c) 2015 Philip Withnall <philip@tecnocode.co.uk>
-#   Copyright (c) 2016 Collabora Ltd.
-#
-#   Copying and distribution of this file, with or without modification, are
-#   permitted in any medium without royalty provided the copyright notice
-#   and this notice are preserved.
-
-#serial 7
-
-AC_DEFUN([AX_IS_RELEASE],[
-    AC_BEFORE([AC_INIT],[$0])
-
-    m4_case([$1],
-      [git-directory],[
-        # $is_release = (.git directory does not exist)
-        AS_IF([test -d ${srcdir}/.git],[ax_is_release=no],[ax_is_release=yes])
-      ],
-      [minor-version],[
-        # $is_release = ($minor_version is even)
-        minor_version=`echo "$PACKAGE_VERSION" | sed 's/[[^.]][[^.]]*.\([[^.]][[^.]]*\).*/\1/'`
-        AS_IF([test "$(( $minor_version % 2 ))" -ne 0],
-              [ax_is_release=no],[ax_is_release=yes])
-      ],
-      [micro-version],[
-        # $is_release = ($micro_version is even)
-        micro_version=`echo "$PACKAGE_VERSION" | sed 's/[[^.]]*\.[[^.]]*\.\([[^.]]*\).*/\1/'`
-        AS_IF([test "$(( $micro_version % 2 ))" -ne 0],
-              [ax_is_release=no],[ax_is_release=yes])
-      ],
-      [dash-version],[
-        # $is_release = ($PACKAGE_VERSION has a dash)
-        AS_CASE([$PACKAGE_VERSION],
-                [*-*], [ax_is_release=no],
-                [*], [ax_is_release=yes])
-      ],
-      [always],[ax_is_release=yes],
-      [never],[ax_is_release=no],
-      [
-        AC_MSG_ERROR([Invalid policy. Valid policies: git-directory, minor-version, micro-version, dash-version, always, never.])
-      ])
-])
diff --git a/m4/ax_require_defined.m4 b/m4/ax_require_defined.m4
deleted file mode 100644 (file)
index 17c3eab..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# ===========================================================================
-#    https://www.gnu.org/software/autoconf-archive/ax_require_defined.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_REQUIRE_DEFINED(MACRO)
-#
-# DESCRIPTION
-#
-#   AX_REQUIRE_DEFINED is a simple helper for making sure other macros have
-#   been defined and thus are available for use.  This avoids random issues
-#   where a macro isn't expanded.  Instead the configure script emits a
-#   non-fatal:
-#
-#     ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found
-#
-#   It's like AC_REQUIRE except it doesn't expand the required macro.
-#
-#   Here's an example:
-#
-#     AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
-#
-# LICENSE
-#
-#   Copyright (c) 2014 Mike Frysinger <vapier@gentoo.org>
-#
-#   Copying and distribution of this file, with or without modification, are
-#   permitted in any medium without royalty provided the copyright notice
-#   and this notice are preserved. This file is offered as-is, without any
-#   warranty.
-
-#serial 2
-
-AC_DEFUN([AX_REQUIRE_DEFINED], [dnl
-  m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])])
-])dnl AX_REQUIRE_DEFINED
diff --git a/m4/glib-2.0.m4 b/m4/glib-2.0.m4
deleted file mode 100644 (file)
index 4b19019..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-# Configure paths for GLIB
-# Owen Taylor     1997-2001
-
-# Increment this whenever this file is changed.
-#serial 1
-
-dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
-dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject,
-dnl gthread, or gio is specified in MODULES, pass to pkg-config
-dnl
-AC_DEFUN([AM_PATH_GLIB_2_0],
-[dnl 
-dnl Get the cflags and libraries from pkg-config
-dnl
-AC_ARG_ENABLE(glibtest, [  --disable-glibtest      do not try to compile and run a test GLIB program],
-                   , enable_glibtest=yes)
-
-  pkg_config_args=glib-2.0
-  for module in . $4
-  do
-      case "$module" in
-         gmodule) 
-             pkg_config_args="$pkg_config_args gmodule-2.0"
-         ;;
-         gmodule-no-export) 
-             pkg_config_args="$pkg_config_args gmodule-no-export-2.0"
-         ;;
-         gobject) 
-             pkg_config_args="$pkg_config_args gobject-2.0"
-         ;;
-         gthread) 
-             pkg_config_args="$pkg_config_args gthread-2.0"
-         ;;
-         gio*) 
-             pkg_config_args="$pkg_config_args $module-2.0"
-         ;;
-      esac
-  done
-
-  PKG_PROG_PKG_CONFIG([0.16])
-
-  no_glib=""
-
-  if test "x$PKG_CONFIG" = x ; then
-    no_glib=yes
-    PKG_CONFIG=no
-  fi
-
-  min_glib_version=ifelse([$1], ,2.0.0,$1)
-  AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
-
-  if test x$PKG_CONFIG != xno ; then
-    ## don't try to run the test against uninstalled libtool libs
-    if $PKG_CONFIG --uninstalled $pkg_config_args; then
-         echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH"
-         enable_glibtest=no
-    fi
-
-    if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then
-         :
-    else
-         no_glib=yes
-    fi
-  fi
-
-  if test x"$no_glib" = x ; then
-    GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
-    GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0`
-    GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
-    GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable=glib_compile_resources gio-2.0`
-
-    GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args`
-    GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args`
-    glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-    glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-    glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-    if test "x$enable_glibtest" = "xyes" ; then
-      ac_save_CFLAGS="$CFLAGS"
-      ac_save_LIBS="$LIBS"
-      CFLAGS="$CFLAGS $GLIB_CFLAGS"
-      LIBS="$GLIB_LIBS $LIBS"
-dnl
-dnl Now check if the installed GLIB is sufficiently new. (Also sanity
-dnl checks the results of pkg-config to some extent)
-dnl
-      rm -f conf.glibtest
-      AC_TRY_RUN([
-#include <glib.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int 
-main (void)
-{
-  unsigned int major, minor, micro;
-
-  fclose (fopen ("conf.glibtest", "w"));
-
-  if (sscanf("$min_glib_version", "%u.%u.%u", &major, &minor, &micro) != 3) {
-     printf("%s, bad version string\n", "$min_glib_version");
-     exit(1);
-   }
-
-  if ((glib_major_version != $glib_config_major_version) ||
-      (glib_minor_version != $glib_config_minor_version) ||
-      (glib_micro_version != $glib_config_micro_version))
-    {
-      printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", 
-             $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
-             glib_major_version, glib_minor_version, glib_micro_version);
-      printf ("*** was found! If pkg-config was correct, then it is best\n");
-      printf ("*** to remove the old version of GLib. You may also be able to fix the error\n");
-      printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
-      printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
-      printf("*** required on your system.\n");
-      printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
-      printf("*** to point to the correct configuration files\n");
-    } 
-  else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
-          (glib_minor_version != GLIB_MINOR_VERSION) ||
-           (glib_micro_version != GLIB_MICRO_VERSION))
-    {
-      printf("*** GLIB header files (version %d.%d.%d) do not match\n",
-            GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
-      printf("*** library (version %d.%d.%d)\n",
-            glib_major_version, glib_minor_version, glib_micro_version);
-    }
-  else
-    {
-      if ((glib_major_version > major) ||
-        ((glib_major_version == major) && (glib_minor_version > minor)) ||
-        ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
-      {
-        return 0;
-       }
-     else
-      {
-        printf("\n*** An old version of GLIB (%u.%u.%u) was found.\n",
-               glib_major_version, glib_minor_version, glib_micro_version);
-        printf("*** You need a version of GLIB newer than %u.%u.%u. The latest version of\n",
-              major, minor, micro);
-        printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
-        printf("***\n");
-        printf("*** If you have already installed a sufficiently new version, this error\n");
-        printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
-        printf("*** being found. The easiest way to fix this is to remove the old version\n");
-        printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n");
-        printf("*** correct copy of pkg-config. (In this case, you will have to\n");
-        printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
-        printf("*** so that the correct libraries are found at run-time))\n");
-      }
-    }
-  return 1;
-}
-],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-       CFLAGS="$ac_save_CFLAGS"
-       LIBS="$ac_save_LIBS"
-     fi
-  fi
-  if test "x$no_glib" = x ; then
-     AC_MSG_RESULT(yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version))
-     ifelse([$2], , :, [$2])     
-  else
-     AC_MSG_RESULT(no)
-     if test "$PKG_CONFIG" = "no" ; then
-       echo "*** A new enough version of pkg-config was not found."
-       echo "*** See http://www.freedesktop.org/software/pkgconfig/"
-     else
-       if test -f conf.glibtest ; then
-        :
-       else
-          echo "*** Could not run GLIB test program, checking why..."
-          ac_save_CFLAGS="$CFLAGS"
-          ac_save_LIBS="$LIBS"
-          CFLAGS="$CFLAGS $GLIB_CFLAGS"
-          LIBS="$LIBS $GLIB_LIBS"
-          AC_TRY_LINK([
-#include <glib.h>
-#include <stdio.h>
-],      [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ],
-        [ echo "*** The test program compiled, but did not run. This usually means"
-          echo "*** that the run-time linker is not finding GLIB or finding the wrong"
-          echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
-          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
-          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
-          echo "*** is required on your system"
-         echo "***"
-          echo "*** If you have an old version installed, it is best to remove it, although"
-          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
-        [ echo "*** The test program failed to compile or link. See the file config.log for the"
-          echo "*** exact error that occured. This usually means GLIB is incorrectly installed."])
-          CFLAGS="$ac_save_CFLAGS"
-          LIBS="$ac_save_LIBS"
-       fi
-     fi
-     GLIB_CFLAGS=""
-     GLIB_LIBS=""
-     GLIB_GENMARSHAL=""
-     GOBJECT_QUERY=""
-     GLIB_MKENUMS=""
-     GLIB_COMPILE_RESOURCES=""
-     ifelse([$3], , :, [$3])
-  fi
-  AC_SUBST(GLIB_CFLAGS)
-  AC_SUBST(GLIB_LIBS)
-  AC_SUBST(GLIB_GENMARSHAL)
-  AC_SUBST(GOBJECT_QUERY)
-  AC_SUBST(GLIB_MKENUMS)
-  AC_SUBST(GLIB_COMPILE_RESOURCES)
-  rm -f conf.glibtest
-])
diff --git a/m4/introspection.m4 b/m4/introspection.m4
deleted file mode 100644 (file)
index d89c3d9..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-dnl -*- mode: autoconf -*-
-dnl Copyright 2009 Johan Dahlin
-dnl
-dnl This file is free software; the author(s) gives unlimited
-dnl permission to copy and/or distribute it, with or without
-dnl modifications, as long as this notice is preserved.
-dnl
-
-# serial 1
-
-m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
-[
-    AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
-    AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
-    AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
-
-    dnl enable/disable introspection
-    m4_if([$2], [require],
-    [dnl
-        enable_introspection=yes
-    ],[dnl
-        AC_ARG_ENABLE(introspection,
-                  AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
-                                 [Enable introspection for this build]),, 
-                                 [enable_introspection=auto])
-    ])dnl
-
-    AC_MSG_CHECKING([for gobject-introspection])
-
-    dnl presence/version checking
-    AS_CASE([$enable_introspection],
-    [no], [dnl
-        found_introspection="no (disabled, use --enable-introspection to enable)"
-    ],dnl
-    [yes],[dnl
-        PKG_CHECK_EXISTS([gobject-introspection-1.0],,
-                         AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
-        PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
-                         found_introspection=yes,
-                         AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
-    ],dnl
-    [auto],[dnl
-        PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
-       dnl Canonicalize enable_introspection
-       enable_introspection=$found_introspection
-    ],dnl
-    [dnl       
-        AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
-    ])dnl
-
-    AC_MSG_RESULT([$found_introspection])
-
-    INTROSPECTION_SCANNER=
-    INTROSPECTION_COMPILER=
-    INTROSPECTION_GENERATE=
-    INTROSPECTION_GIRDIR=
-    INTROSPECTION_TYPELIBDIR=
-    if test "x$found_introspection" = "xyes"; then
-       INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
-       INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
-       INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
-       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
-       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
-       INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
-       INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
-       INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
-    fi
-    AC_SUBST(INTROSPECTION_SCANNER)
-    AC_SUBST(INTROSPECTION_COMPILER)
-    AC_SUBST(INTROSPECTION_GENERATE)
-    AC_SUBST(INTROSPECTION_GIRDIR)
-    AC_SUBST(INTROSPECTION_TYPELIBDIR)
-    AC_SUBST(INTROSPECTION_CFLAGS)
-    AC_SUBST(INTROSPECTION_LIBS)
-    AC_SUBST(INTROSPECTION_MAKEFILE)
-
-    AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
-])
-
-
-dnl Usage:
-dnl   GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
-
-AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
-[
-  _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
-])
-
-dnl Usage:
-dnl   GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
-
-
-AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
-[
-  _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
-])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
deleted file mode 100644 (file)
index ee80844..0000000
+++ /dev/null
@@ -1,8387 +0,0 @@
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-#
-#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-m4_define([_LT_COPYING], [dnl
-# Copyright (C) 2014 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program or library that is built
-# using GNU Libtool, you may include this file under the  same
-# distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-])
-
-# serial 58 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-m4_defun([LT_PREREQ],
-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
-       [m4_default([$3],
-                  [m4_fatal([Libtool version $1 or higher is required],
-                            63)])],
-       [$2])])
-
-
-# _LT_CHECK_BUILDDIR
-# ------------------
-# Complain if the absolute build directory name contains unusual characters
-m4_defun([_LT_CHECK_BUILDDIR],
-[case `pwd` in
-  *\ * | *\    *)
-    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
-esac
-])
-
-
-# LT_INIT([OPTIONS])
-# ------------------
-AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
-AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_BEFORE([$0], [LT_LANG])dnl
-AC_BEFORE([$0], [LT_OUTPUT])dnl
-AC_BEFORE([$0], [LTDL_INIT])dnl
-m4_require([_LT_CHECK_BUILDDIR])dnl
-
-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-dnl unless we require an AC_DEFUNed macro:
-AC_REQUIRE([LTOPTIONS_VERSION])dnl
-AC_REQUIRE([LTSUGAR_VERSION])dnl
-AC_REQUIRE([LTVERSION_VERSION])dnl
-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
-m4_require([_LT_PROG_LTMAIN])dnl
-
-_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
-
-dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS=$ltmain
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-_LT_SETUP
-
-# Only expand once:
-m4_define([LT_INIT])
-])# LT_INIT
-
-# Old names:
-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
-
-
-# _LT_PREPARE_CC_BASENAME
-# -----------------------
-m4_defun([_LT_PREPARE_CC_BASENAME], [
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-func_cc_basename ()
-{
-    for cc_temp in @S|@*""; do
-      case $cc_temp in
-        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-        \-*) ;;
-        *) break;;
-      esac
-    done
-    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-}
-])# _LT_PREPARE_CC_BASENAME
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
-# but that macro is also expanded into generated libtool script, which
-# arranges for $SED and $ECHO to be set by different means.
-m4_defun([_LT_CC_BASENAME],
-[m4_require([_LT_PREPARE_CC_BASENAME])dnl
-AC_REQUIRE([_LT_DECL_SED])dnl
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-func_cc_basename $1
-cc_basename=$func_cc_basename_result
-])
-
-
-# _LT_FILEUTILS_DEFAULTS
-# ----------------------
-# It is okay to use these file commands and assume they have been set
-# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
-m4_defun([_LT_FILEUTILS_DEFAULTS],
-[: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-])# _LT_FILEUTILS_DEFAULTS
-
-
-# _LT_SETUP
-# ---------
-m4_defun([_LT_SETUP],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-
-_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
-dnl
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-_LT_DECL([], [host_os], [0])dnl
-dnl
-_LT_DECL([], [build_alias], [0], [The build system])dnl
-_LT_DECL([], [build], [0])dnl
-_LT_DECL([], [build_os], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
-m4_require([_LT_CMD_RELOAD])dnl
-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_WITH_SYSROOT])dnl
-m4_require([_LT_CMD_TRUNCATE])dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options that allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}"; then
-   setopt NO_GLOB_SUBST
-fi
-])
-if test -n "${ZSH_VERSION+set}"; then
-   setopt NO_GLOB_SUBST
-fi
-
-_LT_CHECK_OBJDIR
-
-m4_require([_LT_TAG_COMPILER])dnl
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test set != "${COLLECT_NAMES+set}"; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-old_CC=$CC
-old_CFLAGS=$CFLAGS
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    _LT_PATH_MAGIC
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-LT_SUPPORTED_TAG([CC])
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PREPARE_SED_QUOTE_VARS
-# --------------------------
-# Define a few sed substitution that help us do robust quoting.
-m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
-[# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-])
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from 'configure', and 'config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
-# 'config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-m4_defun([_LT_PROG_LTMAIN],
-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain=$ac_aux_dir/ltmain.sh
-])# _LT_PROG_LTMAIN
-
-
-## ------------------------------------- ##
-## Accumulate code for creating libtool. ##
-## ------------------------------------- ##
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the 'libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
-              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-## ------------------------ ##
-## FIXME: Eliminate VARNAME ##
-## ------------------------ ##
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME.  Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
-    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
-       [m4_ifval([$1], [$1], [$2])])
-    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
-    m4_ifval([$4],
-       [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
-    lt_dict_add_subkey([lt_decl_dict], [$2],
-       [tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-m4_define([_lt_decl_filter],
-[m4_case([$#],
-  [0], [m4_fatal([$0: too few arguments: $#])],
-  [1], [m4_fatal([$0: too few arguments: $#: $1])],
-  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
-  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
-  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[m4_assert([$# <= 2])dnl
-_$0(m4_quote(m4_default([$1], [[, ]])),
-    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
-    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-m4_define([_lt_decl_varnames_tagged],
-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
-     m4_if([$2], [],
-          m4_quote(lt_decl_varnames),
-       m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
-                       lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to 'config.status' so that its
-# declaration there will have the same value as in 'configure'.  VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly.  In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
-    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_defun([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags='_LT_TAGS'dnl
-])
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-#    # Some comment about what VAR is for.
-#    visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
-                                          [description])))[]dnl
-m4_pushdef([_libtool_name],
-    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
-    [0], [_libtool_name=[$]$1],
-    [1], [_libtool_name=$lt_[]$1],
-    [2], [_libtool_name=$lt_[]$1],
-    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
-# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
-    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into 'config.status', and then the shell code to quote escape them in
-# for loops in 'config.status'.  Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_defun([_LT_CONFIG_COMMANDS],
-[AC_PROVIDE_IFELSE([LT_OUTPUT],
-       dnl If the libtool generation code has been placed in $CONFIG_LT,
-       dnl instead of duplicating it all over again into config.status,
-       dnl then we will have config.status run $CONFIG_LT later, so it
-       dnl needs to know what name is stored there:
-        [AC_CONFIG_COMMANDS([libtool],
-            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
-    dnl If the libtool generation code is destined for config.status,
-    dnl expand the accumulated commands and init code now:
-    [AC_CONFIG_COMMANDS([libtool],
-        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-])#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-[
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-_LT_CONFIG_STATUS_DECLARATIONS
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$[]1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_quote_varnames); do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_dquote_varnames); do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-
-# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
-# ------------------------------------
-# Generate a child script FILE with all initialization necessary to
-# reuse the environment learned by the parent script, and make the
-# file executable.  If COMMENT is supplied, it is inserted after the
-# '#!' sequence but before initialization text begins.  After this
-# macro, additional text can be appended to FILE to form the body of
-# the child script.  The macro ends with non-zero status if the
-# file could not be fully written (such as if the disk is full).
-m4_ifdef([AS_INIT_GENERATED],
-[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
-[m4_defun([_LT_GENERATED_FILE_INIT],
-[m4_require([AS_PREPARE])]dnl
-[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
-[lt_write_fail=0
-cat >$1 <<_ASEOF || lt_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-$2
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$1 <<\_ASEOF || lt_write_fail=1
-AS_SHELL_SANITIZE
-_AS_PREPARE
-exec AS_MESSAGE_FD>&1
-_ASEOF
-test 0 = "$lt_write_fail" && chmod +x $1[]dnl
-m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-AC_DEFUN([LT_OUTPUT],
-[: ${CONFIG_LT=./config.lt}
-AC_MSG_NOTICE([creating $CONFIG_LT])
-_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
-[# Run this file to recreate a libtool stub with the current configuration.])
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-lt_cl_silent=false
-exec AS_MESSAGE_LOG_FD>>config.log
-{
-  echo
-  AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-
-lt_cl_help="\
-'$as_me' creates a local libtool stub from the current configuration,
-for use in further configure time tests before the real libtool is
-generated.
-
-Usage: $[0] [[OPTIONS]]
-
-  -h, --help      print this help, then exit
-  -V, --version   print version number, then exit
-  -q, --quiet     do not print progress messages
-  -d, --debug     don't remove temporary files
-
-Report bugs to <bug-libtool@gnu.org>."
-
-lt_cl_version="\
-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-configured by $[0], generated by m4_PACKAGE_STRING.
-
-Copyright (C) 2011 Free Software Foundation, Inc.
-This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
-
-while test 0 != $[#]
-do
-  case $[1] in
-    --version | --v* | -V )
-      echo "$lt_cl_version"; exit 0 ;;
-    --help | --h* | -h )
-      echo "$lt_cl_help"; exit 0 ;;
-    --debug | --d* | -d )
-      debug=: ;;
-    --quiet | --q* | --silent | --s* | -q )
-      lt_cl_silent=: ;;
-
-    -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try '$[0] --help' for more information.]) ;;
-
-    *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try '$[0] --help' for more information.]) ;;
-  esac
-  shift
-done
-
-if $lt_cl_silent; then
-  exec AS_MESSAGE_FD>/dev/null
-fi
-_LTEOF
-
-cat >>"$CONFIG_LT" <<_LTEOF
-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AC_MSG_NOTICE([creating $ofile])
-_LT_OUTPUT_LIBTOOL_COMMANDS
-AS_EXIT(0)
-_LTEOF
-chmod +x "$CONFIG_LT"
-
-# configure is writing to config.log, but config.lt does its own redirection,
-# appending to config.log, which fails on DOS, as config.log is still kept
-# open by configure.  Here we exec the FD to /dev/null, effectively closing
-# config.log, so it can be properly (re)opened and appended to by config.lt.
-lt_cl_success=:
-test yes = "$silent" &&
-  lt_config_lt_args="$lt_config_lt_args --quiet"
-exec AS_MESSAGE_LOG_FD>/dev/null
-$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-exec AS_MESSAGE_LOG_FD>>config.log
-$lt_cl_success || AS_EXIT(1)
-])# LT_OUTPUT
-
-
-# _LT_CONFIG(TAG)
-# ---------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars.  Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-m4_defun([_LT_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_CONFIG_SAVE_COMMANDS([
-  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
-  m4_if(_LT_TAG, [C], [
-    # See if we are running on zsh, and set the options that allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}"; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile=${ofile}T
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-# Generated automatically by $as_me ($PACKAGE) $VERSION
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-
-# Provide generalized library-building support services.
-# Written by Gordon Matzigkeit, 1996
-
-_LT_COPYING
-_LT_LIBTOOL_TAGS
-
-# Configured defaults for sys_lib_dlsearch_path munging.
-: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
-
-# ### BEGIN LIBTOOL CONFIG
-_LT_LIBTOOL_CONFIG_VARS
-_LT_LIBTOOL_TAG_VARS
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-    cat <<'_LT_EOF' >> "$cfgfile"
-
-# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
-
-_LT_PREPARE_MUNGE_PATH_LIST
-_LT_PREPARE_CC_BASENAME
-
-# ### END FUNCTIONS SHARED WITH CONFIGURE
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test set != "${COLLECT_NAMES+set}"; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-  _LT_PROG_LTMAIN
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-],
-[cat <<_LT_EOF >> "$ofile"
-
-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-dnl in a comment (ie after a #).
-# ### BEGIN LIBTOOL TAG CONFIG: $1
-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-# ### END LIBTOOL TAG CONFIG: $1
-_LT_EOF
-])dnl /m4_if
-],
-[m4_if([$1], [], [
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    RM='$RM'
-    ofile='$ofile'], [])
-])dnl /_LT_CONFIG_SAVE_COMMANDS
-])# _LT_CONFIG
-
-
-# LT_SUPPORTED_TAG(TAG)
-# ---------------------
-# Trace this macro to discover what tags are supported by the libtool
-# --tag option, using:
-#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
-AC_DEFUN([LT_SUPPORTED_TAG], [])
-
-
-# C support is built-in for now
-m4_define([_LT_LANG_C_enabled], [])
-m4_define([_LT_TAGS], [])
-
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-AC_DEFUN([LT_LANG],
-[AC_BEFORE([$0], [LT_OUTPUT])dnl
-m4_case([$1],
-  [C],                 [_LT_LANG(C)],
-  [C++],               [_LT_LANG(CXX)],
-  [Go],                        [_LT_LANG(GO)],
-  [Java],              [_LT_LANG(GCJ)],
-  [Fortran 77],                [_LT_LANG(F77)],
-  [Fortran],           [_LT_LANG(FC)],
-  [Windows Resource],  [_LT_LANG(RC)],
-  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
-    [_LT_LANG($1)],
-    [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_defun([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
-  [LT_SUPPORTED_TAG([$1])dnl
-  m4_append([_LT_TAGS], [$1 ])dnl
-  m4_define([_LT_LANG_]$1[_enabled], [])dnl
-  _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-
-m4_ifndef([AC_PROG_GO], [
-############################################################
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-############################################################
-m4_defun([AC_PROG_GO],
-[AC_LANG_PUSH(Go)dnl
-AC_ARG_VAR([GOC],     [Go compiler command])dnl
-AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
-_AC_ARG_VAR_LDFLAGS()dnl
-AC_CHECK_TOOL(GOC, gccgo)
-if test -z "$GOC"; then
-  if test -n "$ac_tool_prefix"; then
-    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
-  fi
-fi
-if test -z "$GOC"; then
-  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
-fi
-])#m4_defun
-])#m4_ifndef
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_defun([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
-  [LT_LANG(CXX)],
-  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
-  [LT_LANG(F77)],
-  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_FC],
-  [LT_LANG(FC)],
-  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-  [LT_LANG(GCJ)],
-  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-    [LT_LANG(GCJ)],
-    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
-      [LT_LANG(GCJ)],
-      [m4_ifdef([AC_PROG_GCJ],
-       [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([A][M_PROG_GCJ],
-       [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([LT_PROG_GCJ],
-       [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([AC_PROG_GO],
-  [LT_LANG(GO)],
-  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
-  [LT_LANG(RC)],
-  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-dnl AC_DEFUN([AC_LIBTOOL_RC], [])
-
-
-# _LT_TAG_COMPILER
-# ----------------
-m4_defun([_LT_TAG_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-m4_defun([_LT_COMPILER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-m4_defun([_LT_LINKER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-    AC_CHECK_TOOL([LIPO], [lipo], [:])
-    AC_CHECK_TOOL([OTOOL], [otool], [:])
-    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
-    _LT_DECL([], [DSYMUTIL], [1],
-      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
-    _LT_DECL([], [NMEDIT], [1],
-      [Tool to change global to local symbols on Mac OS X])
-    _LT_DECL([], [LIPO], [1],
-      [Tool to manipulate fat objects and archives on Mac OS X])
-    _LT_DECL([], [OTOOL], [1],
-      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
-    _LT_DECL([], [OTOOL64], [1],
-      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [lt_cv_apple_cc_single_mod=no
-      if test -z "$LT_MULTI_MODULE"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&AS_MESSAGE_LOG_FD
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&AS_MESSAGE_LOG_FD
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi])
-
-    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-      [lt_cv_ld_exported_symbols_list],
-      [lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-       [lt_cv_ld_exported_symbols_list=yes],
-       [lt_cv_ld_exported_symbols_list=no])
-       LDFLAGS=$save_LDFLAGS
-    ])
-
-    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
-      [lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
-      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
-      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
-      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
-      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&AS_MESSAGE_LOG_FD
-      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&AS_MESSAGE_LOG_FD
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-    ])
-    case $host_os in
-    rhapsody* | darwin1.[[012]])
-      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
-       10.[[012]][[,.]]*)
-         _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test yes = "$lt_cv_apple_cc_single_mod"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test yes = "$lt_cv_ld_exported_symbols_list"; then
-      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
-    fi
-    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-])
-
-
-# _LT_DARWIN_LINKER_FEATURES([TAG])
-# ---------------------------------
-# Checks for linker and compiler features on darwin
-m4_defun([_LT_DARWIN_LINKER_FEATURES],
-[
-  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
-  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_automatic, $1)=yes
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  if test yes = "$lt_cv_ld_force_load"; then
-    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
-                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
-  else
-    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
-  fi
-  _LT_TAGVAR(link_all_deplibs, $1)=yes
-  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
-  case $cc_basename in
-     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test yes = "$_lt_dar_can_shared"; then
-    output_verbose_link_cmd=func_echo_all
-    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
-    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
-    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
-    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
-    m4_if([$1], [CXX],
-[   if test yes != "$lt_cv_apple_cc_single_mod"; then
-      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
-      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
-    fi
-],[])
-  else
-  _LT_TAGVAR(ld_shlibs, $1)=no
-  fi
-])
-
-# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
-# ----------------------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-# Store the results from the different compilers for each TAGNAME.
-# Allow to override them for all tags through lt_cv_aix_libpath.
-m4_defun([_LT_SYS_MODULE_PATH_AIX],
-[m4_require([_LT_DECL_SED])dnl
-if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
-  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
-  lt_aix_libpath_sed='[
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }]'
-  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
-    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi],[])
-  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
-    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
-  fi
-  ])
-  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
-fi
-])# _LT_SYS_MODULE_PATH_AIX
-
-
-# _LT_SHELL_INIT(ARG)
-# -------------------
-m4_define([_LT_SHELL_INIT],
-[m4_divert_text([M4SH-INIT], [$1
-])])# _LT_SHELL_INIT
-
-
-
-# _LT_PROG_ECHO_BACKSLASH
-# -----------------------
-# Find how we can fake an echo command that does not interpret backslash.
-# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script that will find a shell with a builtin
-# printf (that we can use as an echo command).
-m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-AC_MSG_CHECKING([how to print strings])
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$[]1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*"
-}
-
-case $ECHO in
-  printf*) AC_MSG_RESULT([printf]) ;;
-  print*) AC_MSG_RESULT([print -r]) ;;
-  *) AC_MSG_RESULT([cat]) ;;
-esac
-
-m4_ifdef([_AS_DETECT_SUGGESTED],
-[_AS_DETECT_SUGGESTED([
-  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test "X`printf %s $ECHO`" = "X$ECHO" \
-      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
-
-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
-])# _LT_PROG_ECHO_BACKSLASH
-
-
-# _LT_WITH_SYSROOT
-# ----------------
-AC_DEFUN([_LT_WITH_SYSROOT],
-[AC_MSG_CHECKING([for sysroot])
-AC_ARG_WITH([sysroot],
-[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
-  [Search for dependent libraries within DIR (or the compiler's sysroot
-   if not specified).])],
-[], [with_sysroot=no])
-
-dnl lt_sysroot will always be passed unquoted.  We quote it here
-dnl in case the user passed a directory name.
-lt_sysroot=
-case $with_sysroot in #(
- yes)
-   if test yes = "$GCC"; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   AC_MSG_RESULT([$with_sysroot])
-   AC_MSG_ERROR([The sysroot must be an absolute path.])
-   ;;
-esac
-
- AC_MSG_RESULT([${lt_sysroot:-no}])
-_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and where our libraries should be installed.])])
-
-# _LT_ENABLE_LOCK
-# ---------------
-m4_defun([_LT_ENABLE_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
-  [AS_HELP_STRING([--disable-libtool-lock],
-    [avoid locking (might break parallel builds)])])
-test no = "$enable_libtool_lock" || enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out what ABI is being produced by ac_compile, and set mode
-  # options accordingly.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE=32
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE=64
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    if test yes = "$lt_cv_prog_gnu_ld"; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-mips64*-*linux*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    emul=elf
-    case `/usr/bin/file conftest.$ac_objext` in
-      *32-bit*)
-       emul="${emul}32"
-       ;;
-      *64-bit*)
-       emul="${emul}64"
-       ;;
-    esac
-    case `/usr/bin/file conftest.$ac_objext` in
-      *MSB*)
-       emul="${emul}btsmip"
-       ;;
-      *LSB*)
-       emul="${emul}ltsmip"
-       ;;
-    esac
-    case `/usr/bin/file conftest.$ac_objext` in
-      *N32*)
-       emul="${emul}n32"
-       ;;
-    esac
-    LD="${LD-ld} -m $emul"
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.  Note that the listed cases only cover the
-  # situations where additional linker options are needed (such as when
-  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
-  # vice versa); the common cases where no linker options are needed do
-  # not appear in the list.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           case `/usr/bin/file conftest.o` in
-             *x86-64*)
-               LD="${LD-ld} -m elf32_x86_64"
-               ;;
-             *)
-               LD="${LD-ld} -m elf_i386"
-               ;;
-           esac
-           ;;
-         powerpc64le-*linux*)
-           LD="${LD-ld} -m elf32lppclinux"
-           ;;
-         powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         powerpcle-*linux*)
-           LD="${LD-ld} -m elf64lppc"
-           ;;
-         powerpc-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS=$CFLAGS
-  CFLAGS="$CFLAGS -belf"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_LANG_PUSH(C)
-     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
-     AC_LANG_POP])
-  if test yes != "$lt_cv_cc_needs_belf"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS=$SAVE_CFLAGS
-  fi
-  ;;
-*-*solaris*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*|x86_64-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD=${LD-ld}_sol2
-        fi
-        ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks=$enable_libtool_lock
-])# _LT_ENABLE_LOCK
-
-
-# _LT_PROG_AR
-# -----------
-m4_defun([_LT_PROG_AR],
-[AC_CHECK_TOOLS(AR, [ar], false)
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
-
-AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
-  [lt_cv_ar_at_file=no
-   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
-     [echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
-      AC_TRY_EVAL([lt_ar_try])
-      if test 0 -eq "$ac_status"; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       AC_TRY_EVAL([lt_ar_try])
-       if test 0 -ne "$ac_status"; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-     ])
-  ])
-
-if test no = "$lt_cv_ar_at_file"; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-_LT_DECL([], [archiver_list_spec], [1],
-  [How to feed a file listing to the archiver])
-])# _LT_PROG_AR
-
-
-# _LT_CMD_OLD_ARCHIVE
-# -------------------
-m4_defun([_LT_CMD_OLD_ARCHIVE],
-[_LT_PROG_AR
-
-AC_CHECK_TOOL(STRIP, strip, :)
-test -z "$STRIP" && STRIP=:
-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-test -z "$RANLIB" && RANLIB=:
-_LT_DECL([], [RANLIB], [1],
-    [Commands used to install an old-style archive])
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  bitrig* | openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
-    [Commands used to build an old-style archive])
-_LT_DECL([], [lock_old_archive_extraction], [0],
-    [Whether to use a lock for old archive extraction])
-])# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#              [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([_LT_COMPILER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       $2=yes
-     fi
-   fi
-   $RM conftest*
-])
-
-if test yes = "[$]$2"; then
-    m4_if([$5], , :, [$5])
-else
-    m4_if([$6], , :, [$6])
-fi
-])# _LT_COMPILER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-
-
-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#                  [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------
-# Check whether the given linker option works
-AC_DEFUN([_LT_LINKER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   save_LDFLAGS=$LDFLAGS
-   LDFLAGS="$LDFLAGS $3"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         $2=yes
-       fi
-     else
-       $2=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS=$save_LDFLAGS
-])
-
-if test yes = "[$]$2"; then
-    m4_if([$4], , :, [$4])
-else
-    m4_if([$5], , :, [$5])
-fi
-])# _LT_LINKER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-
-
-# LT_CMD_MAX_LEN
-#---------------
-AC_DEFUN([LT_CMD_MAX_LEN],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
-  i=0
-  teststring=ABCD
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[        ]]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len" && \
-       test undefined != "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test 17 != "$i" # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-])
-if test -n "$lt_cv_sys_max_cmd_len"; then
-  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
-  AC_MSG_RESULT(none)
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-_LT_DECL([], [max_cmd_len], [0],
-    [What is the maximum length of a command?])
-])# LT_CMD_MAX_LEN
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-m4_defun([_LT_HEADER_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-m4_defun([_LT_TRY_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test yes = "$cross_compiling"; then :
-  [$4]
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-[#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisibility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}]
-_LT_EOF
-  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
-    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) $1 ;;
-      x$lt_dlneed_uscore) $2 ;;
-      x$lt_dlunknown|x*) $3 ;;
-    esac
-  else :
-    # compilation failed
-    $3
-  fi
-fi
-rm -fr conftest*
-])# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-AC_DEFUN([LT_SYS_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test yes != "$enable_dlopen"; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen=load_add_on
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen=LoadLibrary
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen=dlopen
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-    # if libdl is installed we need to link against it
-    AC_CHECK_LIB([dl], [dlopen],
-               [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
-    lt_cv_dlopen=dyld
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ])
-    ;;
-
-  tpf*)
-    # Don't try to run any link tests for TPF.  We know it's impossible
-    # because TPF is a cross-compiler, and we know how we open DSOs.
-    lt_cv_dlopen=dlopen
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=no
-    ;;
-
-  *)
-    AC_CHECK_FUNC([shl_load],
-         [lt_cv_dlopen=shl_load],
-      [AC_CHECK_LIB([dld], [shl_load],
-           [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
-       [AC_CHECK_FUNC([dlopen],
-             [lt_cv_dlopen=dlopen],
-         [AC_CHECK_LIB([dl], [dlopen],
-               [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
-           [AC_CHECK_LIB([svld], [dlopen],
-                 [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
-             [AC_CHECK_LIB([dld], [dld_link],
-                   [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
-             ])
-           ])
-         ])
-       ])
-      ])
-    ;;
-  esac
-
-  if test no = "$lt_cv_dlopen"; then
-    enable_dlopen=no
-  else
-    enable_dlopen=yes
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS=$CPPFLAGS
-    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS=$LDFLAGS
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS=$LIBS
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    AC_CACHE_CHECK([whether a program can dlopen itself],
-         lt_cv_dlopen_self, [dnl
-         _LT_TRY_DLOPEN_SELF(
-           lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-           lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-    ])
-
-    if test yes = "$lt_cv_dlopen_self"; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-         lt_cv_dlopen_self_static, [dnl
-         _LT_TRY_DLOPEN_SELF(
-           lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-           lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
-      ])
-    fi
-
-    CPPFLAGS=$save_CPPFLAGS
-    LDFLAGS=$save_LDFLAGS
-    LIBS=$save_LIBS
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
-        [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
-        [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
-        [Whether dlopen of statically linked programs is supported])
-])# LT_SYS_DLOPEN_SELF
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-m4_defun([_LT_COMPILER_C_O],
-[m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-     fi
-   fi
-   chmod u+w . 2>&AS_MESSAGE_LOG_FD
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-])
-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
-       [Does compiler simultaneously support -c and -o options?])
-])# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-m4_defun([_LT_COMPILER_FILE_LOCKS],
-[m4_require([_LT_ENABLE_LOCK])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_COMPILER_C_O([$1])
-
-hard_links=nottested
-if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
-  # do not overwrite the value of need_locks provided by the user
-  AC_MSG_CHECKING([if we can lock with hard links])
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  AC_MSG_RESULT([$hard_links])
-  if test no = "$hard_links"; then
-    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-m4_defun([_LT_CHECK_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
-         [The name of the directory that contains temporary libtool files])dnl
-m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
-  [Define to the sub-directory where libtool stores uninstalled libraries.])
-])# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
-   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
-   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
-
-  # We can hardcode non-existent directories.
-  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
-     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
-    # Linking always hardcodes the temporary library directory.
-    _LT_TAGVAR(hardcode_action, $1)=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    _LT_TAGVAR(hardcode_action, $1)=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  _LT_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-
-if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
-   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test yes = "$shlibpath_overrides_runpath" ||
-     test no = "$enable_shared"; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-_LT_TAGDECL([], [hardcode_action], [0],
-    [How to hardcode a shared library path into an executable])
-])# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-m4_defun([_LT_CMD_STRIPLIB],
-[m4_require([_LT_DECL_EGREP])
-striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP"; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      AC_MSG_RESULT([yes])
-    else
-      AC_MSG_RESULT([no])
-    fi
-    ;;
-  *)
-    AC_MSG_RESULT([no])
-    ;;
-  esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# _LT_CMD_STRIPLIB
-
-
-# _LT_PREPARE_MUNGE_PATH_LIST
-# ---------------------------
-# Make sure func_munge_path_list() is defined correctly.
-m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
-[[# func_munge_path_list VARIABLE PATH
-# -----------------------------------
-# VARIABLE is name of variable containing _space_ separated list of
-# directories to be munged by the contents of PATH, which is string
-# having a format:
-# "DIR[:DIR]:"
-#       string "DIR[ DIR]" will be prepended to VARIABLE
-# ":DIR[:DIR]"
-#       string "DIR[ DIR]" will be appended to VARIABLE
-# "DIRP[:DIRP]::[DIRA:]DIRA"
-#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
-#       "DIRA[ DIRA]" will be appended to VARIABLE
-# "DIR[:DIR]"
-#       VARIABLE will be replaced by "DIR[ DIR]"
-func_munge_path_list ()
-{
-    case x@S|@2 in
-    x)
-        ;;
-    *:)
-        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
-        ;;
-    x:*)
-        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
-        ;;
-    *::*)
-        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
-        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
-        ;;
-    *)
-        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
-        ;;
-    esac
-}
-]])# _LT_PREPARE_PATH_LIST
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-m4_defun([_LT_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_OBJDUMP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-m4_if([$1],
-       [], [
-if test yes = "$GCC"; then
-  case $host_os in
-    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
-    *) lt_awk_arg='/^libraries:/' ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
-    *) lt_sed_strip_eq='s|=/|/|g' ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary...
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  # ...but if some path component already ends with the multilib dir we assume
-  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
-  case "$lt_multi_os_dir; $lt_search_path_spec " in
-  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
-    lt_multi_os_dir=
-    ;;
-  esac
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
-    elif test -n "$lt_multi_os_dir"; then
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS = " "; FS = "/|\n";} {
-  lt_foo = "";
-  lt_count = 0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo = "/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
-  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=.so
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
-[User-defined run-time library search path.])
-
-case $host_os in
-aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='$libname$release$shared_ext$major'
-  ;;
-
-aix[[4-9]]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test ia64 = "$host_cpu"; then
-    # AIX 5 supports IA64
-    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line '#! .'.  This would cause the generated library to
-    # depend on '.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[[01]] | aix4.[[01]].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # Using Import Files as archive members, it is possible to support
-    # filename-based versioning of shared library archives on AIX. While
-    # this would work for both with and without runtime linking, it will
-    # prevent static linking of such archives. So we do filename-based
-    # shared library versioning with .so extension only, which is used
-    # when both runtime linking and shared linking is enabled.
-    # Unfortunately, runtime linking may impact performance, so we do
-    # not want this to be the default eventually. Also, we use the
-    # versioned .so libs for executables only if there is the -brtl
-    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
-    # To allow for filename-based versioning support, we need to create
-    # libNAME.so.V as an archive file, containing:
-    # *) an Import File, referring to the versioned filename of the
-    #    archive as well as the shared archive member, telling the
-    #    bitwidth (32 or 64) of that shared object, and providing the
-    #    list of exported symbols of that shared object, eventually
-    #    decorated with the 'weak' keyword
-    # *) the shared object with the F_LOADONLY flag set, to really avoid
-    #    it being seen by the linker.
-    # At run time we better use the real file rather than another symlink,
-    # but for link time we create the symlink libNAME.so -> libNAME.so.V
-
-    case $with_aix_soname,$aix_use_runtimelinking in
-    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    aix,yes) # traditional libtool
-      dynamic_linker='AIX unversionable lib.so'
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-      ;;
-    aix,no) # traditional AIX only
-      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
-      ;;
-    svr4,*) # full svr4 only
-      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,yes) # both, prefer svr4
-      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # unpreferred sharedlib libNAME.a needs extra handling
-      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
-      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,no) # both, prefer aix
-      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
-      library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
-      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
-      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
-      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
-      ;;
-    esac
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='$libname$shared_ext'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[[45]]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=.dll
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \$file`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
-m4_if([$1], [],[
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
-    library_names_spec='$libname.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec=$LIB
-      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \$file`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
-  soname_spec='$libname$release$major$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-m4_if([$1], [],[
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[[23]].*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-      soname_spec='$libname$release$shared_ext$major'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2.*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
-  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    if test 32 = "$HPUX_IA64_MODE"; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
-    fi
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[[3-9]]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test yes = "$lt_cv_prog_gnu_ld"; then
-               version_type=linux # correct to gnu/linux during the next big refactor
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='$libname$release$shared_ext$major'
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
-  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-linux*android*)
-  version_type=none # Android doesn't support versioned libraries.
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext'
-  soname_spec='$libname$release$shared_ext'
-  finish_cmds=
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  dynamic_linker='Android linker'
-  # Don't embed -rpath directories since the linker doesn't support them.
-  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
-    [lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
-        LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
-        [lt_cv_shlibpath_overrides_runpath=yes])])
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-    ])
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Ideally, we could use ldconfig to report *all* directores which are
-  # searched for libraries, however this is still not possible.  Aside from not
-  # being certain /sbin/ldconfig is available, command
-  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
-  # even though it is searched at run-time.  Try to do the best guess by
-  # appending ld.so.conf contents (and includes) to the search path.
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[  ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-    soname_spec='$libname$release$shared_ext$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd* | bitrig*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec=/usr/lib
-  need_lib_prefix=no
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-    need_version=no
-  else
-    need_version=yes
-  fi
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-os2*)
-  libname_spec='$name'
-  version_type=windows
-  shrext_cmds=.dll
-  need_version=no
-  need_lib_prefix=no
-  # OS/2 can only load a DLL with a base name of 8 characters or less.
-  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
-    v=$($ECHO $release$versuffix | tr -d .-);
-    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
-    $ECHO $n$v`$shared_ext'
-  library_names_spec='${libname}_dll.$libext'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=BEGINLIBPATH
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-  postinstall_cmds='base_file=`basename \$file`~
-    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
-    dldir=$destdir/`dirname \$dlpath`~
-    test -d \$dldir || mkdir -p \$dldir~
-    $install_prog $dir/$dlname \$dldir/$dlname~
-    chmod a+x \$dldir/$dlname~
-    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-    fi'
-  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
-    dlpath=$dir/\$dldll~
-    $RM \$dlpath'
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='$libname$release$shared_ext$major'
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test yes = "$with_gnu_ld"; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec; then
-    version_type=linux # correct to gnu/linux during the next big refactor
-    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
-    soname_spec='$libname$shared_ext.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=sco
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test yes = "$with_gnu_ld"; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-  soname_spec='$libname$release$shared_ext$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test no = "$dynamic_linker" && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test yes = "$GCC"; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
-  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
-fi
-
-if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
-  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
-fi
-
-# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
-configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
-
-# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
-func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
-
-# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
-configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
-
-_LT_DECL([], [variables_saved_for_relink], [1],
-    [Variables whose values should be saved in libtool wrapper scripts and
-    restored at link time])
-_LT_DECL([], [need_lib_prefix], [0],
-    [Do we need the "lib" prefix for modules?])
-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-_LT_DECL([], [version_type], [0], [Library versioning type])
-_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-_LT_DECL([], [shlibpath_overrides_runpath], [0],
-    [Is shlibpath searched before the hard-coded library search path?])
-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-_LT_DECL([], [library_names_spec], [1],
-    [[List of archive names.  First name is the real one, the rest are links.
-    The last name is the one that the linker finds with -lNAME]])
-_LT_DECL([], [soname_spec], [1],
-    [[The coded name of the library, if different from the real name]])
-_LT_DECL([], [install_override_mode], [1],
-    [Permission mode override for installation of shared libraries])
-_LT_DECL([], [postinstall_cmds], [2],
-    [Command to use after installation of a shared archive])
-_LT_DECL([], [postuninstall_cmds], [2],
-    [Command to use after uninstallation of a shared archive])
-_LT_DECL([], [finish_cmds], [2],
-    [Commands used to finish a libtool library installation in a directory])
-_LT_DECL([], [finish_eval], [1],
-    [[As "finish_cmds", except a single script fragment to be evaled but
-    not shown]])
-_LT_DECL([], [hardcode_into_libs], [0],
-    [Whether we should hardcode library paths into libraries])
-_LT_DECL([], [sys_lib_search_path_spec], [2],
-    [Compile-time system search path for libraries])
-_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
-    [Detected run-time system search path for libraries])
-_LT_DECL([], [configure_time_lt_sys_library_path], [2],
-    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
-])# _LT_SYS_DYNAMIC_LINKER
-
-
-# _LT_PATH_TOOL_PREFIX(TOOL)
-# --------------------------
-# find a file program that can recognize shared library
-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
-[m4_require([_LT_DECL_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] |  ?:[\\/]*])
-  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD=$MAGIC_CMD
-  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word.  This closes a longstanding sh security hole.
-  ac_dummy="m4_if([$2], , $PATH, [$2])"
-  for ac_dir in $ac_dummy; do
-    IFS=$lt_save_ifs
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$1"; then
-      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD=$lt_cv_path_MAGIC_CMD
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS=$lt_save_ifs
-  MAGIC_CMD=$lt_save_MAGIC_CMD
-  ;;
-esac])
-MAGIC_CMD=$lt_cv_path_MAGIC_CMD
-if test -n "$MAGIC_CMD"; then
-  AC_MSG_RESULT($MAGIC_CMD)
-else
-  AC_MSG_RESULT(no)
-fi
-_LT_DECL([], [MAGIC_CMD], [0],
-        [Used to examine libraries when file_magic_cmd begins with "file"])dnl
-])# _LT_PATH_TOOL_PREFIX
-
-# Old name:
-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-
-
-# _LT_PATH_MAGIC
-# --------------
-# find a file program that can recognize a shared library
-m4_defun([_LT_PATH_MAGIC],
-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
-  else
-    MAGIC_CMD=:
-  fi
-fi
-])# _LT_PATH_MAGIC
-
-
-# LT_PATH_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([LT_PATH_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
-
-AC_ARG_WITH([gnu-ld],
-    [AS_HELP_STRING([--with-gnu-ld],
-       [assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test no = "$withval" || with_gnu_ld=yes],
-    [with_gnu_ld=no])dnl
-
-ac_prog=ld
-if test yes = "$GCC"; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by $CC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return, which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]]* | ?:[[\\/]]*)
-      re_direlt='/[[^/]][[^/]]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD=$ac_prog
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test yes = "$with_gnu_ld"; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
-  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS=$lt_save_ifs
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD=$ac_dir/$ac_prog
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test no != "$with_gnu_ld" && break
-       ;;
-      *)
-       test yes != "$with_gnu_ld" && break
-       ;;
-      esac
-    fi
-  done
-  IFS=$lt_save_ifs
-else
-  lt_cv_path_LD=$LD # Let the user override the test with a path.
-fi])
-LD=$lt_cv_path_LD
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-_LT_PATH_LD_GNU
-AC_SUBST([LD])
-
-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-])# LT_PATH_LD
-
-# Old names:
-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_LD], [])
-dnl AC_DEFUN([AC_PROG_LD], [])
-
-
-# _LT_PATH_LD_GNU
-#- --------------
-m4_defun([_LT_PATH_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# _LT_PATH_LD_GNU
-
-
-# _LT_CMD_RELOAD
-# --------------
-# find reload flag for linker
-#   -- PORTME Some linkers may need a different reload flag.
-m4_defun([_LT_CMD_RELOAD],
-[AC_CACHE_CHECK([for $LD option to reload object files],
-  lt_cv_ld_reload_flag,
-  [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test yes != "$GCC"; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test yes = "$GCC"; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_TAGDECL([], [reload_cmds], [2])dnl
-])# _LT_CMD_RELOAD
-
-
-# _LT_PATH_DD
-# -----------
-# find a working dd
-m4_defun([_LT_PATH_DD],
-[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
-[printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-: ${lt_DD:=$DD}
-AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
-[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
-  cmp -s conftest.i conftest.out \
-  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
-fi])
-rm -f conftest.i conftest2.i conftest.out])
-])# _LT_PATH_DD
-
-
-# _LT_CMD_TRUNCATE
-# ----------------
-# find command to truncate a binary pipe
-m4_defun([_LT_CMD_TRUNCATE],
-[m4_require([_LT_PATH_DD])
-AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
-[printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-lt_cv_truncate_bin=
-if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
-  cmp -s conftest.i conftest.out \
-  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
-fi
-rm -f conftest.i conftest2.i conftest.out
-test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
-_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
-  [Command to truncate a binary pipe])
-])# _LT_CMD_TRUNCATE
-
-
-# _LT_CHECK_MAGIC_METHOD
-# ----------------------
-# how to check for library dependencies
-#  -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_MAGIC_METHOD],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# 'unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# that responds to the $file_magic_cmd with a given extended regex.
-# If you have 'file' or equivalent on your system and you're not sure
-# whether 'pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[[45]]*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[[3-9]]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd* | netbsdelf*-gnu)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd* | bitrig*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-os2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-])
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-_LT_DECL([], [deplibs_check_method], [1],
-    [Method to check whether dependent libraries are shared objects])
-_LT_DECL([], [file_magic_cmd], [1],
-    [Command to use when deplibs_check_method = "file_magic"])
-_LT_DECL([], [file_magic_glob], [1],
-    [How to find potential files when deplibs_check_method = "file_magic"])
-_LT_DECL([], [want_nocaseglob], [1],
-    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
-])# _LT_CHECK_MAGIC_METHOD
-
-
-# LT_PATH_NM
-# ----------
-# find the pathname to a BSD- or MS-compatible name lister
-AC_DEFUN([LT_PATH_NM],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
-[if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM=$NM
-else
-  lt_nm_to_check=${ac_tool_prefix}nm
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS=$lt_save_ifs
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm=$ac_dir/$lt_tmp_nm
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
-       case $build_os in
-       mingw*) lt_bad_file=conftest.nm/nofile ;;
-       *) lt_bad_file=/dev/null ;;
-       esac
-       case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
-       *$lt_bad_file* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break 2
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break 2
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS=$lt_save_ifs
-  done
-  : ${lt_cv_path_NM=no}
-fi])
-if test no != "$lt_cv_path_NM"; then
-  NM=$lt_cv_path_NM
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
-    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols -headers"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-  AC_SUBST([DUMPBIN])
-  if test : != "$DUMPBIN"; then
-    NM=$DUMPBIN
-  fi
-fi
-test -z "$NM" && NM=nm
-AC_SUBST([NM])
-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
-
-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
-  [lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
-  cat conftest.out >&AS_MESSAGE_LOG_FD
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*])
-])# LT_PATH_NM
-
-# Old names:
-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_NM], [])
-dnl AC_DEFUN([AC_PROG_NM], [])
-
-# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-# --------------------------------
-# how to determine the name of the shared library
-# associated with a specific link library.
-#  -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-m4_require([_LT_DECL_DLLTOOL])
-AC_CACHE_CHECK([how to associate runtime and link libraries],
-lt_cv_sharedlib_from_linklib_cmd,
-[lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh;
-  # decide which one to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd=$ECHO
-  ;;
-esac
-])
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
-    [Command to associate shared and link libraries])
-])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-
-
-# _LT_PATH_MANIFEST_TOOL
-# ----------------------
-# locate the manifest tool
-m4_defun([_LT_PATH_MANIFEST_TOOL],
-[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
-  [lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*])
-if test yes != "$lt_cv_path_mainfest_tool"; then
-  MANIFEST_TOOL=:
-fi
-_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
-])# _LT_PATH_MANIFEST_TOOL
-
-
-# _LT_DLL_DEF_P([FILE])
-# ---------------------
-# True iff FILE is a Windows DLL '.def' file.
-# Keep in sync with func_dll_def_p in the libtool script
-AC_DEFUN([_LT_DLL_DEF_P],
-[dnl
-  test DEF = "`$SED -n dnl
-    -e '\''s/^[[        ]]*//'\'' dnl Strip leading whitespace
-    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
-    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[  ]].*\)*$/DEF/p'\'' dnl
-    -e q dnl                          Only consider the first "real" line
-    $1`" dnl
-])# _LT_DLL_DEF_P
-
-
-# LT_LIB_M
-# --------
-# check for math library
-AC_DEFUN([LT_LIB_M],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
-  # These system don't have libm, or don't need it
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
-  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, cos, LIBM=-lm)
-  ;;
-esac
-AC_SUBST([LIBM])
-])# LT_LIB_M
-
-# Old name:
-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_CHECK_LIBM], [])
-
-
-# _LT_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------
-m4_defun([_LT_COMPILER_NO_RTTI],
-[m4_require([_LT_TAG_COMPILER])dnl
-
-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test yes = "$GCC"; then
-  case $cc_basename in
-  nvcc*)
-    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
-  *)
-    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
-  esac
-
-  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
-    lt_cv_prog_compiler_rtti_exceptions,
-    [-fno-rtti -fno-exceptions], [],
-    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
-       [Compiler flag to turn off builtin functions])
-])# _LT_COMPILER_NO_RTTI
-
-
-# _LT_CMD_GLOBAL_SYMBOLS
-# ----------------------
-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[[BCDT]]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[[ABCDGISTW]]'
-  ;;
-hpux*)
-  if test ia64 = "$host_cpu"; then
-    symcode='[[ABCDEGRST]]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[[BCDEGRST]]'
-  ;;
-osf*)
-  symcode='[[BCDEGQRST]]'
-  ;;
-solaris*)
-  symcode='[[BDRT]]'
-  ;;
-sco3.2v5*)
-  symcode='[[DT]]'
-  ;;
-sysv4.2uw2*)
-  symcode='[[DT]]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[[ABDT]]'
-  ;;
-sysv4)
-  symcode='[[DFNSTU]]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  # Gets list of data symbols to import.
-  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
-  # Adjust the below global symbol transforms to fixup imported variables.
-  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
-  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
-  lt_c_name_lib_hook="\
-  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
-  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
-else
-  # Disable hooks by default.
-  lt_cv_sys_global_symbol_to_import=
-  lt_cdecl_hook=
-  lt_c_name_hook=
-  lt_c_name_lib_hook=
-fi
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n"\
-$lt_cdecl_hook\
-" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
-$lt_c_name_hook\
-" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
-
-# Transform an extracted symbol line into symbol name with lib prefix and
-# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
-$lt_c_name_lib_hook\
-" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function,
-    # D for any global variable and I for any imported variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK ['"\
-"     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
-"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
-"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
-"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
-"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx]"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[    ]]\($symcode$symcode*\)[[       ]][[    ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if AC_TRY_EVAL(ac_compile); then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
-/* DATA imports from DLLs on WIN32 can't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT@&t@_DLSYM_CONST
-#elif defined __osf__
-/* This system does not cope well with relocations in const data.  */
-# define LT@&t@_DLSYM_CONST
-#else
-# define LT@&t@_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT@&t@_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[[]] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS=conftstm.$ac_objext
-         CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-         if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-    fi
-  else
-    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test yes = "$pipe_works"; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  AC_MSG_RESULT(failed)
-else
-  AC_MSG_RESULT(ok)
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
-    [Take the output of nm and produce a listing of raw symbols and C names])
-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
-    [Transform the output of nm in a proper C declaration])
-_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
-    [Transform the output of nm into a list of symbols to manually relocate])
-_LT_DECL([global_symbol_to_c_name_address],
-    [lt_cv_sys_global_symbol_to_c_name_address], [1],
-    [Transform the output of nm in a C name address pair])
-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
-    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
-    [Transform the output of nm in a C name address pair when lib prefix is needed])
-_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
-    [The name lister interface])
-_LT_DECL([], [nm_file_list_spec], [1],
-    [Specify filename containing input files for $NM])
-]) # _LT_CMD_GLOBAL_SYMBOLS
-
-
-# _LT_COMPILER_PIC([TAGNAME])
-# ---------------------------
-m4_defun([_LT_COMPILER_PIC],
-[m4_require([_LT_TAG_COMPILER])dnl
-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_TAGVAR(lt_prog_compiler_static, $1)=
-
-m4_if([$1], [CXX], [
-  # C++ specific cases for pic, static, wl, etc.
-  if test yes = "$GXX"; then
-    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test ia64 = "$host_cpu"; then
-       # AIX 5 now supports IA64 processor
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the '-m68020' flag to GCC prevents building anything better,
-            # like '-m68040'.
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-       [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      case $host_os in
-      os2*)
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
-       ;;
-      esac
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-      ;;
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)=
-      ;;
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       ;;
-      *)
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-       ;;
-      esac
-      ;;
-    *qnx* | *nto*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-    *)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[[4-9]]*)
-       # All AIX code is PIC.
-       if test ia64 = "$host_cpu"; then
-         # AIX 5 now supports IA64 processor
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-       else
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-       fi
-       ;;
-      chorus*)
-       case $cc_basename in
-       cxch68*)
-         # Green Hills C++ Compiler
-         # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-         ;;
-       esac
-       ;;
-      mingw* | cygwin* | os2* | pw32* | cegcc*)
-       # This hack is so that the source file can tell whether it is being
-       # built for inclusion in a dll (and should export symbols for example).
-       m4_if([$1], [GCJ], [],
-         [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-       ;;
-      dgux*)
-       case $cc_basename in
-         ec++*)
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-           ;;
-         ghcx*)
-           # Green Hills C++ Compiler
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      freebsd* | dragonfly*)
-       # FreeBSD uses GNU C++
-       ;;
-      hpux9* | hpux10* | hpux11*)
-       case $cc_basename in
-         CC*)
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
-           if test ia64 != "$host_cpu"; then
-             _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-           fi
-           ;;
-         aCC*)
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
-           case $host_cpu in
-           hppa*64*|ia64*)
-             # +Z the default
-             ;;
-           *)
-             _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-             ;;
-           esac
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      interix*)
-       # This is c89, which is MS Visual C++ (no shared libs)
-       # Anyone wants to do a port?
-       ;;
-      irix5* | irix6* | nonstopux*)
-       case $cc_basename in
-         CC*)
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-           # CC pic flag -KPIC is the default.
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-       case $cc_basename in
-         KCC*)
-           # KAI C++ Compiler
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-           ;;
-         ecpc* )
-           # old Intel C++ for x86_64, which still supported -KPIC.
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-           ;;
-         icpc* )
-           # Intel C++, used to be incompatible with GCC.
-           # ICC 10 doesn't accept -KPIC any more.
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-           ;;
-         pgCC* | pgcpp*)
-           # Portland Group C++ compiler
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-           ;;
-         cxx*)
-           # Compaq C++
-           # Make sure the PIC flag is empty.  It appears that all Alpha
-           # Linux and Compaq Tru64 Unix objects are PIC.
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-           ;;
-         xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
-           # IBM XL 8.0, 9.0 on PPC and BlueGene
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
-           ;;
-         *)
-           case `$CC -V 2>&1 | sed 5q` in
-           *Sun\ C*)
-             # Sun C++ 5.9
-             _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-             _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-             _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-             ;;
-           esac
-           ;;
-       esac
-       ;;
-      lynxos*)
-       ;;
-      m88k*)
-       ;;
-      mvs*)
-       case $cc_basename in
-         cxx*)
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      netbsd* | netbsdelf*-gnu)
-       ;;
-      *qnx* | *nto*)
-        # QNX uses GNU C++, but need to define -shared option too, otherwise
-        # it will coredump.
-        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-        ;;
-      osf3* | osf4* | osf5*)
-       case $cc_basename in
-         KCC*)
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-           ;;
-         RCC*)
-           # Rational C++ 2.4.1
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-           ;;
-         cxx*)
-           # Digital/Compaq C++
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           # Make sure the PIC flag is empty.  It appears that all Alpha
-           # Linux and Compaq Tru64 Unix objects are PIC.
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      psos*)
-       ;;
-      solaris*)
-       case $cc_basename in
-         CC* | sunCC*)
-           # Sun C++ 4.2, 5.x and Centerline C++
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-           ;;
-         gcx*)
-           # Green Hills C++ Compiler
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      sunos4*)
-       case $cc_basename in
-         CC*)
-           # Sun C++ 4.x
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-           ;;
-         lcc*)
-           # Lucid
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-       case $cc_basename in
-         CC*)
-           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-           ;;
-       esac
-       ;;
-      tandem*)
-       case $cc_basename in
-         NCC*)
-           # NonStop-UX NCC 3.20
-           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      vxworks*)
-       ;;
-      *)
-       _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-       ;;
-    esac
-  fi
-],
-[
-  if test yes = "$GCC"; then
-    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test ia64 = "$host_cpu"; then
-       # AIX 5 now supports IA64 processor
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the '-m68020' flag to GCC prevents building anything better,
-            # like '-m68040'.
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-       [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      case $host_os in
-      os2*)
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
-      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
-        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
-      fi
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test ia64 = "$host_cpu"; then
-       # AIX 5 now supports IA64 processor
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      else
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      case $cc_basename in
-      nagfor*)
-        # NAG Fortran compiler
-        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
-        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      esac
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      m4_if([$1], [GCJ], [],
-       [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      case $host_os in
-      os2*)
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
-       ;;
-      esac
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC (with -KPIC) is the default.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-      case $cc_basename in
-      # old Intel for x86_64, which still supported -KPIC.
-      ecc*)
-       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-       ;;
-      tcc*)
-       # Fabrice Bellard et al's Tiny C Compiler
-       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      ccc*)
-        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-        # All Alpha code is PIC.
-        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-         _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
-         ;;
-       *Sun\ F* | *Sun*Fortran*)
-         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         ;;
-        *Intel*\ [[CF]]*Compiler*)
-         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-         ;;
-       *Portland\ Group*)
-         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # All OSF/1 code is PIC.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    rdos*)
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    solaris*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-      *)
-       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    unicos*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-
-    uts4*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *)
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-    esac
-  fi
-])
-case $host_os in
-  # For platforms that do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-    ;;
-  *)
-    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
-    ;;
-esac
-
-AC_CACHE_CHECK([for $compiler option to produce PIC],
-  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
-  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
-  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
-    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
-    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
-    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
-     "" | " "*) ;;
-     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
-     esac],
-    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
-       [Additional compiler flags for building library objects])
-
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
-       [How to pass a linker flag through the compiler])
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
-  $lt_tmp_static_flag,
-  [],
-  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
-       [Compiler flag to prevent dynamic linking])
-])# _LT_COMPILER_PIC
-
-
-# _LT_LINKER_SHLIBS([TAGNAME])
-# ----------------------------
-# See if the linker supports building shared libraries.
-m4_defun([_LT_LINKER_SHLIBS],
-[AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-m4_if([$1], [CXX], [
-  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  case $host_os in
-  aix[[4-9]]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
-    # Without the "-l" option, or with the "-B" option, AIX nm treats
-    # weak defined symbols like other global defined symbols, whereas
-    # GNU nm marks them as "W".
-    # While the 'weak' keyword is ignored in the Export File, we need
-    # it in the Import File for the 'aix-soname' feature, so we have
-    # to replace the "-B" option with "-P" for AIX nm.
-    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
-    else
-      _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
-    ;;
-  cygwin* | mingw* | cegcc*)
-    case $cc_basename in
-    cl*)
-      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-      ;;
-    *)
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-      ;;
-    esac
-    ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
-  *)
-    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-    ;;
-  esac
-], [
-  runpath_var=
-  _LT_TAGVAR(allow_undefined_flag, $1)=
-  _LT_TAGVAR(always_export_symbols, $1)=no
-  _LT_TAGVAR(archive_cmds, $1)=
-  _LT_TAGVAR(archive_expsym_cmds, $1)=
-  _LT_TAGVAR(compiler_needs_object, $1)=no
-  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  _LT_TAGVAR(hardcode_automatic, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_TAGVAR(hardcode_libdir_separator, $1)=
-  _LT_TAGVAR(hardcode_minus_L, $1)=no
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_TAGVAR(inherit_rpath, $1)=no
-  _LT_TAGVAR(link_all_deplibs, $1)=unknown
-  _LT_TAGVAR(module_cmds, $1)=
-  _LT_TAGVAR(module_expsym_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-  _LT_TAGVAR(thread_safe_flag_spec, $1)=
-  _LT_TAGVAR(whole_archive_flag_spec, $1)=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  _LT_TAGVAR(include_expsyms, $1)=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ' (' and ')$', so one must not match beginning or
-  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
-  # as well as any symbol that contains 'd'.
-  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test yes != "$GCC"; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd* | bitrig*)
-    with_gnu_ld=no
-    ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
-  esac
-
-  _LT_TAGVAR(ld_shlibs, $1)=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test yes = "$with_gnu_ld"; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
-         *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test yes = "$lt_use_gnu_ld_interface"; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='$wl'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-    else
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[[3-9]]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test ia64 != "$host_cpu"; then
-       _LT_TAGVAR(ld_shlibs, $1)=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-      else
-       _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-      # as there is no search path for DLLs.
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=no
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file, use it as
-       # is; otherwise, prepend EXPORTS...
-       _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
-          cp $export_symbols $output_objdir/$soname.def;
-        else
-          echo EXPORTS > $output_objdir/$soname.def;
-          cat $export_symbols >> $output_objdir/$soname.def;
-        fi~
-        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    haiku*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    os2*)
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      shrext_cmds=.dll
-      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-       $ECHO EXPORTS >> $output_objdir/$libname.def~
-       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-       emximp -o $lib $output_objdir/$libname.def'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-       $ECHO EXPORTS >> $output_objdir/$libname.def~
-       prefix_cmds="$SED"~
-       if test EXPORTS = "`$SED 1q $export_symbols`"; then
-         prefix_cmds="$prefix_cmds -e 1d";
-       fi~
-       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-       emximp -o $lib $output_objdir/$libname.def'
-      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      ;;
-
-    interix[[3-9]]*)
-      _LT_TAGVAR(hardcode_direct, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test linux-dietlibc = "$host_os"; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test no = "$tmp_diet"
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         _LT_TAGVAR(whole_archive_flag_spec, $1)=
-         tmp_sharedflag='--shared' ;;
-        nagfor*)                        # NAGFOR 5.3
-          tmp_sharedflag='-Wl,-shared' ;;
-       xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-         _LT_TAGVAR(compiler_needs_object, $1)=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-         _LT_TAGVAR(compiler_needs_object, $1)=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-
-        if test yes = "$supports_anon_versioning"; then
-          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-            echo "local: *; };" >> $output_objdir/$libname.ver~
-            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       tcc*)
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
-         ;;
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-         _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test yes = "$supports_anon_versioning"; then
-           _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-              echo "local: *; };" >> $output_objdir/$libname.ver~
-              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       _LT_TAGVAR(ld_shlibs, $1)=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-       _LT_TAGVAR(ld_shlibs, $1)=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           _LT_TAGVAR(ld_shlibs, $1)=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-
-    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
-      runpath_var=
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=yes
-      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       _LT_TAGVAR(hardcode_direct, $1)=unsupported
-      fi
-      ;;
-
-    aix[[4-9]]*)
-      if test ia64 = "$host_cpu"; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to GNU nm, but means don't demangle to AIX nm.
-       # Without the "-l" option, or with the "-B" option, AIX nm treats
-       # weak defined symbols like other global defined symbols, whereas
-       # GNU nm marks them as "W".
-       # While the 'weak' keyword is ignored in the Export File, we need
-       # it in the Import File for the 'aix-soname' feature, so we have
-       # to replace the "-B" option with "-P" for AIX nm.
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
-       else
-         _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # have runtime linking enabled, and use it for executables.
-       # For shared libraries, we enable/disable runtime linking
-       # depending on the kind of the shared library created -
-       # when "with_aix_soname,aix_use_runtimelinking" is:
-       # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
-       # "aix,yes"  lib.so          shared, rtl:yes, for executables
-       #            lib.a           static archive
-       # "both,no"  lib.so.V(shr.o) shared, rtl:yes
-       #            lib.a(lib.so.V) shared, rtl:no,  for executables
-       # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
-       #            lib.a(lib.so.V) shared, rtl:no
-       # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
-       #            lib.a           static archive
-       case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-         for ld_flag in $LDFLAGS; do
-         if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
-           # With aix-soname=svr4, we create the lib.so.V shared archives only,
-           # so we don't have lib.a shared libs to link our executables.
-           # We have to force runtime linking in this case.
-           aix_use_runtimelinking=yes
-           LDFLAGS="$LDFLAGS -Wl,-brtl"
-         fi
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      _LT_TAGVAR(archive_cmds, $1)=''
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
-      case $with_aix_soname,$aix_use_runtimelinking in
-      aix,*) ;; # traditional, no import file
-      svr4,* | *,yes) # use import file
-       # The Import File defines what to hardcode.
-       _LT_TAGVAR(hardcode_direct, $1)=no
-       _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-       ;;
-      esac
-
-      if test yes = "$GCC"; then
-       case $host_os in aix4.[[012]]|aix4.[[012]].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`$CC -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         _LT_TAGVAR(hardcode_direct, $1)=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         _LT_TAGVAR(hardcode_minus_L, $1)=yes
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-         _LT_TAGVAR(hardcode_libdir_separator, $1)=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test yes = "$aix_use_runtimelinking"; then
-         shared_flag="$shared_flag "'$wl-G'
-       fi
-       # Need to ensure runtime linking is disabled for the traditional
-       # shared library, or the linker may eventually find shared libraries
-       # /with/ Import File - we do not want to mix them.
-       shared_flag_aix='-shared'
-       shared_flag_svr4='-shared $wl-G'
-      else
-       # not using gcc
-       if test ia64 = "$host_cpu"; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test yes = "$aix_use_runtimelinking"; then
-           shared_flag='$wl-G'
-         else
-           shared_flag='$wl-bM:SRE'
-         fi
-         shared_flag_aix='$wl-bM:SRE'
-         shared_flag_svr4='$wl-G'
-       fi
-      fi
-
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      _LT_TAGVAR(always_export_symbols, $1)=yes
-      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        _LT_SYS_MODULE_PATH_AIX([$1])
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
-      else
-       if test ia64 = "$host_cpu"; then
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
-         _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        _LT_SYS_MODULE_PATH_AIX([$1])
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
-         _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
-         if test yes = "$with_gnu_ld"; then
-           # We only use this code for GNU lds that support --whole-archive.
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-         fi
-         _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-         _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
-         # -brtl affects multiple linker settings, -berok does not and is overridden later
-         compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
-         if test svr4 != "$with_aix_soname"; then
-           # This is similar to how AIX traditionally builds its shared libraries.
-           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
-         fi
-         if test aix != "$with_aix_soname"; then
-           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
-         else
-           # used by -dlpreopen to get the symbols
-           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
-         fi
-         _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[[45]]*)
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-       _LT_TAGVAR(always_export_symbols, $1)=yes
-       _LT_TAGVAR(file_list_spec, $1)='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=.dll
-       # FIXME: Setting linknames here is a bad hack.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
-       _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
-            cp "$export_symbols" "$output_objdir/$soname.def";
-            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
-          else
-            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
-          fi~
-          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-          linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-       _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-       _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
-       _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-          lt_tool_outputfile="@TOOL_OUTPUT@"~
-          case $lt_outputfile in
-            *.exe|*.EXE) ;;
-            *)
-              lt_outputfile=$lt_outputfile.exe
-              lt_tool_outputfile=$lt_tool_outputfile.exe
-              ;;
-          esac~
-          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
-            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-            $RM "$lt_outputfile.manifest";
-          fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=.dll
-       # FIXME: Setting linknames here is a bad hack.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-       # FIXME: Should let the user specify the lib program.
-       _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-      _LT_DARWIN_LINKER_FEATURES($1)
-      ;;
-
-    dgux*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    hpux9*)
-      if test yes = "$GCC"; then
-       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-      else
-       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-      ;;
-
-    hpux10*)
-      if test yes,no = "$GCC,$with_gnu_ld"; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test no = "$with_gnu_ld"; then
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
-       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-       _LT_TAGVAR(hardcode_direct, $1)=yes
-       _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test yes,no = "$GCC,$with_gnu_ld"; then
-       case $host_cpu in
-       hppa*64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-       m4_if($1, [], [
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         _LT_LINKER_OPTION([if $CC understands -b],
-           _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
-           [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
-           [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
-         [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
-         ;;
-       esac
-      fi
-      if test no = "$with_gnu_ld"; then
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
-       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         _LT_TAGVAR(hardcode_direct, $1)=no
-         _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-         ;;
-       *)
-         _LT_TAGVAR(hardcode_direct, $1)=yes
-         _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         _LT_TAGVAR(hardcode_minus_L, $1)=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test yes = "$GCC"; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
-         [lt_cv_irix_exported_symbol],
-         [save_LDFLAGS=$LDFLAGS
-          LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
-          AC_LINK_IFELSE(
-            [AC_LANG_SOURCE(
-               [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
-                             [C++], [[int foo (void) { return 0; }]],
-                             [Fortran 77], [[
-      subroutine foo
-      end]],
-                             [Fortran], [[
-      subroutine foo
-      end]])])],
-             [lt_cv_irix_exported_symbol=yes],
-             [lt_cv_irix_exported_symbol=no])
-           LDFLAGS=$save_LDFLAGS])
-       if test yes = "$lt_cv_irix_exported_symbol"; then
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
-       fi
-       _LT_TAGVAR(link_all_deplibs, $1)=no
-      else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(inherit_rpath, $1)=yes
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    linux*)
-      case $cc_basename in
-      tcc*)
-       # Fabrice Bellard et al's Tiny C Compiler
-       _LT_TAGVAR(ld_shlibs, $1)=yes
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-       ;;
-      esac
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    newsos6)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd* | bitrig*)
-      if test -f /usr/libexec/ld.so; then
-       _LT_TAGVAR(hardcode_direct, $1)=yes
-       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-       _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-       else
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-       fi
-      else
-       _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    os2*)
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      shrext_cmds=.dll
-      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-       $ECHO EXPORTS >> $output_objdir/$libname.def~
-       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-       emximp -o $lib $output_objdir/$libname.def'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-       $ECHO EXPORTS >> $output_objdir/$libname.def~
-       prefix_cmds="$SED"~
-       if test EXPORTS = "`$SED 1q $export_symbols`"; then
-         prefix_cmds="$prefix_cmds -e 1d";
-       fi~
-       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-       emximp -o $lib $output_objdir/$libname.def'
-      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      ;;
-
-    osf3*)
-      if test yes = "$GCC"; then
-       _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-      else
-       _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test yes = "$GCC"; then
-       _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-      else
-       _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    solaris*)
-      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
-      if test yes = "$GCC"; then
-       wlarc='$wl'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='$wl'
-         _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      case $host_os in
-      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands '-z linker_flag'.  GCC discards it without '$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test yes = "$GCC"; then
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
-       else
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    sunos4*)
-      if test sequent = "$host_vendor"; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
-         _LT_TAGVAR(hardcode_direct, $1)=no
-        ;;
-       motorola)
-         _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4.3*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       _LT_TAGVAR(ld_shlibs, $1)=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      if test yes = "$GCC"; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We CANNOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
-      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test yes = "$GCC"; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    esac
-
-    if test sni = "$host_vendor"; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-])
-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
-
-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
-
-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-_LT_DECL([], [extract_expsyms_cmds], [2],
-    [The commands to extract the exported symbol list from a shared archive])
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
-  # Assume -lc should be added
-  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-
-  if test yes,yes = "$GCC,$enable_shared"; then
-    case $_LT_TAGVAR(archive_cmds, $1) in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
-       [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
-       [$RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
-         pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
-         _LT_TAGVAR(allow_undefined_flag, $1)=
-         if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
-         then
-           lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-         else
-           lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-         fi
-         _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-       ])
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
-    [Whether or not to add -lc for building shared libraries])
-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
-    [enable_shared_with_static_runtimes], [0],
-    [Whether or not to disallow shared libs when runtime libs are static])
-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
-    [Compiler flag to allow reflexive dlopens])
-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
-    [Compiler flag to generate shared objects directly from archives])
-_LT_TAGDECL([], [compiler_needs_object], [1],
-    [Whether the compiler copes with passing no objects directly])
-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
-    [Create an old-style archive from a shared archive])
-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
-    [Create a temporary old-style archive to link instead of a shared archive])
-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-_LT_TAGDECL([], [archive_expsym_cmds], [2])
-_LT_TAGDECL([], [module_cmds], [2],
-    [Commands used to build a loadable module if different from building
-    a shared archive.])
-_LT_TAGDECL([], [module_expsym_cmds], [2])
-_LT_TAGDECL([], [with_gnu_ld], [1],
-    [Whether we are building with GNU ld or not])
-_LT_TAGDECL([], [allow_undefined_flag], [1],
-    [Flag that allows shared libraries with undefined symbols to be built])
-_LT_TAGDECL([], [no_undefined_flag], [1],
-    [Flag that enforces no undefined symbols])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
-    [Flag to hardcode $libdir into a binary during linking.
-    This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
-    [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
-    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
-    DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
-    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
-    DIR into the resulting binary and the resulting library dependency is
-    "absolute", i.e impossible to change by setting $shlibpath_var if the
-    library is relocated])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
-    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
-    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
-    [Set to "yes" if building a shared library automatically hardcodes DIR
-    into the library and all subsequent libraries and executables linked
-    against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
-    [Set to yes if linker adds runtime paths of dependent libraries
-    to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
-    [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [always_export_symbols], [0],
-    [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
-    [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
-    [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
-    [Symbols that must always be exported])
-_LT_TAGDECL([], [prelink_cmds], [2],
-    [Commands necessary for linking programs (against libraries) with templates])
-_LT_TAGDECL([], [postlink_cmds], [2],
-    [Commands necessary for finishing linking programs])
-_LT_TAGDECL([], [file_list_spec], [1],
-    [Specify filename containing input files])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl    [Compiler flag to generate thread safe objects])
-])# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_C_CONFIG],
-[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC=$CC
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_TAG_COMPILER
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_SYS_DYNAMIC_LINKER($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-  LT_SYS_DLOPEN_SELF
-  _LT_CMD_STRIPLIB
-
-  # Report what library types will actually be built
-  AC_MSG_CHECKING([if libtool supports shared libraries])
-  AC_MSG_RESULT([$can_build_shared])
-
-  AC_MSG_CHECKING([whether to build shared libraries])
-  test no = "$can_build_shared" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test yes = "$enable_shared" && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[[4-9]]*)
-    if test ia64 != "$host_cpu"; then
-      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
-      yes,aix,yes) ;;                  # shared object as lib.so file only
-      yes,svr4,*) ;;                   # shared object as lib.so archive member only
-      yes,*) enable_static=no ;;       # shared object in lib.a archive as well
-      esac
-    fi
-    ;;
-  esac
-  AC_MSG_RESULT([$enable_shared])
-
-  AC_MSG_CHECKING([whether to build static libraries])
-  # Make sure either enable_shared or enable_static is yes.
-  test yes = "$enable_shared" || enable_static=yes
-  AC_MSG_RESULT([$enable_static])
-
-  _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC=$lt_save_CC
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_CXX_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test no != "$CXX" &&
-    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
-    (test g++ != "$CXX"))); then
-  AC_PROG_CXXCPP
-else
-  _lt_caught_CXX_error=yes
-fi
-
-AC_LANG_PUSH(C++)
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(compiler_needs_object, $1)=no
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test yes != "$_lt_caught_CXX_error"; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="int some_variable = 0;"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_CFLAGS=$CFLAGS
-  lt_save_LD=$LD
-  lt_save_GCC=$GCC
-  GCC=$GXX
-  lt_save_with_gnu_ld=$with_gnu_ld
-  lt_save_path_LD=$lt_cv_path_LD
-  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-  else
-    $as_unset lt_cv_prog_gnu_ld
-  fi
-  if test -n "${lt_cv_path_LDCXX+set}"; then
-    lt_cv_path_LD=$lt_cv_path_LDCXX
-  else
-    $as_unset lt_cv_path_LD
-  fi
-  test -z "${LDCXX+set}" || LD=$LDCXX
-  CC=${CXX-"c++"}
-  CFLAGS=$CXXFLAGS
-  compiler=$CC
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    # We don't want -fno-exception when compiling C++ code, so set the
-    # no_builtin_flag separately
-    if test yes = "$GXX"; then
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-    else
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-    fi
-
-    if test yes = "$GXX"; then
-      # Set up default GNU C++ configuration
-
-      LT_PATH_LD
-
-      # Check if GNU C++ uses GNU ld as the underlying linker, since the
-      # archiving commands below assume that GNU ld is being used.
-      if test yes = "$with_gnu_ld"; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
-
-        # If archive_cmds runs LD, not CC, wlarc should be empty
-        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-        #     investigate it a little bit more. (MM)
-        wlarc='$wl'
-
-        # ancient GNU ld didn't support --whole-archive et. al.
-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-         $GREP 'no-whole-archive' > /dev/null; then
-          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-        else
-          _LT_TAGVAR(whole_archive_flag_spec, $1)=
-        fi
-      else
-        with_gnu_ld=no
-        wlarc=
-
-        # A generic and very simple default shared library creation
-        # command for GNU C++ for the case where it uses the native
-        # linker, instead of GNU ld.  If possible, this setting should
-        # overridden to take advantage of the native linker features on
-        # the platform it is being used on.
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      fi
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-    else
-      GXX=no
-      with_gnu_ld=no
-      wlarc=
-    fi
-
-    # PORTME: fill in a description of your system's C++ link characteristics
-    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-    _LT_TAGVAR(ld_shlibs, $1)=yes
-    case $host_os in
-      aix3*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-      aix[[4-9]]*)
-        if test ia64 = "$host_cpu"; then
-          # On IA64, the linker does run time linking by default, so we don't
-          # have to do anything special.
-          aix_use_runtimelinking=no
-          exp_sym_flag='-Bexport'
-          no_entry_flag=
-        else
-          aix_use_runtimelinking=no
-
-          # Test if we are trying to use run time linking or normal
-          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-          # have runtime linking enabled, and use it for executables.
-          # For shared libraries, we enable/disable runtime linking
-          # depending on the kind of the shared library created -
-          # when "with_aix_soname,aix_use_runtimelinking" is:
-          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
-          # "aix,yes"  lib.so          shared, rtl:yes, for executables
-          #            lib.a           static archive
-          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
-          #            lib.a(lib.so.V) shared, rtl:no,  for executables
-          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
-          #            lib.a(lib.so.V) shared, rtl:no
-          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
-          #            lib.a           static archive
-          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-           for ld_flag in $LDFLAGS; do
-             case $ld_flag in
-             *-brtl*)
-               aix_use_runtimelinking=yes
-               break
-               ;;
-             esac
-           done
-           if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
-             # With aix-soname=svr4, we create the lib.so.V shared archives only,
-             # so we don't have lib.a shared libs to link our executables.
-             # We have to force runtime linking in this case.
-             aix_use_runtimelinking=yes
-             LDFLAGS="$LDFLAGS -Wl,-brtl"
-           fi
-           ;;
-          esac
-
-          exp_sym_flag='-bexport'
-          no_entry_flag='-bnoentry'
-        fi
-
-        # When large executables or shared objects are built, AIX ld can
-        # have problems creating the table of contents.  If linking a library
-        # or program results in "error TOC overflow" add -mminimal-toc to
-        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-        _LT_TAGVAR(archive_cmds, $1)=''
-        _LT_TAGVAR(hardcode_direct, $1)=yes
-        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-        _LT_TAGVAR(link_all_deplibs, $1)=yes
-        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
-        case $with_aix_soname,$aix_use_runtimelinking in
-        aix,*) ;;      # no import file
-        svr4,* | *,yes) # use import file
-          # The Import File defines what to hardcode.
-          _LT_TAGVAR(hardcode_direct, $1)=no
-          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-          ;;
-        esac
-
-        if test yes = "$GXX"; then
-          case $host_os in aix4.[[012]]|aix4.[[012]].*)
-          # We only want to do this on AIX 4.2 and lower, the check
-          # below for broken collect2 doesn't work under 4.3+
-         collect2name=`$CC -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-            strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-           # We have reworked collect2
-           :
-         else
-           # We have old collect2
-           _LT_TAGVAR(hardcode_direct, $1)=unsupported
-           # It fails to find uninstalled libraries when the uninstalled
-           # path is not listed in the libpath.  Setting hardcode_minus_L
-           # to unsupported forces relinking
-           _LT_TAGVAR(hardcode_minus_L, $1)=yes
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-           _LT_TAGVAR(hardcode_libdir_separator, $1)=
-         fi
-          esac
-          shared_flag='-shared'
-         if test yes = "$aix_use_runtimelinking"; then
-           shared_flag=$shared_flag' $wl-G'
-         fi
-         # Need to ensure runtime linking is disabled for the traditional
-         # shared library, or the linker may eventually find shared libraries
-         # /with/ Import File - we do not want to mix them.
-         shared_flag_aix='-shared'
-         shared_flag_svr4='-shared $wl-G'
-        else
-          # not using gcc
-          if test ia64 = "$host_cpu"; then
-         # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-         # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-          else
-           if test yes = "$aix_use_runtimelinking"; then
-             shared_flag='$wl-G'
-           else
-             shared_flag='$wl-bM:SRE'
-           fi
-           shared_flag_aix='$wl-bM:SRE'
-           shared_flag_svr4='$wl-G'
-          fi
-        fi
-
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
-        # It seems that -bexpall does not export symbols beginning with
-        # underscore (_), so it is better to generate a list of symbols to
-       # export.
-        _LT_TAGVAR(always_export_symbols, $1)=yes
-       if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
-          # Warning - without using the other runtime loading flags (-brtl),
-          # -berok will link without error, but may produce a broken library.
-          # The "-G" linker flag allows undefined symbols.
-          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
-          # Determine the default libpath from the value encoded in an empty
-          # executable.
-          _LT_SYS_MODULE_PATH_AIX([$1])
-          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
-
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
-        else
-          if test ia64 = "$host_cpu"; then
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
-           _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
-          else
-           # Determine the default libpath from the value encoded in an
-           # empty executable.
-           _LT_SYS_MODULE_PATH_AIX([$1])
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
-           # Warning - without using the other run time loading flags,
-           # -berok will link without error, but may produce a broken library.
-           _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
-           _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
-           if test yes = "$with_gnu_ld"; then
-             # We only use this code for GNU lds that support --whole-archive.
-             _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
-           else
-             # Exported symbols can be pulled into shared objects from archives
-             _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-           fi
-           _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
-           # -brtl affects multiple linker settings, -berok does not and is overridden later
-           compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
-           if test svr4 != "$with_aix_soname"; then
-             # This is similar to how AIX traditionally builds its shared
-             # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
-             _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
-           fi
-           if test aix != "$with_aix_soname"; then
-             _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
-           else
-             # used by -dlpreopen to get the symbols
-             _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
-           fi
-           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
-          fi
-        fi
-        ;;
-
-      beos*)
-       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-         _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-         # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-         # support --undefined.  This deserves some investigation.  FIXME
-         _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-       else
-         _LT_TAGVAR(ld_shlibs, $1)=no
-       fi
-       ;;
-
-      chorus*)
-        case $cc_basename in
-          *)
-         # FIXME: insert proper C++ library support
-         _LT_TAGVAR(ld_shlibs, $1)=no
-         ;;
-        esac
-        ;;
-
-      cygwin* | mingw* | pw32* | cegcc*)
-       case $GXX,$cc_basename in
-       ,cl* | no,cl*)
-         # Native MSVC
-         # hardcode_libdir_flag_spec is actually meaningless, as there is
-         # no search path for DLLs.
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-         _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-         _LT_TAGVAR(always_export_symbols, $1)=yes
-         _LT_TAGVAR(file_list_spec, $1)='@'
-         # Tell ltmain to make .lib files, not .a files.
-         libext=lib
-         # Tell ltmain to make .dll files, not .so files.
-         shrext_cmds=.dll
-         # FIXME: Setting linknames here is a bad hack.
-         _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
-         _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
-              cp "$export_symbols" "$output_objdir/$soname.def";
-              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
-            else
-              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
-            fi~
-            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-            linknames='
-         # The linker will not automatically build a static lib if we build a DLL.
-         # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-         _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-         # Don't use ranlib
-         _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
-         _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-            lt_tool_outputfile="@TOOL_OUTPUT@"~
-            case $lt_outputfile in
-              *.exe|*.EXE) ;;
-              *)
-                lt_outputfile=$lt_outputfile.exe
-                lt_tool_outputfile=$lt_tool_outputfile.exe
-                ;;
-            esac~
-            func_to_tool_file "$lt_outputfile"~
-            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
-              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-              $RM "$lt_outputfile.manifest";
-            fi'
-         ;;
-       *)
-         # g++
-         # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-         # as there is no search path for DLLs.
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
-         _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-         _LT_TAGVAR(always_export_symbols, $1)=no
-         _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-         if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-           # If the export-symbols file already is a .def file, use it as
-           # is; otherwise, prepend EXPORTS...
-           _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
-              cp $export_symbols $output_objdir/$soname.def;
-            else
-              echo EXPORTS > $output_objdir/$soname.def;
-              cat $export_symbols >> $output_objdir/$soname.def;
-            fi~
-            $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-         else
-           _LT_TAGVAR(ld_shlibs, $1)=no
-         fi
-         ;;
-       esac
-       ;;
-      darwin* | rhapsody*)
-        _LT_DARWIN_LINKER_FEATURES($1)
-       ;;
-
-      os2*)
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-       _LT_TAGVAR(hardcode_minus_L, $1)=yes
-       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-       shrext_cmds=.dll
-       _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-         $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-         $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-         $ECHO EXPORTS >> $output_objdir/$libname.def~
-         emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-         $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-         emximp -o $lib $output_objdir/$libname.def'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-         $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-         $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-         $ECHO EXPORTS >> $output_objdir/$libname.def~
-         prefix_cmds="$SED"~
-         if test EXPORTS = "`$SED 1q $export_symbols`"; then
-           prefix_cmds="$prefix_cmds -e 1d";
-         fi~
-         prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-         cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-         $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-         emximp -o $lib $output_objdir/$libname.def'
-       _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-       ;;
-
-      dgux*)
-        case $cc_basename in
-          ec++*)
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-          ghcx*)
-           # Green Hills C++ Compiler
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-          *)
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-        esac
-        ;;
-
-      freebsd2.*)
-        # C++ shared libraries reported to be fairly broken before
-       # switch to ELF
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      freebsd-elf*)
-        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-        ;;
-
-      freebsd* | dragonfly*)
-        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-        # conventions
-        _LT_TAGVAR(ld_shlibs, $1)=yes
-        ;;
-
-      haiku*)
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-        _LT_TAGVAR(link_all_deplibs, $1)=yes
-        ;;
-
-      hpux9*)
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-        _LT_TAGVAR(hardcode_direct, $1)=yes
-        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-                                            # but as the default
-                                            # location of the library.
-
-        case $cc_basename in
-          CC*)
-            # FIXME: insert proper C++ library support
-            _LT_TAGVAR(ld_shlibs, $1)=no
-            ;;
-          aCC*)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-            # Commands to make compiler produce verbose output that lists
-            # what "hidden" libraries, object files and flags are used when
-            # linking a shared library.
-            #
-            # There doesn't appear to be a way to prevent this compiler from
-            # explicitly linking system object files so we need to strip them
-            # from the output so that they don't get included in the library
-            # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-            ;;
-          *)
-            if test yes = "$GXX"; then
-              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-            else
-              # FIXME: insert proper C++ library support
-              _LT_TAGVAR(ld_shlibs, $1)=no
-            fi
-            ;;
-        esac
-        ;;
-
-      hpux10*|hpux11*)
-        if test no = "$with_gnu_ld"; then
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
-         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-          case $host_cpu in
-            hppa*64*|ia64*)
-              ;;
-            *)
-             _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-              ;;
-          esac
-        fi
-        case $host_cpu in
-          hppa*64*|ia64*)
-            _LT_TAGVAR(hardcode_direct, $1)=no
-            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-            ;;
-          *)
-            _LT_TAGVAR(hardcode_direct, $1)=yes
-            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-                                                # but as the default
-                                                # location of the library.
-            ;;
-        esac
-
-        case $cc_basename in
-          CC*)
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-          aCC*)
-           case $host_cpu in
-             hppa*64*)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-               ;;
-             ia64*)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-               ;;
-             *)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-               ;;
-           esac
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           #
-           # There doesn't appear to be a way to prevent this compiler from
-           # explicitly linking system object files so we need to strip them
-           # from the output so that they don't get included in the library
-           # dependencies.
-           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-           ;;
-          *)
-           if test yes = "$GXX"; then
-             if test no = "$with_gnu_ld"; then
-               case $host_cpu in
-                 hppa*64*)
-                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-                   ;;
-                 ia64*)
-                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-                   ;;
-                 *)
-                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-                   ;;
-               esac
-             fi
-           else
-             # FIXME: insert proper C++ library support
-             _LT_TAGVAR(ld_shlibs, $1)=no
-           fi
-           ;;
-        esac
-        ;;
-
-      interix[[3-9]]*)
-       _LT_TAGVAR(hardcode_direct, $1)=no
-       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-       # Instead, shared libraries are loaded at an image base (0x10000000 by
-       # default) and relocated if they conflict, which is a slow very memory
-       # consuming and fragmenting process.  To avoid this, we pick a random,
-       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-       ;;
-      irix5* | irix6*)
-        case $cc_basename in
-          CC*)
-           # SGI C++
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-
-           # Archives containing C++ object files must be created using
-           # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-           # necessary to make sure instantiated templates are included
-           # in the archive.
-           _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
-           ;;
-          *)
-           if test yes = "$GXX"; then
-             if test no = "$with_gnu_ld"; then
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-             else
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
-             fi
-           fi
-           _LT_TAGVAR(link_all_deplibs, $1)=yes
-           ;;
-        esac
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(inherit_rpath, $1)=yes
-        ;;
-
-      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-        case $cc_basename in
-          KCC*)
-           # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-           # KCC will only create a shared library if the output file
-           # ends with ".so" (or ".sl" for HP-UX), so rename the library
-           # to its proper name (with version) after linking.
-           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           #
-           # There doesn't appear to be a way to prevent this compiler from
-           # explicitly linking system object files so we need to strip them
-           # from the output so that they don't get included in the library
-           # dependencies.
-           output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
-
-           # Archives containing C++ object files must be created using
-           # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-           _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-           ;;
-         icpc* | ecpc* )
-           # Intel C++
-           with_gnu_ld=yes
-           # version 8.0 and above of icpc choke on multiply defined symbols
-           # if we add $predep_objects and $postdep_objects, however 7.1 and
-           # earlier do not add the objects themselves.
-           case `$CC -V 2>&1` in
-             *"Version 7."*)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-               ;;
-             *)  # Version 8.0 or newer
-               tmp_idyn=
-               case $host_cpu in
-                 ia64*) tmp_idyn=' -i_dynamic';;
-               esac
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-               ;;
-           esac
-           _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
-           ;;
-          pgCC* | pgcpp*)
-            # Portland Group C++ compiler
-           case `$CC -V` in
-           *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
-             _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
-             _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
-                $RANLIB $oldlib'
-             _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-             _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-             ;;
-           *) # Version 6 and above use weak symbols
-             _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-             ;;
-           esac
-
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-            ;;
-         cxx*)
-           # Compaq C++
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
-
-           runpath_var=LD_RUN_PATH
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-           _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           #
-           # There doesn't appear to be a way to prevent this compiler from
-           # explicitly linking system object files so we need to strip them
-           # from the output so that they don't get included in the library
-           # dependencies.
-           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
-           ;;
-         xl* | mpixl* | bgxl*)
-           # IBM XL 8.0 on PPC, with GNU ld
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
-           _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-           if test yes = "$supports_anon_versioning"; then
-             _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-                echo "local: *; };" >> $output_objdir/$libname.ver~
-                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
-           fi
-           ;;
-         *)
-           case `$CC -V 2>&1 | sed 5q` in
-           *Sun\ C*)
-             # Sun C++ 5.9
-             _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-             _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
-             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-             _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-             _LT_TAGVAR(compiler_needs_object, $1)=yes
-
-             # Not sure whether something based on
-             # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-             # would be better.
-             output_verbose_link_cmd='func_echo_all'
-
-             # Archives containing C++ object files must be created using
-             # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-             # necessary to make sure instantiated templates are included
-             # in the archive.
-             _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-             ;;
-           esac
-           ;;
-       esac
-       ;;
-
-      lynxos*)
-        # FIXME: insert proper C++ library support
-       _LT_TAGVAR(ld_shlibs, $1)=no
-       ;;
-
-      m88k*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-       ;;
-
-      mvs*)
-        case $cc_basename in
-          cxx*)
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-         *)
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-       esac
-       ;;
-
-      netbsd*)
-        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-         _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-         wlarc=
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-         _LT_TAGVAR(hardcode_direct, $1)=yes
-         _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-       fi
-       # Workaround some broken pre-1.5 toolchains
-       output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-       ;;
-
-      *nto* | *qnx*)
-        _LT_TAGVAR(ld_shlibs, $1)=yes
-       ;;
-
-      openbsd* | bitrig*)
-       if test -f /usr/libexec/ld.so; then
-         _LT_TAGVAR(hardcode_direct, $1)=yes
-         _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-         _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-         if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-           _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-         fi
-         output_verbose_link_cmd=func_echo_all
-       else
-         _LT_TAGVAR(ld_shlibs, $1)=no
-       fi
-       ;;
-
-      osf3* | osf4* | osf5*)
-        case $cc_basename in
-          KCC*)
-           # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-           # KCC will only create a shared library if the output file
-           # ends with ".so" (or ".sl" for HP-UX), so rename the library
-           # to its proper name (with version) after linking.
-           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-           _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-           # Archives containing C++ object files must be created using
-           # the KAI C++ compiler.
-           case $host in
-             osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
-             *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
-           esac
-           ;;
-          RCC*)
-           # Rational C++ 2.4.1
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-          cxx*)
-           case $host in
-             osf3*)
-               _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-               _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-               ;;
-             *)
-               _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-               _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-                  echo "-hidden">> $lib.exp~
-                  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
-                  $RM $lib.exp'
-               _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-               ;;
-           esac
-
-           _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           #
-           # There doesn't appear to be a way to prevent this compiler from
-           # explicitly linking system object files so we need to strip them
-           # from the output so that they don't get included in the library
-           # dependencies.
-           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-           ;;
-         *)
-           if test yes,no = "$GXX,$with_gnu_ld"; then
-             _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
-             case $host in
-               osf3*)
-                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-                 ;;
-               *)
-                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-                 ;;
-             esac
-
-             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-             _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-             # Commands to make compiler produce verbose output that lists
-             # what "hidden" libraries, object files and flags are used when
-             # linking a shared library.
-             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-           else
-             # FIXME: insert proper C++ library support
-             _LT_TAGVAR(ld_shlibs, $1)=no
-           fi
-           ;;
-        esac
-        ;;
-
-      psos*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      sunos4*)
-        case $cc_basename in
-          CC*)
-           # Sun C++ 4.x
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-          lcc*)
-           # Lucid
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-          *)
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-        esac
-        ;;
-
-      solaris*)
-        case $cc_basename in
-          CC* | sunCC*)
-           # Sun C++ 4.2, 5.x and Centerline C++
-            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
-           _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-           _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-              $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-           _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-           case $host_os in
-             solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-             *)
-               # The compiler driver will combine and reorder linker options,
-               # but understands '-z linker_flag'.
-               # Supported since Solaris 2.6 (maybe 2.5.1?)
-               _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-               ;;
-           esac
-           _LT_TAGVAR(link_all_deplibs, $1)=yes
-
-           output_verbose_link_cmd='func_echo_all'
-
-           # Archives containing C++ object files must be created using
-           # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-           # necessary to make sure instantiated templates are included
-           # in the archive.
-           _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-           ;;
-          gcx*)
-           # Green Hills C++ Compiler
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-
-           # The C++ compiler must be used to create the archive.
-           _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-           ;;
-          *)
-           # GNU C++ compiler with Solaris linker
-           if test yes,no = "$GXX,$with_gnu_ld"; then
-             _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
-             if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-               _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-               # Commands to make compiler produce verbose output that lists
-               # what "hidden" libraries, object files and flags are used when
-               # linking a shared library.
-               output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-             else
-               # g++ 2.7 appears to require '-G' NOT '-shared' on this
-               # platform.
-               _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-               _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-               # Commands to make compiler produce verbose output that lists
-               # what "hidden" libraries, object files and flags are used when
-               # linking a shared library.
-               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-             fi
-
-             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
-             case $host_os in
-               solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-               *)
-                 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
-                 ;;
-             esac
-           fi
-           ;;
-        esac
-        ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      case $cc_basename in
-        CC*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-      esac
-      ;;
-
-      sysv5* | sco3.2v5* | sco5v6*)
-       # Note: We CANNOT use -z defs as we might desire, because we do not
-       # link with -lc, and that would cause any symbols used from libc to
-       # always be unresolved, which means just about no library would
-       # ever link correctly.  If we're not using GNU ld we use -z text
-       # though, which does catch some bad symbols but isn't as heavy-handed
-       # as -z defs.
-       _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
-       _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
-       _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
-       _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-       _LT_TAGVAR(link_all_deplibs, $1)=yes
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
-       runpath_var='LD_RUN_PATH'
-
-       case $cc_basename in
-          CC*)
-           _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
-              '"$_LT_TAGVAR(old_archive_cmds, $1)"
-           _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
-              '"$_LT_TAGVAR(reload_cmds, $1)"
-           ;;
-         *)
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           ;;
-       esac
-      ;;
-
-      tandem*)
-        case $cc_basename in
-          NCC*)
-           # NonStop-UX NCC 3.20
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-          *)
-           # FIXME: insert proper C++ library support
-           _LT_TAGVAR(ld_shlibs, $1)=no
-           ;;
-        esac
-        ;;
-
-      vxworks*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      *)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-    esac
-
-    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
-
-    _LT_TAGVAR(GCC, $1)=$GXX
-    _LT_TAGVAR(LD, $1)=$LD
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    _LT_SYS_HIDDEN_LIBDEPS($1)
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  CC=$lt_save_CC
-  CFLAGS=$lt_save_CFLAGS
-  LDCXX=$LD
-  LD=$lt_save_LD
-  GCC=$lt_save_GCC
-  with_gnu_ld=$lt_save_with_gnu_ld
-  lt_cv_path_LDCXX=$lt_cv_path_LD
-  lt_cv_path_LD=$lt_save_path_LD
-  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test yes != "$_lt_caught_CXX_error"
-
-AC_LANG_POP
-])# _LT_LANG_CXX_CONFIG
-
-
-# _LT_FUNC_STRIPNAME_CNF
-# ----------------------
-# func_stripname_cnf prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-#
-# This function is identical to the (non-XSI) version of func_stripname,
-# except this one can be used by m4 code that may be executed by configure,
-# rather than the libtool script.
-m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
-AC_REQUIRE([_LT_DECL_SED])
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
-func_stripname_cnf ()
-{
-  case @S|@2 in
-  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
-  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
-  esac
-} # func_stripname_cnf
-])# _LT_FUNC_STRIPNAME_CNF
-
-
-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
-# ---------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
-# Dependencies to place before and after the object being linked:
-_LT_TAGVAR(predep_objects, $1)=
-_LT_TAGVAR(postdep_objects, $1)=
-_LT_TAGVAR(predeps, $1)=
-_LT_TAGVAR(postdeps, $1)=
-_LT_TAGVAR(compiler_lib_search_path, $1)=
-
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library.  It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-int a;
-void foo (void) { a = 0; }
-_LT_EOF
-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-_LT_EOF
-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
-      subroutine foo
-      implicit none
-      integer*4 a
-      a=0
-      return
-      end
-_LT_EOF
-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
-      subroutine foo
-      implicit none
-      integer a
-      a=0
-      return
-      end
-_LT_EOF
-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-public class foo {
-  private int a;
-  public void bar (void) {
-    a = 0;
-  }
-};
-_LT_EOF
-], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
-package foo
-func foo() {
-}
-_LT_EOF
-])
-
-_lt_libdeps_save_CFLAGS=$CFLAGS
-case "$CC $CFLAGS " in #(
-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
-esac
-
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  for p in `eval "$output_verbose_link_cmd"`; do
-    case $prev$p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test x-L = "$p" ||
-          test x-R = "$p"; then
-        prev=$p
-        continue
-       fi
-
-       # Expand the sysroot to ease extracting the directories later.
-       if test -z "$prev"; then
-         case $p in
-         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
-         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
-         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
-         esac
-       fi
-       case $p in
-       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
-       esac
-       if test no = "$pre_test_object_deps_done"; then
-        case $prev in
-        -L | -R)
-          # Internal compiler library paths should come after those
-          # provided the user.  The postdeps already come after the
-          # user supplied libs so there is no need to process them.
-          if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
-            _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
-          else
-            _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
-          fi
-          ;;
-        # The "-l" case would never come before the object being
-        # linked, so don't bother handling this case.
-        esac
-       else
-        if test -z "$_LT_TAGVAR(postdeps, $1)"; then
-          _LT_TAGVAR(postdeps, $1)=$prev$p
-        else
-          _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
-        fi
-       fi
-       prev=
-       ;;
-
-    *.lto.$objext) ;; # Ignore GCC LTO objects
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-        pre_test_object_deps_done=yes
-        continue
-       fi
-
-       if test no = "$pre_test_object_deps_done"; then
-        if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
-          _LT_TAGVAR(predep_objects, $1)=$p
-        else
-          _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
-        fi
-       else
-        if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
-          _LT_TAGVAR(postdep_objects, $1)=$p
-        else
-          _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
-        fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$RM -f confest.$objext
-CFLAGS=$_lt_libdeps_save_CFLAGS
-
-# PORTME: override above test on systems where it is broken
-m4_if([$1], [CXX],
-[case $host_os in
-interix[[3-9]]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  _LT_TAGVAR(predep_objects,$1)=
-  _LT_TAGVAR(postdep_objects,$1)=
-  _LT_TAGVAR(postdeps,$1)=
-  ;;
-esac
-])
-
-case " $_LT_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
-fi
-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
-    [The directories searched by this compiler when creating a shared library])
-_LT_TAGDECL([], [predep_objects], [1],
-    [Dependencies to place before and after the objects being linked to
-    create a shared library])
-_LT_TAGDECL([], [postdep_objects], [1])
-_LT_TAGDECL([], [predeps], [1])
-_LT_TAGDECL([], [postdeps], [1])
-_LT_TAGDECL([], [compiler_lib_search_path], [1],
-    [The library search path used internally by the compiler when linking
-    a shared library])
-])# _LT_SYS_HIDDEN_LIBDEPS
-
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_F77_CONFIG],
-[AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test no = "$F77"; then
-  _lt_disable_F77=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the F77 compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test yes != "$_lt_disable_F77"; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code="\
-      program t
-      end
-"
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_GCC=$GCC
-  lt_save_CFLAGS=$CFLAGS
-  CC=${F77-"f77"}
-  CFLAGS=$FFLAGS
-  compiler=$CC
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-  GCC=$G77
-  if test -n "$compiler"; then
-    AC_MSG_CHECKING([if libtool supports shared libraries])
-    AC_MSG_RESULT([$can_build_shared])
-
-    AC_MSG_CHECKING([whether to build shared libraries])
-    test no = "$can_build_shared" && enable_shared=no
-
-    # On AIX, shared libraries and static libraries use the same namespace, and
-    # are all built from PIC.
-    case $host_os in
-      aix3*)
-        test yes = "$enable_shared" && enable_static=no
-        if test -n "$RANLIB"; then
-          archive_cmds="$archive_cmds~\$RANLIB \$lib"
-          postinstall_cmds='$RANLIB $lib'
-        fi
-        ;;
-      aix[[4-9]]*)
-       if test ia64 != "$host_cpu"; then
-         case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
-         yes,aix,yes) ;;               # shared object as lib.so file only
-         yes,svr4,*) ;;                # shared object as lib.so archive member only
-         yes,*) enable_static=no ;;    # shared object in lib.a archive as well
-         esac
-       fi
-        ;;
-    esac
-    AC_MSG_RESULT([$enable_shared])
-
-    AC_MSG_CHECKING([whether to build static libraries])
-    # Make sure either enable_shared or enable_static is yes.
-    test yes = "$enable_shared" || enable_static=yes
-    AC_MSG_RESULT([$enable_static])
-
-    _LT_TAGVAR(GCC, $1)=$G77
-    _LT_TAGVAR(LD, $1)=$LD
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  GCC=$lt_save_GCC
-  CC=$lt_save_CC
-  CFLAGS=$lt_save_CFLAGS
-fi # test yes != "$_lt_disable_F77"
-
-AC_LANG_POP
-])# _LT_LANG_F77_CONFIG
-
-
-# _LT_LANG_FC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for a Fortran compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_FC_CONFIG],
-[AC_LANG_PUSH(Fortran)
-
-if test -z "$FC" || test no = "$FC"; then
-  _lt_disable_FC=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test yes != "$_lt_disable_FC"; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code="\
-      program t
-      end
-"
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_GCC=$GCC
-  lt_save_CFLAGS=$CFLAGS
-  CC=${FC-"f95"}
-  CFLAGS=$FCFLAGS
-  compiler=$CC
-  GCC=$ac_cv_fc_compiler_gnu
-
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    AC_MSG_CHECKING([if libtool supports shared libraries])
-    AC_MSG_RESULT([$can_build_shared])
-
-    AC_MSG_CHECKING([whether to build shared libraries])
-    test no = "$can_build_shared" && enable_shared=no
-
-    # On AIX, shared libraries and static libraries use the same namespace, and
-    # are all built from PIC.
-    case $host_os in
-      aix3*)
-        test yes = "$enable_shared" && enable_static=no
-        if test -n "$RANLIB"; then
-          archive_cmds="$archive_cmds~\$RANLIB \$lib"
-          postinstall_cmds='$RANLIB $lib'
-        fi
-        ;;
-      aix[[4-9]]*)
-       if test ia64 != "$host_cpu"; then
-         case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
-         yes,aix,yes) ;;               # shared object as lib.so file only
-         yes,svr4,*) ;;                # shared object as lib.so archive member only
-         yes,*) enable_static=no ;;    # shared object in lib.a archive as well
-         esac
-       fi
-        ;;
-    esac
-    AC_MSG_RESULT([$enable_shared])
-
-    AC_MSG_CHECKING([whether to build static libraries])
-    # Make sure either enable_shared or enable_static is yes.
-    test yes = "$enable_shared" || enable_static=yes
-    AC_MSG_RESULT([$enable_static])
-
-    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
-    _LT_TAGVAR(LD, $1)=$LD
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    _LT_SYS_HIDDEN_LIBDEPS($1)
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  GCC=$lt_save_GCC
-  CC=$lt_save_CC
-  CFLAGS=$lt_save_CFLAGS
-fi # test yes != "$_lt_disable_FC"
-
-AC_LANG_POP
-])# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])dnl
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-CFLAGS=$GCJFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)=$LD
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-
-  _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_GO_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Go compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_GO_CONFIG],
-[AC_REQUIRE([LT_PROG_GO])dnl
-AC_LANG_SAVE
-
-# Source file extension for Go test sources.
-ac_ext=go
-
-# Object file extension for compiled Go test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="package main; func main() { }"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='package main; func main() { }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GOC-"gccgo"}
-CFLAGS=$GOFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)=$LD
-_LT_CC_BASENAME([$compiler])
-
-# Go did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-
-  _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GO_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])dnl
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code=$lt_simple_compile_test_code
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=
-CC=${RC-"windres"}
-CFLAGS=
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
-  :
-  _LT_CONFIG($1)
-fi
-
-GCC=$lt_save_GCC
-AC_LANG_RESTORE
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
-  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
-    [AC_CHECK_TOOL(GCJ, gcj,)
-      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
-      AC_SUBST(GCJFLAGS)])])[]dnl
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
-
-
-# LT_PROG_GO
-# ----------
-AC_DEFUN([LT_PROG_GO],
-[AC_CHECK_TOOL(GOC, gccgo,)
-])
-
-
-# LT_PROG_RC
-# ----------
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_RC], [])
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_FGREP])dnl
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-AC_SUBST([GREP])
-])
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_OBJDUMP],
-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-AC_SUBST([OBJDUMP])
-])
-
-# _LT_DECL_DLLTOOL
-# ----------------
-# Ensure DLLTOOL variable is set.
-m4_defun([_LT_DECL_DLLTOOL],
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
-AC_SUBST([DLLTOOL])
-])
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-m4_defun([_LT_DECL_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
-    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-############################################################
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-############################################################
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f "$lt_ac_sed" && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test 10 -lt "$lt_ac_count" && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test "$lt_ac_count" -gt "$lt_ac_max"; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_SED], [])
-
-
-# _LT_CHECK_SHELL_FEATURES
-# ------------------------
-# Find out whether the shell is Bourne or XSI compatible,
-# or has some other useful features.
-m4_defun([_LT_CHECK_SHELL_FEATURES],
-[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
-])# _LT_CHECK_SHELL_FEATURES
-
-
-# _LT_PATH_CONVERSION_FUNCTIONS
-# -----------------------------
-# Determine what file name conversion functions should be used by
-# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
-# for certain cross-compile configurations and native mingw.
-m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_MSG_CHECKING([how to convert $build file names to $host format])
-AC_CACHE_VAL(lt_cv_to_host_file_cmd,
-[case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-])
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
-_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
-         [0], [convert $build file names to $host format])dnl
-
-AC_MSG_CHECKING([how to convert $build file names to toolchain format])
-AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
-[#assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-])
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
-_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
-         [0], [convert $build files to toolchain format])dnl
-])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
deleted file mode 100644 (file)
index 94b0829..0000000
+++ /dev/null
@@ -1,437 +0,0 @@
-# Helper functions for option handling.                    -*- Autoconf -*-
-#
-#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
-#   Foundation, Inc.
-#   Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 8 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
-# saved as a flag.
-m4_define([_LT_SET_OPTION],
-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
-        _LT_MANGLE_DEFUN([$1], [$2]),
-    [m4_warning([Unknown $1 option '$2'])])[]dnl
-])
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-m4_define([_LT_UNLESS_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-           [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
-                     [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME.  If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-m4_defun([_LT_SET_OPTIONS],
-[# Set options
-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-    [_LT_SET_OPTION([$1], _LT_Option)])
-
-m4_if([$1],[LT_INIT],[
-  dnl
-  dnl Simply set some default values (i.e off) if boolean options were not
-  dnl specified:
-  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
-  ])
-  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
-  ])
-  dnl
-  dnl If no reference was made to various pairs of opposing options, then
-  dnl we run the default mode handler for the pair.  For example, if neither
-  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
-  dnl archives by default:
-  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
-  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
-                  [_LT_ENABLE_FAST_INSTALL])
-  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
-                  [_LT_WITH_AIX_SONAME([aix])])
-  ])
-])# _LT_SET_OPTIONS
-
-
-## --------------------------------- ##
-## Macros to handle LT_INIT options. ##
-## --------------------------------- ##
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([LT_INIT], [dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the 'dlopen' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS],      [1], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-_LT_SET_OPTION([LT_INIT], [win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the 'win32-dll' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the 'shared' and
-# 'disable-shared' LT_INIT options.
-# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
-    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-       [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for pkg in $enableval; do
-       IFS=$lt_save_ifs
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac],
-    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-
-    _LT_DECL([build_libtool_libs], [enable_shared], [0],
-       [Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-])
-
-AC_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [disable-shared])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the 'static' and
-# 'disable-static' LT_INIT options.
-# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
-    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-       [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for pkg in $enableval; do
-       IFS=$lt_save_ifs
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac],
-    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-
-    _LT_DECL([build_old_libs], [enable_static], [0],
-       [Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-])
-
-AC_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [disable-static])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the 'fast-install'
-# and 'disable-fast-install' LT_INIT options.
-# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
-    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for pkg in $enableval; do
-       IFS=$lt_save_ifs
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac],
-    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
-        [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the 'fast-install' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the 'disable-fast-install' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-
-
-# _LT_WITH_AIX_SONAME([DEFAULT])
-# ----------------------------------
-# implement the --with-aix-soname flag, and support the `aix-soname=aix'
-# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
-# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
-m4_define([_LT_WITH_AIX_SONAME],
-[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
-shared_archive_member_spec=
-case $host,$enable_shared in
-power*-*-aix[[5-9]]*,yes)
-  AC_MSG_CHECKING([which variant of shared library versioning to provide])
-  AC_ARG_WITH([aix-soname],
-    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
-      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
-    [case $withval in
-    aix|svr4|both)
-      ;;
-    *)
-      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
-      ;;
-    esac
-    lt_cv_with_aix_soname=$with_aix_soname],
-    [AC_CACHE_VAL([lt_cv_with_aix_soname],
-      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
-    with_aix_soname=$lt_cv_with_aix_soname])
-  AC_MSG_RESULT([$with_aix_soname])
-  if test aix != "$with_aix_soname"; then
-    # For the AIX way of multilib, we name the shared archive member
-    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
-    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
-    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
-    # the AIX toolchain works better with OBJECT_MODE set (default 32).
-    if test 64 = "${OBJECT_MODE-32}"; then
-      shared_archive_member_spec=shr_64
-    else
-      shared_archive_member_spec=shr
-    fi
-  fi
-  ;;
-*)
-  with_aix_soname=aix
-  ;;
-esac
-
-_LT_DECL([], [shared_archive_member_spec], [0],
-    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
-])# _LT_WITH_AIX_SONAME
-
-LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
-LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
-LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
-# LT_INIT options.
-# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
-    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
-       [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for lt_pkg in $withval; do
-       IFS=$lt_save_ifs
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac],
-    [pic_mode=m4_default([$1], [default])])
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PICMODE],
-[_LT_SET_OPTION([LT_INIT], [pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the 'pic-only' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-
-## ----------------- ##
-## LTDL_INIT Options ##
-## ----------------- ##
-
-m4_define([_LTDL_MODE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
-                [m4_define([_LTDL_MODE], [nonrecursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
-                [m4_define([_LTDL_MODE], [recursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
-                [m4_define([_LTDL_MODE], [subproject])])
-
-m4_define([_LTDL_TYPE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [installable],
-                [m4_define([_LTDL_TYPE], [installable])])
-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
-                [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
deleted file mode 100644 (file)
index 48bc934..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
-#
-# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
-# Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-m4_define([lt_join],
-[m4_if([$#], [1], [],
-       [$#], [2], [[$2]],
-       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-m4_define([_lt_join],
-[m4_if([$#$2], [2], [],
-       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59, which quotes differently.
-m4_define([lt_car], [[$1]])
-m4_define([lt_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
-       [$#], 1, [],
-       [m4_dquote(m4_shift($@))])])
-m4_define([lt_unquote], $1)
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-m4_define([lt_append],
-[m4_define([$1],
-          m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-m4_define([lt_combine],
-[m4_if(m4_eval([$# > 3]), [1],
-       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-[[m4_foreach([_Lt_prefix], [$2],
-            [m4_foreach([_Lt_suffix],
-               ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
-       [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
-         [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
-                [lt_append([$1], [$2], [$3])$4],
-                [$5])],
-         [lt_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$3])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
-       m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
-    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
-       [$5],
-    [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
-  [lt_join(m4_quote(m4_default([$4], [[, ]])),
-           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
-                     [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
deleted file mode 100644 (file)
index fa04b52..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# ltversion.m4 -- version numbers                      -*- Autoconf -*-
-#
-#   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# @configure_input@
-
-# serial 4179 ltversion.m4
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [2.4.6])
-m4_define([LT_PACKAGE_REVISION], [2.4.6])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.6'
-macro_revision='2.4.6'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
deleted file mode 100644 (file)
index c6b26f8..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
-#
-#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
-#   Foundation, Inc.
-#   Written by Scott James Remnant, 2004.
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 5 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else.  This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-
-m4_ifndef([AC_LIBTOOL_LINKER_OPTION],  [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-m4_ifndef([AC_PROG_EGREP],             [AC_DEFUN([AC_PROG_EGREP])])
-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],        [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_AC_SHELL_INIT],         [AC_DEFUN([_LT_AC_SHELL_INIT])])
-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],    [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-m4_ifndef([_LT_PROG_LTMAIN],           [AC_DEFUN([_LT_PROG_LTMAIN])])
-m4_ifndef([_LT_AC_TAGVAR],             [AC_DEFUN([_LT_AC_TAGVAR])])
-m4_ifndef([AC_LTDL_ENABLE_INSTALL],    [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-m4_ifndef([AC_LTDL_PREOPEN],           [AC_DEFUN([AC_LTDL_PREOPEN])])
-m4_ifndef([_LT_AC_SYS_COMPILER],       [AC_DEFUN([_LT_AC_SYS_COMPILER])])
-m4_ifndef([_LT_AC_LOCK],               [AC_DEFUN([_LT_AC_LOCK])])
-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],        [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],    [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],    [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-m4_ifndef([AC_LIBTOOL_OBJDIR],         [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-m4_ifndef([AC_LTDL_OBJDIR],            [AC_DEFUN([AC_LTDL_OBJDIR])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],  [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-m4_ifndef([AC_PATH_MAGIC],             [AC_DEFUN([AC_PATH_MAGIC])])
-m4_ifndef([AC_PROG_LD_GNU],            [AC_DEFUN([AC_PROG_LD_GNU])])
-m4_ifndef([AC_PROG_LD_RELOAD_FLAG],    [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-m4_ifndef([AC_DEPLIBS_CHECK_METHOD],   [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-m4_ifndef([LT_AC_PROG_EGREP],          [AC_DEFUN([LT_AC_PROG_EGREP])])
-m4_ifndef([LT_AC_PROG_SED],            [AC_DEFUN([LT_AC_PROG_SED])])
-m4_ifndef([_LT_CC_BASENAME],           [AC_DEFUN([_LT_CC_BASENAME])])
-m4_ifndef([_LT_COMPILER_BOILERPLATE],  [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-m4_ifndef([_LT_LINKER_BOILERPLATE],    [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-m4_ifndef([_AC_PROG_LIBTOOL],          [AC_DEFUN([_AC_PROG_LIBTOOL])])
-m4_ifndef([AC_LIBTOOL_SETUP],          [AC_DEFUN([AC_LIBTOOL_SETUP])])
-m4_ifndef([_LT_AC_CHECK_DLFCN],                [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],     [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-m4_ifndef([_LT_AC_TAGCONFIG],          [AC_DEFUN([_LT_AC_TAGCONFIG])])
-m4_ifndef([AC_DISABLE_FAST_INSTALL],   [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-m4_ifndef([_LT_AC_LANG_CXX],           [AC_DEFUN([_LT_AC_LANG_CXX])])
-m4_ifndef([_LT_AC_LANG_F77],           [AC_DEFUN([_LT_AC_LANG_F77])])
-m4_ifndef([_LT_AC_LANG_GCJ],           [AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],  [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-m4_ifndef([_LT_AC_LANG_C_CONFIG],      [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-m4_ifndef([_LT_AC_LANG_CXX_CONFIG],    [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-m4_ifndef([_LT_AC_LANG_F77_CONFIG],    [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],    [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-m4_ifndef([_LT_AC_LANG_RC_CONFIG],     [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-m4_ifndef([AC_LIBTOOL_CONFIG],         [AC_DEFUN([AC_LIBTOOL_CONFIG])])
-m4_ifndef([_LT_AC_FILE_LTDLL_C],       [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],        [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
-m4_ifndef([_LT_AC_PROG_CXXCPP],                [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
-m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],        [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
-m4_ifndef([_LT_PROG_ECHO_BACKSLASH],   [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_PROG_F77],              [AC_DEFUN([_LT_PROG_F77])])
-m4_ifndef([_LT_PROG_FC],               [AC_DEFUN([_LT_PROG_FC])])
-m4_ifndef([_LT_PROG_CXX],              [AC_DEFUN([_LT_PROG_CXX])])
diff --git a/m4/pkg.m4 b/m4/pkg.m4
deleted file mode 100644 (file)
index 4688002..0000000
--- a/m4/pkg.m4
+++ /dev/null
@@ -1,275 +0,0 @@
-dnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
-dnl serial 11 (pkg-config-0.29)
-dnl
-dnl Copyright Â© 2004 Scott James Remnant <scott@netsplit.com>.
-dnl Copyright Â© 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful, but
-dnl WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-dnl General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-dnl 02111-1307, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if you
-dnl distribute this file as part of a program that contains a
-dnl configuration script generated by Autoconf, you may include it under
-dnl the same distribution terms that you use for the rest of that
-dnl program.
-
-dnl PKG_PREREQ(MIN-VERSION)
-dnl -----------------------
-dnl Since: 0.29
-dnl
-dnl Verify that the version of the pkg-config macros are at least
-dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
-dnl installed version of pkg-config, this checks the developer's version
-dnl of pkg.m4 when generating configure.
-dnl
-dnl To ensure that this macro is defined, also add:
-dnl m4_ifndef([PKG_PREREQ],
-dnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
-dnl
-dnl See the "Since" comment for each macro you use to see what version
-dnl of the macros you require.
-m4_defun([PKG_PREREQ],
-[m4_define([PKG_MACROS_VERSION], [0.29])
-m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
-    [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
-])dnl PKG_PREREQ
-
-dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
-dnl ----------------------------------
-dnl Since: 0.16
-dnl
-dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
-dnl first found in the path. Checks that the version of pkg-config found
-dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
-dnl used since that's the first version where most current features of
-dnl pkg-config existed.
-AC_DEFUN([PKG_PROG_PKG_CONFIG],
-[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
-m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
-AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
-AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-       AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
-fi
-if test -n "$PKG_CONFIG"; then
-       _pkg_min_version=m4_default([$1], [0.9.0])
-       AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
-       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-               AC_MSG_RESULT([yes])
-       else
-               AC_MSG_RESULT([no])
-               PKG_CONFIG=""
-       fi
-fi[]dnl
-])dnl PKG_PROG_PKG_CONFIG
-
-dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-dnl -------------------------------------------------------------------
-dnl Since: 0.18
-dnl
-dnl Check to see whether a particular set of modules exists. Similar to
-dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
-dnl
-dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-dnl only at the first occurence in configure.ac, so if the first place
-dnl it's called might be skipped (such as if it is within an "if", you
-dnl have to call PKG_CHECK_EXISTS manually
-AC_DEFUN([PKG_CHECK_EXISTS],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-if test -n "$PKG_CONFIG" && \
-    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
-  m4_default([$2], [:])
-m4_ifvaln([$3], [else
-  $3])dnl
-fi])
-
-dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-dnl ---------------------------------------------
-dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
-dnl pkg_failed based on the result.
-m4_define([_PKG_CONFIG],
-[if test -n "$$1"; then
-    pkg_cv_[]$1="$$1"
- elif test -n "$PKG_CONFIG"; then
-    PKG_CHECK_EXISTS([$3],
-                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes ],
-                    [pkg_failed=yes])
- else
-    pkg_failed=untried
-fi[]dnl
-])dnl _PKG_CONFIG
-
-dnl _PKG_SHORT_ERRORS_SUPPORTED
-dnl ---------------------------
-dnl Internal check to see if pkg-config supports short errors.
-AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi[]dnl
-])dnl _PKG_SHORT_ERRORS_SUPPORTED
-
-
-dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-dnl   [ACTION-IF-NOT-FOUND])
-dnl --------------------------------------------------------------
-dnl Since: 0.4.0
-dnl
-dnl Note that if there is a possibility the first call to
-dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
-dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-AC_DEFUN([PKG_CHECK_MODULES],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-
-pkg_failed=no
-AC_MSG_CHECKING([for $1])
-
-_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-
-m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-and $1[]_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.])
-
-if test $pkg_failed = yes; then
-       AC_MSG_RESULT([no])
-        _PKG_SHORT_ERRORS_SUPPORTED
-        if test $_pkg_short_errors_supported = yes; then
-               $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
-        else 
-               $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-
-       m4_default([$4], [AC_MSG_ERROR(
-[Package requirements ($2) were not met:
-
-$$1_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-_PKG_TEXT])[]dnl
-        ])
-elif test $pkg_failed = untried; then
-       AC_MSG_RESULT([no])
-       m4_default([$4], [AC_MSG_FAILURE(
-[The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-_PKG_TEXT
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
-        ])
-else
-       $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
-       $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
-        AC_MSG_RESULT([yes])
-       $3
-fi[]dnl
-])dnl PKG_CHECK_MODULES
-
-
-dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-dnl   [ACTION-IF-NOT-FOUND])
-dnl ---------------------------------------------------------------------
-dnl Since: 0.29
-dnl
-dnl Checks for existence of MODULES and gathers its build flags with
-dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
-dnl and VARIABLE-PREFIX_LIBS from --libs.
-dnl
-dnl Note that if there is a possibility the first call to
-dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
-dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
-dnl configure.ac.
-AC_DEFUN([PKG_CHECK_MODULES_STATIC],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-_save_PKG_CONFIG=$PKG_CONFIG
-PKG_CONFIG="$PKG_CONFIG --static"
-PKG_CHECK_MODULES($@)
-PKG_CONFIG=$_save_PKG_CONFIG[]dnl
-])dnl PKG_CHECK_MODULES_STATIC
-
-
-dnl PKG_INSTALLDIR([DIRECTORY])
-dnl -------------------------
-dnl Since: 0.27
-dnl
-dnl Substitutes the variable pkgconfigdir as the location where a module
-dnl should install pkg-config .pc files. By default the directory is
-dnl $libdir/pkgconfig, but the default can be changed by passing
-dnl DIRECTORY. The user can override through the --with-pkgconfigdir
-dnl parameter.
-AC_DEFUN([PKG_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
-m4_pushdef([pkg_description],
-    [pkg-config installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([pkgconfigdir],
-    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
-    [with_pkgconfigdir=]pkg_default)
-AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-])dnl PKG_INSTALLDIR
-
-
-dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
-dnl --------------------------------
-dnl Since: 0.27
-dnl
-dnl Substitutes the variable noarch_pkgconfigdir as the location where a
-dnl module should install arch-independent pkg-config .pc files. By
-dnl default the directory is $datadir/pkgconfig, but the default can be
-dnl changed by passing DIRECTORY. The user can override through the
-dnl --with-noarch-pkgconfigdir parameter.
-AC_DEFUN([PKG_NOARCH_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
-m4_pushdef([pkg_description],
-    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([noarch-pkgconfigdir],
-    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
-    [with_noarch_pkgconfigdir=]pkg_default)
-AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-])dnl PKG_NOARCH_INSTALLDIR
-
-
-dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
-dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-dnl -------------------------------------------
-dnl Since: 0.28
-dnl
-dnl Retrieves the value of the pkg-config variable for the given module.
-AC_DEFUN([PKG_CHECK_VAR],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
-
-_PKG_CONFIG([$1], [variable="][$3]["], [$2])
-AS_VAR_COPY([$1], [pkg_cv_][$1])
-
-AS_VAR_IF([$1], [""], [$5], [$4])dnl
-])dnl PKG_CHECK_VAR
diff --git a/m4/python.m4 b/m4/python.m4
deleted file mode 100644 (file)
index 1275d7f..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-## this one is commonly used with AM_PATH_PYTHONDIR ...
-dnl PYG_CHECK_PYMOD(MODNAME [,SYMBOL [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]])
-dnl Check if a module containing a given symbol is visible to python.
-AC_DEFUN([PYG_CHECK_PYMOD],
-[AC_REQUIRE([AM_PATH_PYTHON])
-py_mod_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'`
-AC_MSG_CHECKING(for ifelse([$2],[],,[$2 in ])python module $1)
-AC_CACHE_VAL(py_cv_mod_$py_mod_var, [
-ifelse([$2],[], [prog="
-import sys
-try:
-        import $1
-except ImportError:
-        sys.exit(1)
-except:
-        sys.exit(0)
-sys.exit(0)"], [prog="
-import $1
-$1.$2"])
-if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC
-  then
-    eval "py_cv_mod_$py_mod_var=yes"
-  else
-    eval "py_cv_mod_$py_mod_var=no"
-  fi
-])
-py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"`
-if test "x$py_val" != xno; then
-  AC_MSG_RESULT(yes)
-  ifelse([$3], [],, [$3
-])dnl
-else
-  AC_MSG_RESULT(no)
-  ifelse([$4], [],, [$4
-])dnl
-fi
-])
-
-dnl a macro to check for ability to create python extensions
-dnl  PYG_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
-dnl function also defines PYTHON_INCLUDES
-AC_DEFUN([PYG_CHECK_PYTHON_HEADERS],
-[AC_REQUIRE([AM_PATH_PYTHON])
-AC_MSG_CHECKING(for headers required to compile python extensions)
-dnl deduce PYTHON_INCLUDES
-if test "x$PYTHON_INCLUDES" = x; then
-  PYTHON_CONFIG=`which $PYTHON`-config
-  if test -x "$PYTHON_CONFIG"; then
-    PYTHON_INCLUDES=`$PYTHON_CONFIG --includes 2>/dev/null`
-  else
-    PYTHON_INCLUDES=`$PYTHON -c "import distutils.sysconfig, sys; sys.stdout.write(distutils.sysconfig.get_python_inc(True))"`
-    PYTHON_INCLUDES="-I$PYTHON_INCLUDES"
-  fi
-fi
-AC_SUBST(PYTHON_INCLUDES)
-dnl check if the headers exist:
-save_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
-AC_TRY_CPP([#include <Python.h>],dnl
-[AC_MSG_RESULT(found)
-$1],dnl
-[AC_MSG_RESULT(not found)
-$2])
-CPPFLAGS="$save_CPPFLAGS"
-])
-
-dnl a macro to check for ability to embed python
-dnl  PYG_CHECK_PYTHON_LIBS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
-dnl function also defines PYTHON_LIBS
-AC_DEFUN([PYG_CHECK_PYTHON_LIBS],
-[AC_REQUIRE([AM_PATH_PYTHON])
-AC_MSG_CHECKING(for libraries required to embed python)
-dnl deduce PYTHON_LIBS
-py_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`
-if test "x$PYTHON_LIBS" = x; then
-  PYTHON_CONFIG=`which $PYTHON`-config
-  if test -x "$PYTHON_CONFIG"; then
-    PYTHON_LIBS=`$PYTHON_CONFIG --ldflags 2>/dev/null`
-  else
-    PYTHON_LIBS="-L${py_prefix}/lib -lpython${PYTHON_VERSION}"
-  fi
-fi
-if test "x$PYTHON_LIB_LOC" = x; then
-       PYTHON_LIB_LOC="${py_prefix}/lib"
-fi
-AC_SUBST(PYTHON_LIBS)
-AC_SUBST(PYTHON_LIB_LOC)
-dnl check if the headers exist:
-save_LIBS="$LIBS"
-LIBS="$LIBS $PYTHON_LIBS"
-AC_TRY_LINK_FUNC(Py_Initialize, dnl
-         [LIBS="$save_LIBS"; AC_MSG_RESULT(yes); $1], dnl
-         [LIBS="$save_LIBS"; AC_MSG_RESULT(no); $2])
-
-])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# JD_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# ---------------------------------------------------------------------------
-# Adds support for distributing Python modules and packages.  To
-# install modules, copy them to $(pythondir), using the python_PYTHON
-# automake variable.  To install a package with the same name as the
-# automake package, install to $(pkgpythondir), or use the
-# pkgpython_PYTHON automake variable.
-#
-# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
-# locations to install python extension modules (shared libraries).
-# Another macro is required to find the appropriate flags to compile
-# extension modules.
-#
-# If your package is configured with a different prefix to python,
-# users will have to add the install directory to the PYTHONPATH
-# environment variable, or create a .pth file (see the python
-# documentation for details).
-#
-# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
-# cause an error if the version of python installed on the system
-# doesn't meet the requirement.  MINIMUM-VERSION should consist of
-# numbers and dots only.
-AC_DEFUN([JD_PATH_PYTHON],
- [
-  dnl Find a Python interpreter.  Python versions prior to 2.0 are not
-  dnl supported
-  m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
-                    [python3 python3.3 python3.2 python3.1 python2 python2.7 python])
-
-  m4_if([$1],[],[
-    dnl No version check is needed.
-    # Find any Python interpreter.
-    if test -z "$PYTHON"; then
-      AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
-    fi
-    am_display_PYTHON=python
-  ], [
-    dnl A version check is needed.
-    if test -n "$PYTHON"; then
-      # If the user set $PYTHON, use it and don't search something else.
-      AC_MSG_CHECKING([whether $PYTHON version >= $1])
-      AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
-                             [AC_MSG_RESULT(yes)],
-                             [AC_MSG_ERROR(too old)])
-      am_display_PYTHON=$PYTHON
-    else
-      # Otherwise, try each interpreter until we find one that satisfies
-      # VERSION.
-      AC_CACHE_CHECK([for a Python interpreter with version >= $1],
-       [am_cv_pathless_PYTHON],[
-       for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
-         test "$am_cv_pathless_PYTHON" = none && break
-         AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
-       done])
-      # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
-      if test "$am_cv_pathless_PYTHON" = none; then
-       PYTHON=:
-      else
-        AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
-      fi
-      am_display_PYTHON=$am_cv_pathless_PYTHON
-    fi
-  ])
-
-  if test "$PYTHON" = :; then
-  dnl Run any user-specified action, or abort.
-    m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
-  else
-
-  dnl Query Python for its version number.  Getting [:3] seems to be
-  dnl the best way to do this; it's what "site.py" does in the standard
-  dnl library.
-
-  AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
-    [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
-  AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
-
-  dnl Use the values of $prefix and $exec_prefix for the corresponding
-  dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX.  These are made
-  dnl distinct variables so they can be overridden if need be.  However,
-  dnl general consensus is that you shouldn't need this ability.
-
-  AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
-  AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
-
-  dnl At times (like when building shared libraries) you may want
-  dnl to know which OS platform Python thinks this is.
-
-  AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
-    [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
-  AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
-
-
-  dnl Set up 4 directories:
-
-  dnl pythondir -- where to install python scripts.  This is the
-  dnl   site-packages directory, not the python standard library
-  dnl   directory like in previous automake betas.  This behavior
-  dnl   is more consistent with lispdir.m4 for example.
-  dnl Query distutils for this directory.  distutils does not exist in
-  dnl Python 1.5, so we fall back to the hardcoded directory if it
-  dnl doesn't work.
-  AC_CACHE_CHECK([for $am_display_PYTHON script directory],
-    [am_cv_python_pythondir],
-    [am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX'))" 2>/dev/null ||
-     echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`])
-  AC_SUBST([pythondir], [$am_cv_python_pythondir])
-
-  dnl pkgpythondir -- $PACKAGE directory under pythondir.  Was
-  dnl   PYTHON_SITE_PACKAGE in previous betas, but this naming is
-  dnl   more consistent with the rest of automake.
-
-  AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
-
-  dnl pyexecdir -- directory for installing python extension modules
-  dnl   (shared libraries)
-  dnl Query distutils for this directory.  distutils does not exist in
-  dnl Python 1.5, so we fall back to the hardcoded directory if it
-  dnl doesn't work.
-  AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
-    [am_cv_python_pyexecdir],
-    [am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX'))" 2>/dev/null ||
-     echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"`])
-  AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
-
-  dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
-
-  AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
-
-  dnl Run any user-specified action.
-  $2
-  fi
-
-])
diff --git a/missing b/missing
deleted file mode 100755 (executable)
index f62bbae..0000000
--- a/missing
+++ /dev/null
@@ -1,215 +0,0 @@
-#! /bin/sh
-# Common wrapper for a few potentially missing GNU programs.
-
-scriptversion=2013-10-28.13; # UTC
-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
-# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
-  echo 1>&2 "Try '$0 --help' for more information"
-  exit 1
-fi
-
-case $1 in
-
-  --is-lightweight)
-    # Used by our autoconf macros to check whether the available missing
-    # script is modern enough.
-    exit 0
-    ;;
-
-  --run)
-    # Back-compat with the calling convention used by older automake.
-    shift
-    ;;
-
-  -h|--h|--he|--hel|--help)
-    echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
-to PROGRAM being missing or too old.
-
-Options:
-  -h, --help      display this help and exit
-  -v, --version   output version information and exit
-
-Supported PROGRAM values:
-  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
-  bison     yacc      flex         lex       help2man
-
-Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
-'g' are ignored when checking the name.
-
-Send bug reports to <bug-automake@gnu.org>."
-    exit $?
-    ;;
-
-  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
-    exit $?
-    ;;
-
-  -*)
-    echo 1>&2 "$0: unknown '$1' option"
-    echo 1>&2 "Try '$0 --help' for more information"
-    exit 1
-    ;;
-
-esac
-
-# Run the given program, remember its exit status.
-"$@"; st=$?
-
-# If it succeeded, we are done.
-test $st -eq 0 && exit 0
-
-# Also exit now if we it failed (or wasn't found), and '--version' was
-# passed; such an option is passed most likely to detect whether the
-# program is present and works.
-case $2 in --version|--help) exit $st;; esac
-
-# Exit code 63 means version mismatch.  This often happens when the user
-# tries to use an ancient version of a tool on a file that requires a
-# minimum version.
-if test $st -eq 63; then
-  msg="probably too old"
-elif test $st -eq 127; then
-  # Program was missing.
-  msg="missing on your system"
-else
-  # Program was found and executed, but failed.  Give up.
-  exit $st
-fi
-
-perl_URL=http://www.perl.org/
-flex_URL=http://flex.sourceforge.net/
-gnu_software_URL=http://www.gnu.org/software
-
-program_details ()
-{
-  case $1 in
-    aclocal|automake)
-      echo "The '$1' program is part of the GNU Automake package:"
-      echo "<$gnu_software_URL/automake>"
-      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
-      echo "<$gnu_software_URL/autoconf>"
-      echo "<$gnu_software_URL/m4/>"
-      echo "<$perl_URL>"
-      ;;
-    autoconf|autom4te|autoheader)
-      echo "The '$1' program is part of the GNU Autoconf package:"
-      echo "<$gnu_software_URL/autoconf/>"
-      echo "It also requires GNU m4 and Perl in order to run:"
-      echo "<$gnu_software_URL/m4/>"
-      echo "<$perl_URL>"
-      ;;
-  esac
-}
-
-give_advice ()
-{
-  # Normalize program name to check for.
-  normalized_program=`echo "$1" | sed '
-    s/^gnu-//; t
-    s/^gnu//; t
-    s/^g//; t'`
-
-  printf '%s\n' "'$1' is $msg."
-
-  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
-  case $normalized_program in
-    autoconf*)
-      echo "You should only need it if you modified 'configure.ac',"
-      echo "or m4 files included by it."
-      program_details 'autoconf'
-      ;;
-    autoheader*)
-      echo "You should only need it if you modified 'acconfig.h' or"
-      echo "$configure_deps."
-      program_details 'autoheader'
-      ;;
-    automake*)
-      echo "You should only need it if you modified 'Makefile.am' or"
-      echo "$configure_deps."
-      program_details 'automake'
-      ;;
-    aclocal*)
-      echo "You should only need it if you modified 'acinclude.m4' or"
-      echo "$configure_deps."
-      program_details 'aclocal'
-      ;;
-   autom4te*)
-      echo "You might have modified some maintainer files that require"
-      echo "the 'autom4te' program to be rebuilt."
-      program_details 'autom4te'
-      ;;
-    bison*|yacc*)
-      echo "You should only need it if you modified a '.y' file."
-      echo "You may want to install the GNU Bison package:"
-      echo "<$gnu_software_URL/bison/>"
-      ;;
-    lex*|flex*)
-      echo "You should only need it if you modified a '.l' file."
-      echo "You may want to install the Fast Lexical Analyzer package:"
-      echo "<$flex_URL>"
-      ;;
-    help2man*)
-      echo "You should only need it if you modified a dependency" \
-           "of a man page."
-      echo "You may want to install the GNU Help2man package:"
-      echo "<$gnu_software_URL/help2man/>"
-    ;;
-    makeinfo*)
-      echo "You should only need it if you modified a '.texi' file, or"
-      echo "any other file indirectly affecting the aspect of the manual."
-      echo "You might want to install the Texinfo package:"
-      echo "<$gnu_software_URL/texinfo/>"
-      echo "The spurious makeinfo call might also be the consequence of"
-      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
-      echo "want to install GNU make:"
-      echo "<$gnu_software_URL/make/>"
-      ;;
-    *)
-      echo "You might have modified some files without having the proper"
-      echo "tools for further handling them.  Check the 'README' file, it"
-      echo "often tells you about the needed prerequisites for installing"
-      echo "this package.  You may also peek at any GNU archive site, in"
-      echo "case some other package contains this missing '$1' program."
-      ;;
-  esac
-}
-
-give_advice "$1" | sed -e '1s/^/WARNING: /' \
-                       -e '2,$s/^/         /' >&2
-
-# Propagate the correct exit status (expected to be 127 for a program
-# not found, 63 for a program that failed due to version mismatch).
-exit $st
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/py-compile b/py-compile
deleted file mode 100755 (executable)
index 3693d96..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-#!/bin/sh
-# py-compile - Compile a Python program
-
-scriptversion=2016-01-11.22; # UTC
-
-# Copyright (C) 2000-2017 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-if [ -z "$PYTHON" ]; then
-  PYTHON=python
-fi
-
-me=py-compile
-
-usage_error ()
-{
-  echo "$me: $*" >&2
-  echo "Try '$me --help' for more information." >&2
-  exit 1
-}
-
-basedir=
-destdir=
-while test $# -ne 0; do
-  case "$1" in
-    --basedir)
-      if test $# -lt 2; then
-        usage_error "option '--basedir' requires an argument"
-      else
-        basedir=$2
-      fi
-      shift
-      ;;
-    --destdir)
-      if test $# -lt 2; then
-        usage_error "option '--destdir' requires an argument"
-      else
-        destdir=$2
-      fi
-      shift
-      ;;
-    -h|--help)
-      cat <<\EOF
-Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..."
-
-Byte compile some python scripts FILES.  Use --destdir to specify any
-leading directory path to the FILES that you don't want to include in the
-byte compiled file.  Specify --basedir for any additional path information you
-do want to be shown in the byte compiled file.
-
-Example:
-  py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
-      exit $?
-      ;;
-    -v|--version)
-      echo "$me $scriptversion"
-      exit $?
-      ;;
-    --)
-      shift
-      break
-      ;;
-    -*)
-      usage_error "unrecognized option '$1'"
-      ;;
-    *)
-      break
-      ;;
-  esac
-  shift
-done
-
-files=$*
-if test -z "$files"; then
-    usage_error "no files given"
-fi
-
-# if basedir was given, then it should be prepended to filenames before
-# byte compilation.
-if [ -z "$basedir" ]; then
-    pathtrans="path = file"
-else
-    pathtrans="path = os.path.join('$basedir', file)"
-fi
-
-# if destdir was given, then it needs to be prepended to the filename to
-# byte compile but not go into the compiled file.
-if [ -z "$destdir" ]; then
-    filetrans="filepath = path"
-else
-    filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)"
-fi
-
-$PYTHON -c "
-import sys, os, py_compile, imp
-
-files = '''$files'''
-
-sys.stdout.write('Byte-compiling python modules...\n')
-for file in files.split():
-    $pathtrans
-    $filetrans
-    if not os.path.exists(filepath) or not (len(filepath) >= 3
-                                            and filepath[-3:] == '.py'):
-           continue
-    sys.stdout.write(file)
-    sys.stdout.flush()
-    if hasattr(imp, 'get_tag'):
-        py_compile.compile(filepath, imp.cache_from_source(filepath), path)
-    else:
-        py_compile.compile(filepath, filepath + 'c', path)
-sys.stdout.write('\n')" || exit $?
-
-# this will fail for python < 1.5, but that doesn't matter ...
-$PYTHON -O -c "
-import sys, os, py_compile, imp
-
-# pypy does not use .pyo optimization
-if hasattr(sys, 'pypy_translation_info'):
-    sys.exit(0)
-
-files = '''$files'''
-sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n')
-for file in files.split():
-    $pathtrans
-    $filetrans
-    if not os.path.exists(filepath) or not (len(filepath) >= 3
-                                            and filepath[-3:] == '.py'):
-           continue
-    sys.stdout.write(file)
-    sys.stdout.flush()
-    if hasattr(imp, 'get_tag'):
-        py_compile.compile(filepath, imp.cache_from_source(filepath, False), path)
-    else:
-        py_compile.compile(filepath, filepath + 'o', path)
-sys.stdout.write('\n')" 2>/dev/null || :
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/pygtkcompat/Makefile.am b/pygtkcompat/Makefile.am
deleted file mode 100644 (file)
index 914b3e2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-pygtkcompatdir = $(pyexecdir)/pygtkcompat
-
-pygtkcompat_PYTHON = \
-       __init__.py \
-       generictreemodel.py \
-       pygtkcompat.py
-
-# if we build in a separate tree, we need to symlink the *.py files from the
-# source tree; Python does not accept the extensions and modules in different
-# paths
-build_pylinks:
-       for f in $(pygtkcompat_PYTHON); do \
-           [ -e $(builddir)/$$f ] || $(LN_S) $(srcdir)/$$f $(builddir)/$$f; \
-       done
-
-all-local: build_pylinks
diff --git a/pygtkcompat/Makefile.in b/pygtkcompat/Makefile.in
deleted file mode 100644 (file)
index fe5ddae..0000000
+++ /dev/null
@@ -1,608 +0,0 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2017 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@
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) 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@
-subdir = pygtkcompat
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
-       $(top_srcdir)/m4/ax_append_flag.m4 \
-       $(top_srcdir)/m4/ax_append_link_flags.m4 \
-       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
-       $(top_srcdir)/m4/ax_check_link_flag.m4 \
-       $(top_srcdir)/m4/ax_code_coverage.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_cflags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_gir.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_ldflags.m4 \
-       $(top_srcdir)/m4/ax_is_release.m4 \
-       $(top_srcdir)/m4/ax_require_defined.m4 \
-       $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/introspection.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/pkg.m4 \
-       $(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(pygtkcompat_PYTHON) \
-       $(am__DIST_COMMON)
-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__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__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile)
-am__installdirs = "$(DESTDIR)$(pygtkcompatdir)"
-am__pep3147_tweak = \
-  sed -e 's|\.py$$||' -e 's|[^/]*$$|__pycache__/&.*.py|'
-py_compile = $(top_srcdir)/py-compile
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/py-compile
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
-CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
-CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
-CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
-CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
-CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
-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@
-FFI_CFLAGS = @FFI_CFLAGS@
-FFI_LIBS = @FFI_LIBS@
-FGREP = @FGREP@
-GCOV = @GCOV@
-GENHTML = @GENHTML@
-GIO_CFLAGS = @GIO_CFLAGS@
-GIO_LIBS = @GIO_LIBS@
-GI_CFLAGS = @GI_CFLAGS@
-GI_DATADIR = @GI_DATADIR@
-GI_LIBS = @GI_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_QUERY = @GOBJECT_QUERY@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-LCOV = @LCOV@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_EXT = @OS_EXT@
-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@
-PYCAIRO_CFLAGS = @PYCAIRO_CFLAGS@
-PYCAIRO_LIBS = @PYCAIRO_LIBS@
-PYGOBJECT_MAJOR_VERSION = @PYGOBJECT_MAJOR_VERSION@
-PYGOBJECT_MICRO_VERSION = @PYGOBJECT_MICRO_VERSION@
-PYGOBJECT_MINOR_VERSION = @PYGOBJECT_MINOR_VERSION@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_LIB_LOC = @PYTHON_LIB_LOC@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_SO = @PYTHON_SO@
-PYTHON_VALGRIND_SUPP = @PYTHON_VALGRIND_SUPP@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WARN_LDFLAGS = @WARN_LDFLAGS@
-WARN_SCANNERFLAGS = @WARN_SCANNERFLAGS@
-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@
-runstatedir = @runstatedir@
-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@
-pygtkcompatdir = $(pyexecdir)/pygtkcompat
-pygtkcompat_PYTHON = \
-       __init__.py \
-       generictreemodel.py \
-       pygtkcompat.py
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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 pygtkcompat/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign pygtkcompat/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_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(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
-install-pygtkcompatPYTHON: $(pygtkcompat_PYTHON)
-       @$(NORMAL_INSTALL)
-       @list='$(pygtkcompat_PYTHON)'; dlist=; list2=; test -n "$(pygtkcompatdir)" || list=; \
-       if test -n "$$list"; then \
-         echo " $(MKDIR_P) '$(DESTDIR)$(pygtkcompatdir)'"; \
-         $(MKDIR_P) "$(DESTDIR)$(pygtkcompatdir)" || exit 1; \
-       fi; \
-       for p in $$list; do \
-         if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
-         if test -f $$b$$p; then \
-           $(am__strip_dir) \
-           dlist="$$dlist $$f"; \
-           list2="$$list2 $$b$$p"; \
-         else :; fi; \
-       done; \
-       for file in $$list2; do echo $$file; done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pygtkcompatdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pygtkcompatdir)" || exit $$?; \
-       done || exit $$?; \
-       if test -n "$$dlist"; then \
-         $(am__py_compile) --destdir "$(DESTDIR)" \
-                           --basedir "$(pygtkcompatdir)" $$dlist; \
-       else :; fi
-
-uninstall-pygtkcompatPYTHON:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pygtkcompat_PYTHON)'; test -n "$(pygtkcompatdir)" || list=; \
-       py_files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       test -n "$$py_files" || exit 0; \
-       dir='$(DESTDIR)$(pygtkcompatdir)'; \
-       pyc_files=`echo "$$py_files" | sed 's|$$|c|'`; \
-       pyo_files=`echo "$$py_files" | sed 's|$$|o|'`; \
-       py_files_pep3147=`echo "$$py_files" | $(am__pep3147_tweak)`; \
-       echo "$$py_files_pep3147";\
-       pyc_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|c|'`; \
-       pyo_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|o|'`; \
-       st=0; \
-       for files in \
-         "$$py_files" \
-         "$$pyc_files" \
-         "$$pyo_files" \
-         "$$pyc_files_pep3147" \
-         "$$pyo_files_pep3147" \
-       ; do \
-         $(am__uninstall_files_from_dir) || st=$$?; \
-       done; \
-       exit $$st
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-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
-check: check-am
-all-am: Makefile all-local
-installdirs:
-       for dir in "$(DESTDIR)$(pygtkcompatdir)"; 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-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:
-
-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-pygtkcompatPYTHON
-
-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: uninstall-pygtkcompatPYTHON
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am all-local check 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-pygtkcompatPYTHON \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags-am uninstall uninstall-am uninstall-pygtkcompatPYTHON
-
-.PRECIOUS: Makefile
-
-
-# if we build in a separate tree, we need to symlink the *.py files from the
-# source tree; Python does not accept the extensions and modules in different
-# paths
-build_pylinks:
-       for f in $(pygtkcompat_PYTHON); do \
-           [ -e $(builddir)/$$f ] || $(LN_S) $(srcdir)/$$f $(builddir)/$$f; \
-       done
-
-all-local: build_pylinks
-
-# 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 1c26490..226dffc 100644 (file)
@@ -23,6 +23,7 @@ import sys
 import random
 import collections
 import ctypes
+import platform
 
 # GObject
 from gi.repository import GObject
@@ -41,9 +42,13 @@ class _CTreeIter(ctypes.Structure):
         return ctypes.POINTER(cls).from_address(id(iter) + offset)
 
 
-def _get_user_data_as_pyobject(iter):
-    citer = _CTreeIter.from_iter(iter)
-    return ctypes.cast(citer.contents.user_data, ctypes.py_object).value
+if platform.python_implementation() == "PyPy":
+    def _get_user_data_as_pyobject(iter):
+        raise NotImplementedError("Not yet supported under PyPy")
+else:
+    def _get_user_data_as_pyobject(iter):
+        citer = _CTreeIter.from_iter(iter)
+        return ctypes.cast(citer.contents.user_data, ctypes.py_object).value
 
 
 def handle_exception(default_return):
index 299e0d1..85eb35b 100644 (file)
@@ -35,20 +35,9 @@ a well behaved PyGTK application mostly unmodified on top of PyGI.
 import sys
 import warnings
 
-try:
-    # Python 3
-    from collections import UserList
-    UserList  # pyflakes
-    with warnings.catch_warnings():
-        warnings.simplefilter('ignore')
-        from imp import reload
-except ImportError:
-    # Python 2 ships that in a different module
-    from UserList import UserList
-    UserList  # pyflakes
-
 import gi
 from gi.repository import GObject
+from gi import _compat
 
 
 _patches = []
@@ -160,8 +149,8 @@ def _disable_all():
             sys.modules[name] = old_value
     del _module_patches[:]
 
-    reload(sys)
-    if sys.version_info < (3, 0):
+    _compat.reload(sys)
+    if _compat.PY2:
         sys.setdefaultencoding('ascii')
 
 
@@ -173,8 +162,8 @@ def enable_gtk(version='3.0'):
         raise ValueError("version 4.0 not supported")
 
     # set the default encoding like PyGTK
-    reload(sys)
-    if sys.version_info < (3, 0):
+    _compat.reload(sys)
+    if _compat.PY2:
         sys.setdefaultencoding('utf-8')
 
     # atk
@@ -460,11 +449,11 @@ def enable_gtk(version='3.0'):
     orig_size_request = Gtk.Widget.size_request
 
     def size_request(widget):
-        class SizeRequest(UserList):
+        class SizeRequest(_compat.UserList):
             def __init__(self, req):
                 self.height = req.height
                 self.width = req.width
-                UserList.__init__(self, [self.width, self.height])
+                _compat.UserList.__init__(self, [self.width, self.height])
         return SizeRequest(orig_size_request(widget))
     _patch(Gtk.Widget, "size_request", size_request)
     _patch(Gtk.Widget, "hide_all", Gtk.Widget.hide)
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644 (file)
index 0000000..830e77a
--- /dev/null
@@ -0,0 +1,2 @@
+[build-system]
+requires = ["setuptools", "wheel", "pycairo"]
index f4b4e15..1563cd3 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,10 +1,14 @@
 [flake8]
-ignore=E501,E123,E124,E402,E731,E722
-builtins=long,unicode,basestring
+ignore = E501,E123,E124,E402,E731,E722
 
 [coverage:run]
-branch=True
-include=
-    gi/*
-    tests/*
-    pygtkcompat/*
+branch = True
+include = 
+       gi/*
+       tests/*
+       pygtkcompat/*
+
+[egg_info]
+tag_build = 
+tag_date = 0
+
index df168bb..17219ea 100755 (executable)
--- a/setup.py
+++ b/setup.py
 
 import io
 import os
-import re
 import sys
 import errno
 import subprocess
 import tarfile
 import sysconfig
+import tempfile
 from email import parser
 
-import pkg_resources
-from setuptools import setup
+try:
+    from setuptools import setup
+except ImportError:
+    from distutils.core import setup
+
 from distutils.core import Extension, Distribution, Command
-from distutils.errors import DistutilsSetupError
+from distutils.errors import DistutilsSetupError, DistutilsOptionError
 from distutils.ccompiler import new_compiler
-from distutils.sysconfig import get_python_lib
+from distutils.sysconfig import get_python_lib, customize_compiler
 from distutils import dir_util, log
+from distutils.spawn import find_executable
+
+
+PYGOBJECT_VERISON = "3.29.1"
+GLIB_VERSION_REQUIRED = "2.38.0"
+GI_VERSION_REQUIRED = "1.46.0"
+PYCAIRO_VERSION_REQUIRED = "1.11.1"
+LIBFFI_VERSION_REQUIRED = "3.0"
+
+
+def is_dev_version():
+    version = tuple(map(int, PYGOBJECT_VERISON.split(".")))
+    return version[1] % 2 != 0
 
 
 def get_command_class(name):
@@ -44,36 +60,25 @@ def get_pycairo_pkg_config_name():
     return "py3cairo" if sys.version_info[0] == 3 else "pycairo"
 
 
-def get_version_requirement(conf_dir, pkg_config_name):
+def get_version_requirement(pkg_config_name):
     """Given a pkg-config module name gets the minimum version required"""
 
-    if pkg_config_name in ["cairo", "cairo-gobject"]:
-        return "0"
-
-    mapping = {
-        "gobject-introspection-1.0": "introspection",
-        "glib-2.0": "glib",
-        "gio-2.0": "gio",
-        get_pycairo_pkg_config_name(): "pycairo",
-        "libffi": "libffi",
+    versions = {
+        "gobject-introspection-1.0": GI_VERSION_REQUIRED,
+        "glib-2.0": GLIB_VERSION_REQUIRED,
+        "gio-2.0": GLIB_VERSION_REQUIRED,
+        get_pycairo_pkg_config_name(): PYCAIRO_VERSION_REQUIRED,
+        "libffi": LIBFFI_VERSION_REQUIRED,
+        "cairo": "0",
+        "cairo-gobject": "0",
     }
-    assert pkg_config_name in mapping
 
-    configure_ac = os.path.join(conf_dir, "configure.ac")
-    with io.open(configure_ac, "r", encoding="utf-8") as h:
-        text = h.read()
-        conf_name = mapping[pkg_config_name]
-        res = re.findall(
-            r"%s_required_version,\s*([\d\.]+)\)" % conf_name, text)
-        assert len(res) == 1
-        return res[0]
+    return versions[pkg_config_name]
 
 
-def parse_versions(conf_dir):
-    configure_ac = os.path.join(conf_dir, "configure.ac")
-    with io.open(configure_ac, "r", encoding="utf-8") as h:
-        version = re.findall(r"pygobject_[^\s]+_version,\s*(\d+)\)", h.read())
-        assert len(version) == 3
+def get_versions():
+    version = PYGOBJECT_VERISON.split(".")
+    assert len(version) == 3
 
     versions = {
         "PYGOBJECT_MAJOR_VERSION": version[0],
@@ -86,10 +91,10 @@ def parse_versions(conf_dir):
 
 def parse_pkg_info(conf_dir):
     """Returns an email.message.Message instance containing the content
-    of the PKG-INFO file. The version info is parsed from configure.ac
+    of the PKG-INFO file.
     """
 
-    versions = parse_versions(conf_dir)
+    versions = get_versions()
 
     pkg_info = os.path.join(conf_dir, "PKG-INFO.in")
     with io.open(pkg_info, "r", encoding="utf-8") as h:
@@ -102,7 +107,47 @@ def parse_pkg_info(conf_dir):
     return message
 
 
-def _run_pkg_config(args, _cache={}):
+def pkg_config_get_install_hint(pkg_name):
+    """Returns an installation hint for a pkg-config name or None"""
+
+    if not sys.platform.startswith("linux"):
+        return
+
+    if find_executable("apt"):
+        dev_packages = {
+            "gobject-introspection-1.0": "libgirepository1.0-dev",
+            "glib-2.0": "libglib2.0-dev",
+            "gio-2.0": "libglib2.0-dev",
+            "cairo": "libcairo2-dev",
+            "cairo-gobject": "libcairo2-dev",
+            "libffi": "libffi-dev",
+        }
+        if pkg_name in dev_packages:
+            return "sudo apt install %s" % dev_packages[pkg_name]
+    elif find_executable("dnf"):
+        dev_packages = {
+            "gobject-introspection-1.0": "gobject-introspection-devel",
+            "glib-2.0": "glib2-devel",
+            "gio-2.0": "glib2-devel",
+            "cairo": "cairo-devel",
+            "cairo-gobject": "cairo-gobject-devel",
+            "libffi": "libffi-devel",
+        }
+        if pkg_name in dev_packages:
+            return "sudo dnf install %s" % dev_packages[pkg_name]
+
+
+class PkgConfigError(Exception):
+    pass
+
+
+class PkgConfigMissingPackageError(PkgConfigError):
+    pass
+
+
+def _run_pkg_config(pkg_name, args, _cache={}):
+    """Raises PkgConfigError"""
+
     command = tuple(["pkg-config"] + args)
 
     if command not in _cache:
@@ -110,27 +155,47 @@ def _run_pkg_config(args, _cache={}):
             result = subprocess.check_output(command)
         except OSError as e:
             if e.errno == errno.ENOENT:
-                raise SystemExit(
+                raise PkgConfigError(
                     "%r not found.\nArguments: %r" % (command[0], command))
-            raise SystemExit(e)
+            raise PkgConfigError(e)
         except subprocess.CalledProcessError as e:
-            raise SystemExit(e)
+            try:
+                subprocess.check_output(["pkg-config", "--exists", pkg_name])
+            except (subprocess.CalledProcessError, OSError):
+                raise PkgConfigMissingPackageError(e)
+            else:
+                raise PkgConfigError(e)
         else:
             _cache[command] = result
 
     return _cache[command]
 
 
-def pkg_config_version_check(pkg, version):
-    _run_pkg_config([
+def _run_pkg_config_or_exit(pkg_name, args):
+    try:
+        return _run_pkg_config(pkg_name, args)
+    except PkgConfigMissingPackageError as e:
+        hint = pkg_config_get_install_hint(pkg_name)
+        if hint:
+            raise SystemExit(
+                "%s\n\nTry installing it with: %r" % (e, hint))
+        else:
+            raise SystemExit(e)
+    except PkgConfigError as e:
+        raise SystemExit(e)
+
+
+def pkg_config_version_check(pkg_name, version):
+    _run_pkg_config_or_exit(pkg_name, [
         "--print-errors",
         "--exists",
-        '%s >= %s' % (pkg, version),
+        '%s >= %s' % (pkg_name, version),
     ])
 
 
-def pkg_config_parse(opt, pkg):
-    ret = _run_pkg_config([opt, pkg])
+def pkg_config_parse(opt, pkg_name):
+    ret = _run_pkg_config_or_exit(pkg_name, [opt, pkg_name])
+
     if sys.version_info[0] == 3:
         output = ret.decode()
     else:
@@ -139,6 +204,94 @@ def pkg_config_parse(opt, pkg):
     return [x.lstrip(opt) for x in output.split()]
 
 
+def list_headers(d):
+    return [os.path.join(d, e) for e in os.listdir(d) if e.endswith(".h")]
+
+
+def filter_compiler_arguments(compiler, args):
+    """Given a compiler instance and a list of compiler warning flags
+    returns the list of supported flags.
+    """
+
+    if compiler.compiler_type == "msvc":
+        # TODO
+        return []
+
+    extra = []
+
+    def check_arguments(compiler, args):
+        p = subprocess.Popen(
+            [compiler.compiler[0]] + args + extra + ["-x", "c", "-E", "-"],
+            stdin=subprocess.PIPE,
+            stdout=subprocess.PIPE,
+            stderr=subprocess.PIPE)
+        stdout, stderr = p.communicate(b"int i;\n")
+        if p.returncode != 0:
+            text = stderr.decode("ascii", "replace")
+            return False, [a for a in args if a in text]
+        else:
+            return True, []
+
+    def check_argument(compiler, arg):
+        return check_arguments(compiler, [arg])[0]
+
+    # clang doesn't error out for unknown options, force it to
+    if check_argument(compiler, '-Werror=unknown-warning-option'):
+        extra += ['-Werror=unknown-warning-option']
+    if check_argument(compiler, '-Werror=unused-command-line-argument'):
+        extra += ['-Werror=unused-command-line-argument']
+
+    # first try to remove all arguments contained in the error message
+    supported = list(args)
+    while 1:
+        ok, maybe_unknown = check_arguments(compiler, supported)
+        if ok:
+            return supported
+        elif not maybe_unknown:
+            break
+        for unknown in maybe_unknown:
+            if not check_argument(compiler, unknown):
+                supported.remove(unknown)
+
+    # hm, didn't work, try each argument one by one
+    supported = []
+    for arg in args:
+        if check_argument(compiler, arg):
+            supported.append(arg)
+    return supported
+
+
+class sdist_gnome(Command):
+    description = "Create a source tarball for GNOME"
+    user_options = []
+
+    def initialize_options(self):
+        pass
+
+    def finalize_options(self):
+        pass
+
+    def run(self):
+        # Don't use PEP 440 pre-release versions for GNOME releases
+        self.distribution.metadata.version = PYGOBJECT_VERISON
+
+        dist_dir = tempfile.mkdtemp()
+        try:
+            cmd = self.reinitialize_command("sdist")
+            cmd.dist_dir = dist_dir
+            cmd.ensure_finalized()
+            cmd.run()
+
+            base_name = self.distribution.get_fullname().lower()
+            cmd.make_release_tree(base_name, cmd.filelist.files)
+            try:
+                self.make_archive(base_name, "xztar", base_dir=base_name)
+            finally:
+                dir_util.remove_tree(base_name)
+        finally:
+            dir_util.remove_tree(dist_dir)
+
+
 du_sdist = get_command_class("sdist")
 
 
@@ -168,7 +321,8 @@ class distcheck(du_sdist):
 
         tracked_files = out.splitlines()
         for ignore in [".gitignore"]:
-            tracked_files.remove(ignore)
+            if ignore in tracked_files:
+                tracked_files.remove(ignore)
 
         diff = set(tracked_files) - set(included_files)
         assert not diff, (
@@ -248,12 +402,10 @@ class build_tests(Command):
     def run(self):
         cmd = self.reinitialize_command("build_ext")
         cmd.inplace = True
+        cmd.force = self.force
         cmd.ensure_finalized()
         cmd.run()
 
-        from distutils.ccompiler import new_compiler
-        from distutils.sysconfig import customize_compiler
-
         gidatadir = pkg_config_parse(
             "--variable=gidatadir", "gobject-introspection-1.0")[0]
         g_ir_scanner = pkg_config_parse(
@@ -262,6 +414,7 @@ class build_tests(Command):
             "--variable=g_ir_compiler", "gobject-introspection-1.0")[0]
 
         script_dir = get_script_dir()
+        gi_dir = os.path.join(script_dir, "gi")
         tests_dir = os.path.join(script_dir, "tests")
         gi_tests_dir = os.path.join(gidatadir, "tests")
 
@@ -279,13 +432,14 @@ class build_tests(Command):
 
         if os.name == "nt":
             compiler.shared_lib_extension = ".dll"
-
-        if sys.platform == "darwin":
+        elif sys.platform == "darwin":
             compiler.shared_lib_extension = ".dylib"
             if "-bundle" in compiler.linker_so:
                 compiler.linker_so = list(compiler.linker_so)
                 i = compiler.linker_so.index("-bundle")
                 compiler.linker_so[i] = "-dynamiclib"
+        else:
+            compiler.shared_lib_extension = ".so"
 
         def build_ext(ext):
             if compiler.compiler_type == "msvc":
@@ -424,19 +578,16 @@ class build_tests(Command):
                 os.path.join(tests_dir, "test-unknown.c"),
             ],
             include_dirs=[
-                os.path.join(script_dir, "gi"),
+                gi_dir,
                 tests_dir,
             ],
-            depends=[
-                os.path.join(tests_dir, "test-thread.h"),
-                os.path.join(tests_dir, "test-unknown.h"),
-                os.path.join(tests_dir, "test-floating.h"),
-            ],
+            depends=list_headers(gi_dir) + list_headers(tests_dir),
             define_macros=[("PY_SSIZE_T_CLEAN", None)],
         )
         add_ext_pkg_config_dep(ext, compiler.compiler_type, "glib-2.0")
         add_ext_pkg_config_dep(ext, compiler.compiler_type, "gio-2.0")
         add_ext_pkg_config_dep(ext, compiler.compiler_type, "cairo")
+        add_ext_compiler_flags(ext, compiler)
 
         dist = Distribution({"ext_modules": [ext]})
 
@@ -451,14 +602,78 @@ class build_tests(Command):
         cmd.run()
 
 
+def get_suppression_files_for_prefix(prefix):
+    """Returns a list of valgrind suppression files for a given prefix"""
+
+    # Most specific first (/usr/share/doc is Fedora, /usr/lib is Debian)
+    # Take the first one found
+    major = str(sys.version_info[0])
+    minor = str(sys.version_info[1])
+    pyfiles = []
+    pyfiles.append(
+        os.path.join(
+            prefix, "share", "doc", "python%s%s" % (major, minor),
+            "valgrind-python.supp"))
+    pyfiles.append(
+        os.path.join(prefix, "lib", "valgrind", "python%s.supp" % major))
+    pyfiles.append(
+        os.path.join(
+            prefix, "share", "doc", "python%s-devel" % major,
+            "valgrind-python.supp"))
+    pyfiles.append(os.path.join(prefix, "lib", "valgrind", "python.supp"))
+
+    files = []
+    for f in pyfiles:
+        if os.path.isfile(f):
+            files.append(f)
+            break
+
+    files.append(os.path.join(
+        prefix, "share", "glib-2.0", "valgrind", "glib.supp"))
+    return [f for f in files if os.path.isfile(f)]
+
+
+def get_real_prefix():
+    """Returns the base Python prefix, even in a virtualenv/venv"""
+
+    return getattr(sys, "base_prefix", getattr(sys, "real_prefix", sys.prefix))
+
+
+def get_suppression_files():
+    """Returns a list of valgrind suppression files"""
+
+    prefixes = [
+        sys.prefix,
+        get_real_prefix(),
+        pkg_config_parse("--variable=prefix", "glib-2.0")[0],
+    ]
+
+    files = []
+    for prefix in prefixes:
+        files.extend(get_suppression_files_for_prefix(prefix))
+    return sorted(set(files))
+
+
 class test(Command):
-    user_options = []
+    user_options = [
+        ("valgrind", None, "run tests under valgrind"),
+        ("valgrind-log-file=", None, "save logs instead of printing them"),
+        ("gdb", None, "run tests under gdb"),
+        ("no-capture", "s", "don't capture test output"),
+    ]
 
     def initialize_options(self):
-        pass
+        self.valgrind = None
+        self.valgrind_log_file = None
+        self.gdb = None
+        self.no_capture = None
 
     def finalize_options(self):
-        pass
+        self.valgrind = bool(self.valgrind)
+        if self.valgrind_log_file and not self.valgrind:
+            raise DistutilsOptionError("valgrind not enabled")
+        self.gdb = bool(self.gdb)
+        self.no_capture = bool(self.no_capture)
 
     def run(self):
         cmd = self.reinitialize_command("build_tests")
@@ -468,12 +683,37 @@ class test(Command):
         env = os.environ.copy()
         env.pop("MSYSTEM", None)
 
+        if self.no_capture:
+            env["PYGI_TEST_VERBOSE"] = "1"
+
         env["MALLOC_PERTURB_"] = "85"
         env["MALLOC_CHECK_"] = "3"
         env["G_SLICE"] = "debug-blocks"
 
+        pre_args = []
+
+        if self.valgrind:
+            env["G_SLICE"] = "always-malloc"
+            env["G_DEBUG"] = "gc-friendly"
+            env["PYTHONMALLOC"] = "malloc"
+
+            pre_args += [
+                "valgrind", "--leak-check=full", "--show-possibly-lost=no",
+                "--num-callers=20", "--child-silent-after-fork=yes",
+            ] + ["--suppressions=" + f for f in get_suppression_files()]
+
+            if self.valgrind_log_file:
+                pre_args += ["--log-file=" + self.valgrind_log_file]
+
+        if self.gdb:
+            env["PYGI_TEST_GDB"] = "1"
+            pre_args += ["gdb", "--args"]
+
+        if pre_args:
+            log.info(" ".join(pre_args))
+
         tests_dir = os.path.join(get_script_dir(), "tests")
-        sys.exit(subprocess.call([
+        sys.exit(subprocess.call(pre_args + [
             sys.executable,
             os.path.join(tests_dir, "runtests.py"),
         ], env=env))
@@ -509,9 +749,9 @@ def get_pycairo_include_dir():
     Raises if pycairo isn't found or it's too old.
     """
 
-    script_dir = get_script_dir()
     pkg_config_name = get_pycairo_pkg_config_name()
-    min_version = get_version_requirement(script_dir, pkg_config_name)
+    min_version = get_version_requirement(pkg_config_name)
+    min_version_info = tuple(int(p) for p in min_version.split("."))
 
     def check_path(include_dir):
         log.info("pycairo: trying include directory: %r" % include_dir)
@@ -531,12 +771,10 @@ def get_pycairo_include_dir():
         log.info("pycairo: new API")
         import cairo
 
-        pkg_version = pkg_resources.parse_version(cairo.version)
-        pkg_min_version = pkg_resources.parse_version(min_version)
-        if pkg_version < pkg_min_version:
+        if cairo.version_info < min_version_info:
             raise DistutilsSetupError(
-                "pycairo >=%s required, %s found." % (
-                    pkg_min_version, pkg_version))
+                "pycairo >= %s required, %s found." % (
+                    min_version, ".".join(map(str, cairo.version_info))))
 
         if hasattr(cairo, "get_include"):
             return [cairo.get_include()]
@@ -545,8 +783,16 @@ def get_pycairo_include_dir():
 
     def find_old_api():
         log.info("pycairo: old API")
-        dist = pkg_resources.get_distribution("pycairo>=%s" % min_version)
-        log.info("pycairo: found %r" % dist)
+
+        import cairo
+
+        if cairo.version_info < min_version_info:
+            raise DistutilsSetupError(
+                "pycairo >= %s required, %s found." % (
+                    min_version, ".".join(map(str, cairo.version_info))))
+
+        location = os.path.dirname(os.path.abspath(cairo.__path__[0]))
+        log.info("pycairo: found %r" % location)
 
         def samefile(src, dst):
             # Python 2 on Windows doesn't have os.path.samefile, so we have to
@@ -558,9 +804,8 @@ def get_pycairo_include_dir():
             return (os.path.normcase(os.path.abspath(src)) ==
                     os.path.normcase(os.path.abspath(dst)))
 
-        def get_sys_path(dist, name):
+        def get_sys_path(location, name):
             # Returns the sysconfig path for a distribution, or None
-            location = dist.location
             for scheme in sysconfig.get_scheme_names():
                 for path_type in ["platlib", "purelib"]:
                     path = sysconfig.get_path(path_type, scheme)
@@ -570,7 +815,7 @@ def get_pycairo_include_dir():
                     except EnvironmentError:
                         pass
 
-        data_path = get_sys_path(dist, "data") or sys.prefix
+        data_path = get_sys_path(location, "data") or sys.prefix
         return [os.path.join(data_path, "include", "pycairo")]
 
     def find_pkg_config():
@@ -599,8 +844,6 @@ def get_pycairo_include_dir():
 
 
 def add_ext_pkg_config_dep(ext, compiler_type, name):
-    script_dir = get_script_dir()
-
     msvc_libraries = {
         "glib-2.0": ["glib-2.0"],
         "gio-2.0": ["gio-2.0", "gobject-2.0", "glib-2.0"],
@@ -617,13 +860,86 @@ def add_ext_pkg_config_dep(ext, compiler_type, name):
         # assume that INCLUDE and LIB contains the right paths
         ext.libraries += fallback_libs
     else:
-        min_version = get_version_requirement(script_dir, name)
+        min_version = get_version_requirement(name)
         pkg_config_version_check(name, min_version)
         ext.include_dirs += pkg_config_parse("--cflags-only-I", name)
         ext.library_dirs += pkg_config_parse("--libs-only-L", name)
         ext.libraries += pkg_config_parse("--libs-only-l", name)
 
 
+def add_ext_compiler_flags(ext, compiler, _cache={}):
+    cache_key = compiler.compiler[0]
+    if cache_key not in _cache:
+
+        args = [
+            "-Wall",
+            "-Warray-bounds",
+            "-Wcast-align",
+            "-Wdeclaration-after-statement",
+            "-Wduplicated-branches",
+            "-Wextra",
+            "-Wformat=2",
+            "-Wformat-nonliteral",
+            "-Wformat-security",
+            "-Wimplicit-function-declaration",
+            "-Winit-self",
+            "-Winline",
+            "-Wjump-misses-init",
+            "-Wlogical-op",
+            "-Wmissing-declarations",
+            "-Wmissing-format-attribute",
+            "-Wmissing-include-dirs",
+            "-Wmissing-noreturn",
+            "-Wmissing-prototypes",
+            "-Wnested-externs",
+            "-Wnull-dereference",
+            "-Wold-style-definition",
+            "-Wpacked",
+            "-Wpointer-arith",
+            "-Wrestrict",
+            "-Wreturn-type",
+            "-Wshadow",
+            "-Wsign-compare",
+            "-Wstrict-aliasing",
+            "-Wstrict-prototypes",
+            "-Wundef",
+            "-Wunused-but-set-variable",
+            "-Wwrite-strings",
+            "-Wconversion",
+        ]
+
+        if sys.version_info[:2] != (3, 4):
+            args += [
+                "-Wswitch-default",
+            ]
+
+        args += [
+            "-Wno-incompatible-pointer-types-discards-qualifiers",
+            "-Wno-missing-field-initializers",
+            "-Wno-unused-parameter",
+            "-Wno-discarded-qualifiers",
+            "-Wno-sign-conversion",
+        ]
+
+        # silence clang for unused gcc CFLAGS added by Debian
+        args += [
+            "-Wno-unused-command-line-argument",
+        ]
+
+        args += [
+            "-fno-strict-aliasing",
+            "-fvisibility=hidden",
+        ]
+
+        # force GCC to use colors
+        if hasattr(sys.stdout, "isatty") and sys.stdout.isatty():
+            args.append("-fdiagnostics-color")
+
+        _cache[cache_key] = filter_compiler_arguments(compiler, args)
+
+    ext.extra_compile_args += _cache[cache_key]
+
+
 du_build_ext = get_command_class("build_ext")
 
 
@@ -640,9 +956,8 @@ class build_ext(du_build_ext):
     def _write_config_h(self):
         script_dir = get_script_dir()
         target = os.path.join(script_dir, "config.h")
-        versions = parse_versions(script_dir)
-        with io.open(target, 'w', encoding="utf-8") as h:
-            h.write("""
+        versions = get_versions()
+        content = u"""
 /* Configuration header created by setup.py - do not edit */
 #ifndef _CONFIG_H
 #define _CONFIG_H 1
@@ -653,13 +968,26 @@ class build_ext(du_build_ext):
 #define VERSION "%(VERSION)s"
 
 #endif /* _CONFIG_H */
-""" % versions)
+""" % versions
+
+        try:
+            with io.open(target, 'r', encoding="utf-8") as h:
+                if h.read() == content:
+                    return
+        except EnvironmentError:
+            pass
+
+        with io.open(target, 'w', encoding="utf-8") as h:
+            h.write(content)
 
     def _setup_extensions(self):
         ext = {e.name: e for e in self.extensions}
 
+        compiler = new_compiler(compiler=self.compiler)
+        customize_compiler(compiler)
+
         def add_dependency(ext, name):
-            add_ext_pkg_config_dep(ext, self.compiler_type, name)
+            add_ext_pkg_config_dep(ext, compiler.compiler_type, name)
 
         def add_pycairo(ext):
             ext.include_dirs += [get_pycairo_include_dir()]
@@ -669,6 +997,7 @@ class build_ext(du_build_ext):
         add_dependency(gi_ext, "gio-2.0")
         add_dependency(gi_ext, "gobject-introspection-1.0")
         add_dependency(gi_ext, "libffi")
+        add_ext_compiler_flags(gi_ext, compiler)
 
         gi_cairo_ext = ext["gi._gi_cairo"]
         add_dependency(gi_cairo_ext, "glib-2.0")
@@ -678,6 +1007,7 @@ class build_ext(du_build_ext):
         add_dependency(gi_cairo_ext, "cairo")
         add_dependency(gi_cairo_ext, "cairo-gobject")
         add_pycairo(gi_cairo_ext)
+        add_ext_compiler_flags(gi_cairo_ext, compiler)
 
     def run(self):
         self._write_config_h()
@@ -738,7 +1068,7 @@ class install_pkgconfig(Command):
             "includedir": "${prefix}/include",
             "datarootdir": "${prefix}/share",
             "datadir": "${datarootdir}",
-            "VERSION": self.distribution.get_version(),
+            "VERSION": PYGOBJECT_VERISON,
         }
         for key, value in config.items():
             content = content.replace("@%s@" % key, value)
@@ -783,19 +1113,27 @@ def main():
         name='gi._gi',
         sources=sources,
         include_dirs=[script_dir, gi_dir],
-        define_macros=[("HAVE_CONFIG_H", None), ("PY_SSIZE_T_CLEAN", None)],
+        depends=list_headers(script_dir) + list_headers(gi_dir),
+        define_macros=[("PY_SSIZE_T_CLEAN", None)],
     )
 
     gi_cairo_ext = Extension(
         name='gi._gi_cairo',
         sources=cairo_sources,
         include_dirs=[script_dir, gi_dir],
-        define_macros=[("HAVE_CONFIG_H", None), ("PY_SSIZE_T_CLEAN", None)],
+        depends=list_headers(script_dir) + list_headers(gi_dir),
+        define_macros=[("PY_SSIZE_T_CLEAN", None)],
     )
 
+    version = pkginfo["Version"]
+    if is_dev_version():
+        # This makes it a PEP 440 pre-release and pip will only install it from
+        # PyPI in case --pre is passed.
+        version += ".dev0"
+
     setup(
         name=pkginfo["Name"],
-        version=pkginfo["Version"],
+        version=version,
         description=pkginfo["Summary"],
         url=pkginfo["Home-page"],
         author=pkginfo["Author"],
@@ -819,6 +1157,7 @@ def main():
         cmdclass={
             "build_ext": build_ext,
             "distcheck": distcheck,
+            "sdist_gnome": sdist_gnome,
             "build_tests": build_tests,
             "test": test,
             "quality": quality,
@@ -827,7 +1166,7 @@ def main():
         },
         install_requires=[
             "pycairo>=%s" % get_version_requirement(
-                script_dir, get_pycairo_pkg_config_name()),
+                get_pycairo_pkg_config_name()),
         ],
         data_files=[
             ('include/pygobject-3.0', ['gi/pygobject.h']),
diff --git a/tests/Makefile.am b/tests/Makefile.am
deleted file mode 100644 (file)
index 31371c0..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-CLEANFILES =
-test_ltlibraries = libgimarshallingtests.la
-test_typelibs = GIMarshallingTests-1.0.typelib
-extension_ltlibraries =
-extension_libadd =
-
-common_ldflags = \
-       -avoid-version \
-       -rpath $(abs_builddir) \
-       -shared
-
-if OS_WIN32
-extension_libadd += \
-       $(PYTHON_LIBS)
-
-common_ldflags += \
-       -no-undefined
-endif
-
-# Note for Python extensions we need to use .so on Mac OSX, not .dylib
-extension_ldflags = \
-       $(common_ldflags) \
-       -module \
-       -shrext $(PYTHON_SO)
-
-extension_cppflags = \
-       $(PYTHON_INCLUDES) \
-       -DPY_SSIZE_T_CLEAN
-
-nodist_libgimarshallingtests_la_SOURCES = \
-       $(GI_DATADIR)/tests/gimarshallingtests.c \
-       $(GI_DATADIR)/tests/gimarshallingtests.h
-
-dist_libgimarshallingtests_la_SOURCES = \
-       $(srcdir)/gimarshallingtestsextra.c \
-       $(srcdir)/gimarshallingtestsextra.h
-
-# We don't control the source so don't pass WARN_CFLAGS etc
-libgimarshallingtests_la_CFLAGS = $(GLIB_CFLAGS)
-libgimarshallingtests_la_LDFLAGS = $(common_ldflags)
-libgimarshallingtests_la_LIBADD = $(GLIB_LIBS)
-
-GIMarshallingTests-1.0.gir: libgimarshallingtests.la Makefile
-       $(AM_V_GEN) $(INTROSPECTION_SCANNER) --include=Gio-2.0 \
-       --namespace=GIMarshallingTests --nsversion=1.0 --symbol-prefix=gi_marshalling_tests \
-       --warn-all --warn-error \
-       --library=libgimarshallingtests.la \
-       --libtool="$(top_builddir)/libtool" \
-       --output $@ \
-       $(nodist_libgimarshallingtests_la_SOURCES) \
-       $(dist_libgimarshallingtests_la_SOURCES)
-
-GIMarshallingTests-1.0.typelib: GIMarshallingTests-1.0.gir Makefile
-       $(AM_V_GEN) $(INTROSPECTION_COMPILER) $< -o $@
-
-# regress.c needs cairo
-test_ltlibraries += libregress.la
-test_typelibs += Regress-1.0.typelib
-nodist_libregress_la_SOURCES = $(GI_DATADIR)/tests/regress.c $(GI_DATADIR)/tests/regress.h
-dist_libregress_la_SOURCES = $(srcdir)/regressextra.c $(srcdir)/regressextra.h
-# We don't control the source so don't pass WARN_CFLAGS etc
-if ENABLE_CAIRO
-libregress_la_CFLAGS = $(GIO_CFLAGS) $(CAIRO_CFLAGS) -I$(GI_DATADIR)/tests
-libregress_la_LIBADD = $(GIO_LIBS) $(CAIRO_LIBS)
-else
-libregress_la_CFLAGS = $(GIO_CFLAGS) -D_GI_DISABLE_CAIRO -I$(GI_DATADIR)/tests
-libregress_la_LIBADD = $(GIO_LIBS) $(CAIRO_LIBS)
-endif
-libregress_la_LDFLAGS = $(common_ldflags)
-
-# g-i doesn't ship these as shared libraries anymore; we build them here
-Regress-1.0.gir: libregress.la Makefile
-       $(AM_V_GEN) $(INTROSPECTION_SCANNER) --include=cairo-1.0 --include=Gio-2.0 \
-       --namespace=Regress --nsversion=1.0 \
-       --warn-all --warn-error \
-       --library=libregress.la \
-       --libtool="$(top_builddir)/libtool" \
-       --output $@ \
-       $(nodist_libregress_la_SOURCES) \
-       $(dist_libregress_la_SOURCES)
-Regress-1.0.typelib: Regress-1.0.gir Makefile
-       $(AM_V_GEN) $(INTROSPECTION_COMPILER) $< -o $@
-
-gschemas.compiled: org.gnome.test.gschema.xml
-       glib-compile-schemas --targetdir=. --schema-file=$<
-
-CLEANFILES += Regress-1.0.gir Regress-1.0.typelib GIMarshallingTests-1.0.gir GIMarshallingTests-1.0.typelib gschemas.compiled
-
-extension_ltlibraries += testhelper.la
-
-testhelper_la_CFLAGS = $(CODE_COVERAGE_CFLAGS) $(WARN_CFLAGS) -I$(top_srcdir)/gi $(extension_cppflags) $(GLIB_CFLAGS)
-testhelper_la_CPPFLAGS = $(CODE_COVERAGE_CPPFLAGS) $(extension_cppflags)
-testhelper_la_LDFLAGS = $(WARN_LDFLAGS) $(extension_ldflags)
-testhelper_la_LIBADD = $(CODE_COVERAGE_LIBS) $(GLIB_LIBS) $(extension_libadd)
-
-testhelper_la_SOURCES = \
-       testhelpermodule.c \
-       test-floating.c \
-       test-thread.c \
-       test-unknown.c
-
-check_LTLIBRARIES = $(test_ltlibraries) $(extension_ltlibraries)
-
-target_libraries = \
-       $(test_ltlibraries:.la=.$(OS_EXT)) \
-       $(extension_ltlibraries:.la=$(PYTHON_SO))
-
-$(target_libraries):
-       test -L $@ || $(LN_S) .libs/$@ $@
-
-EXTRA_DIST = \
-       helper.py \
-       compathelper.py \
-       runtests.py \
-       testmodule.py \
-       test-floating.h \
-       test-thread.h \
-       test-unknown.h \
-       org.gnome.test.gschema.xml \
-       test_cairo.py \
-       test_error.py \
-       test_fields.py \
-       test_gio.py \
-       test_glib.py \
-       test_gobject.py \
-       test_gtype.py \
-       test_interface.py \
-       test_internal_api.py \
-       test_iochannel.py \
-       test_mainloop.py \
-       test_object_marshaling.py \
-       test_option.py \
-       test_properties.py \
-       test_pygtkcompat.py \
-       test_signal.py \
-       test_source.py \
-       test_subprocess.py \
-       test_thread.py \
-       test_typeclass.py \
-       test_everything.py \
-       test_gi.py \
-       test_gdbus.py \
-       test_import_machinery.py \
-       test_overrides_glib.py \
-       test_overrides_pango.py \
-       test_overrides_gdk.py \
-       test_overrides_gtk.py \
-       test_atoms.py \
-       test_generictreemodel.py \
-       test_docstring.py \
-       test_repository.py \
-       test_resulttuple.py \
-       test_unknown.py \
-       test_ossig.py \
-       conftest.py \
-       __init__.py \
-       gi/__init__.py \
-       gi/overrides/__init__.py \
-       gi/overrides/Regress.py \
-       $(NULL)
-
-clean-local:
-       rm -f $(target_libraries) file.txt~;
-       @if [ "$(abs_builddir)" != "$(abs_srcdir)" ]; then \
-               rm -f __init__.py; \
-       fi;
-
-# Unsetting MSYSTEM prevents msys2 from changing os.path.sep to "/"
-RUN_TESTS_ENV_VARS= \
-       MALLOC_PERTURB_=85 \
-       MALLOC_CHECK_=3 \
-       G_SLICE=debug-blocks \
-       MSYSTEM= \
-       TESTS_BUILDDIR=$(builddir)
-
-# for non-srcdir builds
-$(abs_builddir)/__init__.py: $(abs_srcdir)/__init__.py
-       echo "__path__ = __import__('pkgutil').extend_path(__path__, __name__)" > $@
-
-# pygtkcompat tests need to be run in a separate process as they
-# clobber global name space
-check-local: $(target_libraries) $(test_typelibs) gschemas.compiled $(abs_builddir)/__init__.py
-       $(RUN_TESTS_ENV_VARS) $(EXTRA_ENV) $(EXEC_NAME) $(PYTHON) $(srcdir)/runtests.py;
-
-check.gdb:
-       EXEC_NAME="gdb --args" $(MAKE) check
-
-check.nemiver:
-       EXEC_NAME="nemiver" $(MAKE) check
-
-# Note G_SLICE in these check variations is intended to clobber the default set in RUN_TESTS_ENV_VARS
-check.valgrind:
-       EXTRA_ENV="G_SLICE=always-malloc G_DEBUG=gc-friendly PYTHONMALLOC=malloc" \
-       EXEC_NAME="valgrind --leak-check=full --show-possibly-lost=no --num-callers=20 \
-       --suppressions=$(top_srcdir)/tests/$(PYTHON_VALGRIND_SUPP).supp \
-       " \
-       $(MAKE) check
-
-check.valgrindlog:
-       mkdir -p $(top_builddir)/tmp
-       EXTRA_ENV="G_SLICE=always-malloc G_DEBUG=gc-friendly PYTHONMALLOC=malloc" \
-       EXEC_NAME="valgrind --leak-check=full --show-possibly-lost=no --num-callers=20 \
-       --suppressions=$(top_srcdir)/tests/$(PYTHON_VALGRIND_SUPP).supp \
-       --child-silent-after-fork=yes \
-       --log-file=$(top_builddir)/tmp/`git rev-parse HEAD | cut -c1-8`-$$TEST_NAMES.log \
-       " \
-       $(MAKE) check
-
-check.valgrindxml:
-       mkdir -p $(top_builddir)/tmp
-       EXTRA_ENV="G_SLICE=always-malloc G_DEBUG=gc-friendly PYTHONMALLOC=malloc" \
-       EXEC_NAME="valgrind --leak-check=full --show-possibly-lost=no --num-callers=20 \
-       --suppressions=$(top_srcdir)/tests/$(PYTHON_VALGRIND_SUPP).supp \
-       --child-silent-after-fork=yes \
-       --xml=yes --xml-file=$(top_builddir)/tmp/`git rev-parse HEAD | cut -c1-8`-$$TEST_NAMES.xml \
-       " \
-       $(MAKE) check
diff --git a/tests/Makefile.in b/tests/Makefile.in
deleted file mode 100644 (file)
index 7dc52d5..0000000
+++ /dev/null
@@ -1,965 +0,0 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2017 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@
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) 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@
-@OS_WIN32_TRUE@am__append_1 = \
-@OS_WIN32_TRUE@        $(PYTHON_LIBS)
-
-@OS_WIN32_TRUE@am__append_2 = \
-@OS_WIN32_TRUE@        -no-undefined
-
-subdir = tests
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
-       $(top_srcdir)/m4/ax_append_flag.m4 \
-       $(top_srcdir)/m4/ax_append_link_flags.m4 \
-       $(top_srcdir)/m4/ax_check_compile_flag.m4 \
-       $(top_srcdir)/m4/ax_check_link_flag.m4 \
-       $(top_srcdir)/m4/ax_code_coverage.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_cflags.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_gir.m4 \
-       $(top_srcdir)/m4/ax_compiler_flags_ldflags.m4 \
-       $(top_srcdir)/m4/ax_is_release.m4 \
-       $(top_srcdir)/m4/ax_require_defined.m4 \
-       $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/introspection.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/pkg.m4 \
-       $(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__DEPENDENCIES_1 =
-libgimarshallingtests_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
-dist_libgimarshallingtests_la_OBJECTS =  \
-       libgimarshallingtests_la-gimarshallingtestsextra.lo
-nodist_libgimarshallingtests_la_OBJECTS =  \
-       libgimarshallingtests_la-gimarshallingtests.lo
-libgimarshallingtests_la_OBJECTS =  \
-       $(dist_libgimarshallingtests_la_OBJECTS) \
-       $(nodist_libgimarshallingtests_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 = 
-libgimarshallingtests_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
-       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
-       $(libgimarshallingtests_la_CFLAGS) $(CFLAGS) \
-       $(libgimarshallingtests_la_LDFLAGS) $(LDFLAGS) -o $@
-@ENABLE_CAIRO_FALSE@libregress_la_DEPENDENCIES =  \
-@ENABLE_CAIRO_FALSE@   $(am__DEPENDENCIES_1) \
-@ENABLE_CAIRO_FALSE@   $(am__DEPENDENCIES_1)
-@ENABLE_CAIRO_TRUE@libregress_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-@ENABLE_CAIRO_TRUE@    $(am__DEPENDENCIES_1)
-dist_libregress_la_OBJECTS = libregress_la-regressextra.lo
-nodist_libregress_la_OBJECTS = libregress_la-regress.lo
-libregress_la_OBJECTS = $(dist_libregress_la_OBJECTS) \
-       $(nodist_libregress_la_OBJECTS)
-libregress_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libregress_la_CFLAGS) \
-       $(CFLAGS) $(libregress_la_LDFLAGS) $(LDFLAGS) -o $@
-@OS_WIN32_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
-am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2)
-testhelper_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_3)
-am_testhelper_la_OBJECTS = testhelper_la-testhelpermodule.lo \
-       testhelper_la-test-floating.lo testhelper_la-test-thread.lo \
-       testhelper_la-test-unknown.lo
-testhelper_la_OBJECTS = $(am_testhelper_la_OBJECTS)
-testhelper_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testhelper_la_CFLAGS) \
-       $(CFLAGS) $(testhelper_la_LDFLAGS) $(LDFLAGS) -o $@
-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 = 
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-       $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
-SOURCES = $(dist_libgimarshallingtests_la_SOURCES) \
-       $(nodist_libgimarshallingtests_la_SOURCES) \
-       $(dist_libregress_la_SOURCES) $(nodist_libregress_la_SOURCES) \
-       $(testhelper_la_SOURCES)
-DIST_SOURCES = $(dist_libgimarshallingtests_la_SOURCES) \
-       $(dist_libregress_la_SOURCES) $(testhelper_la_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)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
-CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
-CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
-CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
-CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
-CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
-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@
-FFI_CFLAGS = @FFI_CFLAGS@
-FFI_LIBS = @FFI_LIBS@
-FGREP = @FGREP@
-GCOV = @GCOV@
-GENHTML = @GENHTML@
-GIO_CFLAGS = @GIO_CFLAGS@
-GIO_LIBS = @GIO_LIBS@
-GI_CFLAGS = @GI_CFLAGS@
-GI_DATADIR = @GI_DATADIR@
-GI_LIBS = @GI_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_QUERY = @GOBJECT_QUERY@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-LCOV = @LCOV@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_EXT = @OS_EXT@
-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@
-PYCAIRO_CFLAGS = @PYCAIRO_CFLAGS@
-PYCAIRO_LIBS = @PYCAIRO_LIBS@
-PYGOBJECT_MAJOR_VERSION = @PYGOBJECT_MAJOR_VERSION@
-PYGOBJECT_MICRO_VERSION = @PYGOBJECT_MICRO_VERSION@
-PYGOBJECT_MINOR_VERSION = @PYGOBJECT_MINOR_VERSION@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_LIB_LOC = @PYTHON_LIB_LOC@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_SO = @PYTHON_SO@
-PYTHON_VALGRIND_SUPP = @PYTHON_VALGRIND_SUPP@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WARN_LDFLAGS = @WARN_LDFLAGS@
-WARN_SCANNERFLAGS = @WARN_SCANNERFLAGS@
-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@
-runstatedir = @runstatedir@
-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@
-CLEANFILES = Regress-1.0.gir Regress-1.0.typelib \
-       GIMarshallingTests-1.0.gir GIMarshallingTests-1.0.typelib \
-       gschemas.compiled
-
-# regress.c needs cairo
-test_ltlibraries = libgimarshallingtests.la libregress.la
-test_typelibs = GIMarshallingTests-1.0.typelib Regress-1.0.typelib
-extension_ltlibraries = testhelper.la
-extension_libadd = $(am__append_1)
-common_ldflags = -avoid-version -rpath $(abs_builddir) -shared \
-       $(am__append_2)
-
-# Note for Python extensions we need to use .so on Mac OSX, not .dylib
-extension_ldflags = \
-       $(common_ldflags) \
-       -module \
-       -shrext $(PYTHON_SO)
-
-extension_cppflags = \
-       $(PYTHON_INCLUDES) \
-       -DPY_SSIZE_T_CLEAN
-
-nodist_libgimarshallingtests_la_SOURCES = \
-       $(GI_DATADIR)/tests/gimarshallingtests.c \
-       $(GI_DATADIR)/tests/gimarshallingtests.h
-
-dist_libgimarshallingtests_la_SOURCES = \
-       $(srcdir)/gimarshallingtestsextra.c \
-       $(srcdir)/gimarshallingtestsextra.h
-
-
-# We don't control the source so don't pass WARN_CFLAGS etc
-libgimarshallingtests_la_CFLAGS = $(GLIB_CFLAGS)
-libgimarshallingtests_la_LDFLAGS = $(common_ldflags)
-libgimarshallingtests_la_LIBADD = $(GLIB_LIBS)
-nodist_libregress_la_SOURCES = $(GI_DATADIR)/tests/regress.c $(GI_DATADIR)/tests/regress.h
-dist_libregress_la_SOURCES = $(srcdir)/regressextra.c $(srcdir)/regressextra.h
-@ENABLE_CAIRO_FALSE@libregress_la_CFLAGS = $(GIO_CFLAGS) -D_GI_DISABLE_CAIRO -I$(GI_DATADIR)/tests
-# We don't control the source so don't pass WARN_CFLAGS etc
-@ENABLE_CAIRO_TRUE@libregress_la_CFLAGS = $(GIO_CFLAGS) $(CAIRO_CFLAGS) -I$(GI_DATADIR)/tests
-@ENABLE_CAIRO_FALSE@libregress_la_LIBADD = $(GIO_LIBS) $(CAIRO_LIBS)
-@ENABLE_CAIRO_TRUE@libregress_la_LIBADD = $(GIO_LIBS) $(CAIRO_LIBS)
-libregress_la_LDFLAGS = $(common_ldflags)
-testhelper_la_CFLAGS = $(CODE_COVERAGE_CFLAGS) $(WARN_CFLAGS) -I$(top_srcdir)/gi $(extension_cppflags) $(GLIB_CFLAGS)
-testhelper_la_CPPFLAGS = $(CODE_COVERAGE_CPPFLAGS) $(extension_cppflags)
-testhelper_la_LDFLAGS = $(WARN_LDFLAGS) $(extension_ldflags)
-testhelper_la_LIBADD = $(CODE_COVERAGE_LIBS) $(GLIB_LIBS) $(extension_libadd)
-testhelper_la_SOURCES = \
-       testhelpermodule.c \
-       test-floating.c \
-       test-thread.c \
-       test-unknown.c
-
-check_LTLIBRARIES = $(test_ltlibraries) $(extension_ltlibraries)
-target_libraries = \
-       $(test_ltlibraries:.la=.$(OS_EXT)) \
-       $(extension_ltlibraries:.la=$(PYTHON_SO))
-
-EXTRA_DIST = \
-       helper.py \
-       compathelper.py \
-       runtests.py \
-       testmodule.py \
-       test-floating.h \
-       test-thread.h \
-       test-unknown.h \
-       org.gnome.test.gschema.xml \
-       test_cairo.py \
-       test_error.py \
-       test_fields.py \
-       test_gio.py \
-       test_glib.py \
-       test_gobject.py \
-       test_gtype.py \
-       test_interface.py \
-       test_internal_api.py \
-       test_iochannel.py \
-       test_mainloop.py \
-       test_object_marshaling.py \
-       test_option.py \
-       test_properties.py \
-       test_pygtkcompat.py \
-       test_signal.py \
-       test_source.py \
-       test_subprocess.py \
-       test_thread.py \
-       test_typeclass.py \
-       test_everything.py \
-       test_gi.py \
-       test_gdbus.py \
-       test_import_machinery.py \
-       test_overrides_glib.py \
-       test_overrides_pango.py \
-       test_overrides_gdk.py \
-       test_overrides_gtk.py \
-       test_atoms.py \
-       test_generictreemodel.py \
-       test_docstring.py \
-       test_repository.py \
-       test_resulttuple.py \
-       test_unknown.py \
-       test_ossig.py \
-       conftest.py \
-       __init__.py \
-       gi/__init__.py \
-       gi/overrides/__init__.py \
-       gi/overrides/Regress.py \
-       $(NULL)
-
-
-# Unsetting MSYSTEM prevents msys2 from changing os.path.sep to "/"
-RUN_TESTS_ENV_VARS = \
-       MALLOC_PERTURB_=85 \
-       MALLOC_CHECK_=3 \
-       G_SLICE=debug-blocks \
-       MSYSTEM= \
-       TESTS_BUILDDIR=$(builddir)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign tests/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_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(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}; \
-       }
-
-libgimarshallingtests.la: $(libgimarshallingtests_la_OBJECTS) $(libgimarshallingtests_la_DEPENDENCIES) $(EXTRA_libgimarshallingtests_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(libgimarshallingtests_la_LINK)  $(libgimarshallingtests_la_OBJECTS) $(libgimarshallingtests_la_LIBADD) $(LIBS)
-
-libregress.la: $(libregress_la_OBJECTS) $(libregress_la_DEPENDENCIES) $(EXTRA_libregress_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(libregress_la_LINK)  $(libregress_la_OBJECTS) $(libregress_la_LIBADD) $(LIBS)
-
-testhelper.la: $(testhelper_la_OBJECTS) $(testhelper_la_DEPENDENCIES) $(EXTRA_testhelper_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(testhelper_la_LINK)  $(testhelper_la_OBJECTS) $(testhelper_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgimarshallingtests_la-gimarshallingtests.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgimarshallingtests_la-gimarshallingtestsextra.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libregress_la-regress.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libregress_la-regressextra.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testhelper_la-test-floating.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testhelper_la-test-thread.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testhelper_la-test-unknown.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testhelper_la-testhelpermodule.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-libgimarshallingtests_la-gimarshallingtestsextra.lo: $(srcdir)/gimarshallingtestsextra.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) $(libgimarshallingtests_la_CFLAGS) $(CFLAGS) -MT libgimarshallingtests_la-gimarshallingtestsextra.lo -MD -MP -MF $(DEPDIR)/libgimarshallingtests_la-gimarshallingtestsextra.Tpo -c -o libgimarshallingtests_la-gimarshallingtestsextra.lo `test -f '$(srcdir)/gimarshallingtestsextra.c' || echo '$(srcdir)/'`$(srcdir)/gimarshallingtestsextra.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgimarshallingtests_la-gimarshallingtestsextra.Tpo $(DEPDIR)/libgimarshallingtests_la-gimarshallingtestsextra.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$(srcdir)/gimarshallingtestsextra.c' object='libgimarshallingtests_la-gimarshallingtestsextra.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) $(libgimarshallingtests_la_CFLAGS) $(CFLAGS) -c -o libgimarshallingtests_la-gimarshallingtestsextra.lo `test -f '$(srcdir)/gimarshallingtestsextra.c' || echo '$(srcdir)/'`$(srcdir)/gimarshallingtestsextra.c
-
-libgimarshallingtests_la-gimarshallingtests.lo: $(GI_DATADIR)/tests/gimarshallingtests.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) $(libgimarshallingtests_la_CFLAGS) $(CFLAGS) -MT libgimarshallingtests_la-gimarshallingtests.lo -MD -MP -MF $(DEPDIR)/libgimarshallingtests_la-gimarshallingtests.Tpo -c -o libgimarshallingtests_la-gimarshallingtests.lo `test -f '$(GI_DATADIR)/tests/gimarshallingtests.c' || echo '$(srcdir)/'`$(GI_DATADIR)/tests/gimarshallingtests.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgimarshallingtests_la-gimarshallingtests.Tpo $(DEPDIR)/libgimarshallingtests_la-gimarshallingtests.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$(GI_DATADIR)/tests/gimarshallingtests.c' object='libgimarshallingtests_la-gimarshallingtests.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) $(libgimarshallingtests_la_CFLAGS) $(CFLAGS) -c -o libgimarshallingtests_la-gimarshallingtests.lo `test -f '$(GI_DATADIR)/tests/gimarshallingtests.c' || echo '$(srcdir)/'`$(GI_DATADIR)/tests/gimarshallingtests.c
-
-libregress_la-regressextra.lo: $(srcdir)/regressextra.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) $(libregress_la_CFLAGS) $(CFLAGS) -MT libregress_la-regressextra.lo -MD -MP -MF $(DEPDIR)/libregress_la-regressextra.Tpo -c -o libregress_la-regressextra.lo `test -f '$(srcdir)/regressextra.c' || echo '$(srcdir)/'`$(srcdir)/regressextra.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libregress_la-regressextra.Tpo $(DEPDIR)/libregress_la-regressextra.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$(srcdir)/regressextra.c' object='libregress_la-regressextra.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) $(libregress_la_CFLAGS) $(CFLAGS) -c -o libregress_la-regressextra.lo `test -f '$(srcdir)/regressextra.c' || echo '$(srcdir)/'`$(srcdir)/regressextra.c
-
-libregress_la-regress.lo: $(GI_DATADIR)/tests/regress.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) $(libregress_la_CFLAGS) $(CFLAGS) -MT libregress_la-regress.lo -MD -MP -MF $(DEPDIR)/libregress_la-regress.Tpo -c -o libregress_la-regress.lo `test -f '$(GI_DATADIR)/tests/regress.c' || echo '$(srcdir)/'`$(GI_DATADIR)/tests/regress.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libregress_la-regress.Tpo $(DEPDIR)/libregress_la-regress.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$(GI_DATADIR)/tests/regress.c' object='libregress_la-regress.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) $(libregress_la_CFLAGS) $(CFLAGS) -c -o libregress_la-regress.lo `test -f '$(GI_DATADIR)/tests/regress.c' || echo '$(srcdir)/'`$(GI_DATADIR)/tests/regress.c
-
-testhelper_la-testhelpermodule.lo: testhelpermodule.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testhelper_la_CPPFLAGS) $(CPPFLAGS) $(testhelper_la_CFLAGS) $(CFLAGS) -MT testhelper_la-testhelpermodule.lo -MD -MP -MF $(DEPDIR)/testhelper_la-testhelpermodule.Tpo -c -o testhelper_la-testhelpermodule.lo `test -f 'testhelpermodule.c' || echo '$(srcdir)/'`testhelpermodule.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/testhelper_la-testhelpermodule.Tpo $(DEPDIR)/testhelper_la-testhelpermodule.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='testhelpermodule.c' object='testhelper_la-testhelpermodule.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) $(testhelper_la_CPPFLAGS) $(CPPFLAGS) $(testhelper_la_CFLAGS) $(CFLAGS) -c -o testhelper_la-testhelpermodule.lo `test -f 'testhelpermodule.c' || echo '$(srcdir)/'`testhelpermodule.c
-
-testhelper_la-test-floating.lo: test-floating.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testhelper_la_CPPFLAGS) $(CPPFLAGS) $(testhelper_la_CFLAGS) $(CFLAGS) -MT testhelper_la-test-floating.lo -MD -MP -MF $(DEPDIR)/testhelper_la-test-floating.Tpo -c -o testhelper_la-test-floating.lo `test -f 'test-floating.c' || echo '$(srcdir)/'`test-floating.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/testhelper_la-test-floating.Tpo $(DEPDIR)/testhelper_la-test-floating.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='test-floating.c' object='testhelper_la-test-floating.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) $(testhelper_la_CPPFLAGS) $(CPPFLAGS) $(testhelper_la_CFLAGS) $(CFLAGS) -c -o testhelper_la-test-floating.lo `test -f 'test-floating.c' || echo '$(srcdir)/'`test-floating.c
-
-testhelper_la-test-thread.lo: test-thread.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testhelper_la_CPPFLAGS) $(CPPFLAGS) $(testhelper_la_CFLAGS) $(CFLAGS) -MT testhelper_la-test-thread.lo -MD -MP -MF $(DEPDIR)/testhelper_la-test-thread.Tpo -c -o testhelper_la-test-thread.lo `test -f 'test-thread.c' || echo '$(srcdir)/'`test-thread.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/testhelper_la-test-thread.Tpo $(DEPDIR)/testhelper_la-test-thread.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='test-thread.c' object='testhelper_la-test-thread.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) $(testhelper_la_CPPFLAGS) $(CPPFLAGS) $(testhelper_la_CFLAGS) $(CFLAGS) -c -o testhelper_la-test-thread.lo `test -f 'test-thread.c' || echo '$(srcdir)/'`test-thread.c
-
-testhelper_la-test-unknown.lo: test-unknown.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testhelper_la_CPPFLAGS) $(CPPFLAGS) $(testhelper_la_CFLAGS) $(CFLAGS) -MT testhelper_la-test-unknown.lo -MD -MP -MF $(DEPDIR)/testhelper_la-test-unknown.Tpo -c -o testhelper_la-test-unknown.lo `test -f 'test-unknown.c' || echo '$(srcdir)/'`test-unknown.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/testhelper_la-test-unknown.Tpo $(DEPDIR)/testhelper_la-test-unknown.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='test-unknown.c' object='testhelper_la-test-unknown.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) $(testhelper_la_CPPFLAGS) $(CPPFLAGS) $(testhelper_la_CFLAGS) $(CFLAGS) -c -o testhelper_la-test-unknown.lo `test -f 'test-unknown.c' || echo '$(srcdir)/'`test-unknown.c
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
-       $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-       set x; \
-       here=`pwd`; \
-       $(am__define_uniq_tagged_files); \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-       $(am__define_uniq_tagged_files); \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
-       list='$(am__tagged_files)'; \
-       case "$(srcdir)" in \
-         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-         *) sdir=$(subdir)/$(srcdir) ;; \
-       esac; \
-       for i in $$list; do \
-         if test -f "$$i"; then \
-           echo "$(subdir)/$$i"; \
-         else \
-           echo "$$sdir/$$i"; \
-         fi; \
-       done >> $(top_builddir)/cscope.files
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-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_LTLIBRARIES)
-       $(MAKE) $(AM_MAKEFLAGS) check-local
-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:
-
-clean-generic:
-       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-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-checkLTLIBRARIES clean-generic clean-libtool \
-       clean-local mostlyclean-am
-
-distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-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 -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
-       clean-checkLTLIBRARIES clean-generic clean-libtool clean-local \
-       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
-
-.PRECIOUS: Makefile
-
-
-GIMarshallingTests-1.0.gir: libgimarshallingtests.la Makefile
-       $(AM_V_GEN) $(INTROSPECTION_SCANNER) --include=Gio-2.0 \
-       --namespace=GIMarshallingTests --nsversion=1.0 --symbol-prefix=gi_marshalling_tests \
-       --warn-all --warn-error \
-       --library=libgimarshallingtests.la \
-       --libtool="$(top_builddir)/libtool" \
-       --output $@ \
-       $(nodist_libgimarshallingtests_la_SOURCES) \
-       $(dist_libgimarshallingtests_la_SOURCES)
-
-GIMarshallingTests-1.0.typelib: GIMarshallingTests-1.0.gir Makefile
-       $(AM_V_GEN) $(INTROSPECTION_COMPILER) $< -o $@
-
-# g-i doesn't ship these as shared libraries anymore; we build them here
-Regress-1.0.gir: libregress.la Makefile
-       $(AM_V_GEN) $(INTROSPECTION_SCANNER) --include=cairo-1.0 --include=Gio-2.0 \
-       --namespace=Regress --nsversion=1.0 \
-       --warn-all --warn-error \
-       --library=libregress.la \
-       --libtool="$(top_builddir)/libtool" \
-       --output $@ \
-       $(nodist_libregress_la_SOURCES) \
-       $(dist_libregress_la_SOURCES)
-Regress-1.0.typelib: Regress-1.0.gir Makefile
-       $(AM_V_GEN) $(INTROSPECTION_COMPILER) $< -o $@
-
-gschemas.compiled: org.gnome.test.gschema.xml
-       glib-compile-schemas --targetdir=. --schema-file=$<
-
-$(target_libraries):
-       test -L $@ || $(LN_S) .libs/$@ $@
-
-clean-local:
-       rm -f $(target_libraries) file.txt~;
-       @if [ "$(abs_builddir)" != "$(abs_srcdir)" ]; then \
-               rm -f __init__.py; \
-       fi;
-
-# for non-srcdir builds
-$(abs_builddir)/__init__.py: $(abs_srcdir)/__init__.py
-       echo "__path__ = __import__('pkgutil').extend_path(__path__, __name__)" > $@
-
-# pygtkcompat tests need to be run in a separate process as they
-# clobber global name space
-check-local: $(target_libraries) $(test_typelibs) gschemas.compiled $(abs_builddir)/__init__.py
-       $(RUN_TESTS_ENV_VARS) $(EXTRA_ENV) $(EXEC_NAME) $(PYTHON) $(srcdir)/runtests.py;
-
-check.gdb:
-       EXEC_NAME="gdb --args" $(MAKE) check
-
-check.nemiver:
-       EXEC_NAME="nemiver" $(MAKE) check
-
-# Note G_SLICE in these check variations is intended to clobber the default set in RUN_TESTS_ENV_VARS
-check.valgrind:
-       EXTRA_ENV="G_SLICE=always-malloc G_DEBUG=gc-friendly PYTHONMALLOC=malloc" \
-       EXEC_NAME="valgrind --leak-check=full --show-possibly-lost=no --num-callers=20 \
-       --suppressions=$(top_srcdir)/tests/$(PYTHON_VALGRIND_SUPP).supp \
-       " \
-       $(MAKE) check
-
-check.valgrindlog:
-       mkdir -p $(top_builddir)/tmp
-       EXTRA_ENV="G_SLICE=always-malloc G_DEBUG=gc-friendly PYTHONMALLOC=malloc" \
-       EXEC_NAME="valgrind --leak-check=full --show-possibly-lost=no --num-callers=20 \
-       --suppressions=$(top_srcdir)/tests/$(PYTHON_VALGRIND_SUPP).supp \
-       --child-silent-after-fork=yes \
-       --log-file=$(top_builddir)/tmp/`git rev-parse HEAD | cut -c1-8`-$$TEST_NAMES.log \
-       " \
-       $(MAKE) check
-
-check.valgrindxml:
-       mkdir -p $(top_builddir)/tmp
-       EXTRA_ENV="G_SLICE=always-malloc G_DEBUG=gc-friendly PYTHONMALLOC=malloc" \
-       EXEC_NAME="valgrind --leak-check=full --show-possibly-lost=no --num-callers=20 \
-       --suppressions=$(top_srcdir)/tests/$(PYTHON_VALGRIND_SUPP).supp \
-       --child-silent-after-fork=yes \
-       --xml=yes --xml-file=$(top_builddir)/tmp/`git rev-parse HEAD | cut -c1-8`-$$TEST_NAMES.xml \
-       " \
-       $(MAKE) check
-
-# 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/compathelper.py b/tests/compathelper.py
deleted file mode 100644 (file)
index 4ed3894..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-import sys
-
-PY2 = PY3 = False
-
-if sys.version_info >= (3, 0):
-    '''
-    for tests that need to test long values in python 2
-
-    python 3 does not differentiate between long and int
-    and does not supply a long keyword
-
-    instead of testing longs by using values such as 10L
-    test writters should do this:
-
-    from compathelper import _long
-    _long(10)
-    '''
-    _long = int
-
-    '''
-    for tests that need to test string values in python 2
-
-    python 3 does differentiate between str and bytes
-    and does not supply a basestring keyword
-
-    any tests that use basestring should do this:
-
-    from compathelper import _basestring
-    isinstance(_basestring, "hello")
-    '''
-    _basestring = str
-
-    from io import StringIO
-    StringIO
-    PY3 = True
-
-    def reraise(tp, value, tb):
-        raise tp(value).with_traceback(tb)
-else:
-    _long = long
-    _basestring = basestring
-    from StringIO import StringIO
-    StringIO
-    PY2 = True
-
-    exec("def reraise(tp, value, tb):\n raise tp, value, tb")
index f69405d..50b3f75 100644 (file)
@@ -4,7 +4,7 @@ import sys
 
 import pytest
 
-from .compathelper import reraise
+from gi._compat import reraise
 
 
 @pytest.hookimpl(hookwrapper=True)
diff --git a/tests/gi/__init__.py b/tests/gi/__init__.py
deleted file mode 100644 (file)
index 3ad9513..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-from pkgutil import extend_path
-__path__ = extend_path(__path__, __name__)
index ae6a033..4debaf5 100644 (file)
@@ -154,3 +154,24 @@ gi_marshalling_tests_extra_flags_large_in (GIMarshallingTestsExtraFlags value)
 {
   g_assert_cmpint (value, ==, GI_MARSHALLING_TESTS_EXTRA_FLAGS_VALUE2);
 }
+
+
+/**
+ * gi_marshalling_tests_extra_utf8_full_return_invalid:
+ */
+gchar *
+gi_marshalling_tests_extra_utf8_full_return_invalid (void)
+{
+  return g_strdup ("invalid utf8 \xff\xfe");
+}
+
+
+/**
+ * gi_marshalling_tests_extra_utf8_full_out_invalid:
+ * @utf8: (out) (transfer full):
+ */
+void
+gi_marshalling_tests_extra_utf8_full_out_invalid (gchar **utf8)
+{
+  *utf8 = g_strdup ("invalid utf8 \xff\xfe");
+}
index 57f52f4..0e777b8 100644 (file)
@@ -50,4 +50,7 @@ GIMarshallingTestsExtraEnum * gi_marshalling_tests_enum_array_return_type (gsize
 
 void gi_marshalling_tests_extra_flags_large_in (GIMarshallingTestsExtraFlags value);
 
+gchar *gi_marshalling_tests_extra_utf8_full_return_invalid (void);
+void gi_marshalling_tests_extra_utf8_full_out_invalid (gchar **utf8);
+
 #endif /* EXTRA_TESTS */
index 22d1b50..1485ec3 100644 (file)
@@ -11,8 +11,7 @@ from collections import namedtuple
 import gi
 from gi import PyGIDeprecationWarning
 from gi.repository import GLib
-
-from .compathelper import StringIO
+from gi._compat import StringIO
 
 
 ExceptionInfo = namedtuple("ExceptionInfo", ["type", "value", "traceback"])
index 4c92f33..a142678 100644 (file)
@@ -100,3 +100,187 @@ regress_test_glist_boxed_full_return (guint count)
     }
     return list;
 }
+
+
+#ifndef _GI_DISABLE_CAIRO
+
+/**
+ * regress_test_cairo_context_none_return:
+ *
+ * Returns: (transfer none):
+ */
+cairo_t *
+regress_test_cairo_context_none_return (void)
+{
+    static cairo_t *cr;
+
+    if (cr == NULL) {
+        cairo_surface_t *surface;
+        surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 10, 10);
+        cr = cairo_create (surface);
+        cairo_surface_destroy (surface);
+    }
+
+    return cr;
+}
+
+/**
+ * regress_test_cairo_context_full_in:
+ * @context: (transfer full):
+ */
+void
+regress_test_cairo_context_full_in (cairo_t *context)
+{
+    cairo_destroy (context);
+}
+
+
+/**
+ * regress_test_cairo_path_full_return:
+ *
+ * Returns: (transfer full):
+ */
+cairo_path_t *
+regress_test_cairo_path_full_return (void)
+{
+    cairo_t *cr = regress_test_cairo_context_none_return ();
+
+    return cairo_copy_path (cr);
+}
+
+/**
+ * regress_test_cairo_path_none_in:
+ * @path: (transfer none):
+ */
+void
+regress_test_cairo_path_none_in (cairo_path_t *path)
+{
+    cairo_t *cr = regress_test_cairo_context_full_return ();
+    cairo_append_path (cr, path);
+    g_assert (cairo_status (cr) == CAIRO_STATUS_SUCCESS);
+    cairo_destroy (cr);
+}
+
+/**
+ * regress_test_cairo_path_full_in_full_return:
+ * @path: (transfer full):
+ *
+ * Returns: (transfer full):
+ */
+cairo_path_t *
+regress_test_cairo_path_full_in_full_return (cairo_path_t *path)
+{
+    return path;
+}
+
+/**
+ * regress_test_cairo_region_full_in:
+ * @region: (transfer full):
+ */
+void
+regress_test_cairo_region_full_in (cairo_region_t *region)
+{
+    cairo_region_destroy (region);
+}
+
+/**
+ * regress_test_cairo_surface_full_in:
+ * @surface: (transfer full):
+ */
+void
+regress_test_cairo_surface_full_in (cairo_surface_t *surface)
+{
+    g_assert (cairo_image_surface_get_format (surface) == CAIRO_FORMAT_ARGB32);
+    g_assert (cairo_image_surface_get_width (surface) == 10);
+    g_assert (cairo_image_surface_get_height (surface) == 10);
+    cairo_surface_destroy (surface);
+}
+
+/**
+ * regress_test_cairo_font_options_full_return:
+ *
+ * Returns: (transfer full):
+ */
+cairo_font_options_t *
+regress_test_cairo_font_options_full_return (void)
+{
+    return cairo_font_options_create ();
+}
+
+/**
+ * regress_test_cairo_font_options_none_return:
+ *
+ * Returns: (transfer none):
+ */
+cairo_font_options_t *
+regress_test_cairo_font_options_none_return (void)
+{
+    static cairo_font_options_t *options;
+
+    if (options == NULL)
+        options = cairo_font_options_create ();
+
+    return options;
+}
+
+/**
+ * regress_test_cairo_font_options_full_in:
+ * @options: (transfer full):
+ */
+void
+regress_test_cairo_font_options_full_in (cairo_font_options_t *options)
+{
+    cairo_font_options_destroy (options);
+}
+
+/**
+ * regress_test_cairo_font_options_none_in:
+ * @options: (transfer none):
+ */
+void
+regress_test_cairo_font_options_none_in (cairo_font_options_t *options)
+{
+}
+
+
+/**
+ * regress_test_cairo_matrix_none_in:
+ * @matrix: (transfer none):
+ */
+void
+regress_test_cairo_matrix_none_in (const cairo_matrix_t *matrix)
+{
+    cairo_matrix_t m = *matrix;
+    g_assert (m.x0 == 0);
+    g_assert (m.y0 == 0);
+    g_assert (m.xx == 1);
+    g_assert (m.xy == 0);
+    g_assert (m.yy == 1);
+    g_assert (m.yx == 0);
+}
+
+/**
+ * regress_test_cairo_matrix_none_return:
+ * Returns: (transfer none):
+ */
+cairo_matrix_t *
+regress_test_cairo_matrix_none_return (void)
+{
+    static cairo_matrix_t matrix;
+    cairo_matrix_init_identity (&matrix);
+    return &matrix;
+}
+
+/**
+ * regress_test_cairo_matrix_out_caller_allocates:
+ * @matrix: (out):
+ */
+void
+regress_test_cairo_matrix_out_caller_allocates (cairo_matrix_t *matrix)
+{
+    cairo_matrix_t m;
+    cairo_matrix_init_identity (&m);
+    *matrix = m;
+}
+
+#endif
index d42edbd..14c72ac 100644 (file)
@@ -21,4 +21,23 @@ GList *regress_test_glist_boxed_none_return (guint count);
 _GI_TEST_EXTERN
 GList *regress_test_glist_boxed_full_return (guint count);
 
+#ifndef _GI_DISABLE_CAIRO
+
+cairo_t *regress_test_cairo_context_none_return (void);
+void regress_test_cairo_context_full_in (cairo_t *context);
+cairo_path_t *regress_test_cairo_path_full_return (void);
+void regress_test_cairo_path_none_in (cairo_path_t *path);
+cairo_path_t * regress_test_cairo_path_full_in_full_return (cairo_path_t *path);
+cairo_font_options_t *regress_test_cairo_font_options_full_return (void);
+cairo_font_options_t *regress_test_cairo_font_options_none_return (void);
+void regress_test_cairo_font_options_full_in (cairo_font_options_t *options);
+void regress_test_cairo_font_options_none_in (cairo_font_options_t *options);
+void regress_test_cairo_region_full_in (cairo_region_t *region);
+void regress_test_cairo_surface_full_in (cairo_surface_t *surface);
+void regress_test_cairo_matrix_none_in (const cairo_matrix_t *matrix);
+cairo_matrix_t *regress_test_cairo_matrix_none_return (void);
+void regress_test_cairo_matrix_out_caller_allocates (cairo_matrix_t *matrix);
+
+#endif
+
 #endif /* REGRESS_EXTRA_H */
index 652dc99..c05702a 100755 (executable)
@@ -16,6 +16,11 @@ def main(argv):
 
     mydir = os.path.dirname(os.path.abspath(__file__))
 
+    verbosity_args = []
+
+    if 'PYGI_TEST_VERBOSE' in os.environ:
+        verbosity_args += ['--capture=no']
+
     if 'TEST_NAMES' in os.environ:
         names = os.environ['TEST_NAMES'].split()
     elif 'TEST_FILES' in os.environ:
@@ -27,14 +32,14 @@ def main(argv):
         for filename in argv[1:]:
             names.append(filename.replace('.py', ''))
     else:
-        return pytest.main([mydir])
+        return pytest.main([mydir] + verbosity_args)
 
     def unittest_to_pytest_name(name):
         parts = name.split(".")
         parts[0] = os.path.join(mydir, parts[0] + ".py")
         return "::".join(parts)
 
-    return pytest.main([unittest_to_pytest_name(n) for n in names])
+    return pytest.main([unittest_to_pytest_name(n) for n in names] + verbosity_args)
 
 
 if __name__ == "__main__":
index 8ba5553..a34798f 100644 (file)
@@ -5,6 +5,7 @@
 from __future__ import absolute_import
 
 import unittest
+import pytest
 
 import gi
 
@@ -37,6 +38,83 @@ class Test(unittest.TestCase):
         context = cairo.Context(surface)
         Regress.test_cairo_context_none_in(context)
 
+    def test_cairo_context_full_in(self):
+        surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 10, 10)
+        context = cairo.Context(surface)
+        Regress.test_cairo_context_full_in(context)
+
+        with pytest.raises(TypeError):
+            Regress.test_cairo_context_full_in(object())
+
+    def test_cairo_context_none_return(self):
+        context = Regress.test_cairo_context_none_return()
+        self.assertTrue(isinstance(context, cairo.Context))
+
+    def test_cairo_path_full_return(self):
+        path = Regress.test_cairo_path_full_return()
+        assert isinstance(path, cairo.Path)
+
+    def test_cairo_path_none_in(self):
+        surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 10, 10)
+        context = cairo.Context(surface)
+        path = context.copy_path()
+        Regress.test_cairo_path_none_in(path)
+        surface.finish()
+
+        with pytest.raises(TypeError):
+            Regress.test_cairo_path_none_in(object())
+
+    def test_cairo_path_full_in_full_return(self):
+        surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 10, 10)
+        context = cairo.Context(surface)
+        context.move_to(10, 10)
+        context.curve_to(10, 10, 3, 4, 5, 6)
+        path = context.copy_path()
+        new_path = Regress.test_cairo_path_full_in_full_return(path)
+        assert list(path) == list(new_path)
+        surface.finish()
+
+    def test_cairo_font_options_full_return(self):
+        options = Regress.test_cairo_font_options_full_return()
+        assert isinstance(options, cairo.FontOptions)
+
+    def test_cairo_font_options_none_return(self):
+        options = Regress.test_cairo_font_options_none_return()
+        assert isinstance(options, cairo.FontOptions)
+
+    def test_cairo_font_options_full_in(self):
+        options = cairo.FontOptions()
+        Regress.test_cairo_font_options_full_in(options)
+
+        with pytest.raises(TypeError):
+            Regress.test_cairo_font_options_full_in(object())
+
+    def test_cairo_font_options_none_in(self):
+        options = cairo.FontOptions()
+        Regress.test_cairo_font_options_none_in(options)
+
+    def test_cairo_region_full_in(self):
+        region = cairo.Region()
+        Regress.test_cairo_region_full_in(region)
+
+        with pytest.raises(TypeError):
+            Regress.test_cairo_region_full_in(object())
+
+    def test_cairo_matrix_none_in(self):
+        matrix = cairo.Matrix()
+        Regress.test_cairo_matrix_none_in(matrix)
+
+        with pytest.raises(TypeError):
+            Regress.test_cairo_matrix_none_in(object())
+
+    def test_cairo_matrix_none_return(self):
+        matrix = Regress.test_cairo_matrix_none_return()
+        assert matrix == cairo.Matrix()
+
+    def test_cairo_matrix_out_caller_allocates(self):
+        matrix = Regress.test_cairo_matrix_out_caller_allocates()
+        assert matrix == cairo.Matrix()
+
     def test_cairo_surface(self):
         surface = Regress.test_cairo_surface_none_return()
         self.assertTrue(isinstance(surface, cairo.ImageSurface))
@@ -62,6 +140,13 @@ class Test(unittest.TestCase):
         self.assertEqual(surface.get_width(), 10)
         self.assertEqual(surface.get_height(), 10)
 
+    def test_cairo_surface_full_in(self):
+        surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 10, 10)
+        Regress.test_cairo_surface_full_in(surface)
+
+        with pytest.raises(TypeError):
+            Regress.test_cairo_surface_full_in(object())
+
     def test_require_foreign(self):
         self.assertEqual(gi.require_foreign('cairo'), None)
         self.assertEqual(gi.require_foreign('cairo', 'Context'), None)
@@ -138,6 +223,9 @@ class TestSignalMarshaling(unittest.TestCase):
         result = self.pass_object_through_signal(self.context, self.tester.sig_context)
         self.assertTrue(isinstance(result, cairo.Context))
 
+        with pytest.raises(TypeError):
+            self.pass_object_through_signal(object(), self.tester.sig_context)
+
     def test_surface(self):
         result = self.pass_object_through_signal(self.surface, self.tester.sig_surface)
         self.assertTrue(isinstance(result, cairo.Surface))
@@ -147,6 +235,9 @@ class TestSignalMarshaling(unittest.TestCase):
         result = self.pass_object_through_signal(font_face, self.tester.sig_font_face)
         self.assertTrue(isinstance(result, cairo.FontFace))
 
+        with pytest.raises(TypeError):
+            self.pass_object_through_signal(object(), self.tester.sig_font_face)
+
     def test_scaled_font(self):
         scaled_font = cairo.ScaledFont(self.context.get_font_face(),
                                        cairo.Matrix(),
@@ -155,8 +246,14 @@ class TestSignalMarshaling(unittest.TestCase):
         result = self.pass_object_through_signal(scaled_font, self.tester.sig_scaled_font)
         self.assertTrue(isinstance(result, cairo.ScaledFont))
 
+        with pytest.raises(TypeError):
+            result = self.pass_object_through_signal(object(), self.tester.sig_scaled_font)
+
     def test_pattern(self):
         pattern = cairo.SolidPattern(1, 1, 1, 1)
         result = self.pass_object_through_signal(pattern, self.tester.sig_pattern)
         self.assertTrue(isinstance(result, cairo.Pattern))
         self.assertTrue(isinstance(result, cairo.SolidPattern))
+
+        with pytest.raises(TypeError):
+            result = self.pass_object_through_signal(object(), self.tester.sig_pattern)
index 3f48326..a15c7d3 100644 (file)
@@ -25,6 +25,7 @@
 from __future__ import absolute_import
 
 import unittest
+import pickle
 
 from gi.repository import GLib
 from gi.repository import GIMarshallingTests
@@ -65,6 +66,22 @@ class TestType(unittest.TestCase):
     def test_inheritance(self):
         self.assertTrue(issubclass(GLib.Error, RuntimeError))
 
+    def test_pickle(self):
+
+        def check_pickle(e):
+            assert isinstance(e, GLib.Error)
+            new_e = pickle.loads(pickle.dumps(e))
+            assert type(new_e) is type(e)
+            assert repr(e) == repr(new_e)
+
+        e = GLib.Error('test message', 'mydomain', 42)
+        check_pickle(e)
+
+        try:
+            GLib.file_get_contents("")
+        except Exception as e:
+            check_pickle(e)
+
 
 class ObjectWithVFuncException(GIMarshallingTests.Object):
     def do_vfunc_meth_with_err(self, x):
index c8694ad..f218928 100644 (file)
@@ -10,11 +10,16 @@ import ctypes
 import warnings
 import sys
 import os
+import re
+import platform
+
+import pytest
 
 from gi.repository import Regress as Everything
 from gi.repository import GObject
 from gi.repository import GLib
 from gi.repository import Gio
+from gi._compat import PY3, PY2
 
 try:
     from gi.repository import Gtk
@@ -22,19 +27,11 @@ try:
 except:
     Gtk = None
 
-from .compathelper import PY3
 from .helper import capture_exceptions
 
 
-if sys.version_info < (3, 0):
-    UNICHAR = "\xe2\x99\xa5"
-    PY2_UNICODE_UNICHAR = unicode(UNICHAR, 'UTF-8')
-else:
-    UNICHAR = "♥"
-
-
 const_str = b'const \xe2\x99\xa5 utf8'
-if sys.version_info >= (3, 0):
+if PY3:
     const_str = const_str.decode('UTF-8')
 noconst_str = 'non' + const_str
 
@@ -76,76 +73,214 @@ class TestEverything(unittest.TestCase):
                          GLib.MININT8)
         self.assertRaises(OverflowError, Everything.test_int8, GLib.MAXINT8 + 1)
 
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXINT8 + 1, GLib.MININT8, GLib.MAXINT8)):
+            Everything.test_int8(GLib.MAXINT8 + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MININT8, GLib.MAXINT8)):
+            Everything.test_int8(GLib.MAXUINT64 * 2)
+
+    def test_uint8(self):
         self.assertEqual(Everything.test_uint8(GLib.MAXUINT8),
                          GLib.MAXUINT8)
         self.assertEqual(Everything.test_uint8(0), 0)
         self.assertRaises(OverflowError, Everything.test_uint8, -1)
         self.assertRaises(OverflowError, Everything.test_uint8, GLib.MAXUINT8 + 1)
 
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT8 + 1, GLib.MAXUINT8)):
+            Everything.test_uint8(GLib.MAXUINT8 + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MAXUINT8)):
+            Everything.test_uint8(GLib.MAXUINT64 * 2)
+
     def test_int16(self):
         self.assertEqual(Everything.test_int16(GLib.MAXINT16),
                          GLib.MAXINT16)
         self.assertEqual(Everything.test_int16(GLib.MININT16),
                          GLib.MININT16)
-        self.assertRaises(OverflowError, Everything.test_int16, GLib.MAXINT16 + 1)
 
+        with pytest.raises(
+                OverflowError,
+                match="32768 not in range -32768 to 32767"):
+            Everything.test_int16(GLib.MAXINT16 + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="36893488147419103230 not in range -32768 to 32767"):
+            Everything.test_int16(GLib.MAXUINT64 * 2)
+
+    def test_uint16(self):
         self.assertEqual(Everything.test_uint16(GLib.MAXUINT16),
                          GLib.MAXUINT16)
         self.assertEqual(Everything.test_uint16(0), 0)
         self.assertRaises(OverflowError, Everything.test_uint16, -1)
-        self.assertRaises(OverflowError, Everything.test_uint16, GLib.MAXUINT16 + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT16 + 1, GLib.MAXUINT16)):
+            Everything.test_uint16(GLib.MAXUINT16 + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MAXUINT16)):
+            Everything.test_uint16(GLib.MAXUINT64 * 2)
 
     def test_int32(self):
         self.assertEqual(Everything.test_int32(GLib.MAXINT32),
                          GLib.MAXINT32)
         self.assertEqual(Everything.test_int32(GLib.MININT32),
                          GLib.MININT32)
-        self.assertRaises(OverflowError, Everything.test_int32, GLib.MAXINT32 + 1)
 
+        with pytest.raises(
+                OverflowError,
+                match="2147483648 not in range -2147483648 to 2147483647"):
+            Everything.test_int32(GLib.MAXINT32 + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range -2147483648 to 2147483647" % (
+                    GLib.MAXINT64 + 1,)):
+            Everything.test_int32(GLib.MAXINT64 + 1)
+
+    def test_uint32(self):
         self.assertEqual(Everything.test_uint32(GLib.MAXUINT32),
                          GLib.MAXUINT32)
         self.assertEqual(Everything.test_uint32(0), 0)
         self.assertRaises(OverflowError, Everything.test_uint32, -1)
-        self.assertRaises(OverflowError, Everything.test_uint32, GLib.MAXUINT32 + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT32 + 1, GLib.MAXUINT32)):
+            Everything.test_uint32(GLib.MAXUINT32 + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MAXUINT32)):
+            Everything.test_uint32(GLib.MAXUINT64 * 2)
 
     def test_int64(self):
         self.assertEqual(Everything.test_int64(GLib.MAXINT64),
                          GLib.MAXINT64)
         self.assertEqual(Everything.test_int64(GLib.MININT64),
                          GLib.MININT64)
-        self.assertRaises(OverflowError, Everything.test_int64, GLib.MAXINT64 + 1)
 
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXINT64 + 1, GLib.MININT64, GLib.MAXINT64)):
+            Everything.test_int64(GLib.MAXINT64 + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MININT64, GLib.MAXINT64)):
+            Everything.test_int64(GLib.MAXUINT64 * 2)
+
+    def test_uint64(self):
         self.assertEqual(Everything.test_uint64(GLib.MAXUINT64),
                          GLib.MAXUINT64)
         self.assertEqual(Everything.test_uint64(0), 0)
         self.assertRaises(OverflowError, Everything.test_uint64, -1)
         self.assertRaises(OverflowError, Everything.test_uint64, GLib.MAXUINT64 + 1)
 
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT64 + 1, GLib.MAXUINT64)):
+            Everything.test_uint64(GLib.MAXUINT64 + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MAXUINT64)):
+            Everything.test_uint64(GLib.MAXUINT64 * 2)
+
     def test_int(self):
         self.assertEqual(Everything.test_int(GLib.MAXINT),
                          GLib.MAXINT)
         self.assertEqual(Everything.test_int(GLib.MININT),
                          GLib.MININT)
-        self.assertRaises(OverflowError, Everything.test_int, GLib.MAXINT + 1)
 
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXINT + 1, GLib.MININT, GLib.MAXINT)):
+            Everything.test_int(GLib.MAXINT + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MININT, GLib.MAXINT)):
+            Everything.test_int(GLib.MAXUINT64 * 2)
+
+    def test_uint(self):
         self.assertEqual(Everything.test_uint(GLib.MAXUINT),
                          GLib.MAXUINT)
         self.assertEqual(Everything.test_uint(0), 0)
         self.assertRaises(OverflowError, Everything.test_uint, -1)
-        self.assertRaises(OverflowError, Everything.test_uint, GLib.MAXUINT + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT + 1, GLib.MAXUINT)):
+            Everything.test_uint(GLib.MAXUINT + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MAXUINT)):
+            Everything.test_uint(GLib.MAXUINT64 * 2)
 
     def test_short(self):
         self.assertEqual(Everything.test_short(GLib.MAXSHORT),
                          GLib.MAXSHORT)
         self.assertEqual(Everything.test_short(GLib.MINSHORT),
                          GLib.MINSHORT)
-        self.assertRaises(OverflowError, Everything.test_short, GLib.MAXSHORT + 1)
 
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXSHORT + 1, GLib.MINSHORT, GLib.MAXSHORT)):
+            Everything.test_short(GLib.MAXSHORT + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MINSHORT, GLib.MAXSHORT)):
+            Everything.test_short(GLib.MAXUINT64 * 2)
+
+    def test_ushort(self):
         self.assertEqual(Everything.test_ushort(GLib.MAXUSHORT),
                          GLib.MAXUSHORT)
         self.assertEqual(Everything.test_ushort(0), 0)
         self.assertRaises(OverflowError, Everything.test_ushort, -1)
-        self.assertRaises(OverflowError, Everything.test_ushort, GLib.MAXUSHORT + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUSHORT + 1, GLib.MAXUSHORT)):
+            Everything.test_ushort(GLib.MAXUSHORT + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MAXUSHORT)):
+            Everything.test_ushort(GLib.MAXUINT64 * 2)
 
     def test_long(self):
         self.assertEqual(Everything.test_long(GLib.MAXLONG),
@@ -154,25 +289,74 @@ class TestEverything(unittest.TestCase):
                          GLib.MINLONG)
         self.assertRaises(OverflowError, Everything.test_long, GLib.MAXLONG + 1)
 
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXLONG + 1, GLib.MINLONG, GLib.MAXLONG)):
+            Everything.test_long(GLib.MAXLONG + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MINLONG, GLib.MAXLONG)):
+            Everything.test_long(GLib.MAXUINT64 * 2)
+
+    def test_ulong(self):
         self.assertEqual(Everything.test_ulong(GLib.MAXULONG),
                          GLib.MAXULONG)
         self.assertEqual(Everything.test_ulong(0), 0)
         self.assertRaises(OverflowError, Everything.test_ulong, -1)
-        self.assertRaises(OverflowError, Everything.test_ulong, GLib.MAXULONG + 1)
 
-    def test_size(self):
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXULONG + 1, GLib.MAXULONG)):
+            Everything.test_ulong(GLib.MAXULONG + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MAXULONG)):
+            Everything.test_ulong(GLib.MAXUINT64 * 2)
+
+    def test_ssize(self):
         self.assertEqual(Everything.test_ssize(GLib.MAXSSIZE),
                          GLib.MAXSSIZE)
         self.assertEqual(Everything.test_ssize(GLib.MINSSIZE),
                          GLib.MINSSIZE)
         self.assertRaises(OverflowError, Everything.test_ssize, GLib.MAXSSIZE + 1)
 
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXSSIZE + 1, GLib.MINSSIZE, GLib.MAXSSIZE)):
+            Everything.test_ssize(GLib.MAXSSIZE + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range %s to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MINSSIZE, GLib.MAXSSIZE)):
+            Everything.test_ssize(GLib.MAXUINT64 * 2)
+
+    def test_size(self):
         self.assertEqual(Everything.test_size(GLib.MAXSIZE),
                          GLib.MAXSIZE)
         self.assertEqual(Everything.test_size(0), 0)
         self.assertRaises(OverflowError, Everything.test_size, -1)
         self.assertRaises(OverflowError, Everything.test_size, GLib.MAXSIZE + 1)
 
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXSIZE + 1, GLib.MAXSIZE)):
+            Everything.test_size(GLib.MAXSIZE + 1)
+
+        with pytest.raises(
+                OverflowError,
+                match="%s not in range 0 to %s" % (
+                    GLib.MAXUINT64 * 2, GLib.MAXSIZE)):
+            Everything.test_size(GLib.MAXUINT64 * 2)
+
     def test_timet(self):
         self.assertEqual(Everything.test_timet(42), 42)
         self.assertRaises(OverflowError, Everything.test_timet, GLib.MAXUINT64 + 1)
@@ -180,9 +364,11 @@ class TestEverything(unittest.TestCase):
     def test_unichar(self):
         self.assertEqual("c", Everything.test_unichar("c"))
 
-        if sys.version_info < (3, 0):
-            self.assertEqual(UNICHAR, Everything.test_unichar(PY2_UNICODE_UNICHAR))
-        self.assertEqual(UNICHAR, Everything.test_unichar(UNICHAR))
+        if PY2:
+            self.assertEqual(b"\xe2\x99\xa5", Everything.test_unichar(u"♥"))
+            self.assertEqual(b"\xe2\x99\xa5", Everything.test_unichar(b"\xe2\x99\xa5"))
+        else:
+            self.assertEqual(u"♥", Everything.test_unichar(u"♥"))
         self.assertRaises(TypeError, Everything.test_unichar, "")
         self.assertRaises(TypeError, Everything.test_unichar, "morethanonechar")
 
@@ -193,6 +379,12 @@ class TestEverything(unittest.TestCase):
                          GLib.MINFLOAT)
         self.assertRaises(OverflowError, Everything.test_float, GLib.MAXFLOAT * 2)
 
+        with pytest.raises(
+                OverflowError,
+                match=re.escape("%s not in range %s to %s" % (
+                    GLib.MAXFLOAT * 2, -GLib.MAXFLOAT, GLib.MAXFLOAT))):
+            Everything.test_float(GLib.MAXFLOAT * 2)
+
     def test_double(self):
         self.assertEqual(Everything.test_double(GLib.MAXDOUBLE),
                          GLib.MAXDOUBLE)
@@ -402,7 +594,7 @@ class TestEverything(unittest.TestCase):
         self.assertEqual(Everything.test_array_int_inout([]), [])
 
     def test_array_gint8_in(self):
-        if sys.version_info >= (3, 0):
+        if PY3:
             self.assertEqual(Everything.test_array_gint8_in(b'\x01\x03\x05'), 9)
         self.assertEqual(Everything.test_array_gint8_in([1, 3, 5, -50]), -41)
 
@@ -542,6 +734,7 @@ class TestEverything(unittest.TestCase):
         Everything.test_ghash_gvalue_in(data)
         data = None
 
+    @unittest.skipIf(platform.python_implementation() == "PyPy", "CPython only")
     def test_struct_gpointer(self):
         glist = GLib.List()
         raw = RawGList.from_wrapped(glist)
@@ -685,14 +878,17 @@ class TestCallbacks(unittest.TestCase):
             TestCallbacks.called = True
             return 44
 
-        ud_refcount = sys.getrefcount(ud)
-        callback_refcount = sys.getrefcount(callback)
+        if hasattr(sys, "getrefcount"):
+            ud_refcount = sys.getrefcount(ud)
+            callback_refcount = sys.getrefcount(callback)
 
         self.assertEqual(Everything.test_callback_async(callback, ud), None)
         # Callback should not have run and the ref count is increased by 1
         self.assertEqual(TestCallbacks.called, False)
-        self.assertEqual(sys.getrefcount(callback), callback_refcount + 1)
-        self.assertEqual(sys.getrefcount(ud), ud_refcount + 1)
+
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(callback), callback_refcount + 1)
+            self.assertEqual(sys.getrefcount(ud), ud_refcount + 1)
 
         # test_callback_thaw_async will run the callback previously supplied.
         # references should be auto decremented after this call.
@@ -700,8 +896,9 @@ class TestCallbacks(unittest.TestCase):
         self.assertTrue(TestCallbacks.called)
 
         # Make sure refcounts are returned to normal
-        self.assertEqual(sys.getrefcount(callback), callback_refcount)
-        self.assertEqual(sys.getrefcount(ud), ud_refcount)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(callback), callback_refcount)
+            self.assertEqual(sys.getrefcount(ud), ud_refcount)
 
     def test_callback_scope_call_multi(self):
         # This tests a callback that gets called multiple times from a
@@ -712,12 +909,15 @@ class TestCallbacks(unittest.TestCase):
             TestCallbacks.called += 1
             return TestCallbacks.called
 
-        refcount = sys.getrefcount(callback)
+        if hasattr(sys, "getrefcount"):
+            refcount = sys.getrefcount(callback)
         result = Everything.test_multi_callback(callback)
         # first callback should give 1, second 2, and the function sums them up
         self.assertEqual(result, 3)
         self.assertEqual(TestCallbacks.called, 2)
-        self.assertEqual(sys.getrefcount(callback), refcount)
+
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(callback), refcount)
 
     def test_callback_scope_call_array(self):
         # This tests a callback that gets called multiple times from a
@@ -730,13 +930,16 @@ class TestCallbacks(unittest.TestCase):
             TestCallbacks.callargs.append((one, two))
             return len(TestCallbacks.callargs)
 
-        refcount = sys.getrefcount(callback)
+        if hasattr(sys, "getrefcount"):
+            refcount = sys.getrefcount(callback)
         result = Everything.test_array_callback(callback)
         # first callback should give 1, second 2, and the function sums them up
         self.assertEqual(result, 3)
         self.assertEqual(TestCallbacks.callargs,
                          [([-1, 0, 1, 2], ['one', 'two', 'three'])] * 2)
-        self.assertEqual(sys.getrefcount(callback), refcount)
+
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(callback), refcount)
 
     @unittest.skipUnless(hasattr(Everything, 'test_array_inout_callback'),
                          'Requires newer version of GI')
@@ -749,13 +952,15 @@ class TestCallbacks(unittest.TestCase):
             TestCallbacks.callargs.append(ints)
             return ints[1:], len(ints[1:])
 
-        refcount = sys.getrefcount(callback)
+        if hasattr(sys, "getrefcount"):
+            refcount = sys.getrefcount(callback)
         result = Everything.test_array_inout_callback(callback)
         self.assertEqual(TestCallbacks.callargs,
                          [[-2, -1, 0, 1, 2], [-1, 0, 1, 2]])
         # first callback should give 4, second 3
         self.assertEqual(result, 3)
-        self.assertEqual(sys.getrefcount(callback), refcount)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(callback), refcount)
 
     def test_callback_userdata(self):
         TestCallbacks.called = 0
@@ -887,8 +1092,9 @@ class TestCallbacks(unittest.TestCase):
             TestCallbacks.called += 1
             return 33
 
-        value_refcount = sys.getrefcount(ud)
-        callback_refcount = sys.getrefcount(callback)
+        if hasattr(sys, "getrefcount"):
+            value_refcount = sys.getrefcount(ud)
+            callback_refcount = sys.getrefcount(callback)
 
         # Callback is immediately called.
         for i in range(100):
@@ -896,14 +1102,16 @@ class TestCallbacks(unittest.TestCase):
             self.assertEqual(res, 33)
 
         self.assertEqual(TestCallbacks.called, 100)
-        self.assertEqual(sys.getrefcount(callback), callback_refcount + 100)
-        self.assertEqual(sys.getrefcount(ud), value_refcount + 100)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(callback), callback_refcount + 100)
+            self.assertEqual(sys.getrefcount(ud), value_refcount + 100)
 
         # thaw will call the callback again, this time resources should be freed
         self.assertEqual(Everything.test_callback_thaw_notifications(), 33 * 100)
         self.assertEqual(TestCallbacks.called, 200)
-        self.assertEqual(sys.getrefcount(callback), callback_refcount)
-        self.assertEqual(sys.getrefcount(ud), value_refcount)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(callback), callback_refcount)
+            self.assertEqual(sys.getrefcount(ud), value_refcount)
 
     def test_callback_scope_notified_with_destroy_no_user_data(self):
         TestCallbacks.called = 0
@@ -913,7 +1121,8 @@ class TestCallbacks(unittest.TestCase):
             TestCallbacks.called += 1
             return 34
 
-        callback_refcount = sys.getrefcount(callback)
+        if hasattr(sys, "getrefcount"):
+            callback_refcount = sys.getrefcount(callback)
 
         # Run with warning as exception
         with warnings.catch_warnings(record=True) as w:
@@ -923,7 +1132,8 @@ class TestCallbacks(unittest.TestCase):
                               callback)
 
         self.assertEqual(TestCallbacks.called, 0)
-        self.assertEqual(sys.getrefcount(callback), callback_refcount)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(callback), callback_refcount)
 
         # Run with warning as warning
         with warnings.catch_warnings(record=True) as w:
@@ -938,13 +1148,15 @@ class TestCallbacks(unittest.TestCase):
 
         self.assertEqual(res, 34)
         self.assertEqual(TestCallbacks.called, 1)
-        self.assertEqual(sys.getrefcount(callback), callback_refcount + 1)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(callback), callback_refcount + 1)
 
         # thaw will call the callback again,
         # refcount will not go down without user_data parameter
         self.assertEqual(Everything.test_callback_thaw_notifications(), 34)
         self.assertEqual(TestCallbacks.called, 2)
-        self.assertEqual(sys.getrefcount(callback), callback_refcount + 1)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(callback), callback_refcount + 1)
 
     def test_callback_in_methods(self):
         object_ = Everything.TestObj()
index d99c056..5e9d716 100644 (file)
@@ -24,6 +24,7 @@ import gc
 import sys
 import weakref
 import unittest
+import platform
 
 # pygobject
 from gi.repository import GObject
@@ -137,6 +138,7 @@ class TestReferences(unittest.TestCase):
     def setUp(self):
         pass
 
+    @unittest.skipIf(platform.python_implementation() == "PyPy", "not with PyPy")
     def test_c_tree_iter_user_data_as_pyobject(self):
         obj = object()
         obj_id = id(obj)
@@ -154,24 +156,28 @@ class TestReferences(unittest.TestCase):
         model = ATesterModel()
         obj_ref = weakref.ref(model.root)
         # Initial refcount is 1 for model.root + the temporary
-        self.assertEqual(sys.getrefcount(model.root), 2)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(model.root), 2)
 
         # Iter increases by 1 do to assignment to iter.user_data
         res, it = model.do_get_iter([0])
         self.assertEqual(id(model.root), it.user_data)
-        self.assertEqual(sys.getrefcount(model.root), 3)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(model.root), 3)
 
         # Verify getting a TreeIter more then once does not further increase
         # the ref count.
         res2, it2 = model.do_get_iter([0])
         self.assertEqual(id(model.root), it2.user_data)
-        self.assertEqual(sys.getrefcount(model.root), 3)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(model.root), 3)
 
         # Deleting the iter does not decrease refcount because references
         # leak by default (they are stored in the held_refs pool)
         del it
         gc.collect()
-        self.assertEqual(sys.getrefcount(model.root), 3)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(model.root), 3)
 
         # Deleting a model should free all held references to user data
         # stored by TreeIters
@@ -183,17 +189,20 @@ class TestReferences(unittest.TestCase):
         model = ATesterModel()
         obj_ref = weakref.ref(model.root)
         # Initial refcount is 1 for model.root + the temporary
-        self.assertEqual(sys.getrefcount(model.root), 2)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(model.root), 2)
 
         # Iter increases by 1 do to assignment to iter.user_data
         res, it = model.do_get_iter([0])
         self.assertEqual(id(model.root), it.user_data)
-        self.assertEqual(sys.getrefcount(model.root), 3)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(model.root), 3)
 
         # Notifying the underlying model of a row_deleted should decrease the
         # ref count.
         model.row_deleted(Gtk.TreePath('0'), model.root)
-        self.assertEqual(sys.getrefcount(model.root), 2)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(model.root), 2)
 
         # Finally deleting the actual object should collect it completely
         del model.root
@@ -206,18 +215,21 @@ class TestReferences(unittest.TestCase):
 
         obj_ref = weakref.ref(model.root)
         # Initial refcount is 1 for model.root + the temporary
-        self.assertEqual(sys.getrefcount(model.root), 2)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(model.root), 2)
 
         # Iter does not increas count by 1 when leak_references is false
         res, it = model.do_get_iter([0])
         self.assertEqual(id(model.root), it.user_data)
-        self.assertEqual(sys.getrefcount(model.root), 2)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(model.root), 2)
 
         # Deleting the iter does not decrease refcount because assigning user_data
         # eats references and does not release them.
         del it
         gc.collect()
-        self.assertEqual(sys.getrefcount(model.root), 2)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(model.root), 2)
 
         # Deleting the model decreases the final ref, and the object is collected
         del model
@@ -242,14 +254,16 @@ class TestReferences(unittest.TestCase):
         #   4 - ref held by the root/children graph itself
         #   5 - ref held by the model "held_refs" instance var
         for node in nodes:
-            self.assertEqual(sys.getrefcount(node), 5)
+            if hasattr(sys, "getrefcount"):
+                self.assertEqual(sys.getrefcount(node), 5)
 
         # A second iteration and storage of the nodes in a new list
         # should only increase refcounts by 1 even though new
         # iterators are created and assigned.
         nodes2 = [node for node in model.iter_depth_first()]
         for node in nodes2:
-            self.assertEqual(sys.getrefcount(node), 6)
+            if hasattr(sys, "getrefcount"):
+                self.assertEqual(sys.getrefcount(node), 6)
 
         # Hold weak refs and start verifying ref collection.
         node_refs = [weakref.ref(node) for node in nodes]
@@ -258,14 +272,16 @@ class TestReferences(unittest.TestCase):
         del nodes2
         gc.collect()
         for node in nodes:
-            self.assertEqual(sys.getrefcount(node), 5)
+            if hasattr(sys, "getrefcount"):
+                self.assertEqual(sys.getrefcount(node), 5)
 
         # Second round of collection, no more local lists of nodes.
         del nodes
         gc.collect()
         for ref in node_refs:
             node = ref()
-            self.assertEqual(sys.getrefcount(node), 4)
+            if hasattr(sys, "getrefcount"):
+                self.assertEqual(sys.getrefcount(node), 4)
 
         # Using invalidate_iters or row_deleted(path, node) will clear out
         # the pooled refs held internal to the GenericTreeModel implementation.
@@ -274,7 +290,8 @@ class TestReferences(unittest.TestCase):
         gc.collect()
         for ref in node_refs:
             node = ref()
-            self.assertEqual(sys.getrefcount(node), 3)
+            if hasattr(sys, "getrefcount"):
+                self.assertEqual(sys.getrefcount(node), 3)
 
         # Deleting the root node at this point should allow all nodes to be collected
         # as there is no longer a way to reach the children
index 282a20f..51a9ecd 100644 (file)
@@ -13,20 +13,23 @@ import os
 import gc
 import weakref
 import warnings
+import pickle
+import platform
 
 import gi
 import gi.overrides
 from gi import PyGIWarning
 from gi import PyGIDeprecationWarning
 from gi.repository import GObject, GLib, Gio
-
 from gi.repository import GIMarshallingTests
+from gi._compat import PY2, PY3
+import pytest
 
-from .compathelper import PY2, PY3
 from .helper import capture_exceptions, capture_output
 
 
 CONSTANT_UTF8 = "const â™¥ utf8"
+CONSTANT_UCS4 = u"const â™¥ utf8"
 
 
 class Number(object):
@@ -631,8 +634,13 @@ class TestGType(unittest.TestCase):
         def check_readonly(gtype):
             gtype.name = "foo"
 
-        self.assertRaises(AttributeError, check_readonly, GObject.TYPE_NONE)
-        self.assertRaises(AttributeError, check_readonly, GObject.TYPE_STRING)
+        errors = (AttributeError,)
+        if platform.python_implementation() == "PyPy":
+            # https://bitbucket.org/pypy/pypy/issues/2788
+            errors = (AttributeError, TypeError)
+
+        self.assertRaises(errors, check_readonly, GObject.TYPE_NONE)
+        self.assertRaises(errors, check_readonly, GObject.TYPE_STRING)
 
     def test_gtype_return(self):
         self.assertEqual(GObject.TYPE_NONE, GIMarshallingTests.gtype_return())
@@ -654,15 +662,33 @@ class TestGType(unittest.TestCase):
 
 class TestUtf8(unittest.TestCase):
 
+    def test_utf8_as_uint8array_in(self):
+        data = CONSTANT_UTF8
+        if not isinstance(data, bytes):
+            data = data.encode("utf-8")
+        GIMarshallingTests.utf8_as_uint8array_in(data)
+
     def test_utf8_none_return(self):
         self.assertEqual(CONSTANT_UTF8, GIMarshallingTests.utf8_none_return())
 
     def test_utf8_full_return(self):
         self.assertEqual(CONSTANT_UTF8, GIMarshallingTests.utf8_full_return())
 
+    def test_extra_utf8_full_return_invalid(self):
+        with pytest.raises(UnicodeDecodeError):
+            value = GIMarshallingTests.extra_utf8_full_return_invalid()
+            if PY2:
+                value.decode("utf-8")
+
+    def test_extra_utf8_full_out_invalid(self):
+        with pytest.raises(UnicodeDecodeError):
+            value = GIMarshallingTests.extra_utf8_full_out_invalid()
+            if PY2:
+                value.decode("utf-8")
+
     def test_utf8_none_in(self):
         GIMarshallingTests.utf8_none_in(CONSTANT_UTF8)
-        if sys.version_info < (3, 0):
+        if PY2:
             GIMarshallingTests.utf8_none_in(CONSTANT_UTF8.decode("utf-8"))
 
         self.assertRaises(TypeError, GIMarshallingTests.utf8_none_in, 42)
@@ -691,6 +717,9 @@ class TestFilename(unittest.TestCase):
     def tearDown(self):
         shutil.rmtree(self.workdir)
 
+    def tests_filename_list_return(self):
+        assert GIMarshallingTests.filename_list_return() == []
+
     @unittest.skipIf(os.name == "nt", "fixme")
     def test_filename_in(self):
         fname = os.path.join(self.workdir, u'testäø.txt')
@@ -898,6 +927,46 @@ class TestFilename(unittest.TestCase):
 
 class TestArray(unittest.TestCase):
 
+    @unittest.skipUnless(
+        hasattr(GIMarshallingTests, "array_bool_in"), "too old gi")
+    def test_array_bool_in(self):
+        GIMarshallingTests.array_bool_in([True, False, True, True])
+
+    @unittest.skipUnless(
+        hasattr(GIMarshallingTests, "array_bool_out"), "too old gi")
+    def test_array_bool_out(self):
+        assert GIMarshallingTests.array_bool_out() == [True, False, True, True]
+
+    @unittest.skipUnless(
+        hasattr(GIMarshallingTests, "array_int64_in"), "too old gi")
+    def test_array_int64_in(self):
+        GIMarshallingTests.array_int64_in([-1, 0, 1, 2])
+
+    @unittest.skipUnless(
+        hasattr(GIMarshallingTests, "array_uint64_in"), "too old gi")
+    def test_array_uint64_in(self):
+        GIMarshallingTests.array_uint64_in([GLib.MAXUINT64, 0, 1, 2])
+
+    @unittest.skipUnless(
+        hasattr(GIMarshallingTests, "array_unichar_in"), "too old gi")
+    def test_array_unichar_in(self):
+        GIMarshallingTests.array_unichar_in(list(CONSTANT_UCS4))
+        GIMarshallingTests.array_unichar_in(CONSTANT_UCS4)
+
+    @unittest.skipUnless(
+        hasattr(GIMarshallingTests, "array_unichar_out"), "too old gi")
+    def test_array_unichar_out(self):
+        if PY2:
+            result = [c.encode("utf-8") for c in list(CONSTANT_UCS4)]
+        else:
+            result = list(CONSTANT_UCS4)
+        assert GIMarshallingTests.array_unichar_out() == result
+
+    @unittest.skip("broken")
+    def test_array_zero_terminated_return_unichar(self):
+        assert GIMarshallingTests.array_zero_terminated_return_unichar() == \
+            list(CONSTANT_UCS4)
+
     def test_array_fixed_int_return(self):
         self.assertEqual([-1, 0, 1, 2], GIMarshallingTests.array_fixed_int_return())
 
@@ -1139,6 +1208,17 @@ class TestArrayGVariant(unittest.TestCase):
 
 class TestGArray(unittest.TestCase):
 
+    @unittest.skipUnless(
+        hasattr(GIMarshallingTests, "garray_bool_none_in"), "too old gi")
+    def test_garray_bool_none_in(self):
+        GIMarshallingTests.garray_bool_none_in([True, False, True, True])
+
+    @unittest.skipUnless(
+        hasattr(GIMarshallingTests, "garray_unichar_none_in"), "too old gi")
+    def test_garray_unichar_none_in(self):
+        GIMarshallingTests.garray_unichar_none_in(CONSTANT_UCS4)
+        GIMarshallingTests.garray_unichar_none_in(list(CONSTANT_UCS4))
+
     def test_garray_int_none_return(self):
         self.assertEqual([-1, 0, 1, 2], GIMarshallingTests.garray_int_none_return())
 
@@ -1396,6 +1476,26 @@ class TestGSList(unittest.TestCase):
 
 class TestGHashTable(unittest.TestCase):
 
+    @unittest.skip("broken")
+    def test_ghashtable_double_in(self):
+        GIMarshallingTests.ghashtable_double_in(
+            {"-1": -0.1, "0": 0.0, "1": 0.1, "2": 0.2})
+
+    @unittest.skip("broken")
+    def test_ghashtable_float_in(self):
+        GIMarshallingTests.ghashtable_float_in(
+            {"-1": -0.1, "0": 0.0, "1": 0.1, "2": 0.2})
+
+    @unittest.skip("broken")
+    def test_ghashtable_int64_in(self):
+        GIMarshallingTests.ghashtable_int64_in(
+            {"-1": GLib.MAXUINT32 + 1, "0": 0, "1": 1, "2": 2})
+
+    @unittest.skip("broken")
+    def test_ghashtable_uint64_in(self):
+        GIMarshallingTests.ghashtable_uint64_in(
+            {"-1": GLib.MAXUINT32 + 1, "0": 0, "1": 1, "2": 2})
+
     def test_ghashtable_int_none_return(self):
         self.assertEqual({-1: 1, 0: 0, 1: -1, 2: -2}, GIMarshallingTests.ghashtable_int_none_return())
 
@@ -1516,10 +1616,36 @@ class TestGValue(unittest.TestCase):
         self.assertRaises(OverflowError, GIMarshallingTests.gvalue_flat_array,
                           [GLib.MININT - 1, "42", True])
 
+        with pytest.raises(
+                OverflowError,
+                match='Item 0: %d not in range %d to %d' % (
+                    GLib.MAXINT + 1, GLib.MININT, GLib.MAXINT)):
+            GIMarshallingTests.gvalue_flat_array([GLib.MAXINT + 1, "42", True])
+
+        if PY2:
+            min_, max_ = GLib.MINLONG, GLib.MAXLONG
+        else:
+            min_, max_ = GLib.MININT, GLib.MAXINT
+
+        with pytest.raises(
+                OverflowError,
+                match='Item 0: %d not in range %d to %d' % (
+                    GLib.MAXUINT64 * 2, min_, max_)):
+            GIMarshallingTests.gvalue_flat_array([GLib.MAXUINT64 * 2, "42", True])
+
     def test_gvalue_flat_array_out(self):
         values = GIMarshallingTests.return_gvalue_flat_array()
         self.assertEqual(values, [42, '42', True])
 
+    def test_gvalue_gobject_ref_counts_simple(self):
+        obj = GObject.Object()
+        grefcount = obj.__grefcount__
+        value = GObject.Value(GObject.TYPE_OBJECT, obj)
+        del value
+        gc.collect()
+        gc.collect()
+        assert obj.__grefcount__ == grefcount
+
     def test_gvalue_gobject_ref_counts(self):
         # Tests a GObject held by a GValue
         obj = GObject.Object()
@@ -1551,12 +1677,14 @@ class TestGValue(unittest.TestCase):
         del res
         del value
         gc.collect()
+        gc.collect()
         self.assertEqual(obj.__grefcount__, grefcount)
 
         del obj
         gc.collect()
         self.assertEqual(ref(), None)
 
+    @unittest.skipUnless(hasattr(sys, "getrefcount"), "no sys.getrefcount")
     def test_gvalue_boxed_ref_counts(self):
         # Tests a boxed type wrapping a python object pointer (TYPE_PYOBJECT)
         # held by a GValue
@@ -1597,8 +1725,8 @@ class TestGValue(unittest.TestCase):
         gc.collect()
         self.assertEqual(ref(), None)
 
-    # FIXME: crashes
-    def disabled_test_gvalue_flat_array_round_trip(self):
+    @unittest.skip("broken")
+    def test_gvalue_flat_array_round_trip(self):
         self.assertEqual([42, '42', True],
                          GIMarshallingTests.gvalue_flat_array_round_trip(42, '42', True))
 
@@ -1719,6 +1847,10 @@ class TestEnum(unittest.TestCase):
         self.assertEqual(GIMarshallingTests.Enum.__module__,
                          "gi.repository.GIMarshallingTests")
 
+    def test_hash(self):
+        assert (hash(GIMarshallingTests.Enum.VALUE1) ==
+                hash(GIMarshallingTests.Enum(GIMarshallingTests.Enum.VALUE1)))
+
     def test_repr(self):
         self.assertEqual(repr(GIMarshallingTests.Enum.VALUE3),
                          "<enum GI_MARSHALLING_TESTS_ENUM_VALUE3 of type "
@@ -1751,6 +1883,12 @@ class TestGEnum(unittest.TestCase):
         self.assertTrue(isinstance(GIMarshallingTests.GEnum.VALUE3, GIMarshallingTests.GEnum))
         self.assertEqual(42, GIMarshallingTests.GEnum.VALUE3)
 
+    def test_pickle(self):
+        v = GIMarshallingTests.GEnum.VALUE3
+        new_v = pickle.loads(pickle.dumps(v))
+        assert new_v == v
+        assert isinstance(new_v, GIMarshallingTests.GEnum)
+
     def test_value_nick_and_name(self):
         self.assertEqual(GIMarshallingTests.GEnum.VALUE1.value_nick, 'value1')
         self.assertEqual(GIMarshallingTests.GEnum.VALUE2.value_nick, 'value2')
@@ -1789,6 +1927,10 @@ class TestGEnum(unittest.TestCase):
         self.assertEqual(GIMarshallingTests.GEnum.__module__,
                          "gi.repository.GIMarshallingTests")
 
+    def test_hash(self):
+        assert (hash(GIMarshallingTests.GEnum.VALUE3) ==
+                hash(GIMarshallingTests.GEnum(GIMarshallingTests.GEnum.VALUE3)))
+
     def test_repr(self):
         self.assertEqual(repr(GIMarshallingTests.GEnum.VALUE3),
                          "<enum GI_MARSHALLING_TESTS_GENUM_VALUE3 of type "
@@ -1857,6 +1999,10 @@ class TestGFlags(unittest.TestCase):
                          "<flags GI_MARSHALLING_TESTS_FLAGS_VALUE2 of type "
                          "GIMarshallingTests.Flags>")
 
+    def test_hash(self):
+        assert (hash(GIMarshallingTests.Flags.VALUE2) ==
+                hash(GIMarshallingTests.Flags(GIMarshallingTests.Flags.VALUE2)))
+
     def test_flags_large_in(self):
         GIMarshallingTests.extra_flags_large_in(
             GIMarshallingTests.ExtraFlags.VALUE2)
@@ -2442,6 +2588,7 @@ class TestPythonGObject(unittest.TestCase):
         object_.method_with_default_implementation(84)
         self.assertEqual(object_.props.int, 84)
 
+    @unittest.skipUnless(hasattr(sys, "getrefcount"), "no sys.getrefcount")
     def test_vfunc_return_ref_count(self):
         obj = self.Object(int=42)
         ref_count = sys.getrefcount(obj.return_for_caller_allocated_out_parameter)
@@ -2455,6 +2602,12 @@ class TestPythonGObject(unittest.TestCase):
         self.assertEqual(sys.getrefcount(obj.return_for_caller_allocated_out_parameter),
                          ref_count)
 
+    def test_vfunc_return_no_ref_count(self):
+        obj = self.Object(int=42)
+        ret = obj.vfunc_caller_allocated_out_parameter()
+        self.assertEqual(ret, obj.return_for_caller_allocated_out_parameter)
+        self.assertFalse(ret is obj.return_for_caller_allocated_out_parameter)
+
     def test_subobject_parent_vfunc(self):
         object_ = self.SubObject(int=81)
         object_.method_with_default_implementation(87)
@@ -2597,6 +2750,11 @@ class TestInterfaces(unittest.TestCase):
     def setUp(self):
         self.instance = self.TestInterfaceImpl()
 
+    def test_iface_impl(self):
+        instance = GIMarshallingTests.InterfaceImpl()
+        assert instance.get_as_interface() is instance
+        instance.test_int8_in(42)
+
     def test_wrapper(self):
         self.assertTrue(issubclass(GIMarshallingTests.Interface, GObject.GInterface))
         self.assertEqual(GIMarshallingTests.Interface.__gtype__.name, 'GIMarshallingTestsInterface')
@@ -2744,7 +2902,7 @@ class TestMRO(unittest.TestCase):
             # style mixin.
             type('GIWithOldStyleMixin', (GIMarshallingTests.Object, Mixin), {})
 
-            if sys.version_info < (3, 0):
+            if PY2:
                 self.assertTrue(issubclass(warn[0].category, RuntimeWarning))
             else:
                 self.assertEqual(len(warn), 0)
index 5b64466..565a872 100644 (file)
@@ -13,8 +13,7 @@ import subprocess
 import pytest
 from gi.repository import GLib
 from gi import PyGIDeprecationWarning
-
-from .compathelper import PY3
+from gi._compat import PY3
 
 
 class TestGLib(unittest.TestCase):
index a72c41a..3f7e008 100644 (file)
@@ -244,19 +244,23 @@ class TestPythonReferenceCounting(unittest.TestCase):
 
     def test_new_instance_has_two_refs(self):
         obj = GObject.GObject()
-        self.assertEqual(sys.getrefcount(obj), 2)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(obj), 2)
 
     def test_new_instance_has_two_refs_using_gobject_new(self):
         obj = GObject.new(GObject.GObject)
-        self.assertEqual(sys.getrefcount(obj), 2)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(obj), 2)
 
     def test_new_subclass_instance_has_two_refs(self):
         obj = A()
-        self.assertEqual(sys.getrefcount(obj), 2)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(obj), 2)
 
     def test_new_subclass_instance_has_two_refs_using_gobject_new(self):
         obj = GObject.new(A)
-        self.assertEqual(sys.getrefcount(obj), 2)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(obj), 2)
 
 
 class TestContextManagers(unittest.TestCase):
@@ -281,14 +285,16 @@ class TestContextManagers(unittest.TestCase):
         self.assertEqual(self.tracking, [1, 2])
         self.assertEqual(self.obj.__grefcount__, 1)
 
-        pyref_count = sys.getrefcount(self.obj)
+        if hasattr(sys, "getrefcount"):
+            pyref_count = sys.getrefcount(self.obj)
 
         # Using the context manager the tracking list should not be affected.
         # The GObject reference count should stay the same and the python
         # object ref-count should go up.
         with self.obj.freeze_notify():
             self.assertEqual(self.obj.__grefcount__, 1)
-            self.assertEqual(sys.getrefcount(self.obj), pyref_count + 1)
+            if hasattr(sys, "getrefcount"):
+                self.assertEqual(sys.getrefcount(self.obj), pyref_count + 1)
             self.obj.props.prop = 3
             self.assertEqual(self.obj.props.prop, 3)
             self.assertEqual(self.tracking, [1, 2])
@@ -300,7 +306,8 @@ class TestContextManagers(unittest.TestCase):
         self.assertEqual(self.obj.props.prop, 3)
         self.assertEqual(self.tracking, [1, 2, 3])
         self.assertEqual(self.obj.__grefcount__, 1)
-        self.assertEqual(sys.getrefcount(self.obj), pyref_count)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(self.obj), pyref_count)
 
     def test_handler_block_context(self):
         # Verify prop tracking list
@@ -311,14 +318,16 @@ class TestContextManagers(unittest.TestCase):
         self.assertEqual(self.tracking, [1, 2])
         self.assertEqual(self.obj.__grefcount__, 1)
 
-        pyref_count = sys.getrefcount(self.obj)
+        if hasattr(sys, "getrefcount"):
+            pyref_count = sys.getrefcount(self.obj)
 
         # Using the context manager the tracking list should not be affected.
         # The GObject reference count should stay the same and the python
         # object ref-count should go up.
         with self.obj.handler_block(self.handler):
             self.assertEqual(self.obj.__grefcount__, 1)
-            self.assertEqual(sys.getrefcount(self.obj), pyref_count + 1)
+            if hasattr(sys, "getrefcount"):
+                self.assertEqual(sys.getrefcount(self.obj), pyref_count + 1)
             self.obj.props.prop = 3
             self.assertEqual(self.obj.props.prop, 3)
             self.assertEqual(self.tracking, [1, 2])
@@ -330,7 +339,8 @@ class TestContextManagers(unittest.TestCase):
         self.assertEqual(self.obj.props.prop, 3)
         self.assertEqual(self.tracking, [1, 2])
         self.assertEqual(self.obj.__grefcount__, 1)
-        self.assertEqual(sys.getrefcount(self.obj), pyref_count)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(self.obj), pyref_count)
 
     def test_freeze_notify_context_nested(self):
         self.assertEqual(self.tracking, [])
@@ -513,17 +523,19 @@ class TestPropertyBindings(unittest.TestCase):
             self.assertEqual(user_data, test_data)
             return value // 2
 
-        test_data_ref_count = sys.getrefcount(test_data)
-        transform_to_ref_count = sys.getrefcount(transform_to)
-        transform_from_ref_count = sys.getrefcount(transform_from)
+        if hasattr(sys, "getrefcount"):
+            test_data_ref_count = sys.getrefcount(test_data)
+            transform_to_ref_count = sys.getrefcount(transform_to)
+            transform_from_ref_count = sys.getrefcount(transform_from)
 
         # bidirectional bindings
         binding = self.source.bind_property('int_prop', self.target, 'int_prop',
                                             GObject.BindingFlags.BIDIRECTIONAL,
                                             transform_to, transform_from, test_data)
         binding = binding  # PyFlakes
-        binding_ref_count = sys.getrefcount(binding)
-        binding_gref_count = binding.__grefcount__
+        if hasattr(sys, "getrefcount"):
+            binding_ref_count = sys.getrefcount(binding)
+            binding_gref_count = binding.__grefcount__
 
         self.source.int_prop = 1
         self.assertEqual(self.source.int_prop, 1)
@@ -533,13 +545,15 @@ class TestPropertyBindings(unittest.TestCase):
         self.assertEqual(self.source.int_prop, 2)
         self.assertEqual(self.target.int_prop, 4)
 
-        self.assertEqual(sys.getrefcount(binding), binding_ref_count)
-        self.assertEqual(binding.__grefcount__, binding_gref_count)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(binding), binding_ref_count)
+            self.assertEqual(binding.__grefcount__, binding_gref_count)
 
         # test_data ref count increases by 2, once for each callback.
-        self.assertEqual(sys.getrefcount(test_data), test_data_ref_count + 2)
-        self.assertEqual(sys.getrefcount(transform_to), transform_to_ref_count + 1)
-        self.assertEqual(sys.getrefcount(transform_from), transform_from_ref_count + 1)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(test_data), test_data_ref_count + 2)
+            self.assertEqual(sys.getrefcount(transform_to), transform_to_ref_count + 1)
+            self.assertEqual(sys.getrefcount(transform_from), transform_from_ref_count + 1)
 
         # Unbind should clear out the binding and its transforms
         binding.unbind()
@@ -550,9 +564,10 @@ class TestPropertyBindings(unittest.TestCase):
         self.assertEqual(self.target.int_prop, 3)
         self.assertEqual(self.source.int_prop, 5)
 
-        self.assertEqual(sys.getrefcount(test_data), test_data_ref_count)
-        self.assertEqual(sys.getrefcount(transform_to), transform_to_ref_count)
-        self.assertEqual(sys.getrefcount(transform_from), transform_from_ref_count)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(test_data), test_data_ref_count)
+            self.assertEqual(sys.getrefcount(transform_to), transform_to_ref_count)
+            self.assertEqual(sys.getrefcount(transform_from), transform_from_ref_count)
 
     def test_explicit_unbind_clears_connection(self):
         self.assertEqual(self.source.int_prop, 0)
diff --git a/tests/test_gtk_template.py b/tests/test_gtk_template.py
new file mode 100644 (file)
index 0000000..e55f298
--- /dev/null
@@ -0,0 +1,482 @@
+# coding: UTF-8
+
+from __future__ import absolute_import
+
+import tempfile
+import os
+import pytest
+
+Gtk = pytest.importorskip("gi.repository.Gtk")
+GLib = pytest.importorskip("gi.repository.GLib")
+GObject = pytest.importorskip("gi.repository.GObject")
+Gio = pytest.importorskip("gi.repository.Gio")
+
+
+from .helper import capture_exceptions
+
+
+def new_gtype_name(_count=[0]):
+    _count[0] += 1
+    return "GtkTemplateTest%d" % _count[0]
+
+
+def ensure_resource_registered():
+    resource_path = "/org/gnome/pygobject/test/a.ui"
+
+    def is_registered(path):
+        try:
+            Gio.resources_get_info(path, Gio.ResourceLookupFlags.NONE)
+        except GLib.Error:
+            return False
+        return True
+
+    if is_registered(resource_path):
+        return resource_path
+
+    gresource_data = (
+        b'GVariant\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00'
+        b'\xc8\x00\x00\x00\x00\x00\x00(\x06\x00\x00\x00\x00\x00\x00\x00'
+        b'\x00\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00'
+        b'\x06\x00\x00\x00KP\x90\x0b\x03\x00\x00\x00\xc8\x00\x00\x00'
+        b'\x04\x00L\x00\xcc\x00\x00\x00\xd0\x00\x00\x00\xb0\xb7$0'
+        b'\x00\x00\x00\x00\xd0\x00\x00\x00\x06\x00L\x00\xd8\x00\x00\x00'
+        b'\xdc\x00\x00\x00f\xc30\xd1\x01\x00\x00\x00\xdc\x00\x00\x00'
+        b'\n\x00L\x00\xe8\x00\x00\x00\xec\x00\x00\x00\xd4\xb5\x02\x00'
+        b'\xff\xff\xff\xff\xec\x00\x00\x00\x01\x00L\x00\xf0\x00\x00\x00'
+        b'\xf4\x00\x00\x005H}\xe3\x02\x00\x00\x00\xf4\x00\x00\x00'
+        b'\x05\x00L\x00\xfc\x00\x00\x00\x00\x01\x00\x00\xa2^\xd6t'
+        b'\x04\x00\x00\x00\x00\x01\x00\x00\x04\x00v\x00\x08\x01\x00\x00'
+        b'\xa5\x01\x00\x00org/\x01\x00\x00\x00gnome/\x00\x00\x02\x00\x00\x00'
+        b'pygobject/\x00\x00\x04\x00\x00\x00/\x00\x00\x00\x00\x00\x00\x00'
+        b'test/\x00\x00\x00\x05\x00\x00\x00a.ui\x00\x00\x00\x00'
+        b'\x8d\x00\x00\x00\x00\x00\x00\x00<interface>\n  <template class="G'
+        b'tkTemplateTestResource" parent="GtkBox">\n  <property name="spaci'
+        b'ng">42</property>\n  </template>\n</interface>\n\x00\x00(uuay)'
+    )
+
+    resource = Gio.Resource.new_from_data(GLib.Bytes.new(gresource_data))
+    Gio.resources_register(resource)
+    assert is_registered(resource_path)
+    return resource_path
+
+
+def test_allow_init_template_call():
+
+    type_name = new_gtype_name()
+
+    xml = """\
+<interface>
+  <template class="{0}" parent="GtkBox">
+  </template>
+</interface>
+""".format(type_name)
+
+    @Gtk.Template.from_string(xml)
+    class Foo(Gtk.Box):
+        __gtype_name__ = type_name
+
+        def __init__(self):
+            super(Foo, self).__init__()
+            self.init_template()
+
+    Foo()
+
+
+def test_main_example():
+
+    type_name = new_gtype_name()
+
+    example_xml = """\
+<interface>
+  <template class="{0}" parent="GtkBox">
+    <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
+    <property name="spacing">4</property>
+    <child>
+      <object class="GtkButton" id="hello_button">
+        <property name="label">Hello World</property>
+        <signal name="clicked" handler="hello_button_clicked"
+                object="{0}" swapped="no"/>
+        <signal name="clicked" handler="hello_button_clicked_after"
+                object="{0}" swapped="no" after="yes"/>
+      </object>
+    </child>
+    <child>
+      <object class="GtkButton" id="goodbye_button">
+        <property name="label">Goodbye World</property>
+        <signal name="clicked" handler="goodbye_button_clicked"/>
+        <signal name="clicked" handler="goodbye_button_clicked_after"
+                after="yes"/>
+      </object>
+    </child>
+  </template>
+</interface>
+""".format(type_name)
+
+    @Gtk.Template.from_string(example_xml)
+    class Foo(Gtk.Box):
+        __gtype_name__ = type_name
+
+        def __init__(self):
+            super(Foo, self).__init__()
+            self.callback_hello = []
+            self.callback_hello_after = []
+            self.callback_goodbye = []
+            self.callback_goodbye_after = []
+
+        @Gtk.Template.Callback("hello_button_clicked")
+        def _hello_button_clicked(self, *args):
+            self.callback_hello.append(args)
+
+        @Gtk.Template.Callback("hello_button_clicked_after")
+        def _hello_after(self, *args):
+            self.callback_hello_after.append(args)
+
+        _hello_button = Gtk.Template.Child("hello_button")
+
+        goodbye_button = Gtk.Template.Child()
+
+        @Gtk.Template.Callback("goodbye_button_clicked")
+        def _goodbye_button_clicked(self, *args):
+            self.callback_goodbye.append(args)
+
+        @Gtk.Template.Callback("goodbye_button_clicked_after")
+        def _goodbye_after(self, *args):
+            self.callback_goodbye_after.append(args)
+
+    w = Foo()
+    assert w.__gtype__.name == type_name
+    assert w.props.orientation == Gtk.Orientation.HORIZONTAL
+    assert w.props.spacing == 4
+    assert isinstance(w._hello_button, Gtk.Button)
+    assert w._hello_button.props.label == "Hello World"
+    assert isinstance(w.goodbye_button, Gtk.Button)
+    assert w.goodbye_button.props.label == "Goodbye World"
+
+    assert w.callback_hello == []
+    w._hello_button.clicked()
+    assert w.callback_hello == [(w,)]
+    assert w.callback_hello_after == [(w,)]
+
+    assert w.callback_goodbye == []
+    w.goodbye_button.clicked()
+    assert w.callback_goodbye == [(w.goodbye_button,)]
+    assert w.callback_goodbye_after == [(w.goodbye_button,)]
+
+
+def test_duplicate_handler():
+
+    type_name = new_gtype_name()
+
+    xml = """\
+<interface>
+  <template class="{0}" parent="GtkBox">
+    <child>
+      <object class="GtkButton" id="hello_button">
+        <signal name="clicked" handler="hello_button_clicked">
+      </object>
+    </child>
+  </template>
+</interface>
+""".format(type_name)
+
+    class Foo(Gtk.Box):
+        __gtype_name__ = type_name
+
+        @Gtk.Template.Callback("hello_button_clicked")
+        def _hello_button_clicked(self, *args):
+            pass
+
+        @Gtk.Template.Callback()
+        def hello_button_clicked(self, *args):
+            pass
+
+    with pytest.raises(RuntimeError, match=".*hello_button_clicked.*"):
+        Gtk.Template.from_string(xml)(Foo)
+
+
+def test_duplicate_child():
+    type_name = new_gtype_name()
+
+    xml = """\
+<interface>
+  <template class="{0}" parent="GtkBox">
+    <child>
+      <object class="GtkButton" id="hello_button" />
+    </child>
+  </template>
+</interface>
+""".format(type_name)
+
+    class Foo(Gtk.Box):
+        __gtype_name__ = type_name
+
+        foo = Gtk.Template.Child("hello_button")
+        hello_button = Gtk.Template.Child()
+
+    with pytest.raises(RuntimeError, match=".*hello_button.*"):
+        Gtk.Template.from_string(xml)(Foo)
+
+
+def test_nonexist_handler():
+    type_name = new_gtype_name()
+
+    xml = """\
+<interface>
+  <template class="{0}" parent="GtkBox">
+  </template>
+</interface>
+""".format(type_name)
+
+    @Gtk.Template.from_string(xml)
+    class Foo(Gtk.Box):
+        __gtype_name__ = type_name
+
+        @Gtk.Template.Callback("nonexit")
+        def foo(self, *args):
+            pass
+
+    with capture_exceptions() as exc_info:
+        Foo()
+    assert "nonexit" in str(exc_info[0].value)
+    assert exc_info[0].type is RuntimeError
+
+
+def test_missing_handler_callback():
+    type_name = new_gtype_name()
+
+    xml = """\
+<interface>
+  <template class="{0}" parent="GtkBox">
+    <child>
+      <object class="GtkButton" id="hello_button">
+        <signal name="clicked" handler="i_am_not_used_in_python" />
+      </object>
+    </child>
+  </template>
+</interface>
+""".format(type_name)
+
+    class Foo(Gtk.Box):
+        __gtype_name__ = type_name
+
+    Gtk.Template.from_string(xml)(Foo)()
+
+
+def test_handler_swapped_not_supported():
+
+    type_name = new_gtype_name()
+
+    xml = """\
+<interface>
+  <template class="{0}" parent="GtkBox">
+    <child>
+      <object class="GtkButton" id="hello_button">
+        <signal name="clicked" handler="hello_button_clicked"
+                object="{0}" swapped="yes" />
+      </object>
+    </child>
+  </template>
+</interface>
+""".format(type_name)
+
+    @Gtk.Template.from_string(xml)
+    class Foo(Gtk.Box):
+        __gtype_name__ = type_name
+
+        hello_button = Gtk.Template.Child()
+
+        @Gtk.Template.Callback("hello_button_clicked")
+        def foo(self, *args):
+            pass
+
+    with capture_exceptions() as exc_info:
+        Foo()
+    assert "G_CONNECT_SWAPPED" in str(exc_info[0].value)
+
+
+def test_handler_class_staticmethod():
+
+    type_name = new_gtype_name()
+
+    xml = """\
+<interface>
+  <template class="{0}" parent="GtkBox">
+    <child>
+      <object class="GtkButton" id="hello_button">
+        <signal name="clicked" handler="clicked_class" />
+        <signal name="clicked" handler="clicked_static" />
+      </object>
+    </child>
+  </template>
+</interface>
+""".format(type_name)
+
+    signal_args_class = []
+    signal_args_static = []
+
+    @Gtk.Template.from_string(xml)
+    class Foo(Gtk.Box):
+        __gtype_name__ = type_name
+
+        hello_button = Gtk.Template.Child()
+
+        @Gtk.Template.Callback("clicked_class")
+        @classmethod
+        def cb1(*args):
+            signal_args_class.append(args)
+
+        @Gtk.Template.Callback("clicked_static")
+        @staticmethod
+        def cb2(*args):
+            signal_args_static.append(args)
+
+    foo = Foo()
+    foo.hello_button.clicked()
+    assert signal_args_class == [(Foo, foo.hello_button)]
+    assert signal_args_static == [(foo.hello_button,)]
+
+
+def test_check_decorated_class():
+
+    NonWidget = type("Foo", (object,), {})
+    with pytest.raises(TypeError, match=".*on Widgets.*"):
+        Gtk.Template.from_string("")(NonWidget)
+
+    Widget = type("Foo", (Gtk.Widget,), {"__gtype_name__": new_gtype_name()})
+    with pytest.raises(TypeError, match=".*Cannot nest.*"):
+        Gtk.Template.from_string("")(Gtk.Template.from_string("")(Widget))
+
+    Widget = type("Foo", (Gtk.Widget,), {})
+    with pytest.raises(TypeError, match=".*__gtype_name__.*"):
+        Gtk.Template.from_string("")(Widget)
+
+    with pytest.raises(TypeError, match=".*on Widgets.*"):
+        Gtk.Template.from_string("")(object())
+
+    @Gtk.Template.from_string("")
+    class Base(Gtk.Widget):
+        __gtype_name__ = new_gtype_name()
+
+    with capture_exceptions() as exc_info:
+        type("Sub", (Base,), {})()
+    assert "not allowed at this time" in str(exc_info[0].value)
+    assert exc_info[0].type is TypeError
+
+
+def test_from_file():
+    fd, name = tempfile.mkstemp()
+    try:
+        os.close(fd)
+
+        type_name = new_gtype_name()
+
+        with open(name, "wb") as h:
+            h.write(u"""\
+    <interface>
+      <template class="{0}" parent="GtkBox">
+      <property name="spacing">42</property>
+      </template>
+    </interface>
+    """.format(type_name).encode())
+
+        @Gtk.Template.from_file(name)
+        class Foo(Gtk.Box):
+            __gtype_name__ = type_name
+
+        foo = Foo()
+        assert foo.props.spacing == 42
+    finally:
+        os.remove(name)
+
+
+def test_property_override():
+    type_name = new_gtype_name()
+
+    xml = """\
+    <interface>
+      <template class="{0}" parent="GtkBox">
+      <property name="spacing">42</property>
+      </template>
+    </interface>
+""".format(type_name)
+
+    @Gtk.Template.from_string(xml)
+    class Foo(Gtk.Box):
+        __gtype_name__ = type_name
+
+    foo = Foo()
+    assert foo.props.spacing == 42
+
+    foo = Foo(spacing=124)
+    assert foo.props.spacing == 124
+
+
+def test_from_file_non_exist():
+    dirname = tempfile.mkdtemp()
+    try:
+        path = os.path.join(dirname, "noexist")
+
+        Widget = type(
+            "Foo", (Gtk.Widget,), {"__gtype_name__": new_gtype_name()})
+        with pytest.raises(GLib.Error, match=".*No such file.*"):
+            Gtk.Template.from_file(path)(Widget)
+    finally:
+        os.rmdir(dirname)
+
+
+def test_from_string_bytes():
+    type_name = new_gtype_name()
+
+    xml = u"""\
+    <interface>
+      <template class="{0}" parent="GtkBox">
+      <property name="spacing">42</property>
+      </template>
+    </interface>
+    """.format(type_name).encode()
+
+    @Gtk.Template.from_string(xml)
+    class Foo(Gtk.Box):
+        __gtype_name__ = type_name
+
+    foo = Foo()
+    assert foo.props.spacing == 42
+
+
+def test_from_resource():
+    resource_path = ensure_resource_registered()
+
+    @Gtk.Template.from_resource(resource_path)
+    class Foo(Gtk.Box):
+        __gtype_name__ = "GtkTemplateTestResource"
+
+    foo = Foo()
+    assert foo.props.spacing == 42
+
+
+def test_from_resource_non_exit():
+    Widget = type("Foo", (Gtk.Widget,), {"__gtype_name__": new_gtype_name()})
+    with pytest.raises(GLib.Error, match=".*/or/gnome/pygobject/noexit.*"):
+        Gtk.Template.from_resource("/or/gnome/pygobject/noexit")(Widget)
+
+
+def test_constructors():
+    with pytest.raises(TypeError):
+        Gtk.Template()
+
+    with pytest.raises(TypeError):
+        Gtk.Template(foo=1)
+
+    Gtk.Template(filename="foo")
+    Gtk.Template(resource_path="foo")
+    Gtk.Template(string="foo")
+
+    with pytest.raises(TypeError):
+        Gtk.Template(filename="foo", resource_path="bar")
+
+    with pytest.raises(TypeError):
+        Gtk.Template(filename="foo", nope="bar")
+
+    Gtk.Template.from_string("bla")
+    Gtk.Template.from_resource("foo")
+    Gtk.Template.from_file("foo")
index 26b7ff5..b9d3349 100644 (file)
@@ -51,3 +51,64 @@ class TestTypeModuleLevelFunctions(unittest.TestCase):
         self.assertEqual(GObject.type_parent(CustomChild), CustomBase.__gtype__)
         self.assertEqual(GObject.type_parent(CustomBase), GObject.TYPE_OBJECT)
         self.assertRaises(RuntimeError, GObject.type_parent, GObject.GObject)
+
+
+def test_gtype_has_value_table():
+    assert CustomBase.__gtype__.has_value_table()
+    assert not GIMarshallingTests.Interface.__gtype__.has_value_table()
+    assert CustomChild.__gtype__.has_value_table()
+
+
+def test_gtype_is_abstract():
+    assert not CustomBase.__gtype__.is_abstract()
+    assert not GIMarshallingTests.Interface.__gtype__.is_abstract()
+    assert not CustomChild.__gtype__.is_abstract()
+
+
+def test_gtype_is_classed():
+    assert CustomBase.__gtype__.is_classed()
+    assert not GIMarshallingTests.Interface.__gtype__.is_classed()
+    assert CustomChild.__gtype__.is_classed()
+
+
+def test_gtype_is_deep_derivable():
+    assert CustomBase.__gtype__.is_deep_derivable()
+    assert not GIMarshallingTests.Interface.__gtype__.is_deep_derivable()
+    assert CustomChild.__gtype__.is_deep_derivable()
+
+
+def test_gtype_is_derivable():
+    assert CustomBase.__gtype__.is_derivable()
+    assert GIMarshallingTests.Interface.__gtype__.is_derivable()
+    assert CustomChild.__gtype__.is_derivable()
+
+
+def test_gtype_is_value_abstract():
+    assert not CustomBase.__gtype__.is_value_abstract()
+    assert not GIMarshallingTests.Interface.__gtype__.is_value_abstract()
+    assert not CustomChild.__gtype__.is_value_abstract()
+
+
+def test_gtype_is_value_type():
+    assert CustomBase.__gtype__.is_value_type()
+    assert not GIMarshallingTests.Interface.__gtype__.is_value_type()
+    assert CustomChild.__gtype__.is_value_type()
+
+
+def test_gtype_children():
+    assert CustomBase.__gtype__.children == [CustomChild.__gtype__]
+    assert GIMarshallingTests.Interface.__gtype__.children == []
+    assert CustomChild.__gtype__.children == []
+
+
+def test_gtype_depth():
+    assert CustomBase.__gtype__.depth == 2
+    assert GIMarshallingTests.Interface.__gtype__.depth == 2
+    assert CustomChild.__gtype__.depth == 3
+
+
+def test_gtype_interfaces():
+    assert CustomBase.__gtype__.interfaces == []
+    assert GIMarshallingTests.Interface.__gtype__.interfaces == []
+    assert CustomChild.__gtype__.interfaces == \
+        [GIMarshallingTests.Interface.__gtype__]
index 27377cd..fc1ba7b 100644 (file)
@@ -9,6 +9,7 @@ import unittest
 import gi.overrides
 import gi.module
 import gi.importer
+from gi._compat import PY2, PY3
 
 from gi.repository import Regress
 
@@ -123,9 +124,7 @@ class TestImporter(unittest.TestCase):
         self.assertTrue('InvalidGObjectRepositoryModuleName' in exception_string)
 
         # The message of the custom exception in gi/importer.py is eaten in Python <3.3
-        if sys.version_info < (3, 3):
-            self.assertTrue('introspection typelib' not in exception_string)
-        else:
+        if sys.version_info >= (3, 3):
             self.assertTrue('introspection typelib' in exception_string)
 
     def test_require_version_warning(self):
@@ -148,9 +147,10 @@ class TestImporter(unittest.TestCase):
             gi.require_version('GLib', 2.0)
 
         # Test that unicode strings work in python 2
-        if sys.version_info[0] <= 2:
-            gi.require_version('GLib', unicode('2.0'))
-        else:
+        if PY2:
+            gi.require_version('GLib', u'2.0')
+
+        if PY3:
             with self.assertRaises(ValueError):
                 gi.require_version('GLib', b'2.0')
 
index 0cf3e6f..7b2b8ea 100644 (file)
@@ -1,20 +1,48 @@
+# -*- coding: utf-8 -*-
 # -*- Mode: Python -*-
 
 from __future__ import absolute_import
 
 import unittest
+import pytest
 
 from gi.repository import GLib, GObject
+from gi._compat import PY3
 
 from . import testhelper
-from . import testmodule
+
+
+class PyGObject(GObject.GObject):
+    __gtype_name__ = 'PyGObject'
+    __gproperties__ = {
+        'label': (GObject.TYPE_STRING,
+                  'label property',
+                  'the label of the object',
+                  'default',
+                  GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE),
+        }
+
+    def __init__(self):
+        self._props = {}
+        GObject.GObject.__init__(self)
+        self.set_property('label', 'hello')
+
+    def do_set_property(self, name, value):
+        self._props[name] = value
+
+    def do_get_property(self, name):
+        return self._props[name]
+
+
+def test_parse_constructor_args():
+    assert testhelper.test_parse_constructor_args("foo") == 1
 
 
 class TestObject(unittest.TestCase):
     def test_create_ctor(self):
-        o = testmodule.PyGObject()
+        o = PyGObject()
         self.assertTrue(isinstance(o, GObject.Object))
-        self.assertTrue(isinstance(o, testmodule.PyGObject))
+        self.assertTrue(isinstance(o, PyGObject))
 
         # has expected property
         self.assertEqual(o.props.label, 'hello')
@@ -24,7 +52,7 @@ class TestObject(unittest.TestCase):
 
     def test_pyobject_new_test_type(self):
         o = testhelper.create_test_type()
-        self.assertTrue(isinstance(o, testmodule.PyGObject))
+        self.assertTrue(isinstance(o, PyGObject))
 
         # has expected property
         self.assertEqual(o.props.label, 'hello')
@@ -69,3 +97,22 @@ class TestErrors(unittest.TestCase):
     def test_no_gerror(self):
         callable_ = lambda: GLib.file_get_contents(__file__)
         self.assertEqual(testhelper.test_gerror_exception(callable_), None)
+
+
+def test_to_unichar_conv():
+    assert testhelper.test_to_unichar_conv(u"A") == 65
+    assert testhelper.test_to_unichar_conv(u"Ä") == 196
+
+    if PY3:
+        with pytest.raises(TypeError):
+            assert testhelper.test_to_unichar_conv(b"\x65")
+    else:
+        assert testhelper.test_to_unichar_conv(b"\x65") == 0x65
+        with pytest.raises(ValueError):
+            assert testhelper.test_to_unichar_conv(b"\xff")
+
+    with pytest.raises(TypeError):
+        testhelper.test_to_unichar_conv(object())
+
+    with pytest.raises(TypeError):
+        testhelper.test_to_unichar_conv(u"AA")
index 2d9fbd5..40a8b97 100644 (file)
@@ -44,6 +44,7 @@ class TestMainLoop(unittest.TestCase):
         assert exc[0].value.args[0] == "deadbabe"
 
     @unittest.skipUnless(hasattr(os, "fork"), "no os.fork available")
+    @unittest.skipIf(os.environ.get("PYGI_TEST_GDB"), "SIGINT stops gdb")
     def test_sigint(self):
         r, w = os.pipe()
         pid = os.fork()
index 4fce561..e50cbb6 100644 (file)
@@ -110,7 +110,8 @@ class TestVFuncsWithObjectArg(unittest.TestCase):
         vfuncs.get_ref_info_for_vfunc_return_object_transfer_full()  # Use any vfunc to test this.
 
         gc.collect()
-        self.assertEqual(sys.getrefcount(vfuncs), 2)
+        if hasattr(sys, "getrefcount"):
+            self.assertEqual(sys.getrefcount(vfuncs), 2)
         self.assertEqual(vfuncs.__grefcount__, 1)
 
         del vfuncs
index 9130334..3467253 100644 (file)
@@ -8,7 +8,7 @@ import unittest
 
 import gi
 from gi.repository import GLib
-from .compathelper import _long
+from gi._compat import long_, integer_types
 
 
 class TestGVariant(unittest.TestCase):
@@ -62,7 +62,7 @@ class TestGVariant(unittest.TestCase):
         # nested tuples
         variant = GLib.Variant('((si)(ub))', (('hello', -1), (42, True)))
         self.assertEqual(variant.get_type_string(), '((si)(ub))')
-        self.assertEqual(variant.unpack(), (('hello', -1), (_long(42), True)))
+        self.assertEqual(variant.unpack(), (('hello', -1), (long_(42), True)))
 
     def test_new_tuple_sink(self):
         # https://bugzilla.gnome.org/show_bug.cgi?id=735166
@@ -561,17 +561,23 @@ class TestGVariant(unittest.TestCase):
                                 42, source_str)
 
         gerror = GLib.Error(message=42)  # not a string
-        self.assertRaisesRegexp(ValueError, ".*must have a 'message'.*",
+        self.assertRaisesRegexp(TypeError, ".*Must be string, not int.*",
                                 GLib.Variant.parse_error_print_context,
                                 gerror, source_str)
 
         gerror = GLib.Error(domain=42)  # not a string
-        self.assertRaisesRegexp(ValueError, ".*must have a 'domain'.*",
+        self.assertRaisesRegexp(TypeError, ".*Must be string, not int.*",
                                 GLib.Variant.parse_error_print_context,
                                 gerror, source_str)
 
         gerror = GLib.Error(code='not an int')
-        self.assertRaisesRegexp(ValueError, ".*must have a 'code' int.*",
+        self.assertRaisesRegexp(TypeError, ".*Must be number, not str.*",
+                                GLib.Variant.parse_error_print_context,
+                                gerror, source_str)
+
+        gerror = GLib.Error(code=GLib.MAXUINT)
+        self.assertRaisesRegexp(OverflowError,
+                                ".*not in range.*",
                                 GLib.Variant.parse_error_print_context,
                                 gerror, source_str)
 
@@ -580,4 +586,4 @@ class TestConstants(unittest.TestCase):
 
     def test_basic_types_limits(self):
         self.assertTrue(isinstance(GLib.MINFLOAT, float))
-        self.assertTrue(isinstance(GLib.MAXLONG, (int, _long)))
+        self.assertTrue(isinstance(GLib.MAXLONG, integer_types))
index 7f29f17..7ffb506 100644 (file)
@@ -8,6 +8,7 @@ import contextlib
 import unittest
 import time
 import sys
+import gc
 import warnings
 
 from .helper import ignore_gi_deprecation_warnings, capture_glib_warnings
@@ -28,6 +29,14 @@ except ImportError:
     Gdk = None
 
 
+def gtkver():
+    if Gtk is None:
+        return (0, 0, 0)
+    return (Gtk.get_major_version(),
+            Gtk.get_minor_version(),
+            Gtk.get_micro_version())
+
+
 @contextlib.contextmanager
 def realized(widget):
     """Makes sure the widget is realized.
@@ -61,6 +70,27 @@ def realized(widget):
 
 
 @unittest.skipUnless(Gtk, 'Gtk not available')
+def test_wrapper_toggle_refs():
+    class MyButton(Gtk.Button):
+        def __init__(self, height):
+            Gtk.Button.__init__(self)
+            self._height = height
+
+        def do_get_preferred_height(self):
+            return (self._height, self._height)
+
+    height = 142
+    w = Gtk.Window()
+    b = MyButton(height)
+    w.add(b)
+    b.show_all()
+    del b
+    gc.collect()
+    gc.collect()
+    assert w.get_preferred_size().minimum_size.height == height
+
+
+@unittest.skipUnless(Gtk, 'Gtk not available')
 @ignore_gi_deprecation_warnings
 class TestGtk(unittest.TestCase):
     def test_container(self):
@@ -1360,6 +1390,223 @@ class TestTreeModel(unittest.TestCase):
         list_store.set(tree_iter, (0, 1), (20, True))
         self.assertEqual(signals, ['row-inserted', 'row-changed'])
 
+    def test_list_store_insert_before(self):
+        store = Gtk.ListStore(object)
+        signals = []
+
+        def on_row_inserted(store, tree_path, tree_iter, signal_list):
+            signal_list.append('row-inserted')
+
+        def on_row_changed(store, tree_path, tree_iter, signal_list):
+            signal_list.append('row-changed')
+
+        store.connect('row-inserted', on_row_inserted, signals)
+        store.connect('row-changed', on_row_changed, signals)
+
+        iter_ = store.append([0])
+        assert store.get_value(iter_, 0) == 0
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # append empty
+        iter_ = store.insert_before(None)
+        assert store.get_path(iter_).get_indices() == [1]
+        assert store.get_value(iter_, 0) is None
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # insert empty
+        iter_ = store.insert_before(iter_)
+        assert store.get_path(iter_).get_indices() == [1]
+        assert store.get_value(iter_, 0) is None
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # append non-empty
+        iter_ = store.insert_before(None, [1234])
+        assert store.get_path(iter_).get_indices() == [3]
+        assert store.get_value(iter_, 0) == 1234
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # insert non-empty
+        iter_ = store.insert_before(iter_, [4321])
+        assert store.get_path(iter_).get_indices() == [3]
+        assert store.get_value(iter_, 0) == 4321
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        assert [r[0] for r in store] == [0, None, None, 4321, 1234]
+
+    def test_list_store_insert_after(self):
+        store = Gtk.ListStore(object)
+        signals = []
+
+        def on_row_inserted(store, tree_path, tree_iter, signal_list):
+            signal_list.append('row-inserted')
+
+        def on_row_changed(store, tree_path, tree_iter, signal_list):
+            signal_list.append('row-changed')
+
+        store.connect('row-inserted', on_row_inserted, signals)
+        store.connect('row-changed', on_row_changed, signals)
+
+        iter_ = store.append([0])
+        assert store.get_value(iter_, 0) == 0
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # prepend empty
+        iter_ = store.insert_after(None)
+        assert store.get_path(iter_).get_indices() == [0]
+        assert store.get_value(iter_, 0) is None
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # insert empty
+        iter_ = store.insert_after(iter_)
+        assert store.get_path(iter_).get_indices() == [1]
+        assert store.get_value(iter_, 0) is None
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # prepend non-empty
+        iter_ = store.insert_after(None, [1234])
+        assert store.get_path(iter_).get_indices() == [0]
+        assert store.get_value(iter_, 0) == 1234
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # insert non-empty
+        iter_ = store.insert_after(iter_, [4321])
+        assert store.get_path(iter_).get_indices() == [1]
+        assert store.get_value(iter_, 0) == 4321
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        assert [r[0] for r in store] == [1234, 4321, None, None, 0]
+
+    def test_tree_store_insert_before(self):
+        store = Gtk.TreeStore(object)
+        signals = []
+
+        def on_row_inserted(store, tree_path, tree_iter, signal_list):
+            signal_list.append('row-inserted')
+
+        def on_row_changed(store, tree_path, tree_iter, signal_list):
+            signal_list.append('row-changed')
+
+        store.connect('row-inserted', on_row_inserted, signals)
+        store.connect('row-changed', on_row_changed, signals)
+
+        parent = store.append(None, [-1])
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        iter_ = store.append(parent, [0])
+        assert store.get_path(iter_).get_indices() == [0, 0]
+        assert store.get_value(iter_, 0) == 0
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # append empty
+        iter_ = store.insert_before(parent, None)
+        assert store.get_path(iter_).get_indices() == [0, 1]
+        assert store.get_value(iter_, 0) is None
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # insert empty
+        iter_ = store.insert_before(parent, iter_)
+        assert store.get_path(iter_).get_indices() == [0, 1]
+        assert store.get_value(iter_, 0) is None
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # append non-empty
+        iter_ = store.insert_before(parent, None, [1234])
+        assert store.get_path(iter_).get_indices() == [0, 3]
+        assert store.get_value(iter_, 0) == 1234
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # insert non-empty
+        iter_ = store.insert_before(parent, iter_, [4321])
+        assert store.get_path(iter_).get_indices() == [0, 3]
+        assert store.get_value(iter_, 0) == 4321
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        def func(model, path, iter_, rows):
+            rows.append((path.get_indices(), model[iter_][:]))
+
+        rows = []
+        store.foreach(func, rows)
+        assert rows == [
+            ([0], [-1]), ([0, 0], [0]), ([0, 1], [None]), ([0, 2], [None]),
+            ([0, 3], [4321]), ([0, 4], [1234])]
+
+    def test_tree_store_insert_after(self):
+        store = Gtk.TreeStore(object)
+        signals = []
+
+        def on_row_inserted(store, tree_path, tree_iter, signal_list):
+            signal_list.append('row-inserted')
+
+        def on_row_changed(store, tree_path, tree_iter, signal_list):
+            signal_list.append('row-changed')
+
+        store.connect('row-inserted', on_row_inserted, signals)
+        store.connect('row-changed', on_row_changed, signals)
+
+        parent = store.append(None, [-1])
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        iter_ = store.append(parent, [0])
+        assert store.get_path(iter_).get_indices() == [0, 0]
+        assert store.get_value(iter_, 0) == 0
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # append empty
+        iter_ = store.insert_after(parent, None)
+        assert store.get_path(iter_).get_indices() == [0, 0]
+        assert store.get_value(iter_, 0) is None
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # insert empty
+        iter_ = store.insert_after(parent, iter_)
+        assert store.get_path(iter_).get_indices() == [0, 1]
+        assert store.get_value(iter_, 0) is None
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # append non-empty
+        iter_ = store.insert_after(parent, None, [1234])
+        assert store.get_path(iter_).get_indices() == [0, 0]
+        assert store.get_value(iter_, 0) == 1234
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        # insert non-empty
+        iter_ = store.insert_after(parent, iter_, [4321])
+        assert store.get_path(iter_).get_indices() == [0, 1]
+        assert store.get_value(iter_, 0) == 4321
+        assert signals == ['row-inserted']
+        del signals[:]
+
+        def func(model, path, iter_, rows):
+            rows.append((path.get_indices(), model[iter_][:]))
+
+        rows = []
+        store.foreach(func, rows)
+
+        assert rows == [
+            ([0], [-1]), ([0, 0], [1234]), ([0, 1], [4321]),
+            ([0, 2], [None]), ([0, 3], [None]), ([0, 4], [0])]
+
     def test_tree_path(self):
         p1 = Gtk.TreePath()
         p2 = Gtk.TreePath.new_first()
@@ -1992,6 +2239,7 @@ class TestTextBuffer(unittest.TestCase):
         self.assertEqual(buffer.get_property('text'),
                          'first line\nsecond line\n')
 
+    @unittest.skipIf(gtkver() < (3, 20, 0), "broken with older gtk")
     def test_backward_find_char(self):
         buffer = Gtk.TextBuffer()
         buffer.set_text('abc')
index 622fdb2..ca90270 100644 (file)
@@ -31,7 +31,7 @@ from gi.repository import GIMarshallingTests
 from gi.repository import Regress
 from gi import _propertyhelper as propertyhelper
 
-from .compathelper import _long, PY3
+from gi._compat import long_, PY3, PY2
 from .helper import capture_glib_warnings, capture_output
 
 
@@ -207,12 +207,12 @@ class TestPropertyObject(unittest.TestCase):
     def test_uint64(self):
         obj = new(PropertyObject)
         self.assertEqual(obj.props.uint64, 0)
-        obj.props.uint64 = _long(1)
-        self.assertEqual(obj.props.uint64, _long(1))
+        obj.props.uint64 = long_(1)
+        self.assertEqual(obj.props.uint64, long_(1))
         obj.props.uint64 = 1
-        self.assertEqual(obj.props.uint64, _long(1))
+        self.assertEqual(obj.props.uint64, long_(1))
 
-        self.assertRaises((TypeError, OverflowError), obj.set_property, "uint64", _long(-1))
+        self.assertRaises((TypeError, OverflowError), obj.set_property, "uint64", long_(-1))
         self.assertRaises((TypeError, OverflowError), obj.set_property, "uint64", -1)
 
     def test_uint64_default_value(self):
@@ -220,7 +220,7 @@ class TestPropertyObject(unittest.TestCase):
             class TimeControl(GObject.GObject):
                 __gproperties__ = {
                     'time': (TYPE_UINT64, 'Time', 'Time',
-                             _long(0), (1 << 64) - 1, _long(0),
+                             long_(0), (1 << 64) - 1, long_(0),
                              ParamFlags.READABLE)
                     }
         except OverflowError:
@@ -255,6 +255,10 @@ class TestPropertyObject(unittest.TestCase):
         self.assertRaises(TypeError, GObject.Property, type=Gio.SocketType,
                           default=1)
 
+    def test_repr(self):
+        prop = GObject.Property(type=int)
+        assert repr(prop) == "<GObject Property (uninitialized) (gint)>"
+
     def test_flags(self):
         obj = new(PropertyObject)
         self.assertEqual(obj.props.flags, GIMarshallingTests.Flags.VALUE1)
@@ -510,7 +514,7 @@ class TestProperty(unittest.TestCase):
             str = GObject.Property(type=str)
             int = GObject.Property(type=int)
             float = GObject.Property(type=float)
-            long = GObject.Property(type=_long)
+            long = GObject.Property(type=long_)
 
         self.assertTrue(hasattr(C.props, 'str'))
         self.assertTrue(hasattr(C.props, 'int'))
@@ -530,9 +534,9 @@ class TestProperty(unittest.TestCase):
         o.float = 3.14
         self.assertEqual(o.float, 3.14)
 
-        self.assertEqual(o.long, _long(0))
-        o.long = _long(100)
-        self.assertEqual(o.long, _long(100))
+        self.assertEqual(o.long, long_(0))
+        o.long = long_(100)
+        self.assertEqual(o.long, long_(100))
 
     def test_custom_getter(self):
         class C(GObject.GObject):
@@ -830,7 +834,7 @@ class TestProperty(unittest.TestCase):
         GObject.Property(type=GObject.TYPE_DOUBLE, minimum=-1)
 
     # Bug 644039
-
+    @unittest.skipUnless(hasattr(sys, "getrefcount"), "no sys.getrefcount")
     def test_reference_count(self):
         # We can check directly if an object gets finalized, so we will
         # observe it indirectly through the refcount of a member object.
@@ -870,8 +874,8 @@ class TestProperty(unittest.TestCase):
     def test_python_to_glib_type_mapping(self):
         tester = GObject.Property()
         self.assertEqual(tester._type_from_python(int), GObject.TYPE_INT)
-        if sys.version_info < (3, 0):
-            self.assertEqual(tester._type_from_python(long), GObject.TYPE_LONG)
+        if PY2:
+            self.assertEqual(tester._type_from_python(long_), GObject.TYPE_LONG)
         self.assertEqual(tester._type_from_python(bool), GObject.TYPE_BOOLEAN)
         self.assertEqual(tester._type_from_python(float), GObject.TYPE_DOUBLE)
         self.assertEqual(tester._type_from_python(str), GObject.TYPE_STRING)
diff --git a/tests/test_pycapi.py b/tests/test_pycapi.py
new file mode 100644 (file)
index 0000000..969b78e
--- /dev/null
@@ -0,0 +1,54 @@
+from __future__ import absolute_import
+
+import sys
+import unittest
+import ctypes
+from ctypes import c_void_p, py_object, c_char_p
+
+import gi
+from gi.repository import Gio
+
+
+def get_capi():
+
+    if not hasattr(ctypes, "pythonapi"):
+        return
+
+    class CAPI(ctypes.Structure):
+        _fields_ = [
+            ("", c_void_p),
+            ("", c_void_p),
+            ("", c_void_p),
+            ("newgobj", ctypes.PYFUNCTYPE(py_object, c_void_p)),
+        ]
+
+    api_obj = gi._gobject._PyGObject_API
+    if sys.version_info[0] == 2:
+        func_type = ctypes.PYFUNCTYPE(c_void_p, py_object)
+        PyCObject_AsVoidPtr = func_type(
+            ('PyCObject_AsVoidPtr', ctypes.pythonapi))
+        ptr = PyCObject_AsVoidPtr(api_obj)
+    else:
+        func_type = ctypes.PYFUNCTYPE(c_void_p, py_object, c_char_p)
+        PyCapsule_GetPointer = func_type(
+            ('PyCapsule_GetPointer', ctypes.pythonapi))
+        ptr = PyCapsule_GetPointer(api_obj, b"gobject._PyGObject_API")
+
+    ptr = ctypes.cast(ptr, ctypes.POINTER(CAPI))
+    return ptr.contents
+
+
+API = get_capi()
+
+
+@unittest.skipUnless(API, "no pythonapi support")
+class TestPythonCAPI(unittest.TestCase):
+
+    def test_newgobj(self):
+        w = Gio.FileInfo()
+        # XXX: ugh :/
+        ptr = int(repr(w).split()[-1].split(")")[0], 16)
+
+        capi = get_capi()
+        new_w = capi.newgobj(ptr)
+        assert w == new_w
index a074a35..d324dfc 100644 (file)
@@ -106,6 +106,9 @@ class Test(unittest.TestCase):
         self.assertFalse(info is info2)
         self.assertEqual(info, info2)
         self.assertTrue(info.equal(info2))
+        assert isinstance(info.is_deprecated(), bool)
+        assert isinstance(info.get_type(), int)
+        assert info.get_attribute("nopenope") is None
 
     def test_object_info(self):
         info = repo.find_by_name('GIMarshallingTests', 'Object')
@@ -122,6 +125,9 @@ class Test(unittest.TestCase):
         self.assertEqual(info.get_type_init(), 'gi_marshalling_tests_object_get_type')
         self.assertFalse(info.get_fundamental())
         self.assertEqual(info.get_parent(), repo.find_by_name('GObject', 'Object'))
+        assert info.find_vfunc("nopenope") is None
+        vfunc = info.find_vfunc("method_int8_out")
+        assert isinstance(vfunc, GIRepository.VFuncInfo)
 
     def test_callable_inheritance(self):
         self.assertTrue(issubclass(GIRepository.CallableInfo, GIRepository.BaseInfo))
@@ -168,6 +174,8 @@ class Test(unittest.TestCase):
         iface = info.get_iface_struct()
         self.assertEqual(iface, repo.find_by_name('GIMarshallingTests', 'InterfaceIface'))
 
+        assert info.find_signal("nopenope") is None
+
     def test_struct_info(self):
         info = repo.find_by_name('GIMarshallingTests', 'InterfaceIface')
         self.assertTrue(isinstance(info, GIRepository.StructInfo))
index 35fc8ef..f4641a8 100644 (file)
@@ -12,9 +12,9 @@ import time
 from gi.repository import GObject, GLib, Regress, Gio
 from gi import _signalhelper as signalhelper
 from gi.module import repository as repo
+from gi._compat import PY3, long_
 
 from . import testhelper
-from .compathelper import _long
 from .helper import capture_glib_warnings, capture_gi_deprecation_warnings
 
 
@@ -523,7 +523,7 @@ class CM(GObject.GObject):
         test2=(GObject.SignalFlags.RUN_LAST, None, (str,)),
         test3=(GObject.SignalFlags.RUN_LAST, int, (GObject.TYPE_DOUBLE,)),
         test4=(GObject.SignalFlags.RUN_FIRST, None,
-               (bool, _long, GObject.TYPE_FLOAT, GObject.TYPE_DOUBLE, int,
+               (bool, long_, GObject.TYPE_FLOAT, GObject.TYPE_DOUBLE, int,
                 GObject.TYPE_UINT, GObject.TYPE_ULONG)),
         test_float=(GObject.SignalFlags.RUN_LAST, GObject.TYPE_FLOAT, (GObject.TYPE_FLOAT,)),
         test_double=(GObject.SignalFlags.RUN_LAST, GObject.TYPE_DOUBLE, (GObject.TYPE_DOUBLE,)),
@@ -555,7 +555,7 @@ class _TestCMarshaller:
         self.assertEqual(rv, 20)
 
     def test_test4(self):
-        self.obj.emit("test4", True, _long(10), 3.14, 1.78, 20, _long(30), _long(31))
+        self.obj.emit("test4", True, long_(10), 3.14, 1.78, 20, long_(30), long_(31))
 
     def test_float(self):
         rv = self.obj.emit("test-float", 1.234)
@@ -658,13 +658,9 @@ class _TestCMarshaller:
                          "hello")
 
 
-if 'generic-c-marshaller' in GObject.features:
-    class TestCMarshaller(_TestCMarshaller, unittest.TestCase):
-        pass
-else:
-    print()
-    print('** WARNING: LIBFFI disabled, not testing')
-    print()
+class TestCMarshaller(_TestCMarshaller, unittest.TestCase):
+    pass
+
 
 # Test for 374653
 
@@ -696,6 +692,10 @@ class TestSignalDecorator(unittest.TestCase):
         def pulled(self):
             self.value -= 1
 
+        @GObject.Signal(flags=GObject.SignalFlags.DETAILED)
+        def detailed(self):
+            self.value -= 1
+
         stomped = GObject.Signal('stomped', arg_types=(int,), doc='this will stomp')
         unnamed = GObject.Signal()
 
@@ -717,6 +717,26 @@ class TestSignalDecorator(unittest.TestCase):
     def onUnnamed(self, obj):
         self.unnamedCalled = True
 
+    def test_disconnect(self):
+        decorated = self.Decorated()
+        id_ = decorated.pushed.connect(lambda *args: None)
+        decorated.pushed.disconnect(id_)
+
+    def test_signal_repr(self):
+        decorated = self.Decorated()
+        assert repr(decorated.pushed) == 'BoundSignal("pushed")'
+
+    def test_signal_call(self):
+        decorated = self.Decorated()
+        assert decorated.value == 0
+        decorated.pushed()
+        assert decorated.value == 1
+
+    def test_connect_detailed(self):
+        decorated = self.Decorated()
+        id_ = decorated.detailed.connect_detailed(lambda *args: None, "foo")
+        decorated.pushed.disconnect(id_)
+
     def test_get_signal_args(self):
         self.assertEqual(self.Decorated.pushed.get_signal_args(),
                          (GObject.SignalFlags.RUN_FIRST, None, tuple(), None, None))
@@ -1009,8 +1029,7 @@ class AnnotatedSignalClass(GObject.GObject):
 """
 
 
-@unittest.skipUnless(sys.version_info >= (3, 0),
-                     'Argument annotations require Python 3')
+@unittest.skipUnless(PY3, 'Argument annotations require Python 3')
 class TestPython3Signals(unittest.TestCase):
     AnnotatedClass = None
 
@@ -1398,6 +1417,7 @@ class _RefCountTestBase(object):
     class PyData(object):
         pass
 
+    @unittest.skipUnless(hasattr(sys, "getrefcount"), "no sys.getrefcount")
     def test_callback_ref_count_del(self):
         def callback(obj, value):
             return value // 2
@@ -1419,6 +1439,7 @@ class _RefCountTestBase(object):
         del obj
         self.assertIsNone(callback_ref())
 
+    @unittest.skipUnless(hasattr(sys, "getrefcount"), "no sys.getrefcount")
     def test_callback_ref_count_disconnect(self):
         def callback(obj, value):
             return value // 2
@@ -1440,6 +1461,7 @@ class _RefCountTestBase(object):
         obj.disconnect(handler_id)
         self.assertIsNone(callback_ref())
 
+    @unittest.skipUnless(hasattr(sys, "getrefcount"), "no sys.getrefcount")
     def test_callback_ref_count_disconnect_by_func(self):
         def callback(obj, value):
             return value // 2
@@ -1461,6 +1483,7 @@ class _RefCountTestBase(object):
         obj.disconnect_by_func(callback_ref())
         self.assertIsNone(callback_ref())
 
+    @unittest.skipUnless(hasattr(sys, "getrefcount"), "no sys.getrefcount")
     def test_user_data_ref_count(self):
         def callback(obj, value, data):
             return value // 2
@@ -1483,6 +1506,7 @@ class _RefCountTestBase(object):
         del obj
         self.assertIsNone(data_ref())
 
+    @unittest.skipUnless(hasattr(sys, "getrefcount"), "no sys.getrefcount")
     @unittest.expectedFailure  # https://bugzilla.gnome.org/show_bug.cgi?id=688064
     def test_object_ref_count(self):
         # connect_object() should only weakly reference the object passed in
index 64fe5bd..8cd0085 100644 (file)
@@ -3,6 +3,7 @@
 from __future__ import absolute_import
 
 import sys
+import gc
 import unittest
 import warnings
 
@@ -128,6 +129,8 @@ class TestSource(unittest.TestCase):
             return s
 
         s = f()
+        gc.collect()
+        gc.collect()
         self.assertTrue(s.is_destroyed())
 
     def test_remove(self):
@@ -222,6 +225,8 @@ class TestSource(unittest.TestCase):
         self.assertFalse(self.finalized)
         self.assertTrue(source.is_destroyed())
         del source
+        gc.collect()
+        gc.collect()
         self.assertTrue(self.finalized)
 
     @unittest.skip('https://bugzilla.gnome.org/show_bug.cgi?id=722387')
index 343b14f..9fc4fc6 100644 (file)
@@ -5,7 +5,7 @@
 #include "test-unknown.h"
 #include "test-floating.h"
 
-#include <pyglib-python-compat.h>
+#include "pygi-python-compat.h"
 
 static PyObject * _wrap_TestInterface__do_iface_method(PyObject *cls,
                                                       PyObject *args,
@@ -29,8 +29,8 @@ test_type_get_type(void)
        type_info = (GTypeInfo *)g_new0(GTypeInfo, 1);
        
         g_type_query(parent_type, &query);
-        type_info->class_size = query.class_size;
-        type_info->instance_size = query.instance_size;
+        type_info->class_size = (guint16)query.class_size;
+        type_info->instance_size = (guint16)query.instance_size;
        
         gtype = g_type_register_static(parent_type,
                                       "TestType", type_info, 0);
@@ -596,8 +596,46 @@ _wrap_test_floating_and_sunk_get_instance_list (PyObject *self)
     return py_list;
 }
 
+
+static PyObject *
+_wrap_test_parse_constructor_args (PyObject *self, PyObject *args)
+{
+    char *arg_names[] = {"label", NULL};
+    char *prop_names[] = {"label", NULL};
+    GParameter params[1] = {{0}};
+    PyObject *parsed_args[1];
+    guint nparams = 0;
+
+    if (!PyArg_ParseTuple(args, "O", &(parsed_args[0])))
+        return NULL;
+
+    if (!pyg_parse_constructor_args (
+            TYPE_TEST, arg_names, prop_names, params, &nparams, parsed_args)) {
+        return NULL;
+    }
+
+    return PYGLIB_PyLong_FromLong (nparams);
+}
+
+static PyObject *
+_wrap_test_to_unichar_conv (PyObject * self, PyObject *args)
+{
+    PyObject *obj;
+    gunichar result;
+
+    if (!PyArg_ParseTuple(args, "O", &obj))
+      return NULL;
+
+    if (!pyg_pyobj_to_unichar_conv (obj, &result))
+        return NULL;
+
+    return PYGLIB_PyLong_FromLong (result);
+}
+
 static PyMethodDef testhelper_functions[] = {
+    { "test_parse_constructor_args", (PyCFunction)_wrap_test_parse_constructor_args, METH_VARARGS },
     { "get_test_thread", (PyCFunction)_wrap_get_test_thread, METH_NOARGS },
+    { "test_to_unichar_conv", (PyCFunction)_wrap_test_to_unichar_conv, METH_VARARGS },
     { "get_unknown", (PyCFunction)_wrap_get_unknown, METH_NOARGS },
     { "create_test_type", (PyCFunction)_wrap_create_test_type, METH_NOARGS },
     { "test_g_object_new", (PyCFunction)_wrap_test_g_object_new, METH_NOARGS },
diff --git a/tests/testmodule.py b/tests/testmodule.py
deleted file mode 100644 (file)
index f79eed8..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-from __future__ import absolute_import
-
-from gi.repository import GObject
-
-
-class PyGObject(GObject.GObject):
-    __gtype_name__ = 'PyGObject'
-    __gproperties__ = {
-        'label': (GObject.TYPE_STRING,
-                  'label property',
-                  'the label of the object',
-                  'default',
-                  GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE),
-        }
-
-    def __init__(self):
-        self._props = {}
-        GObject.GObject.__init__(self)
-        self.set_property('label', 'hello')
-
-    def do_set_property(self, name, value):
-        self._props[name] = value
-
-    def do_get_property(self, name):
-        return self._props[name]