--- /dev/null
+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
--- /dev/null
+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}"
--- /dev/null
+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}"
--- /dev/null
+The Dockerfile is available at https://hub.docker.com/r/lazka/pygobject/
--- /dev/null
+#!/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
--- /dev/null
+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))
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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"
--- /dev/null
+#!/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"
+++ /dev/null
-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 # and  
- respectively for
- # (#) and . 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
- ( ).
-
- * codegen/docextract_to_xml.py: Replace 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(+)
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*
+++ /dev/null
-# 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@
+++ /dev/null
-# 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:
-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
-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
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
--- /dev/null
+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
--- /dev/null
+.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
--- /dev/null
+pycairo>=1.11.1
--- /dev/null
+gi
+pygtkcompat
+.. 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
+++ /dev/null
-# 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])
+++ /dev/null
-#!/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
+++ /dev/null
-#! /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:
+++ /dev/null
-#! /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:
+++ /dev/null
-/* 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
+++ /dev/null
-#! /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:
+++ /dev/null
-#! /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, µ) != 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; }
-
+++ /dev/null
--*- 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
-])
-
+++ /dev/null
-#! /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:
* 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/>`__:
'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'
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', ''),
}
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**.
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
----------------
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
.. 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
----------------------
.. 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
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
----------------------
:scale: 60%
-.. _ubuntu:
+.. _ubuntu-getting-started:
|ubuntu-logo| Ubuntu / |debian-logo| Debian
-------------------------------------------
:scale: 60%
-.. _fedora:
+.. _fedora-getting-started:
|fedora-logo| Fedora
--------------------
4) Run ``python3 hello.py``
-.. _arch:
+.. _arch-getting-started:
|arch-logo| Arch Linux
----------------------
4) Run ``python3 hello.py``
-.. _opensuse:
+.. _opensuse-getting-started:
|opensuse-logo| openSUSE
------------------------
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``
:scale: 70%
-.. _pypi:
+.. _pypi-getting-started:
|python-logo| From PyPI
-----------------------
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.
<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>
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
---------
#. 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)
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:
* 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:
+++ /dev/null
-EXTRA_DIST = \
- properties.py \
- signal.py \
- option.py \
- cairo-demo.py \
- demo
+++ /dev/null
-# 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:
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:
+++ /dev/null
-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))
+++ /dev/null
-# 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:
from ._gi import Repository
from ._gi import PyGIDeprecationWarning
from ._gi import PyGIWarning
+from ._compat import string_types
_API = _API # pyflakes
PyGIDeprecationWarning = PyGIDeprecationWarning
"""
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)
--- /dev/null
+# 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)
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
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)
--- /dev/null
+# 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"]
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
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):
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)
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
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
_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)
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
_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)
# 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, \
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
"""
_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,
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
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:
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))
# 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.
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
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__
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)
#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,
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(¶ms[param_i].value, spec->value_type);
+ if (pyg_value_from_pyobject(¶ms[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(¶ms[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,
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;
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;
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,
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;
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;
}
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(¶m_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 },
{ "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 },
"\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",
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;
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
--- /dev/null
+#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_*/
+++ /dev/null
-/* -*- 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", >ype))
- 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", >ype, &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, ¶ms))
- 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(¶ms[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(¶m_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(¶ms[param_i].value, spec->value_type);
- if (pyg_value_from_pyobject(¶ms[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(¶ms[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);
-}
+++ /dev/null
-#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_*/
from __future__ import absolute_import
-import sys
import importlib
-_have_py3 = (sys.version_info[0] >= 3)
-
try:
maketrans = ''.maketrans
except AttributeError:
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)
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):
# 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)
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
# USA
-import sys
import warnings
from collections import namedtuple
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
'Warning']
-features = _gi.features
+features = {'generic-c-marshaller': True}
list_properties = _gi.list_properties
new = _gi.new
pygobject_version = _gi.pygobject_version
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" %
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):
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',
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'
# field info so manually list the class names
event_member_classes = ['EventAny',
'EventExpose',
- 'EventVisibility',
'EventMotion',
'EventButton',
'EventScroll',
'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')
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')
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 \
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'))
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)
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)
__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):
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)
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)
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)
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:
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)
+++ /dev/null
-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
+++ /dev/null
-# 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:
* 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();
}
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;
}
static int
-pyg_boxed_init(PyGBoxed *self, PyObject *args, PyObject *kwargs)
+gboxed_init(PyGBoxed *self, PyObject *args, PyObject *kwargs)
{
gchar buf[512];
}
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.
* 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;
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) {
}
/**
- * 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.
* 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;
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;
}
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__ */
* 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"
}
((PyTypeObject *)stub)->tp_flags &= ~Py_TPFLAGS_BASETYPE;
- ((PyTypeObject *)stub)->tp_new = pyg_enum_new;
if (module)
PyDict_SetItemString(((PyTypeObject *)stub)->tp_dict,
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;
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;
{ 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;
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;
}
#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))
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__ */
* 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"
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)
}
((PyTypeObject *)stub)->tp_flags &= ~Py_TPFLAGS_BASETYPE;
- ((PyTypeObject *)stub)->tp_new = pyg_flags_new;
if (module) {
PyDict_SetItemString(((PyTypeObject *)stub)->tp_dict,
(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 *
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 *
(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)));
}
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 {
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 {
(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;
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;
}
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__ */
#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,
*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,
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);
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));
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));
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]),
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;
}
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:
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;
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);
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();
GI_TRANSFER_NOTHING, GI_DIRECTION_IN);
array = NULL;
- _PyGI_ERROR_PREFIX ("Item %zd: ", i);
+ _PyGI_ERROR_PREFIX ("Item %u: ", i);
break;
}
(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
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;
}
/* 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;
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:
/* 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,
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;
}
default:
{
- g_assert_not_reached();
+ object = pygi_marshal_to_py_basic_type (arg, type_tag, transfer);
}
}
/* 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);
#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"
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;
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;
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;
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;
/* 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;
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;
*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,
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;
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);
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));
}
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,
/* 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;
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
} 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;
array_ = g_array_new (FALSE,
FALSE,
- array_cache->item_size);
+ (guint)array_cache->item_size);
if (array_ == NULL) {
PyErr_NoMemory ();
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;
}
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_;
}
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,
(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);
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 {
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:
* 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)
}
}
- _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;
}
*/
#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;
}
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;
}
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;
}
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;
}
#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)
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;
}
#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
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);
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
* 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,
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);
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:
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:
{
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 {
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,
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__*/
#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);
}
}
void *
-_pygi_boxed_alloc (GIBaseInfo *info, gsize *size_out)
+pygi_boxed_alloc (GIBaseInfo *info, gsize *size_out)
{
gpointer boxed = NULL;
gsize size = 0;
}
static PyObject *
-_boxed_new (PyTypeObject *type,
+boxed_new (PyTypeObject *type,
PyObject *args,
PyObject *kwargs)
{
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;
}
static int
-_boxed_init (PyObject *self,
+boxed_init (PyObject *self,
PyObject *args,
PyObject *kwargs)
{
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;
}
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).
* 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);
}
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 }
};
{ 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;
}
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
#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"
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;
_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;
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;
/* 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 &&
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);
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) {
* 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 *
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);
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;
}
GIFunctionInfo *info,
GDestroyNotify destroy_notify);
-void _pygi_ccallback_register_types (PyObject *m);
+int pygi_ccallback_register_types (PyObject *m);
G_END_DECLS
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
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;
*((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:
{
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;
}
}
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;
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);
PyGICClosure*
_pygi_make_native_closure (GICallableInfo* info,
+ PyGIClosureCache *cache,
GIScopeType scope,
PyObject *py_function,
gpointer py_user_data)
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);
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);
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 */
* 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) {
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);
}
}
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);
}
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);
}
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;
}
void _pygi_invoke_closure_free (gpointer user_data);
PyGICClosure* _pygi_make_native_closure (GICallableInfo* info,
+ PyGIClosureCache *cache,
GIScopeType scope,
PyObject *function,
gpointer user_data);
#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"
{
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,
*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,
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;
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;
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)
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;
* 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:
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);
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,
}
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);
}
-/**
- * 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,
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,
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;
}
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
* 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
{
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;
}
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;
}
{
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) {
return NULL;
}
+ if (transfer != GI_TRANSFER_NOTHING)
+ surface = cairo_surface_reference (surface);
+
arg->v_pointer = surface;
Py_RETURN_NONE;
}
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;
}
* 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,
{
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) {
return NULL;
}
+ if (transfer != GI_TRANSFER_NOTHING)
+ path = _cairo_path_copy (path);
+
arg->v_pointer = path;
Py_RETURN_NONE;
}
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;
}
{
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) {
return NULL;
}
+ if (transfer != GI_TRANSFER_NOTHING)
+ font_options = cairo_font_options_copy (font_options);
+
arg->v_pointer = font_options;
Py_RETURN_NONE;
}
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;
}
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;
}
return PycairoPattern_FromPattern (pattern, NULL);
}
-#if defined(PycairoRegion_Type)
-
static PyObject *
cairo_region_to_arg (PyObject *value,
GIInterfaceInfo *interface_info,
{
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) {
return NULL;
}
+ if (transfer != GI_TRANSFER_NOTHING)
+ region = cairo_region_copy (region);
+
arg->v_pointer = region;
Py_RETURN_NONE;
}
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")
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,
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,
* IN THE SOFTWARE.
*/
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
+#include <config.h>
#include "pygobject-internal.h"
#include "pygi-foreign.h"
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;
}
PyObject *args,
PyObject *kwargs);
-void pygi_foreign_init (void);
+int pygi_foreign_init (void);
#endif /* __PYGI_FOREIGN_H__ */
* 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
*
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;
if (value == NULL) {
Py_RETURN_NONE;
}
- return PYGLIB_PyUnicode_FromString (value);
+ return pygi_utf8_to_py (value);
}
static PyObject *
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;
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 *
/* 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 *
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 *
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 *
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);
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) );
}
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) );
}
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) );
}
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) );
}
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) );
}
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 *
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;
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[] = {
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 *
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
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 *
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[] = {
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;
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[] = {
_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 *
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 *
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);
}
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. */
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) {
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 *
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 *
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[] = {
}
-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; \
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;
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);
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);
#undef _PyGI_ENUM_ADD_VALUE
#undef _PyGI_ENUM_END
+ return 0;
}
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);
* 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"
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) {
} 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;
}
gpointer *cleanup_data)
{
GList *list_;
- gsize length;
- gsize i;
+ guint length;
+ guint i;
GPtrArray *item_cleanups;
PyGIMarshalToPyFunc item_to_py_marshaller;
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;
}
gpointer *cleanup_data)
{
GSList *list_;
- gsize length;
- gsize i;
+ guint length;
+ guint i;
GPtrArray *item_cleanups;
PyGIMarshalToPyFunc item_to_py_marshaller;
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;
}
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;
PyGICallableCache *cache,
gssize failed_arg_index)
{
- gssize i;
+ guint i;
PyObject *error_type, *error_value, *error_traceback;
gboolean have_error = !!PyErr_Occurred ();
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;
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,
#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"
#include "pygi-value.h"
#include "pygi-argument.h"
#include "pygparamspec.h"
-#include "pygtype.h"
+#include "pygi-type.h"
#include <girepository.h>
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++) {
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++) {
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",
/* 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;
}
# 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
#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) \
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) \
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) \
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
#include "pygi-repository.h"
#include "pygi-info.h"
-
-#include <pyglib-python-compat.h>
+#include "pygi-basictype.h"
+#include "pygi-python-compat.h"
PyObject *PyGIRepositoryError;
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);
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 *
const char *namespace_;
gssize n_infos;
PyObject *infos;
- gssize i;
+ gint i;
if (!PyArg_ParseTupleAndKeywords (args, kwargs, "s:Repository.get_infos",
kwlist, &namespace_)) {
return NULL;
}
- return PYGLIB_PyBytes_FromString (typelib_path);
+ return pygi_filename_to_py (typelib_path);
}
static PyObject *
return NULL;
}
- return PYGLIB_PyUnicode_FromString (version);
+ return pygi_utf8_to_py (version);
}
static PyObject *
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]);
}
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);
}
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);
}
{ 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;
+}
extern PyObject *PyGIRepositoryError;
-void _pygi_repository_register_types (PyObject *m);
+int pygi_repository_register_types (PyObject *m);
G_END_DECLS
* 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
#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)
*/
PyObject *
pygi_resulttuple_new(PyTypeObject *subclass, Py_ssize_t len) {
+#ifdef PYGI_USE_FREELIST
PyObject *self;
Py_ssize_t i;
return self;
}
}
+#endif
/* For zero length tuples and in case the free list is empty, alloc
* as usual.
return subclass->tp_alloc (subclass, len);
}
+#ifdef PYGI_USE_FREELIST
static void resulttuple_dealloc(PyObject *self) {
Py_ssize_t i, len;
done:
Py_TRASHCAN_SAFE_END (self)
}
+#endif
/**
* pygi_resulttuple_register_types:
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;
}
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);
}
* 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"
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;
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) {
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;
}
#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"
#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
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;
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 ||
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.
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,
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;
};
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
#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;
}
}
static void
-_struct_dealloc (PyGIStruct *self)
+struct_dealloc (PyGIStruct *self)
{
GIBaseInfo *info;
PyObject *error_type, *error_value, *error_traceback;
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));
}
static PyObject *
-_struct_new (PyTypeObject *type,
- PyObject *args,
- PyObject *kwargs)
+struct_new (PyTypeObject *type,
+ PyObject *args,
+ PyObject *kwargs)
{
static char *kwlist[] = { NULL };
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");
goto out;
}
- self = _pygi_struct_new (type, pointer, TRUE);
+ self = pygi_struct_new (type, pointer, TRUE);
if (self == NULL) {
g_free (pointer);
}
}
static int
-_struct_init (PyObject *self,
+struct_init (PyObject *self,
PyObject *args,
PyObject *kwargs)
{
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;
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;
}
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;
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;
}
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
/* -*- 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;
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);
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;
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(¶m_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(¶m_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(¶m_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;
+}
/* -*- 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__ */
* 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)
{
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;
+}
#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
#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)
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))
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))
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) {
}
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;
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);
/**
* 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
* 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))
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);
}
}
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:
{
}
}
+ 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;
}
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
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;
}
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;
}
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
* 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;
PyObject *o;
Py_TYPE(type) = &PyType_Type;
+ g_assert (Py_TYPE (&PyGInterface_Type) != NULL);
type->tp_base = &PyGInterface_Type;
if (PyType_Ready(type) < 0) {
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");
pyg_object_descr_doc_get());
PyDict_SetItemString(PyGInterface_Type.tp_dict, "__gdoc__",
pyg_object_descr_doc_get());
-
+
+ return 0;
}
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__ */
+++ /dev/null
-/* -*- 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;
-}
-
+++ /dev/null
-/* -*- 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__ */
-
* 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,
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)
{
* 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
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 */
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 *
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
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);
* 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 */
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
{
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 {
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) {
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 *
{
PyObject *first, *callback, *extra_args, *ret;
gchar *name;
- guint len;
+ Py_ssize_t len;
len = PyTuple_Size(args);
if (len < 2) {
static PyObject *
pygobject_weak_ref(PyGObject *self, PyObject *args)
{
- int len;
+ Py_ssize_t len;
PyObject *callback = NULL, *user_data = NULL;
PyObject *retval;
0, 0,
closure,
NULL, NULL);
- return PYGLIB_PyLong_FromLong(retval);
+ return pygi_guint_to_py (retval);
}
static PyObject *
0, 0,
closure,
NULL, NULL);
- return PYGLIB_PyLong_FromLong(retval);
+ return pygi_guint_to_py (retval);
}
static PyObject *
0, 0,
closure,
NULL, NULL);
- return PYGLIB_PyLong_FromLong(retval);
+ return pygi_guint_to_py (retval);
}
{ 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)
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 *
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 }
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;
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;
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__",
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;
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, ¶ms))
+ 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(¶ms[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;
}
#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 */
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);
* 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
*
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);
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 *
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));
}
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;
{ 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;
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;
}
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__ */
* 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)
{
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;
{ 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;
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;
}
#ifndef __PYG_OPTIONGROUP_H__
#define __PYG_OPTIONGROUP_H__
+#include <Python.h>
+#include <glib.h>
+
extern PyTypeObject PyGOptionGroup_Type;
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__ */
* 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);
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;
} 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")) {
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")) {
}
} 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")) {
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 {
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;
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;
}
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__ */
* 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;
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;
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) {
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");
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;
}
#ifndef __PYGOBJECT_POINTER_H__
#define __PYGOBJECT_POINTER_H__
+#include <Python.h>
+
extern GQuark pygpointer_class_key;
extern PyTypeObject PyGPointer_Type;
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__ */
#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"
#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);
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;
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;
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;
}
#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);
+++ /dev/null
-/* -*- 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(¶m_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(¶m_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(¶m_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);
-}
+++ /dev/null
-/* -*- 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__ */
+++ /dev/null
-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
+++ /dev/null
-# 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:
from __future__ import absolute_import
-import sys
import warnings
import re
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)
+++ /dev/null
-#!/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:
+++ /dev/null
-#! /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 *) <_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:
+++ /dev/null
-# ============================================================================
-# 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
+++ /dev/null
-# ===========================================================================
-# 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
+++ /dev/null
-# ===========================================================================
-# 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
+++ /dev/null
-# ===========================================================================
-# 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
+++ /dev/null
-# ===========================================================================
-# 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
+++ /dev/null
-# ===========================================================================
-# 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])])
-])
+++ /dev/null
-# ===========================================================================
-# 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
+++ /dev/null
-# =============================================================================
-# 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
+++ /dev/null
-# ===========================================================================
-# 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
+++ /dev/null
-# ==============================================================================
-# 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
+++ /dev/null
-# ===========================================================================
-# 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.])
- ])
-])
+++ /dev/null
-# ===========================================================================
-# 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
+++ /dev/null
-# 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, µ) != 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
-])
+++ /dev/null
-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])
-])
+++ /dev/null
-# 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
+++ /dev/null
-# 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])])
+++ /dev/null
-# 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
-])
+++ /dev/null
-# 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)
-])
+++ /dev/null
-# 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])])
+++ /dev/null
-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
+++ /dev/null
-## 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
-
-])
+++ /dev/null
-#! /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:
+++ /dev/null
-#!/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:
+++ /dev/null
-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
+++ /dev/null
-# 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:
import random
import collections
import ctypes
+import platform
# GObject
from gi.repository import GObject
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):
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 = []
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')
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
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)
--- /dev/null
+[build-system]
+requires = ["setuptools", "wheel", "pycairo"]
[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
+
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):
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],
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:
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:
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:
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")
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, (
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(
"--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")
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":
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]})
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")
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))
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)
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()]
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
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)
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():
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"],
# 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")
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
#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()]
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")
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()
"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)
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"],
cmdclass={
"build_ext": build_ext,
"distcheck": distcheck,
+ "sdist_gnome": sdist_gnome,
"build_tests": build_tests,
"test": test,
"quality": quality,
},
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']),
+++ /dev/null
-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
+++ /dev/null
-# 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:
+++ /dev/null
-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")
import pytest
-from .compathelper import reraise
+from gi._compat import reraise
@pytest.hookimpl(hookwrapper=True)
+++ /dev/null
-from pkgutil import extend_path
-__path__ = extend_path(__path__, __name__)
{
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");
+}
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 */
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"])
}
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
_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 */
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:
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__":
from __future__ import absolute_import
import unittest
+import pytest
import gi
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))
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)
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))
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(),
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)
from __future__ import absolute_import
import unittest
+import pickle
from gi.repository import GLib
from gi.repository import GIMarshallingTests
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):
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
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
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),
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)
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")
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)
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)
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)
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.
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
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
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')
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
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):
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
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:
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:
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()
import sys
import weakref
import unittest
+import platform
# pygobject
from gi.repository import GObject
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)
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
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
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
# 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]
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.
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
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):
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())
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)
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')
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())
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())
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())
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()
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
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))
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 "
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')
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 "
"<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)
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)
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)
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')
# 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)
import pytest
from gi.repository import GLib
from gi import PyGIDeprecationWarning
-
-from .compathelper import PY3
+from gi._compat import PY3
class TestGLib(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):
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])
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
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])
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, [])
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)
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()
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)
--- /dev/null
+# 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")
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__]
import gi.overrides
import gi.module
import gi.importer
+from gi._compat import PY2, PY3
from gi.repository import Regress
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):
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')
+# -*- 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')
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')
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")
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()
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
import gi
from gi.repository import GLib
-from .compathelper import _long
+from gi._compat import long_, integer_types
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
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)
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))
import unittest
import time
import sys
+import gc
import warnings
from .helper import ignore_gi_deprecation_warnings, capture_glib_warnings
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.
@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):
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()
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')
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
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):
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:
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)
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'))
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):
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.
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)
--- /dev/null
+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
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')
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))
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))
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
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,)),
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)
"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
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()
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))
"""
-@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
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
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
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
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
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
from __future__ import absolute_import
import sys
+import gc
import unittest
import warnings
return s
s = f()
+ gc.collect()
+ gc.collect()
self.assertTrue(s.is_destroyed())
def test_remove(self):
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')
#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,
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);
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 },
+++ /dev/null
-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]