--- /dev/null
+image: registry.gitlab.gnome.org/gnome/gtk-doc/debian:v2
+
+stages:
+ - build
+ - test
+ - deploy
+
+# autotools
+
+autotools-build:
+ stage: build
+ script:
+ - ./autogen.sh --prefix=/usr
+ - make
+ - make dist
+ except:
+ - tags
+ artifacts:
+ paths:
+ - gtk-doc-*.tar.*
+
+autotools-test:
+ stage: test
+ script:
+ - ./autogen.sh --prefix=/usr
+ - make check
+ - make -C tests coverage
+ coverage: '/^TOTAL\s+\d+\s+\d+\s+([\d.]+\%)/'
+ artifacts:
+ when: on_failure
+ name: "gtkdoc-testing-_${CI_COMMIT_REF_NAME}"
+ paths:
+ - "${CI_PROJECT_DIR}/tests/test-suite.log"
+
+# meson
+
+meson-build:
+ stage: build
+ script:
+ - find . -name .git -prune -o -print | LC_ALL=C sort -u > git-filelist.txt
+ - meson --prefix /usr _build .
+ - ninja -C _build
+ - meson test -C _build
+ except:
+ - tags
+ artifacts:
+ when: always
+ paths:
+ - _build/meson-logs/*
+ - git-filelist.txt
+
+meson-from-tarball:
+ stage: test
+ dependencies:
+ - autotools-build
+ variables:
+ GIT_STRATEGY: none
+ script:
+ - tar -xvf gtk-doc-*.tar.*
+ - ( cd gtk-doc-*/; find . -name .git -prune -o -print ) | LC_ALL=C sort -u > tar-filelist.txt
+ - ( cd gtk-doc-*/; meson --prefix /usr ../_build . )
+ - ninja -C _build
+ - meson test -C _build
+ artifacts:
+ when: on_failure
+ paths:
+ - _build/meson-logs/*.log
+ - tar-filelist.txt
+
+# common
+
+pages:
+ stage: deploy
+ only:
+ - master
+ script:
+ - ./autogen.sh --prefix=/usr
+ - make
+ - make -C tests coverage
+ - mkdir -p public/
+ - mv tests/htmlcov public/
+ artifacts:
+ paths:
+ - public
--- /dev/null
+# CI support stuff
+
+## Docker image
+
+GitLab CI jobs run in a Docker image, defined here. To update that image
+(perhaps to install some more packages):
+
+1. Edit `.gitlab-ci/Dockerfile` with the changes you want
+1. Run `.gitlab-ci/run-docker.sh build --base=debian --base-version=2` to build
+ the new image (bump the version as needed)
+1. Run `.gitlab-ci/run-docker.sh push --base=debian --base-version=2` to upload
+ the new image to the GNOME GitLab Docker registry
+ * If this is the first time you're doing this, you'll need to log into the
+ registry
+ * If you use 2-factor authentication on your GNOME GitLab account, you'll
+ need to [create a personal access token][pat] and use that rather than
+ your normal password
+1. Edit `.gitlab-ci.yml` (in the root of this repository) to use your new
+ image
+
+[pat]: https://gitlab.gnome.org/profile/personal_access_tokens
--- /dev/null
+FROM debian:unstable
+
+RUN apt-get update -qq && apt-get install --no-install-recommends -qq -y \
+ autoconf \
+ automake \
+ build-essential \
+ dblatex \
+ docbook \
+ docbook-xml \
+ docbook-xsl \
+ libglib2.0-dev \
+ libtool \
+ libxml2-utils \
+ locales \
+ make \
+ meson \
+ pkg-config \
+ python3 \
+ python3-coverage \
+ python3-dev \
+ python3-lxml \
+ python3-parameterized \
+ python3-pip \
+ python3-pygments \
+ python3-setuptools \
+ python3-unittest2 \
+ xsltproc \
+ && rm -rf /usr/share/doc/* /usr/share/man/*
+
+# Locale for our build
+RUN locale-gen C.UTF-8 && /usr/sbin/update-locale LANG=C.UTF-8
+
+# Locales for our tests
+RUN locale-gen de_DE.UTF-8 \
+ && locale-gen el_GR.UTF-8 \
+ && locale-gen en_US.UTF-8 \
+ && locale-gen es_ES.UTF-8 \
+ && locale-gen fa_IR.UTF-8 \
+ && locale-gen fr_FR.UTF-8 \
+ && locale-gen hr_HR.UTF-8 \
+ && locale-gen ja_JP.UTF-8 \
+ && locale-gen lt_LT.UTF-8 \
+ && locale-gen pl_PL.UTF-8 \
+ && locale-gen ru_RU.UTF-8 \
+ && locale-gen tr_TR.UTF-8
+
+ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
+
+RUN pip3 install meson==0.50.0 anytree
+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 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
--- /dev/null
+#!/bin/bash
+
+read_arg() {
+ # $1 = arg name
+ # $2 = arg value
+ # $3 = arg parameter
+ local rematch='^[^=]*=(.*)$'
+ if [[ $2 =~ $rematch ]]; then
+ read "$1" <<< "${BASH_REMATCH[1]}"
+ else
+ read "$1" <<< "$3"
+ # There is no way to shift our callers args, so
+ # return 1 to indicate they should do it instead.
+ return 1
+ fi
+}
+
+set -e
+
+build=0
+run=0
+push=0
+list=0
+print_help=0
+no_login=0
+
+while (($# > 0)); do
+ case "${1%%=*}" in
+ build) build=1;;
+ run) run=1;;
+ push) push=1;;
+ list) list=1;;
+ help) print_help=1;;
+ --base|-b) read_arg base "$@" || shift;;
+ --base-version) read_arg base_version "$@" || shift;;
+ --no-login) no_login=1;;
+ *) echo -e "\e[1;31mERROR\e[0m: Unknown option '$1'"; exit 1;;
+ esac
+ shift
+done
+
+if [ $print_help == 1 ]; then
+ echo "$0 - Build and run Docker images"
+ echo ""
+ echo "Usage: $0 <command> [options] [basename]"
+ echo ""
+ echo "Available commands"
+ echo ""
+ echo " build --base=<BASENAME> - Build Docker image <BASENAME>.Dockerfile"
+ echo " run --base=<BASENAME> - Run Docker image <BASENAME>"
+ echo " push --base=<BASENAME> - Push Docker image <BASENAME> to the registry"
+ echo " list - List available images"
+ echo " help - This help message"
+ echo ""
+ exit 0
+fi
+
+cd "$(dirname "$0")"
+
+if [ $list == 1 ]; then
+ echo "Available Docker images:"
+ for f in *.Dockerfile; do
+ filename=$( basename -- "$f" )
+ basename="${filename%.*}"
+
+ echo -e " \e[1;39m$basename\e[0m"
+ done
+ exit 0
+fi
+
+# All commands after this require --base to be set
+if [ -z $base ]; then
+ echo "Usage: $0 <command>"
+ exit 1
+fi
+
+if [ ! -f "$base.Dockerfile" ]; then
+ echo -e "\e[1;31mERROR\e[0m: Dockerfile for '$base' not found"
+ exit 1
+fi
+
+if [ -z $base_version ]; then
+ base_version="latest"
+else
+ base_version="v$base_version"
+fi
+
+TAG="registry.gitlab.gnome.org/gnome/gtk-doc/${base}:${base_version}"
+
+if [ $build == 1 ]; then
+ echo -e "\e[1;32mBUILDING\e[0m: ${base} as ${TAG}"
+ sudo docker build \
+ --build-arg HOST_USER_ID="$UID" \
+ --tag "${TAG}" \
+ --file "${base}.Dockerfile" .
+ exit $?
+fi
+
+if [ $push == 1 ]; then
+ echo -e "\e[1;32mPUSHING\e[0m: ${base} as ${TAG}"
+
+ if [ $no_login == 0 ]; then
+ sudo docker login registry.gitlab.gnome.org
+ fi
+
+ sudo docker push $TAG
+ exit $?
+fi
+
+if [ $run == 1 ]; then
+ echo -e "\e[1;32mRUNNING\e[0m: ${base} as ${TAG}"
+ sudo docker run \
+ --rm \
+ --volume "$(pwd)/..:/home/user/app" \
+ --workdir "/home/user/app" \
+ --tty \
+ --interactive "${TAG}" \
+ bash
+ exit $?
+fi
--- /dev/null
+Testing
+=======
+
+jhbuild --no-interact build 2>&1 | tee build.log
+grep "gtkdoc-* line" build.log
+
+jhbuild buildone --no-net glib
+
+Since 1.23 we do have a snapshot feature to check the stability of the generated
+xml/html. Simply run "make snapshot" under tests. Then make changes and run
+"make check". The tests/sanity.sh will check for delta. If you want to inspect
+what delta a change created, you can git checkout a revision before the change,
+"make snapshot", go back to head and "make check", the sanity.sh test will now
+fail and show the delta.
+
+Releasing
+=========
+
+http://live.gnome.org/MaintainersCorner/Releasing
+
+'''shell
+export OLD_VER=1.31
+export NEW_VER=1.32
+export OLD_VER_TAG=$(echo ${OLD_VER} | tr '.' '_')
+export NEW_VER_TAG=$(echo ${NEW_VER} | tr '.' '_')
+export GNOME_USER=...
+```
+
+- bump release date in:
+ help/manual/C/index.docbook
+- bump version in (x.y.1 -> x.y+1)
+ configure.ac meson.build
+
+- update NEWS
+ # ./bugzilla.py general ${NEW_VER} gtk-doc >RELNOTES.txt
+ git log --summary --format=short GTK_DOC_${OLD_VER_TAG}.. >ChangeLog-${NEW_VER}
+ grep "Author:" ChangeLog-${NEW_VER} | sed 's/Author:\(.*\)\ <.*>/\1/' | sort | uniq >RELNOTES.txt
+ and then copy to NEWS
+
+```shell
+# commit
+git add configure.ac meson.build NEWS help/manual/C/index.docbook
+git commit -m"release: update news and date in manual"
+git push
+
+# dist
+TAR_OPTIONS="--owner=root --group=root" make distcheck
+
+# tag
+git tag -a GTK_DOC_${NEW_VER_TAG} -m"release: ${NEW_VER}"
+git push origin GTK_DOC_${NEW_VER_TAG}
+
+# release
+scp gtk-doc-${NEW_VER}.tar.xz ${GNOME_USER}@master.gnome.org:
+scp NEWS ${GNOME_USER}@master.gnome.org:gtk-doc-${NEW_VER}.news
+scp ChangeLog-${NEW_VER} ${GNOME_USER}@master.gnome.org:gtk-doc-${NEW_VER}.changes
+ssh ${GNOME_USER}@master.gnome.org "ftpadmin install gtk-doc-${NEW_VER}.tar.xz"
+```
+
+- bump versions in:
+ configure.ac meson.build help/manual/C/index.docbook NEWS
+
+``'shell
+# commit
+git add configure.ac meson.build NEWS help/manual/C/index.docbook
+git commit -m"release: bump versions and back to development"
+git push
+```
+
+- update web-pages (gtk-web/gtk-doc)
+ git add gtk-doc/news.php
+ git commit -m"gtk-doc: new release (${NEW_VER})"
+ git push
+
+- if we want a icon on the newsfeed, we should copy a icon like on
+ http://ftp.acc.umu.se/pub/GNOME/sources/rhythmbox/rhythmbox.png
+ e.g. /usr/share/icons/hicolor/48x48/apps/devhelp.png
+
+Optimizing & Meassuring
+=======================
+
+cd tests/gobject/docs/html
+time xsltproc --nonet --xinclude --stringparam gtkdoc.bookname "tester" --stringparam gtkdoc.version "1.12" ../../../../gtk-doc.xsl ../tester-docs.xml
+~ 1.1 sec.
+time saxon ../tester-docs.xml ../../../../gtk-doc.xsl gtkdoc.bookname="tester" gtkdoc.version="1.12"
+~ 53 sec.
+time xsltproc --nonet --xinclude --stringparam gtkdoc.bookname "tester" --stringparam gtkdoc.version "1.12" /usr/share/yelp-xsl/xslt/docbook/html/db2html.xsl ../tester-docs.xml
+~ 0.7 sec
+
+cd /your/project/docs/html
+time xsltproc --nonet --xinclude --stringparam gtkdoc.bookname "foo" --stringparam gtkdoc.version "1.12" /usr/share/gtk-doc/data/gtk-doc.xsl ../buzztrax-core-docs.xml
+real 0m6.633s user 0m6.464s sys 0m0.128s
+real 0m6.459s user 0m6.384s sys 0m0.068s
+
+time xsltproc --nonet --xinclude --stringparam gtkdoc.bookname "buzztrax-core" --stringparam gtkdoc.version "1.12" /usr/share/yelp-xsl/xslt/docbook/html/db2html.xsl ../buzztrax-core-docs.xml
+real 0m3.312s user 0m3.224s sys 0m0.076s
+real 0m3.549s user 0m3.464s sys 0m0.076s
+
+
+xsltproc --profile data.xsl data.xml 2>report.txt
+cat report.txt | gprof2dot.py -e 0.01 -n 0.01 | dot -Tpng -o report.png
+
+one can now use "GTKDOC_PROFILE=1 make" to run this during gtkdoc-mkhtml. It
+still needs a change in gprof2dot.py
+https://bugzilla.gnome.org/show_bug.cgi?id=612186#c3
+
+Performance tips:
+* uses keys when we have slow xpath selects
+ http://www.xml.com/pub/a/2002/02/06/key-lookups.html
+
+Troubles with parsing regexps
+=============================
+Test regexps online:
+http://www.solmetra.com/scripts/regex/index.php
+
+Test Coverage
+=============
+sudo apt-get install python3-coverage
+PYTHONPATH=$PWD python3-coverage run tests/scan.py
+python3-coverage html --include="gtkdoc/*.py"
+
+or
+
+cd test; make coverage
+
+Find Dead Code
+==============
+sudo pip3 install vulture
+PYTHONPATH=$PWD vulture gtkdoc/*.py gtkdoc-*.in
+++ /dev/null
-Installation Instructions
-*************************
-
- Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
-Foundation, Inc.
-
- 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 warranty of any kind.
-
-Basic Installation
-==================
-
- Briefly, the shell command './configure && make && make install'
-should configure, build, and install this package. The following
-more-detailed instructions are generic; see the 'README' file for
-instructions specific to this package. Some packages provide this
-'INSTALL' file but do not implement all of the features documented
-below. The lack of an optional feature in a given package is not
-necessarily a bug. More recommendations for GNU packages can be found
-in *note Makefile Conventions: (standards)Makefile Conventions.
-
- The 'configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a 'Makefile' in each directory of the package.
-It may also create one or more '.h' files containing system-dependent
-definitions. Finally, it creates a shell script 'config.status' that
-you can run in the future to recreate the current configuration, and a
-file 'config.log' containing compiler output (useful mainly for
-debugging 'configure').
-
- It can also use an optional file (typically called 'config.cache' and
-enabled with '--cache-file=config.cache' or simply '-C') that saves the
-results of its tests to speed up reconfiguring. Caching is disabled by
-default to prevent problems with accidental use of stale cache files.
-
- If you need to do unusual things to compile the package, please try
-to figure out how 'configure' could check whether to do them, and mail
-diffs or instructions to the address given in the 'README' so they can
-be considered for the next release. If you are using the cache, and at
-some point 'config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
- The file 'configure.ac' (or 'configure.in') is used to create
-'configure' by a program called 'autoconf'. You need 'configure.ac' if
-you want to change it or regenerate 'configure' using a newer version of
-'autoconf'.
-
- The simplest way to compile this package is:
-
- 1. 'cd' to the directory containing the package's source code and type
- './configure' to configure the package for your system.
-
- Running 'configure' might take a while. While running, it prints
- some messages telling which features it is checking for.
-
- 2. Type 'make' to compile the package.
-
- 3. Optionally, type 'make check' to run any self-tests that come with
- the package, generally using the just-built uninstalled binaries.
-
- 4. Type 'make install' to install the programs and any data files and
- documentation. When installing into a prefix owned by root, it is
- recommended that the package be configured and built as a regular
- user, and only the 'make install' phase executed with root
- privileges.
-
- 5. Optionally, type 'make installcheck' to repeat any self-tests, but
- this time using the binaries in their final installed location.
- This target does not install anything. Running this target as a
- regular user, particularly if the prior 'make install' required
- root privileges, verifies that the installation completed
- correctly.
-
- 6. You can remove the program binaries and object files from the
- source code directory by typing 'make clean'. To also remove the
- files that 'configure' created (so you can compile the package for
- a different kind of computer), type 'make distclean'. There is
- also a 'make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
- 7. Often, you can also type 'make uninstall' to remove the installed
- files again. In practice, not all packages have tested that
- uninstallation works correctly, even though it is required by the
- GNU Coding Standards.
-
- 8. Some packages, particularly those that use Automake, provide 'make
- distcheck', which can by used by developers to test that all other
- targets like 'make install' and 'make uninstall' work correctly.
- This target is generally not run by end users.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the 'configure' script does not know about. Run './configure --help'
-for details on some of the pertinent environment variables.
-
- You can give 'configure' initial values for configuration parameters
-by setting variables in the command line or in the environment. Here is
-an example:
-
- ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-
- *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you can use GNU 'make'. 'cd' to the
-directory where you want the object files and executables to go and run
-the 'configure' script. 'configure' automatically checks for the source
-code in the directory that 'configure' is in and in '..'. This is known
-as a "VPATH" build.
-
- With a non-GNU 'make', it is safer to compile the package for one
-architecture at a time in the source code directory. After you have
-installed the package for one architecture, use 'make distclean' before
-reconfiguring for another architecture.
-
- On MacOS X 10.5 and later systems, you can create libraries and
-executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple '-arch' options to the
-compiler but only a single '-arch' option to the preprocessor. Like
-this:
-
- ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
- CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
- CPP="gcc -E" CXXCPP="g++ -E"
-
- This is not guaranteed to produce working output in all cases, you
-may have to build one architecture at a time and combine the results
-using the 'lipo' tool if you have problems.
-
-Installation Names
-==================
-
- By default, 'make install' installs the package's commands under
-'/usr/local/bin', include files under '/usr/local/include', etc. You
-can specify an installation prefix other than '/usr/local' by giving
-'configure' the option '--prefix=PREFIX', where PREFIX must be an
-absolute file name.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like '--bindir=DIR' to specify different values for particular
-kinds of files. Run 'configure --help' for a list of the directories
-you can set and what kinds of files go in them. In general, the default
-for these options is expressed in terms of '${prefix}', so that
-specifying just '--prefix' will affect all of the other directory
-specifications that were not explicitly provided.
-
- The most portable way to affect installation locations is to pass the
-correct locations to 'configure'; however, many packages provide one or
-both of the following shortcuts of passing variable assignments to the
-'make install' command line to change installation locations without
-having to reconfigure or recompile.
-
- The first method involves providing an override variable for each
-affected directory. For example, 'make install
-prefix=/alternate/directory' will choose an alternate location for all
-directory configuration variables that were expressed in terms of
-'${prefix}'. Any directories that were specified during 'configure',
-but not in terms of '${prefix}', must each be overridden at install time
-for the entire installation to be relocated. The approach of makefile
-variable overrides for each directory variable is required by the GNU
-Coding Standards, and ideally causes no recompilation. However, some
-platforms have known limitations with the semantics of shared libraries
-that end up requiring recompilation when using this method, particularly
-noticeable in packages that use GNU Libtool.
-
- The second method involves providing the 'DESTDIR' variable. For
-example, 'make install DESTDIR=/alternate/directory' will prepend
-'/alternate/directory' before all installation names. The approach of
-'DESTDIR' overrides is not required by the GNU Coding Standards, and
-does not work on platforms that have drive letters. On the other hand,
-it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of '${prefix}'
-at 'configure' time.
-
-Optional Features
-=================
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving 'configure' the
-option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
-
- Some packages pay attention to '--enable-FEATURE' options to
-'configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to '--with-PACKAGE' options, where PACKAGE
-is something like 'gnu-as' or 'x' (for the X Window System). The
-'README' should mention any '--enable-' and '--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, 'configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the 'configure' options '--x-includes=DIR' and
-'--x-libraries=DIR' to specify their locations.
-
- Some packages offer the ability to configure how verbose the
-execution of 'make' will be. For these packages, running './configure
---enable-silent-rules' sets the default to minimal output, which can be
-overridden with 'make V=1'; while running './configure
---disable-silent-rules' sets the default to verbose, which can be
-overridden with 'make V=0'.
-
-Particular systems
-==================
-
- On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
-is not installed, it is recommended to use the following options in
-order to use an ANSI C compiler:
-
- ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-
-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-
- HP-UX 'make' updates targets which have the same time stamps as their
-prerequisites, which makes it generally unusable when shipped generated
-files such as 'configure' are involved. Use GNU 'make' instead.
-
- On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its '<wchar.h>' header file. The option '-nodtk' can be used as a
-workaround. If GNU CC is not installed, it is therefore recommended to
-try
-
- ./configure CC="cc"
-
-and if that doesn't work, try
-
- ./configure CC="cc -nodtk"
-
- On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
-directory contains several dysfunctional programs; working variants of
-these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
-in your 'PATH', put it _after_ '/usr/bin'.
-
- On Haiku, software installed for all users goes in '/boot/common',
-not '/usr/local'. It is recommended to use the following options:
-
- ./configure --prefix=/boot/common
-
-Specifying the System Type
-==========================
-
- There may be some features 'configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on. Usually, assuming the package is built to be run on the
-_same_ architectures, 'configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-'--build=TYPE' option. TYPE can either be a short name for the system
-type, such as 'sun4', or a canonical name which has the form:
-
- CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
- OS
- KERNEL-OS
-
- See the file 'config.sub' for the possible values of each field. If
-'config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
- If you are _building_ compiler tools for cross-compiling, you should
-use the option '--target=TYPE' to select the type of system they will
-produce code for.
-
- If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with '--host=TYPE'.
-
-Sharing Defaults
-================
-
- If you want to set default values for 'configure' scripts to share,
-you can create a site shell script called 'config.site' that gives
-default values for variables like 'CC', 'cache_file', and 'prefix'.
-'configure' looks for 'PREFIX/share/config.site' if it exists, then
-'PREFIX/etc/config.site' if it exists. Or, you can set the
-'CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all 'configure' scripts look for a site script.
-
-Defining Variables
-==================
-
- Variables not defined in a site shell script can be set in the
-environment passed to 'configure'. However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost. In order to avoid this problem, you should set
-them in the 'configure' command line, using 'VAR=value'. For example:
-
- ./configure CC=/usr/local2/bin/gcc
-
-causes the specified 'gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
-Autoconf limitation. Until the limitation is lifted, you can use this
-workaround:
-
- CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-'configure' Invocation
-======================
-
- 'configure' recognizes the following options to control how it
-operates.
-
-'--help'
-'-h'
- Print a summary of all of the options to 'configure', and exit.
-
-'--help=short'
-'--help=recursive'
- Print a summary of the options unique to this package's
- 'configure', and exit. The 'short' variant lists options used only
- in the top level, while the 'recursive' variant lists options also
- present in any nested packages.
-
-'--version'
-'-V'
- Print the version of Autoconf used to generate the 'configure'
- script, and exit.
-
-'--cache-file=FILE'
- Enable the cache: use and save the results of the tests in FILE,
- traditionally 'config.cache'. FILE defaults to '/dev/null' to
- disable caching.
-
-'--config-cache'
-'-C'
- Alias for '--cache-file=config.cache'.
-
-'--quiet'
-'--silent'
-'-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to '/dev/null' (any error
- messages will still be shown).
-
-'--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- 'configure' can determine that directory automatically.
-
-'--prefix=DIR'
- Use DIR as the installation prefix. *note Installation Names:: for
- more details, including other options available for fine-tuning the
- installation locations.
-
-'--no-create'
-'-n'
- Run the configure checks, but stop before creating any output
- files.
-
-'configure' also accepts some other, not widely useful, options. Run
-'configure --help' for more details.
gtkdoc/check.py \
gtkdoc/common.py \
gtkdoc/config.py \
+ gtkdoc/config_data.py \
gtkdoc/fixxref.py \
gtkdoc/highlight.py \
gtkdoc/md_to_db.py \
MAINTAINERS \
$(gtkdocdata_DATA) \
$(pylibdata_DATA) \
+ autogen.sh \
gtk-doc.pc.in \
gtk-doc.doap \
gtk-doc-fo.xsl \
+ meson.build \
+ meson_options.txt \
+ requirements.txt \
doc/README \
doc/authors.txt \
doc/gnome.txt \
doc/style-guide.txt \
examples/README \
examples/Makefile.am \
+ gtkdoc/meson.build \
+ gtkdoc_uninstalled.py.in \
+ style/COPYING \
+ style/meson.build \
+ tools/c10e-html.py \
+ tools/db2md.py \
tools/docpercentages.pl \
tools/gtk-doc.el \
COPYING-DOCS
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
- $(am__configure_deps) $(am__DIST_COMMON)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_CLEAN_FILES = gtk-doc.pc gtkdoc/config.py gtkdoc-check \
- gtkdoc-depscan gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mkhtml \
- gtkdoc-mkhtml2 gtkdoc-mkman gtkdoc-mkpdf gtkdoc-rebase \
- gtkdoc-scan gtkdoc-scangobj
-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)$(bindir)" "$(DESTDIR)$(gtkdocdatadir)" \
- "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pylibdatadir)"
-SCRIPTS = $(bin_SCRIPTS)
-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
-DATA = $(gtkdocdata_DATA) $(pkgconfig_DATA) $(pylibdata_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 distdir-am dist dist-all distcheck
-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
-CSCOPE = cscope
-DIST_SUBDIRS = $(SUBDIRS)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/gtk-doc.pc.in \
- $(srcdir)/gtkdoc-check.in $(srcdir)/gtkdoc-depscan.in \
- $(srcdir)/gtkdoc-fixxref.in $(srcdir)/gtkdoc-mkdb.in \
- $(srcdir)/gtkdoc-mkhtml.in $(srcdir)/gtkdoc-mkhtml2.in \
- $(srcdir)/gtkdoc-mkman.in $(srcdir)/gtkdoc-mkpdf.in \
- $(srcdir)/gtkdoc-rebase.in $(srcdir)/gtkdoc-scan.in \
- $(srcdir)/gtkdoc-scangobj.in $(top_srcdir)/build-aux/compile \
- $(top_srcdir)/build-aux/config.guess \
- $(top_srcdir)/build-aux/config.sub \
- $(top_srcdir)/build-aux/install-sh \
- $(top_srcdir)/build-aux/ltmain.sh \
- $(top_srcdir)/build-aux/missing \
- $(top_srcdir)/gtkdoc/config.py.in AUTHORS COPYING ChangeLog \
- INSTALL NEWS README TODO build-aux/compile \
- build-aux/config.guess build-aux/config.sub build-aux/depcomp \
- build-aux/install-sh build-aux/ltmain.sh build-aux/missing
-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
-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@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
-SUBDIRS = buildsystems/autotools buildsystems/cmake help tests
-bin_SCRIPTS = \
- gtkdoc-check \
- gtkdoc-depscan \
- gtkdoc-fixxref \
- gtkdoc-mkdb \
- gtkdoc-mkhtml \
- gtkdoc-mkhtml2 \
- gtkdoc-mkman \
- gtkdoc-mkpdf \
- gtkdoc-rebase \
- gtkdoc-scan \
- gtkdoc-scangobj
-
-gtkdocdatadir = $(datadir)/gtk-doc/data
-gtkdocdata_DATA = \
- gtk-doc.xsl \
- version-greater-or-equal.xsl \
- devhelp2.xsd \
- devhelp2.xsl \
- style/home.png \
- style/left.png \
- style/left-insensitive.png \
- style/right.png \
- style/right-insensitive.png \
- style/up.png \
- style/up-insensitive.png \
- style/style.css
-
-pylibdatadir = $(datadir)/gtk-doc/python/gtkdoc
-pylibdata_DATA = \
- gtkdoc/__init__.py \
- gtkdoc/check.py \
- gtkdoc/common.py \
- gtkdoc/config.py \
- gtkdoc/fixxref.py \
- gtkdoc/highlight.py \
- gtkdoc/md_to_db.py \
- gtkdoc/mkdb.py \
- gtkdoc/mkhtml.py \
- gtkdoc/mkhtml2.py \
- gtkdoc/mkman.py \
- gtkdoc/mkpdf.py \
- gtkdoc/rebase.py \
- gtkdoc/scan.py \
- gtkdoc/scangobj.py
-
-pkgconfigdir = $(datadir)/pkgconfig
-pkgconfig_DATA = gtk-doc.pc
-EXTRA_DIST = \
- MAINTAINERS \
- $(gtkdocdata_DATA) \
- $(pylibdata_DATA) \
- gtk-doc.pc.in \
- gtk-doc.doap \
- gtk-doc-fo.xsl \
- doc/README \
- doc/authors.txt \
- doc/gnome.txt \
- doc/sections-file.txt \
- doc/setting-up.txt \
- doc/style-guide.txt \
- examples/README \
- examples/Makefile.am \
- tools/docpercentages.pl \
- tools/gtk-doc.el \
- COPYING-DOCS
-
-CLEANFILES = \
- gtkdoc-checkc \
- gtkdoc-depscanc \
- gtkdoc-fixxrefc \
- gtkdoc-mkdbc \
- gtkdoc-mkhtmlc \
- gtkdoc-mkhtml2c \
- gtkdoc-mkmanc \
- gtkdoc-mkpdfc \
- gtkdoc-rebasec \
- gtkdoc-scangobjc \
- gtkdoc/__init__.pyc \
- gtkdoc/check.pyc \
- gtkdoc/common.pyc \
- gtkdoc/config.pyc \
- gtkdoc/fixxref.pyc \
- gtkdoc/md_to_db.pyc \
- gtkdoc/mkdb.pyc \
- gtkdoc/mkhtml.pyc \
- gtkdoc/mkhtml2.pyc \
- gtkdoc/mkman.pyc \
- gtkdoc/mkpdf.pyc \
- gtkdoc/rebase.pyc \
- gtkdoc/scan.pyc \
- gtkdoc/scangobj.pyc
-
-DISTCLEANFILES = \
- gtkdoc-check \
- gtkdoc-depscan \
- gtkdoc-fixxref \
- gtkdocize \
- gtkdoc-mkdb \
- gtkdoc-mkhtml \
- gtkdoc-mkhtml2 \
- gtkdoc-mkman \
- gtkdoc-mkpdf \
- gtk-doc.pc \
- gtkdoc-rebase \
- gtkdoc-scangobj \
- gtkdoc-scan \
- gtkdoc/config.py
-
-MAINTAINERCLEANFILES = \
- $(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \
- $(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN) \
- $(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL) \
- INSTALL \
- RELNOTES.txt \
- ChangeLog-?.?? \
- gtk-doc-*.tar.xz \
- build-aux
-
-
-# Workaround for automake 1.61
-# https://lists.gnu.org/archive/html/bug-automake/2018-04/msg00002.html
-distuninstallcheck_listfiles = find . -type f -print | grep -v \
- '__pycache__'
-all: all-recursive
-
-.SUFFIXES:
-am--refresh: Makefile
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu 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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-gtk-doc.pc: $(top_builddir)/config.status $(srcdir)/gtk-doc.pc.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc/config.py: $(top_builddir)/config.status $(top_srcdir)/gtkdoc/config.py.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc-check: $(top_builddir)/config.status $(srcdir)/gtkdoc-check.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc-depscan: $(top_builddir)/config.status $(srcdir)/gtkdoc-depscan.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc-fixxref: $(top_builddir)/config.status $(srcdir)/gtkdoc-fixxref.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc-mkdb: $(top_builddir)/config.status $(srcdir)/gtkdoc-mkdb.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc-mkhtml: $(top_builddir)/config.status $(srcdir)/gtkdoc-mkhtml.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc-mkhtml2: $(top_builddir)/config.status $(srcdir)/gtkdoc-mkhtml2.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc-mkman: $(top_builddir)/config.status $(srcdir)/gtkdoc-mkman.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc-mkpdf: $(top_builddir)/config.status $(srcdir)/gtkdoc-mkpdf.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc-rebase: $(top_builddir)/config.status $(srcdir)/gtkdoc-rebase.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc-scan: $(top_builddir)/config.status $(srcdir)/gtkdoc-scan.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-gtkdoc-scangobj: $(top_builddir)/config.status $(srcdir)/gtkdoc-scangobj.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-install-binSCRIPTS: $(bin_SCRIPTS)
- @$(NORMAL_INSTALL)
- @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n' \
- -e 'h;s|.*|.|' \
- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) { files[d] = files[d] " " $$1; \
- if (++n[d] == $(am__install_max)) { \
- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
- else { print "f", d "/" $$4, $$1 } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binSCRIPTS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 's,.*/,,;$(transform)'`; \
- dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
-
-installcheck-binSCRIPTS: $(bin_SCRIPTS)
- bad=0; pid=$$$$; list="$(bin_SCRIPTS)"; for p in $$list; do \
- case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \
- *" $$p "* | *" $(srcdir)/$$p "*) continue;; \
- esac; \
- f=`echo "$$p" | sed 's,^.*/,,;$(transform)'`; \
- for opt in --help --version; do \
- if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \
- 2>c$${pid}_.err </dev/null \
- && test -n "`cat c$${pid}_.out`" \
- && test -z "`cat c$${pid}_.err`"; then :; \
- else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
- done; \
- done; rm -f c$${pid}_.???; exit $$bad
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool config.lt
-install-gtkdocdataDATA: $(gtkdocdata_DATA)
- @$(NORMAL_INSTALL)
- @list='$(gtkdocdata_DATA)'; test -n "$(gtkdocdatadir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(gtkdocdatadir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(gtkdocdatadir)" || 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)$(gtkdocdatadir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(gtkdocdatadir)" || exit $$?; \
- done
-
-uninstall-gtkdocdataDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(gtkdocdata_DATA)'; test -n "$(gtkdocdatadir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(gtkdocdatadir)'; $(am__uninstall_files_from_dir)
-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)
-install-pylibdataDATA: $(pylibdata_DATA)
- @$(NORMAL_INSTALL)
- @list='$(pylibdata_DATA)'; test -n "$(pylibdatadir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(pylibdatadir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(pylibdatadir)" || 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)$(pylibdatadir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pylibdatadir)" || exit $$?; \
- done
-
-uninstall-pylibdataDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pylibdata_DATA)'; test -n "$(pylibdatadir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(pylibdatadir)'; $(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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
- @case `sed 15q $(srcdir)/NEWS` in \
- *"$(VERSION)"*) : ;; \
- *) \
- echo "NEWS not updated; not releasing" 1>&2; \
- exit 1;; \
- esac
- $(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
-check: check-recursive
-all-am: Makefile $(SCRIPTS) $(DATA)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(gtkdocdatadir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pylibdatadir)"; 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)
- -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-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-local mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-gtkdocdataDATA install-pkgconfigDATA \
- install-pylibdataDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am: install-binSCRIPTS
-
-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: installcheck-binSCRIPTS
-
-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-binSCRIPTS uninstall-gtkdocdataDATA \
- uninstall-pkgconfigDATA uninstall-pylibdataDATA
-
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
- am--refresh check check-am clean clean-cscope clean-generic \
- clean-libtool clean-local 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-libtool distclean-tags \
- distcleancheck distdir distuninstallcheck dvi dvi-am html \
- html-am info info-am install install-am install-binSCRIPTS \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-gtkdocdataDATA \
- install-html install-html-am install-info install-info-am \
- install-man install-pdf install-pdf-am install-pkgconfigDATA \
- install-ps install-ps-am install-pylibdataDATA install-strip \
- installcheck installcheck-am installcheck-binSCRIPTS \
- 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-binSCRIPTS uninstall-gtkdocdataDATA \
- uninstall-pkgconfigDATA uninstall-pylibdataDATA
-
-.PRECIOUS: Makefile
-
-
-clean-local:
- -find . -name "__pycache__" -type d -exec rm -r "{}" \;
-
--include $(top_srcdir)/git.mk
-
-dist-hook:
- @if test -d "$(srcdir)/.git"; \
- then \
- echo Creating ChangeLog && \
- ( cd "$(top_srcdir)" && \
- echo '# Generated by Makefile. Do not edit.'; echo; \
- $(top_srcdir)/missing --run git log --stat ) > ChangeLog.tmp \
- && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \
- || ( rm -f ChangeLog.tmp ; \
- echo Failed to generate ChangeLog >&2 ); \
- else \
- echo A git clone is required to generate a ChangeLog >&2; \
- fi
-
-# 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:
+GTK-Doc 1.33 (Oct 1 2020)
+=============
+
+Support documenting GTK actions
+Recognize GDK_DECLARE_ macros
+Better table styling in html output
+Use plain C types for basic types
+Make builds more reproducible
+Translation updates
+
+GTK-Doc 1.32.1 (Aug 15 2019)
+===============
+
+Dev version
+
+This version does not generate object_index.sgml if the library contains no
+gobjects.
+
+
GTK-Doc 1.32 (Aug 15 2019)
===============
libxslt & libxml2 >= 2.3.6.
http://xmlsoft.org/
+For PDF output:
+
+the dblatex tool.
+ http://dblatex.sourceforge.net/
+
Most distributions now have packages for all of these, so I would strongly
advise that you grab those.
+++ /dev/null
-# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
-
-# Copyright (C) 1996-2018 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'.])])
-
-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
-
-AC_DEFUN([YELP_HELP_INIT],
-[
-AC_REQUIRE([AC_PROG_LN_S])
-m4_pattern_allow([AM_V_at])
-m4_pattern_allow([AM_V_GEN])
-m4_pattern_allow([AM_DEFAULT_VERBOSITY])
-
-YELP_LC_MEDIA_LINKS=true
-YELP_LC_DIST=true
-
-for yelpopt in [$1]; do
- case $yelpopt in
- lc-media-links) YELP_LC_MEDIA_LINKS=true ;;
- no-lc-media-links) YELP_LC_MEDIA_LINKS= ;;
- lc-dist) YELP_LC_DIST=true ;;
- no-lc-dist) YELP_LC_DIST= ;;
- *) AC_MSG_ERROR([Unrecognized [YELP_HELP_INIT] option $yelpopt"]) ;;
- esac
-done;
-AC_SUBST([YELP_LC_MEDIA_LINKS])
-AC_SUBST([YELP_LC_DIST])
-
-AC_ARG_WITH([help-dir],
- AS_HELP_STRING([--with-help-dir=DIR],
- [path where help files are installed]),,
- [with_help_dir='${datadir}/help'])
-HELP_DIR="$with_help_dir"
-AC_SUBST(HELP_DIR)
-
-AC_ARG_VAR([ITSTOOL], [Path to the `itstool` command])
-AC_CHECK_PROG([ITSTOOL], [itstool], [itstool])
-if test x"$ITSTOOL" = x; then
- AC_MSG_ERROR([itstool not found])
-fi
-
-AC_ARG_VAR([XMLLINT], [Path to the `xmllint` command])
-AC_CHECK_PROG([XMLLINT], [xmllint], [xmllint])
-if test x"$XMLLINT" = x; then
- AC_MSG_ERROR([xmllint not found])
-fi
-
-YELP_HELP_RULES='
-HELP_ID ?=
-HELP_POT ?=
-HELP_FILES ?=
-HELP_EXTRA ?=
-HELP_MEDIA ?=
-HELP_LINGUAS ?=
-
-_HELP_LINGUAS = $(if $(filter environment,$(origin LINGUAS)),$(filter $(LINGUAS),$(HELP_LINGUAS)),$(HELP_LINGUAS))
-_HELP_POTFILE = $(if $(HELP_POT),$(HELP_POT),$(if $(HELP_ID),$(HELP_ID).pot))
-_HELP_POFILES = $(if $(HELP_ID),$(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).po))
-_HELP_MOFILES = $(patsubst %.po,%.mo,$(_HELP_POFILES))
-_HELP_C_FILES = $(foreach f,$(HELP_FILES),C/$(f))
-_HELP_C_EXTRA = $(foreach f,$(HELP_EXTRA),C/$(f))
-_HELP_C_MEDIA = $(foreach f,$(HELP_MEDIA),C/$(f))
-_HELP_LC_FILES = $(foreach lc,$(_HELP_LINGUAS),$(foreach f,$(HELP_FILES),$(lc)/$(f)))
-_HELP_LC_STAMPS = $(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).stamp)
-
-_HELP_DEFAULT_V = $(if $(AM_DEFAULT_VERBOSITY),$(AM_DEFAULT_VERBOSITY),1)
-_HELP_V = $(if $(V),$(V),$(_HELP_DEFAULT_V))
-_HELP_LC_VERBOSE = $(_HELP_LC_VERBOSE_$(_HELP_V))
-_HELP_LC_VERBOSE_ = $(_HELP_LC_VERBOSE_$(_HELP_DEFAULT_V))
-_HELP_LC_VERBOSE_0 = @echo " GEN "$(dir [$]@);
-
-all: $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(_HELP_LC_FILES) $(_HELP_POFILES)
-
-.PHONY: pot
-pot: $(_HELP_POTFILE)
-$(_HELP_POTFILE): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA)
- $(AM_V_GEN)if test -d "C"; then d=; else d="$(srcdir)/"; fi; \
- $(ITSTOOL) -o "[$]@" $(foreach f,$(_HELP_C_FILES),"$${d}$(f)")
-
-.PHONY: repo
-repo: $(_HELP_POTFILE)
- $(AM_V_at)for po in $(_HELP_POFILES); do \
- if test "x[$](_HELP_V)" = "x0"; then echo " GEN $${po}"; fi; \
- msgmerge -q -o "$${po}" "$${po}" "$(_HELP_POTFILE)"; \
- done
-
-$(_HELP_POFILES):
- $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi
- $(AM_V_at)if test ! -f "[$]@" -a -f "$(srcdir)/[$]@"; then cp "$(srcdir)/[$]@" "[$]@"; fi
- $(AM_V_GEN)if ! test -f "[$]@"; then \
- (cd "$(dir [$]@)" && \
- $(ITSTOOL) -o "$(notdir [$]@).tmp" $(_HELP_C_FILES) && \
- mv "$(notdir [$]@).tmp" "$(notdir [$]@)"); \
- else \
- (cd "$(dir [$]@)" && \
- $(ITSTOOL) -o "$(notdir [$]@).tmp" $(_HELP_C_FILES) && \
- msgmerge -o "$(notdir [$]@)" "$(notdir [$]@)" "$(notdir [$]@).tmp" && \
- rm "$(notdir [$]@).tmp"); \
- fi
-
-$(_HELP_MOFILES): %.mo: %.po
- $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi
- $(AM_V_GEN)msgfmt -o "[$]@" "$<"
-
-$(_HELP_LC_FILES): $(_HELP_LINGUAS)
-$(_HELP_LINGUAS): $(_HELP_LC_STAMPS)
-$(_HELP_LC_STAMPS): %.stamp: %.mo
-$(_HELP_LC_STAMPS): $(_HELP_C_FILES) $(_HELP_C_EXTRA)
- $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi
- $(_HELP_LC_VERBOSE)if test -d "C"; then d="../"; else d="$(abs_srcdir)/"; fi; \
- mo="$(dir [$]@)$(patsubst %/$(notdir [$]@),%,[$]@).mo"; \
- if test -f "$${mo}"; then mo="../$${mo}"; else mo="$(abs_srcdir)/$${mo}"; fi; \
- (cd "$(dir [$]@)" && $(ITSTOOL) -m "$${mo}" $(foreach f,$(_HELP_C_FILES),$${d}/$(f))) && \
- touch "[$]@"
-
-.PHONY: clean-help
-mostlyclean-am: $(if $(HELP_ID),clean-help)
-clean-help:
- rm -f $(_HELP_LC_FILES) $(_HELP_LC_STAMPS) $(_HELP_MOFILES)
-
-EXTRA_DIST ?=
-EXTRA_DIST += $(_HELP_C_EXTRA) $(_HELP_C_MEDIA)
-EXTRA_DIST += $(if $(YELP_LC_DIST),$(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).stamp))
-EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).po)
-EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f))))
-
-distdir: distdir-help-files
-distdir-help-files: $(_HELP_LC_FILES)
- @for lc in C $(if $(YELP_LC_DIST),$(HELP_LINGUAS)) ; do \
- $(MKDIR_P) "$(distdir)/$$lc"; \
- for file in $(HELP_FILES); do \
- if test -f "$$lc/$$file"; then d=./; else d=$(srcdir)/; fi; \
- cp -p "$$d$$lc/$$file" "$(distdir)/$$lc/" || exit 1; \
- done; \
- done; \
-
-.PHONY: check-help
-check: check-help
-check-help:
- for lc in C $(_HELP_LINGUAS); do \
- if test -d "$$lc"; \
- then d=; \
- xmlpath="$$lc"; \
- else \
- d="$(srcdir)/"; \
- xmlpath="$$lc:$(srcdir)/$$lc"; \
- fi; \
- for page in $(HELP_FILES); do \
- echo "$(XMLLINT) --nonet --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \
- $(XMLLINT) --nonet --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \
- done; \
- done
-
-
-.PHONY: install-help
-install-data-am: $(if $(HELP_ID),install-help)
-install-help: $(_HELP_LC_FILES)
- @for lc in C $(_HELP_LINGUAS); do \
- $(mkinstalldirs) "$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)" || exit 1; \
- done
- @for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \
- if test -f "$$lc/$$f"; then d=; else d="$(srcdir)/"; fi; \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \
- echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir`basename $$f`"; \
- $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir`basename $$f`" || exit 1; \
- done; done
- @for f in $(_HELP_C_EXTRA); do \
- lc=`dirname "$$f"`; lc=`basename "$$lc"`; \
- if test -f "$$f"; then d=; else d="$(srcdir)/"; fi; \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \
- echo "$(INSTALL_DATA) $$d$$f $$helpdir`basename $$f`"; \
- $(INSTALL_DATA) "$$d$$f" "$$helpdir`basename $$f`" || exit 1; \
- done
- @for f in $(HELP_MEDIA); do \
- for lc in C $(_HELP_LINGUAS); do \
- if test -f "$$lc$$f"; then d=; else d="$(srcdir)/"; fi; \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- mdir=`dirname "$$f"`; \
- if test "x$mdir" = "x."; then mdir=""; fi; \
- if ! test -d "$$helpdir$$mdir"; then $(mkinstalldirs) "$$helpdir$$mdir"; fi; \
- if test -f "$$d$$lc/$$f"; then \
- echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir$$f"; \
- $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir$$f" || exit 1; \
- elif test "x$$lc" != "xC"; then \
- if test "x$(YELP_LC_MEDIA_LINKS)" != "x"; then \
- echo "$(LN_S) -f $(HELP_DIR)/C/$(HELP_ID)/$$f $$helpdir$$f"; \
- dname="$$f"; \
- pars="../"; \
- while test "$$dname" != "." -a "$$dname" != "/"; do \
- pars="../$$pars"; \
- dname=$$(dirname "$$dname"); \
- done; \
- $(LN_S) -f $$pars"C/$(HELP_ID)/$$f" "$$helpdir$$f" || exit 1; \
- fi; \
- fi; \
- done; \
- done
-
-.PHONY: uninstall-help
-uninstall-am: $(if $(HELP_ID),uninstall-help)
-uninstall-help:
- for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- echo "rm -f $$helpdir`basename $$f`"; \
- rm -f "$$helpdir`basename $$f`"; \
- done; done
- @for f in $(_HELP_C_EXTRA); do \
- lc=`dirname "$$f"`; lc=`basename "$$lc"`; \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- echo "rm -f $$helpdir`basename $$f`"; \
- rm -f "$$helpdir`basename $$f`"; \
- done
- @for f in $(HELP_MEDIA); do \
- for lc in C $(_HELP_LINGUAS); do \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- echo "rm -f $$helpdir$$f"; \
- rm -f "$$helpdir$$f"; \
- done; \
- done;
-'
-AC_SUBST([YELP_HELP_RULES])
-m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([YELP_HELP_RULES])])
-])
-
-# Copyright (C) 2002-2018 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.16'
-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.16.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.16.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-2018 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-2018 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-2018 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-2018 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.
- # TODO: see whether this extra hack can be removed once we start
- # requiring Autoconf 2.70 or later.
- AS_CASE([$CONFIG_FILES],
- [*\'*], [eval set x "$CONFIG_FILES"],
- [*], [set x $CONFIG_FILES])
- shift
- # Used to flag and report bootstrapping failures.
- am_rc=0
- for am_mf
- do
- # Strip MF so we end up with the name of the file.
- am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile which includes
- # dependency-tracking related rules and includes.
- # Grep'ing the whole file directly is not great: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
- || continue
- am_dirpart=`AS_DIRNAME(["$am_mf"])`
- am_filepart=`AS_BASENAME(["$am_mf"])`
- AM_RUN_LOG([cd "$am_dirpart" \
- && sed -e '/# am--include-marker/d' "$am_filepart" \
- | $MAKE -f - am--depfiles]) || am_rc=$?
- done
- if test $am_rc -ne 0; then
- AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
- for automatic dependency tracking. Try re-running configure with the
- '--disable-dependency-tracking' option to at least be able to build
- the package (albeit without support for automatic dependency tracking).])
- fi
- AS_UNSET([am_dirpart])
- AS_UNSET([am_filepart])
- AS_UNSET([am_mf])
- AS_UNSET([am_rc])
- rm -f conftest-deps.mk
-}
-])# _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.
-# This creates each '.Po' and '.Plo' makefile fragment that we'll 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" MAKE="${MAKE-make}"])])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996-2018 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:
-# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <https://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: <https://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-2018 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-2018 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])])
-
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996-2018 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_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless 'enable' is passed literally.
-# For symmetry, 'disable' may be passed as well. Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
- [enable], [m4_define([am_maintainer_other], [disable])],
- [disable], [m4_define([am_maintainer_other], [enable])],
- [m4_define([am_maintainer_other], [enable])
- m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- AC_ARG_ENABLE([maintainer-mode],
- [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
- am_maintainer_other[ make rules and dependencies not useful
- (and sometimes confusing) to the casual installer])],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST([MAINT])dnl
-]
-)
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001-2018 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 whether make has an 'include' directive that can support all
-# the idioms we need for our automatic dependency tracking code.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
-cat > confinc.mk << 'END'
-am__doit:
- @echo this is the am__doit target >confinc.out
-.PHONY: am__doit
-END
-am__include="#"
-am__quote=
-# BSD make does it like this.
-echo '.include "confinc.mk" # ignored' > confmf.BSD
-# Other make implementations (GNU, Solaris 10, AIX) do it like this.
-echo 'include confinc.mk # ignored' > confmf.GNU
-_am_result=no
-for s in GNU BSD; do
- AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
- AS_CASE([$?:`cat confinc.out 2>/dev/null`],
- ['0:this is the am__doit target'],
- [AS_CASE([$s],
- [BSD], [am__include='.include' am__quote='"'],
- [am__include='include' am__quote=''])])
- if test "$am__include" != "#"; then
- _am_result="yes ($s style)"
- break
- fi
-done
-rm -f confinc.* confmf.*
-AC_MSG_RESULT([${_am_result}])
-AC_SUBST([am__include])])
-AC_SUBST([am__quote])])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997-2018 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-2018 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-2018 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-2018 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).
- m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
-[python python2 python3 dnl
- python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 dnl
- python3.2 python3.1 python3.0 dnl
- python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 dnl
- 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-2018 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-2018 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-2018 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-2018 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-2018 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-2018 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_python_module.m4])
-m4_include([m4/gtkdoc_jh_check_xml_catalog.m4])
-m4_include([m4/gtkdoc_jh_path_xml_catalog.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])
--- /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"
+
+AUTORECONF=`which autoreconf`
+if test -z $AUTORECONF; then
+ echo "*** No autoreconf found, please install it ***"
+ exit 1
+else
+ autoreconf --force --install --verbose || exit $?
+fi
+
+cd "$olddir"
+test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
--- /dev/null
+#!/usr/bin/env python
+# -*- Mode: Python -*-
+# vi:si:et:sw=4:sts=4:ts=4
+
+
+# parse HTML from bugzilla.gnome.org to create a list of bugs for a given
+# product, component and target_milestone
+
+import re
+import os
+import sys
+import codecs
+import urllib
+import HTMLParser
+
+# a sample bug line we parse for future reference:
+#<TR VALIGN=TOP ALIGN=LEFT CLASS="Nor" ><TD><A HREF="show_bug.cgi?id=78267">78267</A> <td class=severity><nobr>min</nobr></td><td class=priority><nobr>Nor</nobr></td><td class=owner><nobr>thomas@apestaart.org</nobr></td><td class=status><nobr>RESO</nobr></td><td class=resolution><nobr>FIXE</nobr></td><td class=summary>autogen.sh doesn't take --prefix and similar to configure</td></TR>
+
+# a sample bug section after olav's updating of bugzilla
+# <td class="first-child">
+# <a href="show_bug.cgi?id=147641">147641</a>
+# <span style="display: none"></span>
+# </td>
+#
+# <td style="white-space: nowrap">nor
+# </td>
+# <td style="white-space: nowrap">Nor
+# </td>
+# <td style="white-space: nowrap">Linu
+# </td>
+# <td style="white-space: nowrap">GStreamer
+# </td>
+# <td style="white-space: nowrap">RESO
+# </td>
+# <td style="white-space: nowrap">FIXE
+# </td>
+# <td >[docs] pydoc segfaults when viewing gst package doc
+# </td>
+#
+# </tr>
+
+
+URL = 'http://bugzilla.gnome.org/buglist.cgi?product=%s&component=%s&target_milestone=%s'
+
+# reg = re.compile('<TR.*id=(\d+)".*summary>(.*)<\/td')
+
+HEADER = ' Changes\n'
+ITEM = ' o %s : %s'
+FOOTER = '\n Contributors\n'
+
+default_product = "gtk-doc"
+
+TD_ID = 1
+TD_SUMMARY = 7
+# after Olav's changes, it's now number 8
+#TD_SUMMARY = 8
+
+# Horrible, don't look here
+class HP(HTMLParser.HTMLParser):
+ def __init__(self):
+ HTMLParser.HTMLParser.__init__(self)
+ self.tr = 0
+ self.td = 0
+ self.bugs = []
+ self.bugno = 0
+ self.descr = ""
+
+ def handle_starttag(self, tag, data):
+ if tag == 'tr':
+ self.tr = 1
+ return
+ # count td's
+ elif self.tr and tag.startswith('td'):
+ self.td += 1
+
+ # all > refs are handled through this method; append them to self.descr
+ def handle_entityref(self, name):
+ self.descr += " &%s; " % name
+
+ # can be called more than once for one td
+ def handle_data(self, data):
+ if not self.tr:
+ return
+ data = data.strip()
+ if not data:
+ return
+
+ #print self.td, self.tr, repr(data)
+
+ # check what td it is in
+ if self.td == TD_ID:
+ try:
+ self.bugno = int(data)
+ #print "got id: ", self.bugno
+ except ValueError:
+ self.bugno = 0
+ elif self.td == TD_SUMMARY:
+ # the summary td
+ self.descr += data
+ #print "got descr: ", self.descr
+
+ def handle_endtag(self, tag):
+ if tag == 'tr':
+ self.tr = 0
+ self.td = 0
+ #print "end tag: ", self.bugno, self.descr
+ if self.bugno != 0:
+ self.bugs.append((self.bugno, self.descr))
+ self.bugno = 0
+ self.descr = ""
+
+def main(args):
+ if len(args) < 3:
+ print 'Usage: %s component milestone [product] [file]' % args[0]
+ return 2
+
+ component = args[1]
+ milestone = args[2]
+
+ if len(args) <= 3:
+ product = default_product
+ else:
+ product = args[3]
+
+ if len(args) <= 4:
+ output = None
+ else:
+ output = args[4]
+
+ url = URL % (product, urllib.quote(component), milestone)
+ fd = urllib.urlopen(url)
+
+ hp = HP()
+ hp.feed(fd.read())
+
+ lines = ["\n", ]
+ lines.append(HEADER)
+ for bug_id, summary in hp.bugs:
+ lines.append(ITEM % (bug_id, summary))
+ lines.append(FOOTER)
+ bugs = "\n".join(lines)
+
+ if not output:
+ print bugs
+ else:
+ # get original
+ #doc = codecs.open(output, "r", encoding='utf-8').read()
+ doc = open(output, "r").read()
+ matcher = re.compile('(.*)<bugs>.*</bugs>(.*)',
+ re.DOTALL)
+ match = matcher.search(doc)
+ pre = match.expand('\\1')
+ post = match.expand('\\2')
+
+ backup = output + ".bugs.bak"
+ os.rename(output, backup)
+ handle = open(output, "w")
+ handle.write(pre + bugs + post)
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
+++ /dev/null
-#! /bin/sh
-# Wrapper for compilers which do not understand '-c -o'.
-
-scriptversion=2018-03-07.03; # UTC
-
-# Copyright (C) 1999-2018 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 <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 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 | \
- icl | *[/\\]icl | icl.exe | *[/\\]icl.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 'before-save-hook '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
-#! /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
-#! /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
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2018-03-07.03; # UTC
-
-# Copyright (C) 1999-2018 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 <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.
-
-# 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 'before-save-hook '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
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2018-03-11.20; # 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.
- 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
- dstbase=`basename "$src"`
- case $dst in
- */) dst=$dst$dstbase;;
- *) dst=$dst/$dstbase;;
- esac
- dstdir_status=0
- else
- dstdir=`dirname "$dst"`
- test -d "$dstdir"
- dstdir_status=$?
- fi
- fi
-
- case $dstdir in
- */) dstdirslash=$dstdir;;
- *) dstdirslash=$dstdir/;;
- esac
-
- 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.
- ;;
- *)
- # Note that $RANDOM variable is not portable (e.g. dash); Use it
- # here however when possible just to lower collision chance.
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-
- trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- # Because "mkdir -p" follows existing symlinks and we likely work
- # directly in world-writeable /tmp, make sure that the '$tmpdir'
- # directory is successfully created first before we actually test
- # 'mkdir -p' feature.
- 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=${dstdirslash}_inst.$$_
- rmtmp=${dstdirslash}_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 'before-save-hook '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
-#! /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-6"
-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-04.22; # 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_for_eval "$2"
- eval "$1+=\\ \$func_quote_for_eval_result"
- }'
-else
- func_append_quoted ()
- {
- $debug_cmd
-
- func_quote_for_eval "$2"
- eval "$1=\$$1\\ \$func_quote_for_eval_result"
- }
-fi
-
-
-# func_append_uniq VAR VALUE
-# --------------------------
-# Append unique VALUE onto the existing contents of VAR, assuming
-# entries are delimited by the first character of VALUE. For example:
-#
-# func_append_uniq options " --another-option option-argument"
-#
-# will only append to $options if " --another-option option-argument "
-# is not already present somewhere in $options already (note spaces at
-# each end implied by leading space in second argument).
-func_append_uniq ()
-{
- $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 ARG
-# --------------
-# Aesthetically quote one ARG, store the result into $func_quote_result. Note
-# that we keep attention to performance here (so far O(N) complexity as long as
-# func_append is O(1)).
-func_quote ()
-{
- $debug_cmd
-
- func_quote_result=$1
-
- case $func_quote_result in
- *[\\\`\"\$]*)
- case $func_quote_result in
- *[\[\*\?]*)
- func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"`
- return 0
- ;;
- esac
-
- func_quote_old_IFS=$IFS
- for _G_char in '\' '`' '"' '$'
- do
- # STATE($1) PREV($2) SEPARATOR($3)
- set start "" ""
- func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy
- IFS=$_G_char
- for _G_part in $func_quote_result
- do
- case $1 in
- quote)
- func_append func_quote_result "$3$2"
- set quote "$_G_part" "\\$_G_char"
- ;;
- start)
- set first "" ""
- func_quote_result=
- ;;
- first)
- set quote "$_G_part" ""
- ;;
- esac
- done
- IFS=$func_quote_old_IFS
- done
- ;;
- *) ;;
- esac
-}
-
-
-# func_quote_for_eval ARG...
-# --------------------------
-# Aesthetically quote ARGs to be evaled later.
-# This function returns two values:
-# i) func_quote_for_eval_result
-# double-quoted, suitable for a subsequent eval
-# ii) func_quote_for_eval_unquoted_result
-# has all characters that are still active within double
-# quotes backslashified.
-func_quote_for_eval ()
-{
- $debug_cmd
-
- func_quote_for_eval_unquoted_result=
- func_quote_for_eval_result=
- while test 0 -lt $#; do
- func_quote "$1"
- _G_unquoted_arg=$func_quote_result
- if test -n "$func_quote_for_eval_unquoted_result"; then
- func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
- else
- func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
- fi
-
- case $_G_unquoted_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting, command substitution and variable expansion
- # for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- _G_quoted_arg=\"$_G_unquoted_arg\"
- ;;
- *)
- _G_quoted_arg=$_G_unquoted_arg
- ;;
- esac
-
- if test -n "$func_quote_for_eval_result"; then
- func_append func_quote_for_eval_result " $_G_quoted_arg"
- else
- func_append func_quote_for_eval_result "$_G_quoted_arg"
- fi
- shift
- done
-}
-
-
-# func_quote_for_expand ARG
-# -------------------------
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
- $debug_cmd
-
- case $1 in
- *[\\\`\"]*)
- _G_arg=`$ECHO "$1" | $SED \
- -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
- *)
- _G_arg=$1 ;;
- esac
-
- case $_G_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting and command substitution for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- _G_arg=\"$_G_arg\"
- ;;
- esac
-
- func_quote_for_expand_result=$_G_arg
-}
-
-
-# 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_for_expand "$_G_cmd"
- eval "func_notquiet $func_quote_for_expand_result"
-
- $opt_dry_run || {
- eval "$_G_cmd"
- _G_status=$?
- if test 0 -ne "$_G_status"; then
- eval "(exit $_G_status); $_G_fail_exp"
- fi
- }
-}
-
-
-# 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_for_expand "$_G_cmd"
- eval "func_echo $func_quote_for_expand_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-07.11; # 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_for_eval ${1+"$@"}
-# # my_options_prep_result=$func_quote_for_eval_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_for_eval ${1+"$@"}
-# my_silent_option_result=$func_quote_for_eval_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_for_eval ${1+"$@"}
- func_options_result=$func_quote_for_eval_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_for_eval ${1+"$@"}
- func_parse_options_result=$func_quote_for_eval_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-6
- automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
- autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
-
-Report bugs to <bug-libtool@gnu.org>.
-GNU libtool home page: <http://www.gnu.org/s/libtool/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>."
- exit 0
-}
-
-
-# func_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_for_eval ${1+"$@"}
- libtool_options_prep_result=$func_quote_for_eval_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_for_eval ${1+"$@"}
- libtool_parse_options_result=$func_quote_for_eval_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_for_eval ${1+"$@"}
- libtool_validate_options_result=$func_quote_for_eval_result
-}
-func_add_hook func_validate_options libtool_validate_options
-
-
-# Process options as early as possible so that --help and --version
-# can return quickly.
-func_options ${1+"$@"}
-eval set dummy "$func_options_result"; shift
-
-
-
-## ----------- ##
-## 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_for_eval "$libobj"
- test "X$libobj" != "X$func_quote_for_eval_result" \
- && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && func_warning "libobj name '$libobj' may not contain shell special characters."
- func_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_for_eval "$srcfile"
- qsrcfile=$func_quote_for_eval_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_for_eval "$nonopt"
- install_prog="$func_quote_for_eval_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_for_eval "$arg"
- func_append install_prog "$func_quote_for_eval_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_for_eval "$arg"
- func_append install_prog " $func_quote_for_eval_result"
- if test -n "$arg2"; then
- func_quote_for_eval "$arg2"
- fi
- func_append install_shared_prog " $func_quote_for_eval_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_for_eval "$install_override_mode"
- func_append install_shared_prog " -m $func_quote_for_eval_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_for_expand "$relink_command"
- eval "func_echo $func_quote_for_expand_result"
- }
- if eval "$relink_command"; then :
- else
- func_error "error: relink '$file' with the above command before installing it"
- $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 "$ECHO"
- qECHO=$func_quote_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_for_eval "$arg"
- qarg=$func_quote_for_eval_unquoted_result
- func_append libtool_args " $func_quote_for_eval_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_for_eval "$flag"
- func_append arg " $func_quote_for_eval_result"
- func_append compiler_flags " $func_quote_for_eval_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_for_eval "$flag"
- func_append arg " $wl$func_quote_for_eval_result"
- func_append compiler_flags " $wl$func_quote_for_eval_result"
- func_append linker_flags " $func_quote_for_eval_result"
- done
- IFS=$save_ifs
- 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_for_eval "$arg"
- arg=$func_quote_for_eval_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_for_eval "$arg"
- arg=$func_quote_for_eval_result
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- func_append compiler_flags " $arg"
- continue
- ;;
-
- -Z*)
- if test os2 = "`expr $host : '.*\(os2\)'`"; then
- # OS/2 uses -Zxxx to specify OS/2-specific options
- compiler_flags="$compiler_flags $arg"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- case $arg in
- -Zlinker | -Zstack)
- prev=xcompiler
- ;;
- esac
- continue
- else
- # Otherwise treat like 'Some other compiler flag' below
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
- fi
- ;;
-
- # Some other compiler flag.
- -* | +*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
- ;;
-
- *.$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_for_eval "$arg"
- arg=$func_quote_for_eval_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_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_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_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_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_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
- fi
- done
- func_quote "(cd `pwd`; $relink_command)"
- relink_command=$func_quote_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_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_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 "$relink_command"
- relink_command=$func_quote_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
-#! /bin/sh
-# Common wrapper for a few potentially missing GNU programs.
-
-scriptversion=2018-03-07.03; # UTC
-
-# Copyright (C) 1996-2018 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 <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.
-
-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=https://www.perl.org/
-flex_URL=https://github.com/westes/flex
-gnu_software_URL=https://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 'before-save-hook '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
-#! /bin/sh
-# test-driver - basic testsuite driver script.
-
-scriptversion=2018-03-07.03; # UTC
-
-# Copyright (C) 2011-2018 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 <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 file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-# Make unconditional expansion of undefined variables an error. This
-# helps a lot in preventing typo-related bugs.
-set -u
-
-usage_error ()
-{
- echo "$0: $*" >&2
- print_usage >&2
- exit 2
-}
-
-print_usage ()
-{
- cat <<END
-Usage:
- test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
- [--expect-failure={yes|no}] [--color-tests={yes|no}]
- [--enable-hard-errors={yes|no}] [--]
- TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
-The '--test-name', '--log-file' and '--trs-file' options are mandatory.
-END
-}
-
-test_name= # Used for reporting.
-log_file= # Where to save the output of the test script.
-trs_file= # Where to save the metadata of the test run.
-expect_failure=no
-color_tests=no
-enable_hard_errors=yes
-while test $# -gt 0; do
- case $1 in
- --help) print_usage; exit $?;;
- --version) echo "test-driver $scriptversion"; exit $?;;
- --test-name) test_name=$2; shift;;
- --log-file) log_file=$2; shift;;
- --trs-file) trs_file=$2; shift;;
- --color-tests) color_tests=$2; shift;;
- --expect-failure) expect_failure=$2; shift;;
- --enable-hard-errors) enable_hard_errors=$2; shift;;
- --) shift; break;;
- -*) usage_error "invalid option: '$1'";;
- *) break;;
- esac
- shift
-done
-
-missing_opts=
-test x"$test_name" = x && missing_opts="$missing_opts --test-name"
-test x"$log_file" = x && missing_opts="$missing_opts --log-file"
-test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
-if test x"$missing_opts" != x; then
- usage_error "the following mandatory options are missing:$missing_opts"
-fi
-
-if test $# -eq 0; then
- usage_error "missing argument"
-fi
-
-if test $color_tests = yes; then
- # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
- red='\e[0;31m' # Red.
- grn='\e[0;32m' # Green.
- lgn='\e[1;32m' # Light green.
- blu='\e[1;34m' # Blue.
- mgn='\e[0;35m' # Magenta.
- std='\e[m' # No color.
-else
- red= grn= lgn= blu= mgn= std=
-fi
-
-do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
-trap "st=129; $do_exit" 1
-trap "st=130; $do_exit" 2
-trap "st=141; $do_exit" 13
-trap "st=143; $do_exit" 15
-
-# Test script is run here.
-"$@" >$log_file 2>&1
-estatus=$?
-
-if test $enable_hard_errors = no && test $estatus -eq 99; then
- tweaked_estatus=1
-else
- tweaked_estatus=$estatus
-fi
-
-case $tweaked_estatus:$expect_failure in
- 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
- 0:*) col=$grn res=PASS recheck=no gcopy=no;;
- 77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
- 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
- *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
- *:*) col=$red res=FAIL recheck=yes gcopy=yes;;
-esac
-
-# Report the test outcome and exit status in the logs, so that one can
-# know whether the test passed or failed simply by looking at the '.log'
-# file, without the need of also peaking into the corresponding '.trs'
-# file (automake bug#11814).
-echo "$res $test_name (exit status: $estatus)" >>$log_file
-
-# Report outcome to console.
-echo "${col}${res}${std}: $test_name"
-
-# Register the test result, and other relevant metadata.
-echo ":test-result: $res" > $trs_file
-echo ":global-test-result: $res" >> $trs_file
-echo ":recheck: $recheck" >> $trs_file
-echo ":copy-in-global-log: $gcopy" >> $trs_file
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
-# time-stamp-end: "; # UTC"
-# End:
EXTRA_DIST = \
$(autotoolsdata_DATA) \
- gtk-doc.m4
+ gtk-doc.m4 \
+ meson.build
CLEANFILES = gtk-doc.flat.make gtk-doc.no-xslt-flat.make
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = buildsystems/autotools
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_CLEAN_FILES = gtkdocize
-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)$(bindir)" "$(DESTDIR)$(aclocaldir)" \
- "$(DESTDIR)$(autotoolsdatadir)"
-SCRIPTS = $(bin_SCRIPTS)
-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
-DATA = $(aclocal_DATA) $(autotoolsdata_DATA)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/gtkdocize.in
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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 = \
- $(autotoolsdata_DATA) \
- gtk-doc.m4
-
-CLEANFILES = gtk-doc.flat.make gtk-doc.no-xslt-flat.make
-bin_SCRIPTS = gtkdocize
-autotoolsdatadir = $(datadir)/gtk-doc/data
-autotoolsdata_DATA = \
- gtk-doc.make \
- gtk-doc.flat.make \
- gtk-doc.no-xslt.make \
- gtk-doc.no-xslt-flat.make
-
-aclocaldir = $(datadir)/aclocal
-aclocal_DATA = gtk-doc.m4
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu buildsystems/autotools/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu buildsystems/autotools/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-gtkdocize: $(top_builddir)/config.status $(srcdir)/gtkdocize.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-install-binSCRIPTS: $(bin_SCRIPTS)
- @$(NORMAL_INSTALL)
- @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n' \
- -e 'h;s|.*|.|' \
- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) { files[d] = files[d] " " $$1; \
- if (++n[d] == $(am__install_max)) { \
- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
- else { print "f", d "/" $$4, $$1 } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binSCRIPTS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 's,.*/,,;$(transform)'`; \
- dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
-
-installcheck-binSCRIPTS: $(bin_SCRIPTS)
- bad=0; pid=$$$$; list="$(bin_SCRIPTS)"; for p in $$list; do \
- case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \
- *" $$p "* | *" $(srcdir)/$$p "*) continue;; \
- esac; \
- f=`echo "$$p" | sed 's,^.*/,,;$(transform)'`; \
- for opt in --help --version; do \
- if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \
- 2>c$${pid}_.err </dev/null \
- && test -n "`cat c$${pid}_.out`" \
- && test -z "`cat c$${pid}_.err`"; then :; \
- else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
- done; \
- done; rm -f c$${pid}_.???; exit $$bad
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-aclocalDATA: $(aclocal_DATA)
- @$(NORMAL_INSTALL)
- @list='$(aclocal_DATA)'; test -n "$(aclocaldir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(aclocaldir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(aclocaldir)" || 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)$(aclocaldir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(aclocaldir)" || exit $$?; \
- done
-
-uninstall-aclocalDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(aclocal_DATA)'; test -n "$(aclocaldir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(aclocaldir)'; $(am__uninstall_files_from_dir)
-install-autotoolsdataDATA: $(autotoolsdata_DATA)
- @$(NORMAL_INSTALL)
- @list='$(autotoolsdata_DATA)'; test -n "$(autotoolsdatadir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(autotoolsdatadir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(autotoolsdatadir)" || 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)$(autotoolsdatadir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(autotoolsdatadir)" || exit $$?; \
- done
-
-uninstall-autotoolsdataDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(autotoolsdata_DATA)'; test -n "$(autotoolsdatadir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(autotoolsdatadir)'; $(am__uninstall_files_from_dir)
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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 $(SCRIPTS) $(DATA)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(aclocaldir)" "$(DESTDIR)$(autotoolsdatadir)"; 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:
- -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-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-aclocalDATA install-autotoolsdataDATA
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binSCRIPTS
-
-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: installcheck-binSCRIPTS
-
-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-aclocalDATA uninstall-autotoolsdataDATA \
- uninstall-binSCRIPTS
-
-.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-aclocalDATA install-am \
- install-autotoolsdataDATA install-binSCRIPTS 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 installcheck-binSCRIPTS installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-aclocalDATA uninstall-am \
- uninstall-autotoolsdataDATA uninstall-binSCRIPTS
-
-.PRECIOUS: Makefile
-
-
-gtk-doc.flat.make: gtk-doc.make
- @$(SED) -e "s/EXTRA_DIST =/EXTRA_DIST +=/" $< >$@
-
-gtk-doc.no-xslt-flat.make: gtk-doc.no-xslt.make
- @$(SED) -e "s/EXTRA_DIST =/EXTRA_DIST +=/" $< >$@
-
--include $(top_srcdir)/git.mk
-
-# 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
-# -*- mode: makefile -*-
-#
-# gtk-doc.make - make rules for gtk-doc
-# Copyright (C) 2003 James Henstridge
-# 2004-2007 Damon Chaplin
-# 2007-2017 Stefan Sauer
-#
-# 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/>.
-
-####################################
-# Everything below here is generic #
-####################################
-
-if GTK_DOC_USE_LIBTOOL
-GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-GTKDOC_RUN = $(LIBTOOL) --mode=execute
-else
-GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-GTKDOC_RUN =
-endif
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-
-SETUP_FILES = \
- $(content_files) \
- $(expand_content_files) \
- $(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-sections.txt \
- $(DOC_MODULE)-overrides.txt
-
-EXTRA_DIST += \
- $(HTML_IMAGES) \
- $(SETUP_FILES)
-
-DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
- html-build.stamp pdf-build.stamp \
- sgml.stamp html.stamp pdf.stamp
-
-SCANOBJ_FILES = \
- $(DOC_MODULE).args \
- $(DOC_MODULE).hierarchy \
- $(DOC_MODULE).interfaces \
- $(DOC_MODULE).prerequisites \
- $(DOC_MODULE).signals
-
-REPORT_FILES = \
- $(DOC_MODULE)-undocumented.txt \
- $(DOC_MODULE)-undeclared.txt \
- $(DOC_MODULE)-unused.txt
-
-gtkdoc-check.test: Makefile
- $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
- echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
- chmod +x $@
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
-
-if GTK_DOC_BUILD_HTML
-HTML_BUILD_STAMP=html-build.stamp
-else
-HTML_BUILD_STAMP=
-endif
-if GTK_DOC_BUILD_PDF
-PDF_BUILD_STAMP=pdf-build.stamp
-else
-PDF_BUILD_STAMP=
-endif
-
-all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-.PHONY: all-gtk-doc
-
-if ENABLE_GTK_DOC
-all-local: all-gtk-doc
-endif
-
-docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-
-$(REPORT_FILES): sgml-build.stamp
-
-#### setup ####
-
-GTK_DOC_V_SETUP=$(GTK_DOC_V_SETUP_@AM_V@)
-GTK_DOC_V_SETUP_=$(GTK_DOC_V_SETUP_@AM_DEFAULT_V@)
-GTK_DOC_V_SETUP_0=@echo " DOC Preparing build";
-
-setup-build.stamp:
- -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- destdir=`dirname $(abs_builddir)/$$file`; \
- test -d "$$destdir" || mkdir -p "$$destdir"; \
- test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
- done; \
- fi; \
- fi
- $(AM_V_at)touch setup-build.stamp
-
-#### scan ####
-
-GTK_DOC_V_SCAN=$(GTK_DOC_V_SCAN_@AM_V@)
-GTK_DOC_V_SCAN_=$(GTK_DOC_V_SCAN_@AM_DEFAULT_V@)
-GTK_DOC_V_SCAN_0=@echo " DOC Scanning header files";
-
-GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_@AM_V@)
-GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_@AM_DEFAULT_V@)
-GTK_DOC_V_INTROSPECT_0=@echo " DOC Introspecting gobjects";
-
-scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
- $(GTK_DOC_V_SCAN)_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
- $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- scanobj_options=""; \
- gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$$?" = "0"; then \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
- fi; \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
- else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
- fi
- $(AM_V_at)touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
- @true
-
-#### xml ####
-
-GTK_DOC_V_XML=$(GTK_DOC_V_XML_@AM_V@)
-GTK_DOC_V_XML_=$(GTK_DOC_V_XML_@AM_DEFAULT_V@)
-GTK_DOC_V_XML_0=@echo " DOC Building XML";
-
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
- $(GTK_DOC_V_XML)_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
- $(AM_V_at)touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
- @true
-
-$(DOC_MAIN_SGML_FILE): sgml-build.stamp
- @true
-
-xml/gtkdocentities.ent: Makefile
- $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
- echo "<!ENTITY package \"$(PACKAGE)\">"; \
- echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
- echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
- echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
- echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
- echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
- echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
- ) > $@
-
-#### html ####
-
-GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_@AM_V@)
-GTK_DOC_V_HTML_=$(GTK_DOC_V_HTML_@AM_DEFAULT_V@)
-GTK_DOC_V_HTML_0=@echo " DOC Building HTML";
-
-GTK_DOC_V_XREF=$(GTK_DOC_V_XREF_@AM_V@)
-GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_@AM_DEFAULT_V@)
-GTK_DOC_V_XREF_0=@echo " DOC Fixing cross-references";
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
- $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
- mkhtml_options=""; \
- gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$$?" = "0"; then \
- if test "x$(V)" = "x1"; then \
- mkhtml_options="$$mkhtml_options --verbose"; \
- fi; \
- fi; \
- gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
- if test "$$?" = "0"; then \
- mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
- fi; \
- cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
- -@test "x$(HTML_IMAGES)" = "x" || \
- for file in $(HTML_IMAGES) ; do \
- test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- test -f $$file && cp $$file $(abs_builddir)/html; \
- done;
- $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
- $(AM_V_at)touch html-build.stamp
-
-#### pdf ####
-
-GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_@AM_V@)
-GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_@AM_DEFAULT_V@)
-GTK_DOC_V_PDF_0=@echo " DOC Building PDF";
-
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
- $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
- mkpdf_options=""; \
- gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$$?" = "0"; then \
- if test "x$(V)" = "x1"; then \
- mkpdf_options="$$mkpdf_options --verbose"; \
- fi; \
- fi; \
- if test "x$(HTML_IMAGES)" != "x"; then \
- for img in $(HTML_IMAGES); do \
- part=`dirname $$img`; \
- echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
- if test $$? != 0; then \
- mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
- fi; \
- done; \
- fi; \
- gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
- $(AM_V_at)touch pdf-build.stamp
-
-##############
-
-clean-local:
- @rm -f *~ *.bak
- @rm -rf .libs
- @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
- rm -f $(DOC_MODULE).types; \
- fi
- @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
- rm -f $(DOC_MODULE)-sections.txt; \
- fi
-
-distclean-local:
- @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
- fi
-
-maintainer-clean-local:
- @rm -rf xml html
-
-install-data-local:
- @installfiles=`echo $(builddir)/html/*`; \
- if test "$$installfiles" = '$(builddir)/html/*'; \
- then echo 1>&2 'Nothing to install' ; \
- else \
- if test -n "$(DOC_MODULE_VERSION)"; then \
- installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
- else \
- installdir="$(DESTDIR)$(TARGET_DIR)"; \
- fi; \
- $(mkinstalldirs) $${installdir} ; \
- for i in $$installfiles; do \
- echo ' $(INSTALL_DATA) '$$i ; \
- $(INSTALL_DATA) $$i $${installdir}; \
- done; \
- if test -n "$(DOC_MODULE_VERSION)"; then \
- mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
- $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
- fi; \
- $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
- fi
-
-uninstall-local:
- @if test -n "$(DOC_MODULE_VERSION)"; then \
- installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
- else \
- installdir="$(DESTDIR)$(TARGET_DIR)"; \
- fi; \
- rm -rf $${installdir}
-
-#
-# Require gtk-doc when making dist
-#
-if HAVE_GTK_DOC
-dist-check-gtkdoc: docs
-else
-dist-check-gtkdoc:
- @echo "*** gtk-doc is needed to run 'make dist'. ***"
- @echo "*** gtk-doc was not found when 'configure' ran. ***"
- @echo "*** please install gtk-doc and rerun 'configure'. ***"
- @false
-endif
-
-dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
- @mkdir $(distdir)/html
- @cp ./html/* $(distdir)/html
- @-cp ./$(DOC_MODULE).pdf $(distdir)/
- @-cp ./$(DOC_MODULE).types $(distdir)/
- @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
- @cd $(distdir) && rm -f $(DISTCLEANFILES)
- @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
-
-.PHONY : dist-hook-local docs
+++ /dev/null
-# -*- mode: makefile -*-
-#
-# gtk-doc.make - make rules for gtk-doc
-# Copyright (C) 2003 James Henstridge
-# 2004-2007 Damon Chaplin
-# 2007-2017 Stefan Sauer
-#
-# 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/>.
-
-####################################
-# Everything below here is generic #
-####################################
-
-if GTK_DOC_USE_LIBTOOL
-GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-GTKDOC_RUN = $(LIBTOOL) --mode=execute
-else
-GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-GTKDOC_RUN =
-endif
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-
-SETUP_FILES = \
- $(content_files) \
- $(expand_content_files) \
- $(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-sections.txt \
- $(DOC_MODULE)-overrides.txt
-
-EXTRA_DIST += \
- $(HTML_IMAGES) \
- $(SETUP_FILES)
-
-DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
- html-build.stamp pdf-build.stamp \
- sgml.stamp html.stamp pdf.stamp
-
-SCANOBJ_FILES = \
- $(DOC_MODULE).args \
- $(DOC_MODULE).hierarchy \
- $(DOC_MODULE).interfaces \
- $(DOC_MODULE).prerequisites \
- $(DOC_MODULE).signals
-
-REPORT_FILES = \
- $(DOC_MODULE)-undocumented.txt \
- $(DOC_MODULE)-undeclared.txt \
- $(DOC_MODULE)-unused.txt
-
-gtkdoc-check.test: Makefile
- $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
- echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
- chmod +x $@
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
-
-if GTK_DOC_BUILD_HTML
-HTML_BUILD_STAMP=html-build.stamp
-else
-HTML_BUILD_STAMP=
-endif
-if GTK_DOC_BUILD_PDF
-PDF_BUILD_STAMP=pdf-build.stamp
-else
-PDF_BUILD_STAMP=
-endif
-
-all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-.PHONY: all-gtk-doc
-
-if ENABLE_GTK_DOC
-all-local: all-gtk-doc
-endif
-
-docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-
-$(REPORT_FILES): sgml-build.stamp
-
-#### setup ####
-
-GTK_DOC_V_SETUP=$(GTK_DOC_V_SETUP_@AM_V@)
-GTK_DOC_V_SETUP_=$(GTK_DOC_V_SETUP_@AM_DEFAULT_V@)
-GTK_DOC_V_SETUP_0=@echo " DOC Preparing build";
-
-setup-build.stamp:
- -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- destdir=`dirname $(abs_builddir)/$$file`; \
- test -d "$$destdir" || mkdir -p "$$destdir"; \
- test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
- done; \
- fi; \
- fi
- $(AM_V_at)touch setup-build.stamp
-
-#### scan ####
-
-GTK_DOC_V_SCAN=$(GTK_DOC_V_SCAN_@AM_V@)
-GTK_DOC_V_SCAN_=$(GTK_DOC_V_SCAN_@AM_DEFAULT_V@)
-GTK_DOC_V_SCAN_0=@echo " DOC Scanning header files";
-
-GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_@AM_V@)
-GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_@AM_DEFAULT_V@)
-GTK_DOC_V_INTROSPECT_0=@echo " DOC Introspecting gobjects";
-
-scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
- $(GTK_DOC_V_SCAN)_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
- $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- scanobj_options=""; \
- gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$$?" = "0"; then \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
- fi; \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
- else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
- fi
- $(AM_V_at)touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
- @true
-
-#### xml ####
-
-GTK_DOC_V_XML=$(GTK_DOC_V_XML_@AM_V@)
-GTK_DOC_V_XML_=$(GTK_DOC_V_XML_@AM_DEFAULT_V@)
-GTK_DOC_V_XML_0=@echo " DOC Building XML";
-
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
- $(GTK_DOC_V_XML)_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
- $(AM_V_at)touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
- @true
-
-$(DOC_MAIN_SGML_FILE): sgml-build.stamp
- @true
-
-xml/gtkdocentities.ent: Makefile
- $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
- echo "<!ENTITY package \"$(PACKAGE)\">"; \
- echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
- echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
- echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
- echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
- echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
- echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
- ) > $@
-
-#### html ####
-
-GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_@AM_V@)
-GTK_DOC_V_HTML_=$(GTK_DOC_V_HTML_@AM_DEFAULT_V@)
-GTK_DOC_V_HTML_0=@echo " DOC Building HTML";
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
- $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
- mkhtml_options="--path=\"$(abs_srcdir)\""; \
- if test "x$(V)" = "x1"; then \
- mkhtml_options="$$mkhtml_options --verbose"; \
- fi; \
- cd html && gtkdoc-mkhtml2 $$mkhtml_options $(MKHTML_OPTIONS) $(FIXXREF_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
- -@test "x$(HTML_IMAGES)" = "x" || \
- for file in $(HTML_IMAGES) ; do \
- test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- test -f $$file && cp $$file $(abs_builddir)/html; \
- done;
- $(AM_V_at)touch html-build.stamp
-
-#### pdf ####
-
-GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_@AM_V@)
-GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_@AM_DEFAULT_V@)
-GTK_DOC_V_PDF_0=@echo " DOC Building PDF";
-
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
- $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
- mkpdf_options=""; \
- gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$$?" = "0"; then \
- if test "x$(V)" = "x1"; then \
- mkpdf_options="$$mkpdf_options --verbose"; \
- fi; \
- fi; \
- if test "x$(HTML_IMAGES)" != "x"; then \
- for img in $(HTML_IMAGES); do \
- part=`dirname $$img`; \
- echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
- if test $$? != 0; then \
- mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
- fi; \
- done; \
- fi; \
- gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
- $(AM_V_at)touch pdf-build.stamp
-
-##############
-
-clean-local:
- @rm -f *~ *.bak
- @rm -rf .libs
- @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
- rm -f $(DOC_MODULE).types; \
- fi
- @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
- rm -f $(DOC_MODULE)-sections.txt; \
- fi
-
-distclean-local:
- @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
- fi
-
-maintainer-clean-local:
- @rm -rf xml html
-
-install-data-local:
- @installfiles=`echo $(builddir)/html/*`; \
- if test "$$installfiles" = '$(builddir)/html/*'; \
- then echo 1>&2 'Nothing to install' ; \
- else \
- if test -n "$(DOC_MODULE_VERSION)"; then \
- installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
- else \
- installdir="$(DESTDIR)$(TARGET_DIR)"; \
- fi; \
- $(mkinstalldirs) $${installdir} ; \
- for i in $$installfiles; do \
- echo ' $(INSTALL_DATA) '$$i ; \
- $(INSTALL_DATA) $$i $${installdir}; \
- done; \
- if test -n "$(DOC_MODULE_VERSION)"; then \
- mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
- $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
- fi; \
- $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
- fi
-
-uninstall-local:
- @if test -n "$(DOC_MODULE_VERSION)"; then \
- installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
- else \
- installdir="$(DESTDIR)$(TARGET_DIR)"; \
- fi; \
- rm -rf $${installdir}
-
-#
-# Require gtk-doc when making dist
-#
-if HAVE_GTK_DOC
-dist-check-gtkdoc: docs
-else
-dist-check-gtkdoc:
- @echo "*** gtk-doc is needed to run 'make dist'. ***"
- @echo "*** gtk-doc was not found when 'configure' ran. ***"
- @echo "*** please install gtk-doc and rerun 'configure'. ***"
- @false
-endif
-
-dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
- @mkdir $(distdir)/html
- @cp ./html/* $(distdir)/html
- @-cp ./$(DOC_MODULE).pdf $(distdir)/
- @-cp ./$(DOC_MODULE).types $(distdir)/
- @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
- @cd $(distdir) && rm -f $(DISTCLEANFILES)
- @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
-
-.PHONY : dist-hook-local docs
--- /dev/null
+configure_file(
+ input: 'gtkdocize.in',
+ output: 'gtkdocize',
+ configuration: binary_in,
+ install: true,
+ install_dir: bindir,
+)
+
+foreach mode : ['', 'no-xslt']
+ if mode == ''
+ nested = ''
+ flat = '.flat'
+ else
+ nested = '.' + mode
+ flat = nested + '-flat'
+ endif
+
+ custom_target(
+ 'gtk-doc' + flat + '.make',
+ input: 'gtk-doc' + nested + '.make',
+ output: 'gtk-doc' + flat + '.make',
+ install: true,
+ install_dir: pkgdatadir,
+ capture: true,
+ command: [
+ 'sed',
+ '-e',
+ 's/EXTRA_DIST =/EXTRA_DIST +=/',
+ '@INPUT@',
+ ]
+ )
+
+ install_data(
+ ['gtk-doc' + nested + '.make'],
+ install_dir: pkgdatadir,
+ )
+endforeach
+
+custom_target(
+ 'gtk-doc.m4',
+ input: 'gtk-doc.m4',
+ output: 'gtk-doc.m4',
+ install: true,
+ install_dir: autoconfdatadir,
+ command: [
+ 'cp',
+ '-f',
+ '@INPUT@',
+ '@OUTPUT@',
+ ],
+)
EXTRA_DIST = \
GtkDocConfig.cmake \
GtkDocConfigVersion.cmake.in \
- GtkDocScanGObjWrapper.cmake
+ GtkDocScanGObjWrapper.cmake \
+ meson.build
CLEANFILES = \
GtkDocConfigVersion.cmake
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = buildsystems/cmake
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_CLEAN_FILES = GtkDocConfigVersion.cmake
-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__installdirs = "$(DESTDIR)$(cmakedir)"
-DATA = $(cmake_DATA)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/GtkDocConfigVersion.cmake.in \
- $(srcdir)/Makefile.in
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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 = \
- GtkDocConfig.cmake \
- GtkDocConfigVersion.cmake.in \
- GtkDocScanGObjWrapper.cmake
-
-CLEANFILES = \
- GtkDocConfigVersion.cmake
-
-cmakedir = $(datadir)/cmake/GtkDoc
-cmake_DATA = \
- GtkDocConfig.cmake \
- GtkDocConfigVersion.cmake \
- GtkDocScanGObjWrapper.cmake
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu buildsystems/cmake/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu buildsystems/cmake/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-GtkDocConfigVersion.cmake: $(top_builddir)/config.status $(srcdir)/GtkDocConfigVersion.cmake.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-cmakeDATA: $(cmake_DATA)
- @$(NORMAL_INSTALL)
- @list='$(cmake_DATA)'; test -n "$(cmakedir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(cmakedir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(cmakedir)" || 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)$(cmakedir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(cmakedir)" || exit $$?; \
- done
-
-uninstall-cmakeDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(cmake_DATA)'; test -n "$(cmakedir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(cmakedir)'; $(am__uninstall_files_from_dir)
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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 $(DATA)
-installdirs:
- for dir in "$(DESTDIR)$(cmakedir)"; 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:
- -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-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-cmakeDATA
-
-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-cmakeDATA
-
-.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-cmakeDATA 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 uninstall-cmakeDATA
-
-.PRECIOUS: Makefile
-
-
--include $(top_srcdir)/git.mk
-
-# 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
+cmake_in = configuration_data()
+cmake_in.set('PACKAGE_VERSION', version)
+
+configure_file(
+ input: 'GtkDocConfigVersion.cmake.in',
+ output: 'GtkDocConfigVersion.cmake',
+ configuration: cmake_in,
+ install: true,
+ install_dir: join_paths(
+ cmakedatadir,
+ 'GtkDoc',
+ )
+)
+
+gtkdoc_cmake_data = [
+ 'GtkDocConfig.cmake',
+ 'GtkDocScanGObjWrapper.cmake',
+]
+
+install_data(
+ gtkdoc_cmake_data,
+ install_dir: join_paths(
+ cmakedatadir,
+ 'GtkDoc',
+ )
+)
+++ /dev/null
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gtk-doc 1.32.
-#
-# Report bugs to <https://gitlab.gnome.org/GNOME/gtk-doc/issues>.
-#
-#
-# 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: https://gitlab.gnome.org/GNOME/gtk-doc/issues about
-$0: your system, including any error possibly output before
-$0: this message. Then install a modern shell, or manually
-$0: run the script under such a shell if you do 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='gtk-doc'
-PACKAGE_TARNAME='gtk-doc'
-PACKAGE_VERSION='1.32'
-PACKAGE_STRING='gtk-doc 1.32'
-PACKAGE_BUGREPORT='https://gitlab.gnome.org/GNOME/gtk-doc/issues'
-PACKAGE_URL=''
-
-ac_unique_file="gtk-doc.pc.in"
-# 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
-HAVE_YELP_TOOLS_FALSE
-HAVE_YELP_TOOLS_TRUE
-YELP_HELP_RULES
-XMLLINT
-ITSTOOL
-HELP_DIR
-YELP_LC_DIST
-YELP_LC_MEDIA_LINKS
-DATE_FMT_CMD
-ELAPSED_FMT
-TS_FMT
-glib_prefix
-BUILD_TESTS_FALSE
-BUILD_TESTS_TRUE
-GTK_DOC_USE_LIBTOOL_FALSE
-GTK_DOC_USE_LIBTOOL_TRUE
-TEST_DEPS_LIBS
-TEST_DEPS_CFLAGS
-PYTHON_PACKAGE_DIR
-PACKAGE_DATA_DIR
-XMLCATALOG
-XML_CATALOG_FILE
-FOP
-DBLATEX
-XSLTPROC
-pkgpyexecdir
-pyexecdir
-pkgpythondir
-pythondir
-PYTHON_PLATFORM
-PYTHON_EXEC_PREFIX
-PYTHON_PREFIX
-PYTHON_VERSION
-PYTHON
-PKG_CONFIG_LIBDIR
-PKG_CONFIG_PATH
-PKG_CONFIG
-CPP
-LT_SYS_LIBRARY_PATH
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-LIBTOOL
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
-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
-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
-am__quote'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_silent_rules
-enable_maintainer_mode
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_aix_soname
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-with_xml_catalog
-enable_debug
-with_help_dir
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-LT_SYS_LIBRARY_PATH
-CPP
-PKG_CONFIG
-PKG_CONFIG_PATH
-PKG_CONFIG_LIBDIR
-PYTHON
-TEST_DEPS_CFLAGS
-TEST_DEPS_LIBS
-ITSTOOL
-XMLLINT'
-
-
-# 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 gtk-doc 1.32 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/gtk-doc]
- --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 gtk-doc 1.32:";;
- 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")
- --disable-maintainer-mode
- disable make rules and dependencies not useful (and
- sometimes confusing) to the casual installer
- --enable-dependency-tracking
- do not reject slow dependency extractors
- --disable-dependency-tracking
- speeds up one-time build
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-debug enable runtime debugging code (default=no)
-
-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-xml-catalog=CATALOG
- path to xml catalog to use
- --with-help-dir=DIR path where help files are installed
-
-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
- 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
- PYTHON the Python interpreter
- TEST_DEPS_CFLAGS
- C compiler flags for TEST_DEPS, overriding pkg-config
- TEST_DEPS_LIBS
- linker flags for TEST_DEPS, overriding pkg-config
- ITSTOOL Path to the `itstool` command
- XMLLINT Path to the `xmllint` command
-
-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 <https://gitlab.gnome.org/GNOME/gtk-doc/issues>.
-_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
-gtk-doc configure 1.32
-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 gtk-doc $as_me 1.32, 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
-
-
-
-
-
-ac_aux_dir=
-for ac_dir in build-aux "$srcdir"/build-aux; 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 build-aux \"$srcdir\"/build-aux" "$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.
-
-
-
-am__api_version='1.16'
-
-# 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
-
-# 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=1;;
-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='\'
-
-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='gtk-doc'
- VERSION='1.32'
-
-
-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:
-# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <https://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 plaintar pax cpio none'
-
-# 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`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5
-$as_echo_n "checking whether UID '$am_uid' is supported by ustar format... " >&6; }
- if test $am_uid -le $am_max_uid; 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; }
- _am_tools=none
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5
-$as_echo_n "checking whether GID '$am_gid' is supported by ustar format... " >&6; }
- if test $am_gid -le $am_max_gid; 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; }
- _am_tools=none
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
-$as_echo_n "checking how to create a ustar tar archive... " >&6; }
-
- # 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_ustar-$_am_tools}
-
- for _am_tool in $_am_tools; do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar; do
- { echo "$as_me:$LINENO: $_am_tar --version" >&5
- ($_am_tar --version) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && break
- done
- am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=ustar -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 ustar -w "$$tardir"'
- am__tar_='pax -L -x ustar -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
- am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
- am__untar='cpio -i -H ustar -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_ustar}" && break
-
- # tar/untar a dummy directory, and stop if the command works.
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
- (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- rm -rf conftest.dir
- if test -s conftest.tar; then
- { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
- ($am__untar <conftest.tar) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- { echo "$as_me:$LINENO: cat conftest.dir/file" >&5
- (cat conftest.dir/file) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
- done
- rm -rf conftest.dir
-
- if ${am_cv_prog_tar_ustar+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- am_cv_prog_tar_ustar=$_am_tool
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
-$as_echo "$am_cv_prog_tar_ustar" >&6; }
-
-
-
-
-
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes. So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
- cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present. This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell bug-automake@gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message. This
-can help us improve future automake versions.
-
-END
- if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
- echo 'Configuration will proceed anyway, since you have set the' >&2
- echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
- echo >&2
- else
- cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <https://www.gnu.org/software/coreutils/>.
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
- as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
- fi
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=yes
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-# Support silent build rules, requires at least automake-1.11. Disable
-# by either passing --disable-silent-rules to configure or passing V=1
-# to make
-# 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='\'
-
-
-# Check for programs
-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
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
-$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
-cat > confinc.mk << 'END'
-am__doit:
- @echo this is the am__doit target >confinc.out
-.PHONY: am__doit
-END
-am__include="#"
-am__quote=
-# BSD make does it like this.
-echo '.include "confinc.mk" # ignored' > confmf.BSD
-# Other make implementations (GNU, Solaris 10, AIX) do it like this.
-echo 'include confinc.mk # ignored' > confmf.GNU
-_am_result=no
-for s in GNU BSD; do
- { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
- (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- case $?:`cat confinc.out 2>/dev/null` in #(
- '0:this is the am__doit target') :
- case $s in #(
- BSD) :
- am__include='.include' am__quote='"' ;; #(
- *) :
- am__include='include' am__quote='' ;;
-esac ;; #(
- *) :
- ;;
-esac
- if test "$am__include" != "#"; then
- _am_result="yes ($s style)"
- break
- fi
-done
-rm -f confinc.* confmf.*
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
-$as_echo "${_am_result}" >&6; }
-
-# 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
-
-
-
-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
-
-
-
-# Initialize libtool
-
-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
-
-# 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
-
-
-# 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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $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
- $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5
- if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && 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=no
-
-
- enable_win32_dll=no
-
-
- # 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 --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=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:
-
-
-
-
-
-
-
-
-
-
-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.19
- { $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
-
-
-
-
-
-
-
- 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 is >= 3.2" >&5
-$as_echo_n "checking whether $PYTHON version is >= 3.2... " >&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.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)"
- 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_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- as_fn_error $? "Python interpreter is 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 >= 3.2" >&5
-$as_echo_n "checking for a Python interpreter with version >= 3.2... " >&6; }
-if ${am_cv_pathless_PYTHON+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- for am_cv_pathless_PYTHON in python python2 python3 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 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, '3.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)"
- 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
-
-
- # 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
-
-
-
-# Extract the first word of "xsltproc", so it can be a program name with args.
-set dummy xsltproc; 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_XSLTPROC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $XSLTPROC in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_XSLTPROC="$XSLTPROC" # 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_XSLTPROC="$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
-XSLTPROC=$ac_cv_path_XSLTPROC
-if test -n "$XSLTPROC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XSLTPROC" >&5
-$as_echo "$XSLTPROC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test -z "$XSLTPROC"; then
- as_fn_error $? "xsltproc not found" "$LINENO" 5
-fi
-
-# Extract the first word of "dblatex", so it can be a program name with args.
-set dummy dblatex; 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_DBLATEX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $DBLATEX in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_DBLATEX="$DBLATEX" # 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_DBLATEX="$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
-DBLATEX=$ac_cv_path_DBLATEX
-if test -n "$DBLATEX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DBLATEX" >&5
-$as_echo "$DBLATEX" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test -z "$DBLATEX"; then
- # Extract the first word of "fop", so it can be a program name with args.
-set dummy fop; 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_FOP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $FOP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_FOP="$FOP" # 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_FOP="$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
-FOP=$ac_cv_path_FOP
-if test -n "$FOP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FOP" >&5
-$as_echo "$FOP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test -z "$FOP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: neither dblatex nor fop found, so no pdf output from xml" >&5
-$as_echo "$as_me: WARNING: neither dblatex nor fop found, so no pdf output from xml" >&2;}
- fi
-fi
-
-
-
-# Check whether --with-xml-catalog was given.
-if test "${with_xml_catalog+set}" = set; then :
- withval=$with_xml_catalog;
-else
- with_xml_catalog=''
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML catalog" >&5
-$as_echo_n "checking for XML catalog... " >&6; }
- if test -n "$with_xml_catalog"; then
- if test -f "$with_xml_catalog"; then
- jh_found_xmlcatalog=true
- else
- jh_found_xmlcatalog=false
- fi
- else
- if test -z "$XDG_DATA_DIRS"; then
- jh_xml_catalog_searchdirs="/etc:/usr/local/share:/usr/share"
- else
- jh_xml_catalog_searchdirs="/etc:$XDG_DATA_DIRS"
- fi
- jh_found_xmlcatalog=false
- jh_xml_catalog_saved_ifs="$IFS"
- IFS=':'
- for d in $jh_xml_catalog_searchdirs; do
- if test -f "$d/xml/catalog"; then
- with_xml_catalog="$d/xml/catalog"
- jh_found_xmlcatalog=true
- break
- fi
- done
- IFS="$jh_xml_catalog_saved_ifs"
- fi
- if $jh_found_xmlcatalog; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_xml_catalog" >&5
-$as_echo "$with_xml_catalog" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
- fi
- XML_CATALOG_FILE="$with_xml_catalog"
-
-
- # Extract the first word of "xmlcatalog", so it can be a program name with args.
-set dummy xmlcatalog; 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_XMLCATALOG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $XMLCATALOG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_XMLCATALOG="$XMLCATALOG" # 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_XMLCATALOG="$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
-
- test -z "$ac_cv_path_XMLCATALOG" && ac_cv_path_XMLCATALOG="no"
- ;;
-esac
-fi
-XMLCATALOG=$ac_cv_path_XMLCATALOG
-if test -n "$XMLCATALOG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLCATALOG" >&5
-$as_echo "$XMLCATALOG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$XMLCATALOG" = xno; then
- jh_found_xmlcatalog=false
- fi
-
- if $jh_found_xmlcatalog; then
- :
- else
- :
- fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DocBook XML DTD V4.3 in XML catalog" >&5
-$as_echo_n "checking for DocBook XML DTD V4.3 in XML catalog... " >&6; }
- if $jh_found_xmlcatalog && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$XMLCATALOG --noout \"\$XML_CATALOG_FILE\" \"-//OASIS//DTD DocBook XML V4.3//EN\" >&2"; } >&5
- ($XMLCATALOG --noout "$XML_CATALOG_FILE" "-//OASIS//DTD DocBook XML V4.3//EN" >&2) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; 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 $? "could not find DocBook XML DTD V4.3 in XML catalog" "$LINENO" 5
- fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DocBook XSL Stylesheets in XML catalog" >&5
-$as_echo_n "checking for DocBook XSL Stylesheets in XML catalog... " >&6; }
- if $jh_found_xmlcatalog && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$XMLCATALOG --noout \"\$XML_CATALOG_FILE\" \"http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl\" >&2"; } >&5
- ($XMLCATALOG --noout "$XML_CATALOG_FILE" "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" >&2) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; 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 $? "could not find DocBook XSL Stylesheets in XML catalog" "$LINENO" 5
- fi
-
-
-
-PACKAGE_DATA_DIR="${datadir}/${PACKAGE}/data"
-
- prefix_NONE=
- exec_prefix_NONE=
- test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
- test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
- eval ac_define_dir="\"$PACKAGE_DATA_DIR\""
- eval ac_define_dir="\"$ac_define_dir\""
- PACKAGE_DATA_DIR="$ac_define_dir"
-
- test "$prefix_NONE" && prefix=NONE
- test "$exec_prefix_NONE" && exec_prefix=NONE
-
-PYTHON_PACKAGE_DIR="${datadir}/${PACKAGE}/python"
-
- prefix_NONE=
- exec_prefix_NONE=
- test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
- test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
- eval ac_define_dir="\"$PYTHON_PACKAGE_DIR\""
- eval ac_define_dir="\"$ac_define_dir\""
- PYTHON_PACKAGE_DIR="$ac_define_dir"
-
- test "$prefix_NONE" && prefix=NONE
- test "$exec_prefix_NONE" && exec_prefix=NONE
-
-
-if test "x$GCC" = "xyes"; then
- if test -z "`echo "$CFLAGS" | grep "\-Wall" 2> /dev/null`" ; then
- CFLAGS="$CFLAGS -Wall"
- fi
-fi
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for TEST_DEPS" >&5
-$as_echo_n "checking for TEST_DEPS... " >&6; }
-
-if test -n "$TEST_DEPS_CFLAGS"; then
- pkg_cv_TEST_DEPS_CFLAGS="$TEST_DEPS_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.6.0 gobject-2.0 >= 2.6.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_TEST_DEPS_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
-fi
-if test -n "$TEST_DEPS_LIBS"; then
- pkg_cv_TEST_DEPS_LIBS="$TEST_DEPS_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.6.0 gobject-2.0 >= 2.6.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_TEST_DEPS_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.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
- TEST_DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0" 2>&1`
- else
- TEST_DEPS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$TEST_DEPS_PKG_ERRORS" >&5
-
- gtk_doc_use_libtool="no"
- build_tests="no"
-
-
-elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- gtk_doc_use_libtool="no"
- build_tests="no"
-
-
-else
- TEST_DEPS_CFLAGS=$pkg_cv_TEST_DEPS_CFLAGS
- TEST_DEPS_LIBS=$pkg_cv_TEST_DEPS_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- glib_prefix="`$PKG_CONFIG --variable=prefix glib-2.0`"
- gtk_doc_use_libtool="yes"
- build_tests="yes"
-
-fi
- if test -n "$LIBTOOL" -a x$gtk_doc_use_libtool = xyes ; then
- GTK_DOC_USE_LIBTOOL_TRUE=
- GTK_DOC_USE_LIBTOOL_FALSE='#'
-else
- GTK_DOC_USE_LIBTOOL_TRUE='#'
- GTK_DOC_USE_LIBTOOL_FALSE=
-fi
-
- if test x$build_tests = xyes; then
- BUILD_TESTS_TRUE=
- BUILD_TESTS_FALSE='#'
-else
- BUILD_TESTS_TRUE='#'
- BUILD_TESTS_FALSE=
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable runtime debugging code" >&5
-$as_echo_n "checking whether to enable runtime debugging code... " >&6; }
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug;
-else
- enable_debug="no"
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_debug" >&5
-$as_echo "$enable_debug" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether date can output nanoseconds" >&5
-$as_echo_n "checking whether date can output nanoseconds... " >&6; }
-date +%s.%N | grep -q 'N'
-if test "$?" = "1"; then
- TS_FMT="+%s.%N"
- ELAPSED_FMT="+%H:%M:%S.%N"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- TS_FMT="+%s.0"
- ELAPSED_FMT="+%H:%M:%S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether date can format dates" >&5
-$as_echo_n "checking whether date can format dates... " >&6; }
-date >/dev/null 2>&1 --utc --date @1.1 $ELAPSED_FMT
-if test "$?" = "0"; then
- DATE_FMT_CMD="date --utc $ELAPSED_FMT --date @0"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- DATE_FMT_CMD="echo "
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for yelp-tools" >&5
-$as_echo_n "checking for yelp-tools... " >&6; }
-have_yelp_tools=no
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-
-
-
-
-
-YELP_LC_MEDIA_LINKS=true
-YELP_LC_DIST=true
-
-for yelpopt in ; do
- case $yelpopt in
- lc-media-links) YELP_LC_MEDIA_LINKS=true ;;
- no-lc-media-links) YELP_LC_MEDIA_LINKS= ;;
- lc-dist) YELP_LC_DIST=true ;;
- no-lc-dist) YELP_LC_DIST= ;;
- *) as_fn_error $? "Unrecognized YELP_HELP_INIT option $yelpopt\"" "$LINENO" 5 ;;
- esac
-done;
-
-
-
-
-# Check whether --with-help-dir was given.
-if test "${with_help_dir+set}" = set; then :
- withval=$with_help_dir;
-else
- with_help_dir='${datadir}/help'
-fi
-
-HELP_DIR="$with_help_dir"
-
-
-
-# Extract the first word of "itstool", so it can be a program name with args.
-set dummy itstool; 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_ITSTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ITSTOOL"; then
- ac_cv_prog_ITSTOOL="$ITSTOOL" # 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_ITSTOOL="itstool"
- $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
-ITSTOOL=$ac_cv_prog_ITSTOOL
-if test -n "$ITSTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ITSTOOL" >&5
-$as_echo "$ITSTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test x"$ITSTOOL" = x; then
- as_fn_error $? "itstool not found" "$LINENO" 5
-fi
-
-
-# Extract the first word of "xmllint", so it can be a program name with args.
-set dummy xmllint; 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_XMLLINT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$XMLLINT"; then
- ac_cv_prog_XMLLINT="$XMLLINT" # 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_XMLLINT="xmllint"
- $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
-XMLLINT=$ac_cv_prog_XMLLINT
-if test -n "$XMLLINT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5
-$as_echo "$XMLLINT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test x"$XMLLINT" = x; then
- as_fn_error $? "xmllint not found" "$LINENO" 5
-fi
-
-YELP_HELP_RULES='
-HELP_ID ?=
-HELP_POT ?=
-HELP_FILES ?=
-HELP_EXTRA ?=
-HELP_MEDIA ?=
-HELP_LINGUAS ?=
-
-_HELP_LINGUAS = $(if $(filter environment,$(origin LINGUAS)),$(filter $(LINGUAS),$(HELP_LINGUAS)),$(HELP_LINGUAS))
-_HELP_POTFILE = $(if $(HELP_POT),$(HELP_POT),$(if $(HELP_ID),$(HELP_ID).pot))
-_HELP_POFILES = $(if $(HELP_ID),$(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).po))
-_HELP_MOFILES = $(patsubst %.po,%.mo,$(_HELP_POFILES))
-_HELP_C_FILES = $(foreach f,$(HELP_FILES),C/$(f))
-_HELP_C_EXTRA = $(foreach f,$(HELP_EXTRA),C/$(f))
-_HELP_C_MEDIA = $(foreach f,$(HELP_MEDIA),C/$(f))
-_HELP_LC_FILES = $(foreach lc,$(_HELP_LINGUAS),$(foreach f,$(HELP_FILES),$(lc)/$(f)))
-_HELP_LC_STAMPS = $(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).stamp)
-
-_HELP_DEFAULT_V = $(if $(AM_DEFAULT_VERBOSITY),$(AM_DEFAULT_VERBOSITY),1)
-_HELP_V = $(if $(V),$(V),$(_HELP_DEFAULT_V))
-_HELP_LC_VERBOSE = $(_HELP_LC_VERBOSE_$(_HELP_V))
-_HELP_LC_VERBOSE_ = $(_HELP_LC_VERBOSE_$(_HELP_DEFAULT_V))
-_HELP_LC_VERBOSE_0 = @echo " GEN "$(dir $@);
-
-all: $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(_HELP_LC_FILES) $(_HELP_POFILES)
-
-.PHONY: pot
-pot: $(_HELP_POTFILE)
-$(_HELP_POTFILE): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA)
- $(AM_V_GEN)if test -d "C"; then d=; else d="$(srcdir)/"; fi; \
- $(ITSTOOL) -o "$@" $(foreach f,$(_HELP_C_FILES),"$${d}$(f)")
-
-.PHONY: repo
-repo: $(_HELP_POTFILE)
- $(AM_V_at)for po in $(_HELP_POFILES); do \
- if test "x$(_HELP_V)" = "x0"; then echo " GEN $${po}"; fi; \
- msgmerge -q -o "$${po}" "$${po}" "$(_HELP_POTFILE)"; \
- done
-
-$(_HELP_POFILES):
- $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi
- $(AM_V_at)if test ! -f "$@" -a -f "$(srcdir)/$@"; then cp "$(srcdir)/$@" "$@"; fi
- $(AM_V_GEN)if ! test -f "$@"; then \
- (cd "$(dir $@)" && \
- $(ITSTOOL) -o "$(notdir $@).tmp" $(_HELP_C_FILES) && \
- mv "$(notdir $@).tmp" "$(notdir $@)"); \
- else \
- (cd "$(dir $@)" && \
- $(ITSTOOL) -o "$(notdir $@).tmp" $(_HELP_C_FILES) && \
- msgmerge -o "$(notdir $@)" "$(notdir $@)" "$(notdir $@).tmp" && \
- rm "$(notdir $@).tmp"); \
- fi
-
-$(_HELP_MOFILES): %.mo: %.po
- $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi
- $(AM_V_GEN)msgfmt -o "$@" "$<"
-
-$(_HELP_LC_FILES): $(_HELP_LINGUAS)
-$(_HELP_LINGUAS): $(_HELP_LC_STAMPS)
-$(_HELP_LC_STAMPS): %.stamp: %.mo
-$(_HELP_LC_STAMPS): $(_HELP_C_FILES) $(_HELP_C_EXTRA)
- $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi
- $(_HELP_LC_VERBOSE)if test -d "C"; then d="../"; else d="$(abs_srcdir)/"; fi; \
- mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \
- if test -f "$${mo}"; then mo="../$${mo}"; else mo="$(abs_srcdir)/$${mo}"; fi; \
- (cd "$(dir $@)" && $(ITSTOOL) -m "$${mo}" $(foreach f,$(_HELP_C_FILES),$${d}/$(f))) && \
- touch "$@"
-
-.PHONY: clean-help
-mostlyclean-am: $(if $(HELP_ID),clean-help)
-clean-help:
- rm -f $(_HELP_LC_FILES) $(_HELP_LC_STAMPS) $(_HELP_MOFILES)
-
-EXTRA_DIST ?=
-EXTRA_DIST += $(_HELP_C_EXTRA) $(_HELP_C_MEDIA)
-EXTRA_DIST += $(if $(YELP_LC_DIST),$(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).stamp))
-EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).po)
-EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f))))
-
-distdir: distdir-help-files
-distdir-help-files: $(_HELP_LC_FILES)
- @for lc in C $(if $(YELP_LC_DIST),$(HELP_LINGUAS)) ; do \
- $(MKDIR_P) "$(distdir)/$$lc"; \
- for file in $(HELP_FILES); do \
- if test -f "$$lc/$$file"; then d=./; else d=$(srcdir)/; fi; \
- cp -p "$$d$$lc/$$file" "$(distdir)/$$lc/" || exit 1; \
- done; \
- done; \
-
-.PHONY: check-help
-check: check-help
-check-help:
- for lc in C $(_HELP_LINGUAS); do \
- if test -d "$$lc"; \
- then d=; \
- xmlpath="$$lc"; \
- else \
- d="$(srcdir)/"; \
- xmlpath="$$lc:$(srcdir)/$$lc"; \
- fi; \
- for page in $(HELP_FILES); do \
- echo "$(XMLLINT) --nonet --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \
- $(XMLLINT) --nonet --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \
- done; \
- done
-
-
-.PHONY: install-help
-install-data-am: $(if $(HELP_ID),install-help)
-install-help: $(_HELP_LC_FILES)
- @for lc in C $(_HELP_LINGUAS); do \
- $(mkinstalldirs) "$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)" || exit 1; \
- done
- @for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \
- if test -f "$$lc/$$f"; then d=; else d="$(srcdir)/"; fi; \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \
- echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir`basename $$f`"; \
- $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir`basename $$f`" || exit 1; \
- done; done
- @for f in $(_HELP_C_EXTRA); do \
- lc=`dirname "$$f"`; lc=`basename "$$lc"`; \
- if test -f "$$f"; then d=; else d="$(srcdir)/"; fi; \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \
- echo "$(INSTALL_DATA) $$d$$f $$helpdir`basename $$f`"; \
- $(INSTALL_DATA) "$$d$$f" "$$helpdir`basename $$f`" || exit 1; \
- done
- @for f in $(HELP_MEDIA); do \
- for lc in C $(_HELP_LINGUAS); do \
- if test -f "$$lc$$f"; then d=; else d="$(srcdir)/"; fi; \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- mdir=`dirname "$$f"`; \
- if test "x$mdir" = "x."; then mdir=""; fi; \
- if ! test -d "$$helpdir$$mdir"; then $(mkinstalldirs) "$$helpdir$$mdir"; fi; \
- if test -f "$$d$$lc/$$f"; then \
- echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir$$f"; \
- $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir$$f" || exit 1; \
- elif test "x$$lc" != "xC"; then \
- if test "x$(YELP_LC_MEDIA_LINKS)" != "x"; then \
- echo "$(LN_S) -f $(HELP_DIR)/C/$(HELP_ID)/$$f $$helpdir$$f"; \
- dname="$$f"; \
- pars="../"; \
- while test "$$dname" != "." -a "$$dname" != "/"; do \
- pars="../$$pars"; \
- dname=$$(dirname "$$dname"); \
- done; \
- $(LN_S) -f $$pars"C/$(HELP_ID)/$$f" "$$helpdir$$f" || exit 1; \
- fi; \
- fi; \
- done; \
- done
-
-.PHONY: uninstall-help
-uninstall-am: $(if $(HELP_ID),uninstall-help)
-uninstall-help:
- for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- echo "rm -f $$helpdir`basename $$f`"; \
- rm -f "$$helpdir`basename $$f`"; \
- done; done
- @for f in $(_HELP_C_EXTRA); do \
- lc=`dirname "$$f"`; lc=`basename "$$lc"`; \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- echo "rm -f $$helpdir`basename $$f`"; \
- rm -f "$$helpdir`basename $$f`"; \
- done
- @for f in $(HELP_MEDIA); do \
- for lc in C $(_HELP_LINGUAS); do \
- helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \
- echo "rm -f $$helpdir$$f"; \
- rm -f "$$helpdir$$f"; \
- done; \
- done;
-'
-
-
-
-have_yelp_tools=yes
-
-if test "x$have_yelp_tools" != "xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
- if test x$have_yelp_tools = xyes; then
- HAVE_YELP_TOOLS_TRUE=
- HAVE_YELP_TOOLS_FALSE='#'
-else
- HAVE_YELP_TOOLS_TRUE='#'
- HAVE_YELP_TOOLS_FALSE=
-fi
-
-
-
- if test -z $PYTHON;
- then
- if test -z "";
- then
- PYTHON="python3"
- else
- PYTHON=""
- fi
- fi
- PYTHON_NAME=`basename $PYTHON`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking $PYTHON_NAME module: \"pygments\"" >&5
-$as_echo_n "checking $PYTHON_NAME module: \"pygments\"... " >&6; }
- $PYTHON -c "import "pygments"" 2>/dev/null
- if test $? -eq 0;
- then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- eval `$as_echo "HAVE_PYMOD_"pygments"" | $as_tr_cpp`=yes
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- eval `$as_echo "HAVE_PYMOD_"pygments"" | $as_tr_cpp`=no
- #
- if test -n ""
- then
- as_fn_error $? "failed to find required module \"pygments\"" "$LINENO" 5
- exit 1
- fi
- fi
-
-
-ac_config_files="$ac_config_files Makefile gtk-doc.pc buildsystems/autotools/Makefile buildsystems/cmake/Makefile buildsystems/cmake/GtkDocConfigVersion.cmake gtkdoc/config.py help/Makefile help/manual/Makefile tests/Makefile tests/annotations/Makefile tests/annotations/src/Makefile tests/annotations/docs/Makefile tests/bugs/Makefile tests/bugs/src/Makefile tests/bugs/docs/Makefile tests/empty/Makefile tests/empty/src/Makefile tests/empty/docs/Makefile tests/fail/Makefile tests/fail/src/Makefile tests/fail/docs/Makefile tests/gobject/Makefile tests/gobject/src/Makefile tests/gobject/docs/Makefile tests/program/Makefile tests/program/src/Makefile tests/program/docs/Makefile tests/repro/Makefile tests/repro/src/Makefile tests/repro/docs/Makefile"
-
-
-ac_config_files="$ac_config_files gtkdoc-check"
-
-ac_config_files="$ac_config_files gtkdoc-depscan"
-
-ac_config_files="$ac_config_files gtkdoc-fixxref"
-
-ac_config_files="$ac_config_files gtkdoc-mkdb"
-
-ac_config_files="$ac_config_files gtkdoc-mkhtml"
-
-ac_config_files="$ac_config_files gtkdoc-mkhtml2"
-
-ac_config_files="$ac_config_files gtkdoc-mkman"
-
-ac_config_files="$ac_config_files gtkdoc-mkpdf"
-
-ac_config_files="$ac_config_files gtkdoc-rebase"
-
-ac_config_files="$ac_config_files gtkdoc-scan"
-
-ac_config_files="$ac_config_files gtkdoc-scangobj"
-
-ac_config_files="$ac_config_files buildsystems/autotools/gtkdocize"
-
-ac_config_files="$ac_config_files tests/tools.sh"
-
-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}'
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then branch to the quote section. Otherwise,
-# look for a macro that doesn't take arguments.
-ac_script='
-:mline
-/\\$/{
- N
- s,\\\n,,
- b mline
-}
-t clear
-:clear
-s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
-t quote
-s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
-t quote
-b any
-:quote
-s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
-s/\[/\\&/g
-s/\]/\\&/g
-s/\$/$$/g
-H
-:any
-${
- g
- s/^\n//
- s/\n/ /g
- p
-}
-'
-DEFS=`sed -n "$ac_script" confdefs.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 "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" 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 "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then
- as_fn_error $? "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_TESTS_TRUE}" && test -z "${BUILD_TESTS_FALSE}"; then
- as_fn_error $? "conditional \"BUILD_TESTS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_YELP_TOOLS_TRUE}" && test -z "${HAVE_YELP_TOOLS_FALSE}"; then
- as_fn_error $? "conditional \"HAVE_YELP_TOOLS\" 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 gtk-doc $as_me 1.32, 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
-
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-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
-
-Configuration files:
-$config_files
-
-Configuration commands:
-$config_commands
-
-Report bugs to <https://gitlab.gnome.org/GNOME/gtk-doc/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-gtk-doc config.status 1.32
-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;;
- --he | --h | --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" MAKE="${MAKE-make}"
-
-
-# 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"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
-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"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $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"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $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 SHELL \
-ECHO \
-PATH_SEPARATOR \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-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
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "gtk-doc.pc") CONFIG_FILES="$CONFIG_FILES gtk-doc.pc" ;;
- "buildsystems/autotools/Makefile") CONFIG_FILES="$CONFIG_FILES buildsystems/autotools/Makefile" ;;
- "buildsystems/cmake/Makefile") CONFIG_FILES="$CONFIG_FILES buildsystems/cmake/Makefile" ;;
- "buildsystems/cmake/GtkDocConfigVersion.cmake") CONFIG_FILES="$CONFIG_FILES buildsystems/cmake/GtkDocConfigVersion.cmake" ;;
- "gtkdoc/config.py") CONFIG_FILES="$CONFIG_FILES gtkdoc/config.py" ;;
- "help/Makefile") CONFIG_FILES="$CONFIG_FILES help/Makefile" ;;
- "help/manual/Makefile") CONFIG_FILES="$CONFIG_FILES help/manual/Makefile" ;;
- "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
- "tests/annotations/Makefile") CONFIG_FILES="$CONFIG_FILES tests/annotations/Makefile" ;;
- "tests/annotations/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/annotations/src/Makefile" ;;
- "tests/annotations/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/annotations/docs/Makefile" ;;
- "tests/bugs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/bugs/Makefile" ;;
- "tests/bugs/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/bugs/src/Makefile" ;;
- "tests/bugs/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/bugs/docs/Makefile" ;;
- "tests/empty/Makefile") CONFIG_FILES="$CONFIG_FILES tests/empty/Makefile" ;;
- "tests/empty/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/empty/src/Makefile" ;;
- "tests/empty/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/empty/docs/Makefile" ;;
- "tests/fail/Makefile") CONFIG_FILES="$CONFIG_FILES tests/fail/Makefile" ;;
- "tests/fail/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/fail/src/Makefile" ;;
- "tests/fail/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/fail/docs/Makefile" ;;
- "tests/gobject/Makefile") CONFIG_FILES="$CONFIG_FILES tests/gobject/Makefile" ;;
- "tests/gobject/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/gobject/src/Makefile" ;;
- "tests/gobject/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/gobject/docs/Makefile" ;;
- "tests/program/Makefile") CONFIG_FILES="$CONFIG_FILES tests/program/Makefile" ;;
- "tests/program/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/program/src/Makefile" ;;
- "tests/program/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/program/docs/Makefile" ;;
- "tests/repro/Makefile") CONFIG_FILES="$CONFIG_FILES tests/repro/Makefile" ;;
- "tests/repro/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/repro/src/Makefile" ;;
- "tests/repro/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/repro/docs/Makefile" ;;
- "gtkdoc-check") CONFIG_FILES="$CONFIG_FILES gtkdoc-check" ;;
- "gtkdoc-depscan") CONFIG_FILES="$CONFIG_FILES gtkdoc-depscan" ;;
- "gtkdoc-fixxref") CONFIG_FILES="$CONFIG_FILES gtkdoc-fixxref" ;;
- "gtkdoc-mkdb") CONFIG_FILES="$CONFIG_FILES gtkdoc-mkdb" ;;
- "gtkdoc-mkhtml") CONFIG_FILES="$CONFIG_FILES gtkdoc-mkhtml" ;;
- "gtkdoc-mkhtml2") CONFIG_FILES="$CONFIG_FILES gtkdoc-mkhtml2" ;;
- "gtkdoc-mkman") CONFIG_FILES="$CONFIG_FILES gtkdoc-mkman" ;;
- "gtkdoc-mkpdf") CONFIG_FILES="$CONFIG_FILES gtkdoc-mkpdf" ;;
- "gtkdoc-rebase") CONFIG_FILES="$CONFIG_FILES gtkdoc-rebase" ;;
- "gtkdoc-scan") CONFIG_FILES="$CONFIG_FILES gtkdoc-scan" ;;
- "gtkdoc-scangobj") CONFIG_FILES="$CONFIG_FILES gtkdoc-scangobj" ;;
- "buildsystems/autotools/gtkdocize") CONFIG_FILES="$CONFIG_FILES buildsystems/autotools/gtkdocize" ;;
- "tests/tools.sh") CONFIG_FILES="$CONFIG_FILES tests/tools.sh" ;;
-
- *) 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_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"
-
-
-eval set X " :F $CONFIG_FILES :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
- ;;
-
-
- :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.
- # TODO: see whether this extra hack can be removed once we start
- # requiring Autoconf 2.70 or later.
- case $CONFIG_FILES in #(
- *\'*) :
- eval set x "$CONFIG_FILES" ;; #(
- *) :
- set x $CONFIG_FILES ;; #(
- *) :
- ;;
-esac
- shift
- # Used to flag and report bootstrapping failures.
- am_rc=0
- for am_mf
- do
- # Strip MF so we end up with the name of the file.
- am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile which includes
- # dependency-tracking related rules and includes.
- # Grep'ing the whole file directly is not great: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
- || continue
- am_dirpart=`$as_dirname -- "$am_mf" ||
-$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$am_mf" : 'X\(//\)[^/]' \| \
- X"$am_mf" : 'X\(//\)$' \| \
- X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$am_mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- am_filepart=`$as_basename -- "$am_mf" ||
-$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
- X"$am_mf" : 'X\(//\)$' \| \
- X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$am_mf" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { echo "$as_me:$LINENO: cd "$am_dirpart" \
- && sed -e '/# am--include-marker/d' "$am_filepart" \
- | $MAKE -f - am--depfiles" >&5
- (cd "$am_dirpart" \
- && sed -e '/# am--include-marker/d' "$am_filepart" \
- | $MAKE -f - am--depfiles) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } || am_rc=$?
- done
- if test $am_rc -ne 0; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "Something went wrong bootstrapping makefile fragments
- for automatic dependency tracking. Try re-running configure with the
- '--disable-dependency-tracking' option to at least be able to build
- the package (albeit without support for automatic dependency tracking).
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- { am_dirpart=; unset am_dirpart;}
- { am_filepart=; unset am_filepart;}
- { am_mf=; unset am_mf;}
- { am_rc=; unset am_rc;}
- rm -f conftest-deps.mk
-}
- ;;
- "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
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# 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
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# 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
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# 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"
-
- ;;
- "gtkdoc-check":F) chmod +x gtkdoc-check ;;
- "gtkdoc-depscan":F) chmod +x gtkdoc-depscan ;;
- "gtkdoc-fixxref":F) chmod +x gtkdoc-fixxref ;;
- "gtkdoc-mkdb":F) chmod +x gtkdoc-mkdb ;;
- "gtkdoc-mkhtml":F) chmod +x gtkdoc-mkhtml ;;
- "gtkdoc-mkhtml2":F) chmod +x gtkdoc-mkhtml2 ;;
- "gtkdoc-mkman":F) chmod +x gtkdoc-mkman ;;
- "gtkdoc-mkpdf":F) chmod +x gtkdoc-mkpdf ;;
- "gtkdoc-rebase":F) chmod +x gtkdoc-rebase ;;
- "gtkdoc-scan":F) chmod +x gtkdoc-scan ;;
- "gtkdoc-scangobj":F) chmod +x gtkdoc-scangobj ;;
- "buildsystems/autotools/gtkdocize":F) chmod +x buildsystems/autotools/gtkdocize ;;
- "tests/tools.sh":F) chmod +x tests/tools.sh ;;
-
- 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}:
-gtk-doc was configured with the following options:
-==================================================" >&5
-$as_echo "$as_me:
-gtk-doc was configured with the following options:
-==================================================" >&6;}
-
-test -n "$DBLATEX$FOP" \
- && { $as_echo "$as_me:${as_lineno-$LINENO}: ** PDF support enabled, using $DBLATEX$FOP" >&5
-$as_echo "$as_me: ** PDF support enabled, using $DBLATEX$FOP" >&6;} \
- || { $as_echo "$as_me:${as_lineno-$LINENO}: PDF support disabled, no dblatex or fop available" >&5
-$as_echo "$as_me: PDF support disabled, no dblatex or fop available" >&6;}
-test "x$build_tests" != "xno" \
- && { $as_echo "$as_me:${as_lineno-$LINENO}: ** Building regression tests" >&5
-$as_echo "$as_me: ** Building regression tests" >&6;} \
- || { $as_echo "$as_me:${as_lineno-$LINENO}: Skipping regression tests" >&5
-$as_echo "$as_me: Skipping regression tests" >&6;}
-test "x$enable_debug" != "xno" \
- && { $as_echo "$as_me:${as_lineno-$LINENO}: ** Debug tracing enabled" >&5
-$as_echo "$as_me: ** Debug tracing enabled" >&6;} \
- || { $as_echo "$as_me:${as_lineno-$LINENO}: Debug tracing disabled" >&5
-$as_echo "$as_me: Debug tracing disabled" >&6;}
-test "x$have_yelp_tools" != "xno" \
- && { $as_echo "$as_me:${as_lineno-$LINENO}: ** Documentation enabled" >&5
-$as_echo "$as_me: ** Documentation enabled" >&6;} \
- || { $as_echo "$as_me:${as_lineno-$LINENO}: Documentation disabled" >&5
-$as_echo "$as_me: Documentation disabled" >&6;}
dnl We're using a two digit number for the releases and
dnl a three digit number for the development version
-m4_define(gtk_doc_version, 1.32)
+m4_define(gtk_doc_version, 1.33.0)
AC_INIT([gtk-doc],[gtk_doc_version],[https://gitlab.gnome.org/GNOME/gtk-doc/issues],[gtk-doc])
buildsystems/autotools/Makefile
buildsystems/cmake/Makefile
buildsystems/cmake/GtkDocConfigVersion.cmake
-gtkdoc/config.py
+gtkdoc/config_data.py
help/Makefile
help/manual/Makefile
tests/Makefile
--- /dev/null
+= gtk-doc-1.X =
+This document attempts to reverse engineer some design decisions in
+gtk-doc-1.X.
+
+== sgml-ids ==
+When creating SGML IDS, we append ":CAPS" to all
+all-caps identifiers to prevent name clashes (SGML ids are case-insensitive).
+(It basically never is the case that mixed-case identifiers would collide.)
+
+Unfortunately we create ambiguous ids. The document structure ids are e.g.
+GtkWidget.{top_of_page,synopsis,object-hierarchy,...}
+and that is ambiguous with eventual structure member of the same name.
+
+cd tests
+find . -name "*.xml" -exec grep -o "id=\"[a-zA-Z_:.\-]*\"" {} \; | sort | uniq
+
+== section-ids ==
+gtk-doc differentiates between plain-sections and gobject-sections:
++---------+----------------+
+| type | section-id |
++---------+----------------+
+| plain | $module-$title |
+| gobject | $title |
++---------+----------------+
+
+- links to #GtkWidget would go to $title
+- linking to the struct would need #GtkWidget-struct
+
--- /dev/null
+= gtk-doc-2.X =
+This documents purpose is to collect what needs to be changed for a potential
+gtk-doc-2.X.
+
+== name ==
+Its not about Gtk. Its about C APIs with GObject support. But it is probably not
+worth it.
+g-doc, gapi-doc, gnome-api-doc, ...
+
+== remove and deprecate =
+- tree_index and object_index are still named *.sgml
+- in the makefiles
+ sgml-build.stamp -> db-build.stamp
+ sgml.stamp -> db.stamp
+
+== design fixes ==
+=== proper xml-id namespaces ===
+We need proper xml-id namespaces for document structure and symbols to avoid
+clashes e.g. between GtkWidget as a section and as a struct. Normal symbols
+should only be mangled to be a valid xml-id. Document structure ids should
+contain a prefix.
+
+These are the rules regarding id-attributes:
+
+http://www.w3.org/TR/html4/types.html#type-id:
+"ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by
+ any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons
+ (":"), and periods (".")."
+
+http://www.w3.org/TR/xml-id/#id-avn
+"Attributes of type ID are subject to additional normalization rules: removing
+ leading and trailing space characters and replacing sequences of spaces with a
+ single space."
+
+http://www.w3.org/TR/xml11/#NT-Name
+http://www.w3.org/TR/REC-xml/#NT-Name
+
+So we could easily use "DOC:" as a prefix for document structure ids.
+In 1.x we add :CAPS as a suffix to avoid clashes between lower and uppercase
+constructs. XML-IDs are not case insensitive, so we don't need that.
+
+If the ID contain a ':' xml processors believe it is using a namespace.
+
+=== less files to maintain ===
+- one needs to maintain $module-docs.xml
+- in most cases $module-sections.txt need manual maintenance
+ - we could have a "Section:" tag for non-section comments to add them to a non
+ default section
+ - we could have a "Private_Symbols:" tag in section to list symbols that
+ should be in private subsection
+- the $module.types file need manual maintenance if one need special includes
+ - can we make the scanner smarter?
+
+=== srcdir != builddir builds ===
+- all tools get a search path
+ - it contains builddir:srcdir if those are different or just one of them if
+ they are the same
+ - all files we read are checked through the path
+ - all files are written based on the first entry
+
+=== build dependencies ===
+
+=== error/warning reporting ===
+- don't fail the build on doc-issues, instead fail the tests
+- all diagnostic output from the tools run during build in gcc style
+- instead of having -{undocumented,undeclared,unused}.txt have just one file
+ 'doc-module.log'
+ - contains all the build diagnostics as well
+ - summary as 'INFO' level
+- gtkdoc-check will scan that file for 'ERROR'/'WARNING' lines
+ - depending on the CHECK_OPTIONS and the found lines if will fail certain
+ tests
+
+- TODO
+ - recheck all output and check whether we need Warnings/Errors or just
+ Warnings and flags to silence them
+ - Do we need a way to suppress false positives?
+
+=== docbook -> markdown ===
+The main performance culprit is the use of docbook (tools). Also writing docbook
+in source comments is cumbersome. Finally the docbook toolchain is a heavy
+dependency and harms portability. We already support lots of markdown, so we'd
+like to have a pure markdown based workflow.
+
+For that we'd like to provide a migration path:
+- convert existing docbook files to markdown (e.g. using pandoc)
+- convert/identify comments using docbook to markdown
+
+Next we would replace gtkdoc-mkdb+gtkdoc-fixxref with gtkdoc-mkhtml2. This would
+output html directly.
+
+We could change gtkdoc-mkpdf to use wkhtmltopdf/htmldoc. For man-pages we
+can use https://rtomayko.github.io/ronn/ronn.1.html.
+The devhelp2 files would be output directly from gtkdoc-mkhtml2.
+
+We can enable this new toolchain via the configure flavors option (needs support
+for cmake, meson, ...).
+
+These would be the steps to do this:
+1.) [in progress] write the docbook comment migation tool:
+see tools: tools/db2md.py
+At the same time improve the amount of markdown we handle:
+* or _: <emphasis>
+** or __: <empahsis role="strong">
+but be careful with already existing '*' and '_' chars (check warnings in
+tools/db2md.py).
+
+2.) [unassigned] create the plumbing for the new tool chain
+Add the new makefile flavour to run gtkdoc-mkhtml2 instead. Add --flavour
+options for gtkdocize. Create a stub gtkdoc-mkhtml2 tool.
+
+3.) [in progress] refactor gtkdoc/mkdb.py to extract reusable code
+- gtkdoc/md_to_db.py
+ - only have the parse there
+
+4.) [unassigned] write gtkdoc/mkhtml2.py
+- select a template engine (e.g. jinja)
+- create templates from the current html for the various page types (refentry,
+ index, ...).
+- we won't need content_files and expand_content_files in Makefile.am, as
+ mkhtml2 would read $(DOC_MODULE)-docs.md (rename to index.md?) and find local
+ links in there
+- convert all hand-written md files starting from the main-doc to html
+
+Open Issues:
+wkhtmltopdf html/*.html tester2.pdf
+Error: This version of wkhtmltopdf is build against an unpatched version of QT, and does not support more then one input document.
+
+htmldoc --book --outfile tester2.pdf html/*.html
+- need to pass html files in the logical order
+- unicode issues (passing --charset utf-8 fails)
+- --link seems to create bad links (opens file-browser)
+- no css rendering :/
+
+pandoc -r docbook -w markdown_github -o tester-docs.md tester-docs.xml
+- pandoc has no xi:include support
+- if we pipe it through xmllint we convert everything.
+xmllint --noent --xinclude tester-docs.xml | pandoc -r docbook -w markdown -o tester-docs.md
+- the index.md would need to represent the structure the docbook chunker would
+ create
+
+gdbus-codegen:
+- add an option to generate markdown comments
+
+gstreamer plugindocs:
+- generate markdown formatted files
+
+=== only drop docbook-xsl ===
+Since the processing with docbook-xsl is what is slow, we could also consider to
+keep the whole gtkdoc-mkdb and have 2 codepaths in gtkdoc-mkhtml. The new code-
+path would real the docbook with element-tree, replicate the chunking that
+docbook-xsl does and use a templating system to generate the html files
+(e.g. jinja).
+
+This is probably easier to achieve, but has less potential in the long run (e.g.
+incremental doc updates).
+
+On the plus side, we can do rarely used output-formats (like pdf, man) the way
+we do them right now.
+
+These would be the steps to do this:
+1.) [done] write a the chunker
+- standalone tool to load the docbook xml and chunk it (just touch the resulting
+ *.html files) until we produce the same
+
+2.) [unassigned] transform some docbook to html
+- evaluate template engines
+ - jinja2:
+ - we can use the block syntax to handle nesting
+- we need to warn when not handling certain docbook
+
+3.) [unassigned] integrate this into the gtkdoc library
+- add an option to gtkgoc-mkhtml (e.g. --engine={xslt,builtin} or just --noxlst)
--- /dev/null
+/* files and tools in gtk-doc workflow
+ * dot -Tpng gtkdoc.dot -ogtkdoc.png
+ */
+
+digraph gtkdoc {
+ /* graph attributes */
+ /*rankdir=BT;*/
+
+ /* default node attributes */
+ node [ shape=box];
+
+ /* tools nodes */
+ gtkdoc_scan [label="gtkdoc-scan",shape="ellipse" ];
+ gtkdoc_scangobj [label="gtkdoc-scangobj",shape="ellipse" ];
+ gtkdoc_mkdb [label="gtkdoc-mkdb",shape="ellipse" ];
+ gtkdoc_mkhtml [label="gtkdoc-mkhtml",shape="ellipse" ];
+ gtkdoc_fixxref [label="gtkdoc-fixxref",shape="ellipse" ];
+ gtkdoc_rebase [label="gtkdoc-rebase",shape="ellipse" ];
+ gtkdoc_check [label="gtkdoc-check",shape="ellipse" ];
+
+ /* file nodes */
+ headers [label="headers\nall headers under DOC_SOURCE_DIR\n+EXTRA_HFILES\n-IGNORE_HFILES"];
+ sources [label="source code\nall files under DOC_SOURCE_DIR\nmatching SUFFIXES or *.{c,h}"];
+ binary [label="compiled binary"];
+ xml [label="docbook xml"];
+ html [label="html"];
+ module_decl_list [label="*-decl-list.txt" ];
+ module_decl [label="*-decl.txt" ];
+ module_types [label="*.types" ];
+ module_sections [label="*-section.txt" ];
+ module_signals [label="*.signals" ];
+ module_hierarchy [label="*.hierarchy" ];
+ module_interfaces [label="*.interfaces" ];
+ module_prerequisites [label="*.prerequisites" ];
+ module_args [label="*.args" ];
+ module_undeclared [label="*-undeclared.txt" ];
+ module_undocumented [label="*-undocumented.txt" ];
+ module_unused [label="*-unused.txt" ];
+
+ /* tool invocation */
+ gtkdoc_scan -> gtkdoc_scangobj -> gtkdoc_mkdb -> gtkdoc_mkhtml -> gtkdoc_fixxref -> gtkdoc_rebase -> gtkdoc_check [style="dotted"];
+
+ /* file usage */
+ headers -> gtkdoc_scan;
+ gtkdoc_scan -> module_sections [label="--rebuild-sections", style="dashed"];
+ gtkdoc_scan -> module_types [label="--rebuild-types", style="dashed"];
+ gtkdoc_scan -> module_decl;
+ gtkdoc_scan -> module_decl_list;
+
+ binary -> gtkdoc_scangobj;
+ module_types -> gtkdoc_scangobj;
+ gtkdoc_scangobj -> module_signals;
+ gtkdoc_scangobj -> module_hierarchy;
+ gtkdoc_scangobj -> module_interfaces;
+ gtkdoc_scangobj -> module_prerequisites;
+ gtkdoc_scangobj -> module_args;
+
+ sources -> gtkdoc_mkdb;
+ module_sections -> gtkdoc_mkdb;
+ module_decl -> gtkdoc_mkdb;
+ module_signals -> gtkdoc_mkdb;
+ module_args -> gtkdoc_mkdb;
+ module_hierarchy -> gtkdoc_mkdb;
+ module_interfaces -> gtkdoc_mkdb;
+ module_prerequisites -> gtkdoc_mkdb;
+ gtkdoc_mkdb -> xml;
+ gtkdoc_mkdb -> module_undeclared;
+ gtkdoc_mkdb -> module_undocumented;
+ gtkdoc_mkdb -> module_unused;
+
+ xml -> gtkdoc_mkhtml -> html;
+
+ html -> gtkdoc_fixxref -> html;
+ html -> gtkdoc_rebase -> html;
+
+ module_undeclared -> gtkdoc_check;
+ module_undocumented -> gtkdoc_check;
+ module_unused -> gtkdoc_check;
+}
+
--- /dev/null
+# git.mk, a small Makefile to autogenerate .gitignore files
+# for autotools-based projects.
+#
+# Copyright 2009, Red Hat, Inc.
+# Copyright 2010,2011,2012,2013 Behdad Esfahbod
+# Written by Behdad Esfahbod
+#
+# Copying and distribution of this file, with or without modification,
+# is permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+#
+# The latest version of this file can be downloaded from:
+GIT_MK_URL = https://raw.githubusercontent.com/behdad/git.mk/master/git.mk
+#
+# Bugs, etc, should be reported upstream at:
+# https://github.com/behdad/git.mk
+#
+# To use in your project, import this file in your git repo's toplevel,
+# then do "make -f git.mk". This modifies all Makefile.am files in
+# your project to -include git.mk. Remember to add that line to new
+# Makefile.am files you create in your project, or just rerun the
+# "make -f git.mk".
+#
+# This enables automatic .gitignore generation. If you need to ignore
+# more files, add them to the GITIGNOREFILES variable in your Makefile.am.
+# But think twice before doing that. If a file has to be in .gitignore,
+# chances are very high that it's a generated file and should be in one
+# of MOSTLYCLEANFILES, CLEANFILES, DISTCLEANFILES, or MAINTAINERCLEANFILES.
+#
+# The only case that you need to manually add a file to GITIGNOREFILES is
+# when remove files in one of mostlyclean-local, clean-local, distclean-local,
+# or maintainer-clean-local make targets.
+#
+# Note that for files like editor backup, etc, there are better places to
+# ignore them. See "man gitignore".
+#
+# If "make maintainer-clean" removes the files but they are not recognized
+# by this script (that is, if "git status" shows untracked files still), send
+# me the output of "git status" as well as your Makefile.am and Makefile for
+# the directories involved and I'll diagnose.
+#
+# For a list of toplevel files that should be in MAINTAINERCLEANFILES, see
+# Makefile.am.sample in the git.mk git repo.
+#
+# Don't EXTRA_DIST this file. It is supposed to only live in git clones,
+# not tarballs. It serves no useful purpose in tarballs and clutters the
+# build dir.
+#
+# This file knows how to handle autoconf, automake, libtool, gtk-doc,
+# gnome-doc-utils, yelp.m4, mallard, intltool, gsettings, dejagnu, appdata,
+# appstream.
+#
+# This makefile provides the following targets:
+#
+# - all: "make all" will build all gitignore files.
+# - gitignore: makes all gitignore files in the current dir and subdirs.
+# - .gitignore: make gitignore file for the current dir.
+# - gitignore-recurse: makes all gitignore files in the subdirs.
+#
+# KNOWN ISSUES:
+#
+# - Recursive configure doesn't work as $(top_srcdir)/git.mk inside the
+# submodule doesn't find us. If you have configure.{in,ac} files in
+# subdirs, add a proxy git.mk file in those dirs that simply does:
+# "include $(top_srcdir)/../git.mk". Add more ..'s to your taste.
+# And add those files to git. See vte/gnome-pty-helper/git.mk for
+# example.
+#
+
+
+
+###############################################################################
+# Variables user modules may want to add to toplevel MAINTAINERCLEANFILES:
+###############################################################################
+
+#
+# Most autotools-using modules should be fine including this variable in their
+# toplevel MAINTAINERCLEANFILES:
+GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL = \
+ $(srcdir)/aclocal.m4 \
+ $(srcdir)/autoscan.log \
+ $(srcdir)/configure.scan \
+ `AUX_DIR=$(srcdir)/$$(cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_AUX_DIR:$$1' ./configure.ac); \
+ test "x$$AUX_DIR" = "x$(srcdir)/" && AUX_DIR=$(srcdir); \
+ for x in \
+ ar-lib \
+ compile \
+ config.guess \
+ config.sub \
+ depcomp \
+ install-sh \
+ ltmain.sh \
+ missing \
+ mkinstalldirs \
+ test-driver \
+ ylwrap \
+ ; do echo "$$AUX_DIR/$$x"; done` \
+ `cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_HEADERS:$$1' ./configure.ac | \
+ head -n 1 | while read f; do echo "$(srcdir)/$$f.in"; done`
+#
+# All modules should also be fine including the following variable, which
+# removes automake-generated Makefile.in files:
+GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN = \
+ `cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_FILES:$$1' ./configure.ac | \
+ while read f; do \
+ case $$f in Makefile|*/Makefile) \
+ test -f "$(srcdir)/$$f.am" && echo "$(srcdir)/$$f.in";; esac; \
+ done`
+#
+# Modules that use libtool and use AC_CONFIG_MACRO_DIR() may also include this,
+# though it's harmless to include regardless.
+GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL = \
+ `MACRO_DIR=$(srcdir)/$$(cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_MACRO_DIR:$$1' ./configure.ac); \
+ if test "x$$MACRO_DIR" != "x$(srcdir)/"; then \
+ for x in \
+ libtool.m4 \
+ ltoptions.m4 \
+ ltsugar.m4 \
+ ltversion.m4 \
+ lt~obsolete.m4 \
+ ; do echo "$$MACRO_DIR/$$x"; done; \
+ fi`
+
+
+
+###############################################################################
+# Default rule is to install ourselves in all Makefile.am files:
+###############################################################################
+
+git-all: git-mk-install
+
+git-mk-install:
+ @echo "Installing git makefile"
+ @any_failed=; \
+ find "`test -z "$(top_srcdir)" && echo . || echo "$(top_srcdir)"`" -name Makefile.am | while read x; do \
+ if grep 'include .*/git.mk' $$x >/dev/null; then \
+ echo "$$x already includes git.mk"; \
+ else \
+ failed=; \
+ echo "Updating $$x"; \
+ { cat $$x; \
+ echo ''; \
+ echo '-include $$(top_srcdir)/git.mk'; \
+ } > $$x.tmp || failed=1; \
+ if test x$$failed = x; then \
+ mv $$x.tmp $$x || failed=1; \
+ fi; \
+ if test x$$failed = x; then : else \
+ echo "Failed updating $$x"; >&2 \
+ any_failed=1; \
+ fi; \
+ fi; done; test -z "$$any_failed"
+
+git-mk-update:
+ wget $(GIT_MK_URL) -O $(top_srcdir)/git.mk
+
+.PHONY: git-all git-mk-install git-mk-update
+
+
+
+###############################################################################
+# Actual .gitignore generation:
+###############################################################################
+
+$(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
+ @echo "git.mk: Generating $@"
+ @{ \
+ if test "x$(DOC_MODULE)" = x -o "x$(DOC_MAIN_SGML_FILE)" = x; then :; else \
+ for x in \
+ $(DOC_MODULE)-decl-list.txt \
+ $(DOC_MODULE)-decl.txt \
+ tmpl/$(DOC_MODULE)-unused.sgml \
+ "tmpl/*.bak" \
+ xml html \
+ ; do echo "/$$x"; done; \
+ FLAVOR=$$(cd $(top_srcdir); $(AUTOCONF) --trace 'GTK_DOC_CHECK:$$2' ./configure.ac); \
+ case $$FLAVOR in *no-tmpl*) echo /tmpl;; esac; \
+ fi; \
+ if test "x$(DOC_MODULE)$(DOC_ID)" = x -o "x$(DOC_LINGUAS)" = x; then :; else \
+ for lc in $(DOC_LINGUAS); do \
+ for x in \
+ $(if $(DOC_MODULE),$(DOC_MODULE).xml) \
+ $(DOC_PAGES) \
+ $(DOC_INCLUDES) \
+ ; do echo "/$$lc/$$x"; done; \
+ done; \
+ for x in \
+ $(_DOC_OMF_ALL) \
+ $(_DOC_DSK_ALL) \
+ $(_DOC_HTML_ALL) \
+ $(_DOC_MOFILES) \
+ $(DOC_H_FILE) \
+ "*/.xml2po.mo" \
+ "*/*.omf.out" \
+ ; do echo /$$x; done; \
+ fi; \
+ if test "x$(HELP_ID)" = x -o "x$(HELP_LINGUAS)" = x; then :; else \
+ for lc in $(HELP_LINGUAS); do \
+ for x in \
+ $(HELP_FILES) \
+ "$$lc.stamp" \
+ "$$lc.mo" \
+ ; do echo "/$$lc/$$x"; done; \
+ done; \
+ fi; \
+ if test "x$(gsettings_SCHEMAS)" = x; then :; else \
+ for x in \
+ $(gsettings_SCHEMAS:.xml=.valid) \
+ $(gsettings__enum_file) \
+ ; do echo "/$$x"; done; \
+ fi; \
+ if test "x$(appdata_XML)" = x; then :; else \
+ for x in \
+ $(appdata_XML:.xml=.valid) \
+ ; do echo "/$$x"; done; \
+ fi; \
+ if test "x$(appstream_XML)" = x; then :; else \
+ for x in \
+ $(appstream_XML:.xml=.valid) \
+ ; do echo "/$$x"; done; \
+ fi; \
+ if test -f $(srcdir)/po/Makefile.in.in; then \
+ for x in \
+ po/Makefile.in.in \
+ po/Makefile.in.in~ \
+ po/Makefile.in \
+ po/Makefile \
+ po/Makevars.template \
+ po/POTFILES \
+ po/Rules-quot \
+ po/stamp-it \
+ po/.intltool-merge-cache \
+ "po/*.gmo" \
+ "po/*.header" \
+ "po/*.mo" \
+ "po/*.sed" \
+ "po/*.sin" \
+ po/$(GETTEXT_PACKAGE).pot \
+ intltool-extract.in \
+ intltool-merge.in \
+ intltool-update.in \
+ ; do echo "/$$x"; done; \
+ fi; \
+ if test -f $(srcdir)/configure; then \
+ for x in \
+ autom4te.cache \
+ configure \
+ config.h \
+ stamp-h1 \
+ libtool \
+ config.lt \
+ ; do echo "/$$x"; done; \
+ fi; \
+ if test "x$(DEJATOOL)" = x; then :; else \
+ for x in \
+ $(DEJATOOL) \
+ ; do echo "/$$x.sum"; echo "/$$x.log"; done; \
+ echo /site.exp; \
+ fi; \
+ if test "x$(am__dirstamp)" = x; then :; else \
+ echo "$(am__dirstamp)"; \
+ fi; \
+ if test "x$(LTCOMPILE)" = x -a "x$(LTCXXCOMPILE)" = x -a "x$(GTKDOC_RUN)" = x; then :; else \
+ for x in \
+ "*.lo" \
+ ".libs" "_libs" \
+ ; do echo "$$x"; done; \
+ fi; \
+ for x in \
+ .gitignore \
+ $(GITIGNOREFILES) \
+ $(CLEANFILES) \
+ $(PROGRAMS) $(check_PROGRAMS) $(EXTRA_PROGRAMS) \
+ $(LIBRARIES) $(check_LIBRARIES) $(EXTRA_LIBRARIES) \
+ $(LTLIBRARIES) $(check_LTLIBRARIES) $(EXTRA_LTLIBRARIES) \
+ so_locations \
+ $(MOSTLYCLEANFILES) \
+ $(TEST_LOGS) \
+ $(TEST_LOGS:.log=.trs) \
+ $(TEST_SUITE_LOG) \
+ $(TESTS:=.test) \
+ "*.gcda" \
+ "*.gcno" \
+ $(DISTCLEANFILES) \
+ $(am__CONFIG_DISTCLEAN_FILES) \
+ $(CONFIG_CLEAN_FILES) \
+ TAGS ID GTAGS GRTAGS GSYMS GPATH tags \
+ "*.tab.c" \
+ $(MAINTAINERCLEANFILES) \
+ $(BUILT_SOURCES) \
+ $(patsubst %.vala,%.c,$(filter %.vala,$(SOURCES))) \
+ $(filter %_vala.stamp,$(DIST_COMMON)) \
+ $(filter %.vapi,$(DIST_COMMON)) \
+ $(filter $(addprefix %,$(notdir $(patsubst %.vapi,%.h,$(filter %.vapi,$(DIST_COMMON))))),$(DIST_COMMON)) \
+ Makefile \
+ Makefile.in \
+ "*.orig" \
+ "*.rej" \
+ "*.bak" \
+ "*~" \
+ ".*.sw[nop]" \
+ ".dirstamp" \
+ ; do echo "/$$x"; done; \
+ for x in \
+ "*.$(OBJEXT)" \
+ $(DEPDIR) \
+ ; do echo "$$x"; done; \
+ } | \
+ sed "s@^/`echo "$(srcdir)" | sed 's/\(.\)/[\1]/g'`/@/@" | \
+ sed 's@/[.]/@/@g' | \
+ LC_ALL=C sort | uniq > $@.tmp && \
+ mv $@.tmp $@;
+
+all: $(srcdir)/.gitignore gitignore-recurse-maybe
+gitignore: $(srcdir)/.gitignore gitignore-recurse
+
+gitignore-recurse-maybe:
+ @for subdir in $(DIST_SUBDIRS); do \
+ case " $(SUBDIRS) " in \
+ *" $$subdir "*) :;; \
+ *) test "$$subdir" = . -o -e "$$subdir/.git" || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) gitignore || echo "Skipping $$subdir");; \
+ esac; \
+ done
+gitignore-recurse:
+ @for subdir in $(DIST_SUBDIRS); do \
+ test "$$subdir" = . -o -e "$$subdir/.git" || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) gitignore || echo "Skipping $$subdir"); \
+ done
+
+maintainer-clean: gitignore-clean
+gitignore-clean:
+ -rm -f $(srcdir)/.gitignore
+
+.PHONY: gitignore-clean gitignore gitignore-recurse gitignore-recurse-maybe
<xsl:param name="html.ext" select="'.html'"/>
<xsl:param name="refentry.generate.name" select="0"/>
<xsl:param name="refentry.generate.title" select="1"/>
+ <xsl:param name="abstract.notitle.enabled" select="1"/>
<!-- don't generate all those link tags (very slow and hardly used)
it does not show much effect as we have a user.head.content template
<xsl:param name="html.extra.head.links" select="0" />
<xsl:variable name="sect_derived_interfaces" select="./refsect1[@role='derived_interfaces']"/>
<xsl:variable name="sect_implementations" select="./refsect1[@role='implementations']"/>
<xsl:variable name="sect_properties" select="./refsect1[@role='properties']"/>
+ <xsl:variable name="sect_actions" select="./refsect1[@role='actions']"/>
<xsl:variable name="sect_child_properties" select="./refsect1[@role='child_properties']"/>
<xsl:variable name="sect_style_properties" select="./refsect1[@role='style_properties']"/>
<xsl:variable name="sect_signal_proto" select="./refsect1[@role='signal_proto']"/>
<xsl:value-of select="./refsect1[@role='signal_proto']/title"/>
</a></span>
</xsl:if>
+ <xsl:if test="count($sect_actions) > 0">
+ <span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#{$section_id}.actions" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='actions']/title"/>
+ </a></span>
+ </xsl:if>
</xsl:when>
<!-- this is not yet very nice, as it requires all glossdic/indexdiv
elements having a anchor element. maybe we can customize the xsl
import argparse
import sys
-sys.path.append('@PYTHON_PACKAGE_DIR@')
+
+try:
+ import gtkdoc_uninstalled
+except ModuleNotFoundError:
+ sys.path.append('@PYTHON_PACKAGE_DIR@')
from gtkdoc import common, check, config
import argparse
import os
import sys
-sys.path.append('@PYTHON_PACKAGE_DIR@')
+
+try:
+ import gtkdoc_uninstalled
+except ModuleNotFoundError:
+ sys.path.append('@PYTHON_PACKAGE_DIR@')
from gtkdoc import common, config, fixxref
import argparse
import sys
-sys.path.append('@PYTHON_PACKAGE_DIR@')
+
+try:
+ import gtkdoc_uninstalled
+except ModuleNotFoundError:
+ sys.path.append('@PYTHON_PACKAGE_DIR@')
from gtkdoc import common, config, mkdb
import argparse
import sys
-sys.path.append('@PYTHON_PACKAGE_DIR@')
+
+try:
+ import gtkdoc_uninstalled
+except ModuleNotFoundError:
+ sys.path.append('@PYTHON_PACKAGE_DIR@')
from gtkdoc import common, config, mkhtml
import argparse
import sys
-sys.path.append('@PYTHON_PACKAGE_DIR@')
+
+try:
+ import gtkdoc_uninstalled
+except ModuleNotFoundError:
+ sys.path.append('@PYTHON_PACKAGE_DIR@')
from gtkdoc import common, config, mkhtml2
parser = argparse.ArgumentParser(
description='gtkdoc-mkhtml version %s - generate documentation in html format' % config.version)
parser.add_argument('--version', action='version', version=config.version)
+ parser.add_argument('--output-dir', default='.',
+ help='The directory where the results are stored')
parser.add_argument('--path', default=[], action='append',
help='Extra source directories')
parser.add_argument('--extra-dir', default=[], action='append',
import argparse
import sys
-sys.path.append('@PYTHON_PACKAGE_DIR@')
+
+try:
+ import gtkdoc_uninstalled
+except ModuleNotFoundError:
+ sys.path.append('@PYTHON_PACKAGE_DIR@')
from gtkdoc import common, config, mkman
import argparse
import sys
-sys.path.append('@PYTHON_PACKAGE_DIR@')
+
+try:
+ import gtkdoc_uninstalled
+except ModuleNotFoundError:
+ sys.path.append('@PYTHON_PACKAGE_DIR@')
from gtkdoc import common, config, mkpdf
import argparse
import sys
-sys.path.append('@PYTHON_PACKAGE_DIR@')
+
+try:
+ import gtkdoc_uninstalled
+except ModuleNotFoundError:
+ sys.path.append('@PYTHON_PACKAGE_DIR@')
from gtkdoc import common, config, rebase
import argparse
import sys
-sys.path.append('@PYTHON_PACKAGE_DIR@')
+
+try:
+ import gtkdoc_uninstalled
+except ModuleNotFoundError:
+ sys.path.append('@PYTHON_PACKAGE_DIR@')
from gtkdoc import common, config, scan
import argparse
import os
import sys
-sys.path.append('@PYTHON_PACKAGE_DIR@')
+
+try:
+ import gtkdoc_uninstalled
+except ModuleNotFoundError:
+ sys.path.append('@PYTHON_PACKAGE_DIR@')
from gtkdoc import common, config, scangobj
-version = "1.32"
+import os
+import sys
-# tools
-dblatex = '/usr/bin/dblatex'
-fop = ''
-pkg_config = '/usr/bin/pkg-config'
-xsltproc = '/usr/bin/xsltproc'
+try:
+ from gtkdoc_uninstalled import builddir
+ exec(open(os.path.join(builddir, 'gtkdoc', 'config_data.py')).read())
+except ModuleNotFoundError:
+ from gtkdoc.config_data import *
-# configured directories
-prefix = '/usr'
-datarootdir = "${prefix}/share".replace('${prefix}', prefix)
-datadir = "${datarootdir}".replace('${datarootdir}', datarootdir)
-exeext = ''
+def get_dirs(uninstalled):
+ try:
+ from gtkdoc_uninstalled import sourcedir
+ gtkdocdir = sourcedir
+ styledir = os.path.join(sourcedir, 'style')
+ except ModuleNotFoundError:
+ if uninstalled:
+ # this does not work from buiddir!=srcdir
+ gtkdocdir = os.path.split(sys.argv[0])[0]
+ if not os.path.exists(gtkdocdir + '/gtk-doc.xsl'):
+ # try 'srcdir' (set from makefiles) too
+ if os.path.exists(os.environ.get("ABS_TOP_SRCDIR", '') + '/gtk-doc.xsl'):
+ gtkdocdir = os.environ['ABS_TOP_SRCDIR']
+ styledir = gtkdocdir + '/style'
+ else:
+ gtkdocdir = os.path.join(datadir, 'gtk-doc/data')
+ styledir = gtkdocdir
+ return (gtkdocdir, styledir)
+++ /dev/null
-version = "@VERSION@"
-
-# tools
-dblatex = '@DBLATEX@'
-fop = '@FOP@'
-pkg_config = '@PKG_CONFIG@'
-xsltproc = '@XSLTPROC@'
-
-# configured directories
-prefix = '@prefix@'
-datarootdir = "@datarootdir@".replace('${prefix}', prefix)
-datadir = "@datadir@".replace('${datarootdir}', datarootdir)
-
-exeext = '@EXEEXT@'
--- /dev/null
+version = "@VERSION@"
+
+# tools
+dblatex = '@DBLATEX@'
+fop = '@FOP@'
+pkg_config = '@PKG_CONFIG@'
+xsltproc = '@XSLTPROC@'
+
+# configured directories
+prefix = '@prefix@'
+datarootdir = "@datarootdir@".replace('${prefix}', prefix)
+datadir = "@datadir@".replace('${datarootdir}', datarootdir)
+
+exeext = '@EXEEXT@'
--- /dev/null
+config_py = configuration_data()
+config_py.set('prefix', get_option('prefix'))
+config_py.set('datarootdir', join_paths('${prefix}', get_option('datadir')))
+config_py.set('datadir', '${datarootdir}')
+
+config_py.set('DBLATEX', dblatex_prg_path)
+config_py.set('FOP', fop_prg_path)
+config_py.set('PKG_CONFIG', pkgconfig_prg_path)
+config_py.set('XSLTPROC', xsltproc_prg_path)
+
+config_py.set('VERSION', version)
+config_py.set('EXEEXT', '')
+
+configure_file(
+ input: 'config_data.py.in',
+ output: 'config_data.py',
+ configuration: config_py,
+ install: true,
+ install_dir: join_paths(
+ pkgpythondir,
+ 'gtkdoc',
+ ),
+)
+
+gtkdoc_sources = [
+ '__init__.py',
+ 'check.py',
+ 'common.py',
+ 'config.py',
+ 'fixxref.py',
+ 'highlight.py',
+ 'md_to_db.py',
+ 'mkdb.py',
+ 'mkhtml.py',
+ 'mkhtml2.py',
+ 'mkman.py',
+ 'mkpdf.py',
+ 'rebase.py',
+ 'scan.py',
+ 'scangobj.py',
+]
+
+install_data(gtkdoc_sources,
+ install_dir: join_paths(pkgpythondir, 'gtkdoc')
+)
ArgDefaults = [] # Default value of the Arg.
ArgRanges = [] # The range of the Arg type
+ActionObjects = []
+ActionNames = []
+ActionParams = []
+ActionProperties = []
+
# These global hashes store declaration info keyed on a symbol name.
Declarations = {}
DeclarationTypes = {}
<refpurpose>${short_desc}</refpurpose>
</refnamediv>
${stability}
-${functions_synop}${args_synop}${signals_synop}${object_anchors}${other_synop}${hierarchy}${prerequisites}${derived}${interfaces}${implementations}
+${functions_synop}${args_synop}${signals_synop}${actions_synop}${object_anchors}${other_synop}${hierarchy}${prerequisites}${derived}${interfaces}${implementations}
${include_output}
<refsect1 id="${section_id}.description" role="desc">
<title role="desc.title">Description</title>
<title role="details.title">Functions</title>
${functions_details}
</refsect1>
-${other_desc}${args_desc}${signals_desc}${see_also}
+${other_desc}${args_desc}${signals_desc}${actions_desc}${see_also}
</refentry>
''')
MODULE = options.module
INLINE_MARKUP_MODE = options.xml_mode or options.sgml_mode
NAME_SPACE = options.name_space
+ DB_OUTPUT_DIR = options.output_dir or os.path.join(ROOT_DIR, "xml")
main_sgml_file = options.main_sgml_file
if not main_sgml_file:
ReadKnownSymbols(os.path.join(ROOT_DIR, MODULE + "-sections.txt"))
ReadSignalsFile(os.path.join(ROOT_DIR, MODULE + ".signals"))
ReadArgsFile(os.path.join(ROOT_DIR, MODULE + ".args"))
+ ReadActionsFile(os.path.join(ROOT_DIR, MODULE + ".actions"))
obj_tree = ReadObjectHierarchy(os.path.join(ROOT_DIR, MODULE + ".hierarchy"))
ReadInterfaces(os.path.join(ROOT_DIR, MODULE + ".interfaces"))
ReadPrerequisites(os.path.join(ROOT_DIR, MODULE + ".prerequisites"))
# -- phase 2: scan sources
# TODO: move this to phase 3 once we fixed the call to OutputProgramDBFile()
- DB_OUTPUT_DIR = DB_OUTPUT_DIR if DB_OUTPUT_DIR else os.path.join(ROOT_DIR, "xml")
if not os.path.isdir(DB_OUTPUT_DIR):
os.mkdir(DB_OUTPUT_DIR)
logging.info('namespace prefix ="%s"', NAME_SPACE)
OutputObjectTree(obj_tree)
- OutputObjectList()
+ OutputObjectList(Objects)
OutputIndex("api-index-full", IndexEntriesFull)
OutputIndex("api-index-deprecated", IndexEntriesDeprecated)
logging.info("All files created: %d", changed)
-def OutputObjectList():
+def OutputObjectList(obj_list):
"""This outputs the alphabetical list of objects, in a columned table."""
# FIXME: Currently this also outputs ancestor objects which may not actually
# be in this module.
+
+ # TODO(ensonic): consider not writing this unconditionally
+ if not obj_list:
+ return
+
cols = 3
# FIXME: use .xml
OUTPUT.write("</row>\n")
count += 1
- if count == 0:
- # emit an empty row, since empty tables are invalid
- OUTPUT.write("<row><entry> </entry></row>\n")
-
- else:
- if count % cols > 0:
- OUTPUT.write("</row>\n")
+ if count % cols > 0:
+ OUTPUT.write("</row>\n")
OUTPUT.write('''</tbody></tgroup></informaltable>\n''')
OUTPUT.close()
args_desc = ''
child_args_desc = ''
style_args_desc = ''
+ actions_synop = ''
+ actions_desc = ''
hierarchy_str = ''
hierarchy = []
interfaces = ''
args_desc += make_refsect1_desc(style_args_desc, 'Style Property Details',
section_id, 'style-property-details')
+ actions_synop = re.sub(r'^\n*', '', actions_synop)
+ actions_synop = re.sub(r'\n+$', '\n', actions_synop)
+ if actions_synop != '':
+ actions_synop = '''<refsect1 id="%s.actions" role="actions">
+<title role="actions.title">Actions</title>
+<informaltable frame="none">
+<tgroup cols="3">
+<colspec colname="actions_none" colwidth="150px"/>
+<colspec colname="actions_name" colwidth="300px"/>
+<colspec colname="actions_param" colwidth="200px"/>
+<tbody>
+%s
+</tbody>
+</tgroup>
+</informaltable>
+</refsect1>
+''' % (section_id, actions_synop)
+ actions_desc = trim_leading_and_trailing_nl(actions_desc)
+ actions_desc = '''<refsect1 id="%s.action-details" role="action_details">
+<title role="action_details.title">Action Details</title>
+%s
+</refsect1>
+''' % (section_id, actions_desc)
+
hierarchy_str = AddTreeLineArt(hierarchy)
if hierarchy_str != '':
hierarchy_str = make_refsect1_desc('<screen>' + hierarchy_str + '\n</screen>',
functions_details, other_desc,
signals_synop, signals_desc,
args_synop, args_desc,
+ actions_synop, actions_desc,
hierarchy_str, interfaces,
implementations,
prerequisites, derived,
args_desc = ''
child_args_desc = ''
style_args_desc = ''
+ actions_synop = ''
+ actions_desc = ''
hierarchy_str = ''
hierarchy = []
interfaces = ''
sig_synop, sig_desc = GetSignals(symbol)
arg_synop, child_arg_synop, style_arg_synop, arg_desc, child_arg_desc, style_arg_desc = GetArgs(
symbol)
+ action_synop, action_desc = GetActions(symbol)
ifaces = GetInterfaces(symbol)
impls = GetImplementations(symbol)
prereqs = GetPrerequisites(symbol)
args_desc += arg_desc
child_args_desc += child_arg_desc
style_args_desc += style_arg_desc
+ actions_synop += action_synop
+ actions_desc += action_desc
interfaces += ifaces
implementations += impls
prerequisites += prereqs
logging.info("trying symbol %s", symbol)
m1 = re.search(r'(.*)::(.*)', symbol)
m2 = re.search(r'(.*):(.*)', symbol)
+ m3 = re.search(r'(.*)\|(.*)', symbol)
if m1:
oname = m1.group(1)
osym = m1.group(2)
symbol_section = SymbolSection[oname]
symbol_section_id = SymbolSectionId[oname]
break
+ elif m3:
+ oname = m3.group(1)
+ osym = m3.group(2)
+ logging.info(" trying action %s|%s in %d actions", oname, osym, len(ActionNames))
+ for name in ActionNames:
+ logging.info(" " + name)
+ if name == osym:
+ symbol_type = "action"
+ if oname in SymbolSection:
+ symbol_section = SymbolSection[oname]
+ symbol_section_id = SymbolSectionId[oname]
+ break
else:
if symbol in SymbolSection:
symbol_section = SymbolSection[symbol]
def OutputSinceIndexes():
"""Generate the 'since' api index files."""
- for version in set(Since.values()):
+ for version in sorted(set(Since.values())):
logging.info("Since : [%s]", version)
index = {x: IndexEntriesSince[x] for x in IndexEntriesSince.keys() if Since[x] == version}
OutputIndex("api-index-" + version, index)
"""
dtype = DeclarationTypes[symbol]
+ logging.info('Output Symbol: "%s" "%s"', symbol, dtype)
if dtype == 'MACRO':
return OutputMacro(symbol, declaration)
elif dtype == 'TYPEDEF':
return str(stability)
-def OutputDBFile(file, title, section_id, includes, functions_synop, other_synop, functions_details, other_desc, signals_synop, signals_desc, args_synop, args_desc, hierarchy, interfaces, implementations, prerequisites, derived, file_objects, default_stability):
+def OutputDBFile(file, title, section_id, includes, functions_synop, other_synop, functions_details, other_desc, signals_synop, signals_desc, args_synop, args_desc, actions_synop, actions_desc, hierarchy, interfaces, implementations, prerequisites, derived, file_objects, default_stability):
"""Outputs the final DocBook file for one section.
Args:
signal_desc (str): the DocBook for the Signal Description part
args_synop (str): the DocBook for the Arg Synopsis part
args_desc (str): the DocBook for the Arg Description part
+ actions_synop (str): the DocBook for the Action Synopsis part
+ actions_desc (str): the DocBook for the Action Description part
hierarchy (str): the DocBook for the Object Hierarchy part
interfaces (str): the DocBook for the Interfaces part
implementations (str): the DocBook for the Known Implementations part
# "<refentry id="$section_id" revision="$mday $month $year">"
OUTPUT.write(DB_REFENTRY.substitute({
+ 'actions_desc': actions_desc,
+ 'actions_synop': actions_synop,
'args_desc': args_desc,
'args_synop': args_synop,
'derived': derived,
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
''')
- for version in set(Since.values()):
+ for version in sorted(set(Since.values())):
dash_version = version.replace('.', '-')
OUTPUT.write(''' <index id="api-index-%s" role="%s">
<title>Index of new API in %s</title>
return (synop, child_synop, style_synop, desc, child_desc, style_desc)
+def GetActions(gobject):
+ """Generate action docs.
+
+ Returns the synopsis and detailed description DocBook output
+ for the actions of a given GtkWidget subclass.
+
+ Args:
+ object (str): the GObject subclass, e.g. 'GtkButton'.
+
+ Returns:
+ str: action docs
+ """
+ synop = ''
+ desc = ''
+
+ for i in range(len(ActionObjects)):
+ if ActionObjects[i] == gobject:
+ logging.info("Found action: %s", ActionNames[i])
+ name = ActionNames[i]
+ params = ActionParams[i]
+ prop = ActionProperties[i]
+
+ # Remember: pipe, so we don't clash with signals.
+ symbol = '%s|%s' % (gobject, name)
+ sid = common.CreateValidSGMLID(symbol)
+
+ AllSymbols[symbol] = 1
+ blurb = ''
+ if symbol in SymbolDocs and not IsEmptyDoc(SymbolDocs[symbol]):
+ blurb = ConvertMarkDown(symbol, SymbolDocs[symbol])
+ logging.info(".. [%s][%s]", SymbolDocs[symbol], blurb)
+ AllDocumentedSymbols[symbol] = 1
+
+ else:
+ # FIXME: print a warning?
+ logging.info(".. no description")
+
+ pad1 = ''
+ if len(name) < 24:
+ pad1 = " " * (24 - len(name))
+
+ action_synop = "<row><entry></entry><entry role=\"action_name\"><link linkend=\"%s\">%s</link></entry><entry role=\"parameter_type\">%s</entry></row>\n" % (
+ sid, name, params)
+ action_desc = u"<refsect2 id=\"%s\" role=\"action\"><title>The <literal>“%s”</literal> action</title>\n" % (
+ sid, name)
+ action_desc += MakeIndexterms(symbol, sid)
+ action_desc += "\n"
+ action_desc += OutputSymbolExtraLinks(symbol)
+ if blurb != '':
+ action_desc += blurb
+ elif prop != '':
+ action_desc += "<para>The %s action sets the %s property.</para>\n" % (name, MakeHashXRef (gobject + ':' + prop, "type"))
+ action_desc += MakeDeprecationNote(symbol)
+
+ if params != '':
+ action_desc += "<para>Parameter type: %s</para>\n" % params
+
+ action_desc += OutputParamDescriptions("ACTION", symbol, None)
+ action_desc += OutputSymbolTraits(symbol)
+ action_desc += "</refsect2>\n"
+
+ synop += action_synop
+ desc += action_desc
+
+ return (synop, desc)
+
def IgnorePath(path, source_dirs, ignore_files):
for sdir in source_dirs:
# Cut off base directory
logging.info("scanning[%s] :%s", in_part, line.strip())
# If we haven't found the symbol name yet, look for it.
+ # We need to allow for the following cases:
+ # function:
+ # Class::signal:
+ # Class:property:
+ # Class|action:
+ # Signal and property names can contain dashes, action names
+ # can contain period.
+ # In all cases, there might be annotations in parentheses
+ # following the symbol name.
if not symbol:
m1 = re.search(r'^\s*((SECTION|PROGRAM):\s*\S+)', line)
- m2 = re.search(r'^\s*([\w:-]*\w)\s*:?\s*(\(.+?\)\s*)*$', line)
+ m2 = re.search(r'^\s*([\w:.|-]*\w)\s*:?\s*(\(.+?\)\s*)*$', line)
if m1:
symbol = m1.group(1)
logging.info("docs found in source for : '%s'", symbol)
INPUT.close()
+def ReadActionsFile(ifile):
+ """Reads information about object actions
+
+ It creates the arrays ActionObjects, ActionNames, ActionParams
+ and ActionProperties containing info on the actions.
+
+ Args:
+ ifile (str): the input filename.
+ """
+ in_action = False
+ action_object = None
+ action_name = None
+ action_param = None
+ action_prop = None
+
+ # Reset the args info.
+ ActionObjects[:] = []
+ ActionNames[:] = []
+ ActionParams[:] = []
+ ActionProperties[:] = []
+
+ if not os.path.isfile(ifile):
+ return
+
+ INPUT = open(ifile, 'r', encoding='utf-8')
+ line_number = 0
+ for line in INPUT:
+ line_number += 1
+ if not in_action:
+ if line.startswith('<ACTION>'):
+ in_action = True
+ action_object = ''
+ action_name = ''
+ action_param = ''
+ action_prop = ''
+
+ else:
+ m1 = re.search(r'^<NAME>(.*)</NAME>', line)
+ m2 = re.search(r'^<PARAMETER>(.*)</PARAMETER>', line)
+ m3 = re.search(r'^<PROPERTY>(.*)</PROPERTY>', line)
+ if m1:
+ action_name = m1.group(1)
+ m1_1 = re.search(r'^(.*):::(.*)$', action_name)
+ if m1_1:
+ action_object = m1_1.group(1)
+ action_name = m1_1.group(2).replace('_', '-')
+ logging.info("Found action: %s", action_name)
+ else:
+ common.LogWarning(ifile, line_number, "Invalid action name: " + action_name)
+
+ elif m2:
+ action_param = m2.group(1)
+ elif m3:
+ action_prop = m3.group(1)
+ elif re.search(r'^</ACTION>', line):
+ logging.info("Found end of action: %s::%s", action_object, action_name)
+ ActionObjects.append(action_object)
+ ActionNames.append(action_name)
+ ActionParams.append(action_param)
+ ActionProperties.append(action_prop)
+ in_action = False
+
+ INPUT.close()
+
def AddTreeLineArt(tree):
"""Generate a line art tree.
return subprocess.call(command + args, stderr=open('profile.txt', 'w'))
-def get_dirs(uninstalled):
- if uninstalled:
- # this does not work from buiddir!=srcdir
- gtkdocdir = os.path.split(sys.argv[0])[0]
- if not os.path.exists(gtkdocdir + '/gtk-doc.xsl'):
- # try 'srcdir' (set from makefiles) too
- if os.path.exists(os.environ.get("ABS_TOP_SRCDIR", '') + '/gtk-doc.xsl'):
- gtkdocdir = os.environ['ABS_TOP_SRCDIR']
- styledir = gtkdocdir + '/style'
- else:
- gtkdocdir = os.path.join(config.datadir, 'gtk-doc/data')
- styledir = gtkdocdir
- return (gtkdocdir, styledir)
-
-
def run(options):
logging.info('options: %s', str(options.__dict__))
quiet = '1'
remaining_args = options.args[2:]
- (gtkdocdir, styledir) = get_dirs(options.uninstalled)
+ (gtkdocdir, styledir) = config.get_dirs(options.uninstalled)
res = run_xsltproc(options, [
'--nonet',
idx.write(line)
-def get_dirs(uninstalled):
- if uninstalled:
- # this does not work from buiddir!=srcdir
- gtkdocdir = os.path.split(sys.argv[0])[0]
- if not os.path.exists(gtkdocdir + '/gtk-doc.xsl'):
- # try 'srcdir' (set from makefiles) too
- if os.path.exists(os.environ.get("ABS_TOP_SRCDIR", '') + '/gtk-doc.xsl'):
- gtkdocdir = os.environ['ABS_TOP_SRCDIR']
- styledir = gtkdocdir + '/style'
- else:
- gtkdocdir = os.path.join(config.datadir, 'gtk-doc/data')
- styledir = gtkdocdir
- return (gtkdocdir, styledir)
+class FakeDTDResolver(etree.Resolver):
+ """Don't load the docbookx.dtd since we disable the validation anyway.
+
+ libxsml2 does not cache DTDs. If we produce a docbook file with 100 chunks
+ loading such a doc with xincluding will load and parse the docbook DTD 100
+ times. This cases tons of memory allocations and is slow.
+ """
+
+ def resolve(self, url, id, context):
+ if not url.endswith('.dtd'):
+ return None
+ # http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
+ return self.resolve_string('', context)
def main(module, index_file, out_dir, uninstalled, src_lang, paths):
# 1) load the docuemnt
_t = timer()
- # does not seem to be faster
- # parser = etree.XMLParser(dtd_validation=False, collect_ids=False)
- # tree = etree.parse(index_file, parser)
- tree = etree.parse(index_file)
+ parser = etree.XMLParser(dtd_validation=False, collect_ids=False)
+ parser.resolvers.add(FakeDTDResolver())
+ tree = etree.parse(index_file, parser)
logging.warning("1a: %7.3lf: load doc", timer() - _t)
_t = timer()
tree.xinclude()
# 2) copy datafiles
_t = timer()
# TODO: handle additional images
- (gtkdocdir, styledir) = get_dirs(uninstalled)
+ (gtkdocdir, styledir) = config.get_dirs(uninstalled)
# copy navigation images and stylesheets to html directory ...
css_file = os.path.join(styledir, 'style.css')
for f in glob(os.path.join(styledir, '*.png')) + [css_file]:
module = options.args[0]
document = options.args[1]
+ output_dir = options.output_dir or os.getcwd()
+ if options.output_dir and not os.path.isdir(output_dir):
+ os.mkdir(output_dir)
+
# TODO: pass options.extra_dir
- sys.exit(main(module, document, os.getcwd(), options.uninstalled, options.src_lang,
+ sys.exit(main(module, document, output_dir, options.uninstalled, options.src_lang,
options.path))
module = options.args[0]
document = options.args[1]
- if options.uninstalled:
- # this does not work from buiddir!=srcdir
- # we could try this
- # MAKE_SCRDIR=$(abs_srcdir) MAKE_BUILDDIR=$(abs_builddir) gtkdoc-mkpdf ...
- gtkdocdir = os.path.split(sys.argv[0])[0]
- else:
- gtkdocdir = os.path.join(config.datadir, 'gtk-doc/data')
+ gtkdocdir, _ = config.get_dirs(options.uninstalled)
if config.dblatex != '':
# extra options to consider
(struct|union)\s*
\w*\s*{""", re.VERBOSE),
# 12-14: OTHER TYPEDEFS
- re.compile(
- r"""^\s*typedef\s+
- (?:struct|union)\s+\w+[\s\*]+
- (\w+) # 1: name
- \s*;""", re.VERBOSE),
- re.compile(
- r"""^\s*
- (?:G_GNUC_EXTENSION\s+)?
- typedef\s+
- (.+[\s\*]) # 1: e.g. 'unsigned int'
- (\w+) # 2: name
- (?:\s*\[[^\]]+\])*
- \s*;""", re.VERBOSE),
+ None, # in InitScanner()
+ None, # in InitScanner()
re.compile(r'^\s*typedef\s+'),
# 15: VARIABLES (extern'ed variables)
None, # in InitScanner()
\s*\=""" % VAR_TYPE_MODIFIER, re.VERBOSE),
# 17: G_DECLARE_*
re.compile(
- r""".*G_DECLARE_
- (FINAL_TYPE|DERIVABLE_TYPE|INTERFACE) # 1: variant
+ r""".*(G_DECLARE_|GDK_DECLARE_)
+ (FINAL_TYPE|DERIVABLE_TYPE|INTERNAL_TYPE|INTERFACE) # 1: variant
\s*\(""", re.VERBOSE),
# 18-21: FUNCTIONS
None, # in InitScanner()
%s # 3: optional decorator
\s*;""" % optional_decorators_regex, re.VERBOSE)
# OTHER TYPEDEFS
+ CLINE_MATCHER[12] = re.compile(
+ r"""^\s*typedef\s+
+ (?:struct|union)\s+\w+[\s\*]+
+ (\w+) # 1: name
+ %s # 2: optional decorator
+ \s*;""" % optional_decorators_regex, re.VERBOSE)
+ CLINE_MATCHER[13] = re.compile(
+ r"""^\s*
+ (?:G_GNUC_EXTENSION\s+)?
+ typedef\s+
+ (.+?[\s\*]) # 1: e.g. 'unsigned int'
+ (\w+) # 2: name
+ (?:\s*\[[^\]]+\])*
+ %s # 3: optional decorator
+ \s*;""" % optional_decorators_regex, re.VERBOSE)
CLINE_MATCHER[15] = re.compile(
r"""^\s*
(?:extern|[A-Za-z_]+VAR%s)\s+
# section (#endif /* XXX_DEPRECATED */
if deprecated_conditional_nest == 0 and '_DEPRECATED' in line:
m = re.search(r'^\s*#\s*(if*|define|endif)', line)
- if not (m or in_declaration == 'enum'):
+ if not (m or in_declaration == 'enum' or in_declaration == 'struct'):
logging.info('Found deprecation annotation (decl: "%s"): "%s"',
in_declaration, line.strip())
deprecated_conditional_nest += 0.1
logging.info('Found start of comment: %s', line.strip())
continue
+ # Skip begin/end deprecation macros.
+ m = re.search(r'^\s*G_GNUC_(BEGIN|END)_IGNORE_DEPRECATIONS', line)
+ if m:
+ continue
+
logging.info('no decl: %s', line.strip())
cm = [m.match(line) for m in CLINE_MATCHER]
elif cm[17]:
in_declaration = 'g-declare'
- symbol = 'G_DECLARE_' + cm[17].group(1)
+ symbol = cm[17].group(1) + cm[17].group(2)
decl = line[cm[17].end():]
# FUNCTIONS
title = '<TITLE>%s</TITLE>' % objectname
logging.info('Store struct: "%s"', symbol)
+ # Structs could contain deprecated members and that doesn't
+ # mean the whole struct is deprecated, so they are ignored when
+ # setting deprecated_conditional_nest above. Here we can check
+ # if the _DEPRECATED is between '}' and ';' which would mean
+ # the struct as a whole is deprecated.
+ if re.search(r'\n\s*\}.*_DEPRECATED.*;\s*$', decl):
+ deprecated = '<DEPRECATED/>\n'
if AddSymbolToList(slist, symbol):
structsym = in_declaration.upper()
- stripped_decl = re.sub('(%s)' % optional_decorators_regex, '', decl)
+ regex = r'(?:\s+(?:G_GNUC_\w+(?:\(\w*\))?%s))' % ignore_decorators
+ stripped_decl = re.sub(regex, '', decl)
decl_list.append('<%s>\n<NAME>%s</NAME>\n%s%s</%s>\n' %
(structsym, symbol, deprecated, stripped_decl, structsym))
if symbol in forward_decls:
const gchar *interfaces_filename = "${new_interfaces_filename}";
const gchar *prerequisites_filename = "${new_prerequisites_filename}";
const gchar *args_filename = "${new_args_filename}";
+const gchar *actions_filename = "${new_actions_filename}";
static void output_signals (void);
static void output_object_signals (FILE *fp,
static void output_args (void);
static void output_object_args (FILE *fp, GType object_type);
+static void output_actions (void);
+static void output_object_actions (FILE *fp, GType object_type);
+
int
main (${main_func_params})
{
output_object_interfaces ();
output_interface_prerequisites ();
output_args ();
+ output_actions ();
return 0;
}
object_class_name = g_type_name (object_type);
signals = g_signal_list_ids (object_type, &n_signals);
- qsort (signals, n_signals, sizeof (guint), compare_signals);
+ if (n_signals > 0)
+ qsort (signals, n_signals, sizeof (guint), compare_signals);
for (sig = 0; sig < n_signals; sig++) {
output_object_signal (fp, object_class_name, signals[sig]);
switch (type) {
case G_TYPE_NONE:
- case G_TYPE_CHAR:
case G_TYPE_UCHAR:
case G_TYPE_BOOLEAN:
- case G_TYPE_INT:
case G_TYPE_UINT:
case G_TYPE_LONG:
case G_TYPE_ULONG:
- case G_TYPE_FLOAT:
- case G_TYPE_DOUBLE:
case G_TYPE_POINTER:
/* These all have normal C type names so they are OK. */
return type_name;
+ case G_TYPE_CHAR:
+ return "char";
+
+ case G_TYPE_INT:
+ return "int";
+
+ case G_TYPE_FLOAT:
+ return "float";
+
+ case G_TYPE_DOUBLE:
+ return "double";
+
case G_TYPE_STRING:
/* A GtkString is really a gchar*. */
*is_pointer = TRUE;
- return "gchar";
+ return "char";
case G_TYPE_ENUM:
case G_TYPE_FLAGS:
/* We use a gint for both of these. Hopefully a subtype with a decent
name will be registered and used instead, as GTK+ does itself. */
- return "gint";
+ return "int";
case G_TYPE_BOXED:
/* The boxed type shouldn't be used itself, only subtypes. Though we
#endif
}
+static void
+output_actions (void)
+{
+ FILE *fp;
+ gint i;
+
+ fp = fopen (actions_filename, "w");
+ if (fp == NULL) {
+ g_warning ("Couldn't open output file: %s : %s", actions_filename, g_strerror(errno));
+ return;
+ }
+
+ for (i = 0; object_types[i]; i++) {
+ output_object_actions (fp, object_types[i]);
+ }
+
+ fclose (fp);
+}
+
+static void
+output_object_actions (FILE *fp, GType object_type)
+{
+ gpointer class;
+
+ if (!G_TYPE_IS_OBJECT (object_type))
+ return;
+
+ class = g_type_class_peek (object_type);
+ if (!class)
+ return;
+
+#ifdef GTK_IS_WIDGET_CLASS
+#if GTK_CHECK_VERSION(3,96,0)
+ if (GTK_IS_WIDGET_CLASS (class)) {
+ guint i = 0;
+ const char *action_name;
+ GType owner;
+ const GVariantType *parameter_type;
+ const char *property_name;
+ const gchar *object_class_name;
+
+ object_class_name = g_type_name (object_type);
+ while (gtk_widget_class_query_action (GTK_WIDGET_CLASS (class),
+ i,
+ &owner,
+ &action_name,
+ ¶meter_type,
+ &property_name)) {
+ i++;
+ if (owner == G_TYPE_FROM_CLASS (class))
+ fprintf (fp, "<ACTION>\\n"
+ "<NAME>%s:::%s</NAME>\\n"
+ "<PARAMETER>%s</PARAMETER>\\n"
+ "<PROPERTY>%s</PROPERTY>\\n"
+ "</ACTION>\\n\\n",
+ object_class_name,
+ action_name,
+ parameter_type ? g_variant_type_peek_string (parameter_type) : "",
+ property_name ? property_name : "");
+ }
+ }
+#endif
+#endif
+}
+
static void
output_args (void)
{
desc = g_strdup ("G_MINDOUBLE");
else if (GTKDOC_COMPARE_FLOAT (value, -G_MAXDOUBLE))
desc = g_strdup ("-G_MAXDOUBLE");
- else if (GTKDOC_COMPARE_FLOAT (value, G_MAXFLOAT))
+ else if (GTKDOC_COMPARE_FLOAT (value, (gdouble)G_MAXFLOAT))
desc = g_strdup ("G_MAXFLOAT");
- else if (GTKDOC_COMPARE_FLOAT (value, G_MINFLOAT))
+ else if (GTKDOC_COMPARE_FLOAT (value, (gdouble)G_MINFLOAT))
desc = g_strdup ("G_MINFLOAT");
- else if (GTKDOC_COMPARE_FLOAT (value, -G_MAXFLOAT))
+ else if (GTKDOC_COMPARE_FLOAT (value, (gdouble)-G_MAXFLOAT))
desc = g_strdup ("-G_MAXFLOAT");
else{
/* make sure floats are output with a decimal dot irrespective of
style_prop = FALSE;
while (TRUE) {
- qsort (properties, n_properties, sizeof (GParamSpec *), compare_param_specs);
+ if (n_properties > 0)
+ qsort (properties, n_properties, sizeof (GParamSpec *), compare_param_specs);
for (arg = 0; arg < n_properties; arg++) {
GParamSpec *spec = properties[arg];
const gchar *nick, *blurb, *dot;
new_prerequisites_filename = base_filename + '.prerequisites.new'
old_args_filename = base_filename + '.args'
new_args_filename = base_filename + '.args.new'
+ old_actions_filename = base_filename + '.actions'
+ new_actions_filename = base_filename + '.actions.new'
# generate a C program to scan the types
common.UpdateFileIfChanged(old_interfaces_filename, new_interfaces_filename, False)
common.UpdateFileIfChanged(old_prerequisites_filename, new_prerequisites_filename, False)
common.UpdateFileIfChanged(old_args_filename, new_args_filename, False)
+ common.UpdateFileIfChanged(old_actions_filename, new_actions_filename, False)
return 0
--- /dev/null
+import sys
+
+sourcedir = "@sourcedir@"
+builddir = "@builddir@"
+sys.path.append(sourcedir)
SUBDIRS = manual
endif
+EXTRA_DIST = meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = help
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 =
-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
-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 distdir-am
-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 = manual
-am__DIST_COMMON = $(srcdir)/Makefile.in
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-@HAVE_YELP_TOOLS_TRUE@SUBDIRS = manual
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu help/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu help/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# 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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-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 mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-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 -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:
-
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am clean clean-generic clean-libtool cscopelist-am ctags \
- ctags-am distclean 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 \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
--include $(top_srcdir)/git.mk
-
-# 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:
</legalnotice>
<revhistory>
+ <revision>
+ <revnumber>1.33.0</revnumber>
+ <date>1 Oct 2020</date>
+ <authorinitials>mc</authorinitials>
+ <revremark>gtk4 version</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.32.1</revnumber>
+ <date>15 Aug 2019</date>
+ <authorinitials>ss</authorinitials>
+ <revremark>dev version</revremark>
+ </revision>
<revision>
<revnumber>1.32</revnumber>
<date>15 Aug 2019</date>
--- /dev/null
+# Please keep this list sorted alphabetically.
+#
+bn_IN
+cs
+de
+el
+en_GB
+es
+fr
+gl
+gu
+pt_BR
+sl
+sv
+ta
+te
+zh_CN
\ No newline at end of file
GITIGNOREFILES = ??_??/$(HELP_ID).xml ??/$(HELP_ID).xml
+EXTRA_DIST = meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = help/manual
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 ChangeLog
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-HELP_ID = gtk-doc-manual
-HELP_FILES = \
- index.docbook \
- fdl-appendix.xml
-
-HELP_LINGUAS = bn_IN cs de el en_GB es fr gl gu pt_BR sl sv ta te zh_CN
-CLEANFILES = $(_HELP_LC_FILES) $(_HELP_LC_STAMPS) $(_HELP_MOFILES)
-GITIGNOREFILES = ??_??/$(HELP_ID).xml ??/$(HELP_ID).xml
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu help/manual/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu help/manual/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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:
- -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-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
-
-@HAVE_YELP_TOOLS_TRUE@@YELP_HELP_RULES@
-
--include $(top_srcdir)/git.mk
-
-# 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
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>
- Version 1.1, March 2000
- </releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="bn-IN">
- <bookinfo>
- <title>GTK-Doc সহায়িকা</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>GTK-Doc ব্যবহারের নির্দেশাবলী সহ, ডিভেলপরদের উদ্দেশ্যে নির্মিত সহায়িকা।</para></abstract>
- <authorgroup>
- <author>
- <firstname>Chris</firstname>
- <surname>Lyttle</surname>
- <affiliation>
- <address>
- <email>chris@wilddev.net</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Dan</firstname>
- <surname>Mueth</surname>
- <affiliation>
- <address>
- <email>d-mueth@uchicago.edu</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Stefan</firstname>
- <surname>Sauer (Kost)</surname>
- <affiliation>
- <address>
- <email>ensonic@users.sf.net</email>
- </address>
- </affiliation>
- </author>
- </authorgroup>
- <publisher role="maintainer">
- <publishername>GTK-Doc project</publishername>
- <address><email>gtk-doc-list@gnome.org</email></address>
- </publisher>
- <copyright>
- <year>2000, 2005</year>
- <holder>Dan Mueth and Chris Lyttle</holder>
- </copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the <citetitle>GNU Free Documentation
- License</citetitle>, Version 1.1 or any later version published
- by the Free Software Foundation with no Invariant Sections, no
- Front-Cover Texts, and no Back-Cover Texts. A copy of the license
- is <link linkend="fdl">included</link>.
- </para>
- <para>
- Many of the names used by companies to distinguish their products and
- services are claimed as trademarks. Where those names appear in any
- GNOME documentation, and those trademarks are made aware to the members
- of the GNOME Documentation Project, the names have been printed in caps
- or initial caps.
- </para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.28</revnumber>
- <date>24 Mar 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.27</revnumber>
- <date>07 Dec 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>fine tuning of the python port</revremark>
- </revision>
- <revision>
- <revnumber>1.26</revnumber>
- <date>11 Aug 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>port all tools from perl/bash to python</revremark>
- </revision>
- <revision>
- <revnumber>1.25</revnumber>
- <date>21 March 2016</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, test cleanups</revremark>
- </revision>
- <revision>
- <revnumber>1.24</revnumber>
- <date>29 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.23</revnumber>
- <date>17 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.22</revnumber>
- <date>07 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.21</revnumber>
- <date>17 Jul 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.20</revnumber>
- <date>16 Feb 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, markdown support, style improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.19</revnumber>
- <date>05 Jun 2013</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.18</revnumber>
- <date>14 Sep 2011</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, speedups, markdown support</revremark>
- </revision>
- <revision>
- <revnumber>1.17</revnumber>
- <date>26 Feb 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>urgent bug fix update</revremark>
- </revision>
- <revision>
- <revnumber>1.16</revnumber>
- <date>14 Jan 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes, layout improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.15</revnumber>
- <date>21 May 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bug and regression fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.14</revnumber>
- <date>28 March 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes and performance improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.13</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>broken tarball update</revremark>
- </revision>
- <revision>
- <revnumber>1.12</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>new tool features and bugfixes</revremark>
- </revision>
- <revision>
- <revnumber>1.11</revnumber>
- <date>16 November 2008</date>
- <authorinitials>mal</authorinitials>
- <revremark>GNOME doc-utils migration</revremark>
- </revision>
- </revhistory>
-
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>ভূমিকা</title>
-
- <para>এই অধ্যায়ে GTK-Doc সম্বন্ধে প্রারম্ভিক তথ্য ও এটির ব্যবহার ও মূল বিষয়বস্তু সম্পর্কে তথ্য উপস্থিত করা হয়েছে।</para>
-
- <sect1 id="whatisgtkdoc">
- <title>GTK-Doc কী?</title>
-
- <para>GTK-Doc-র সাহায্যে C কোডের জন্য নথি তৈরি করা হয়। বিভিন্ন লাইব্রেরি যেমন GTK+ ও GNOME লাইব্রেরির পাবলিক API সম্বন্ধীয় নথি তৈরি করার জন্য এটি ব্যবহৃত হয়। অ্যাপ্লিকেশনের কোড সম্পর্কিত তথ্য লেখার জন্যও এটি ব্যবহার করা হয়।</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>GTK-Doc কীভাবে ব্যবহার করা যাবে?</title>
-
- <para>
- GTK-Doc works by using documentation of functions placed inside the source files in
- specially-formatted comment blocks, or documentation added to the template files
- which GTK-Doc uses (though note that GTK-Doc will only document functions that
- are declared in header files; it won't produce output for static functions).
- </para>
-
- <para>
- GTK-Doc consists of a number of python scripts, each performing a different step
- in the process.
- </para>
-
- <para>এই প্রক্রিয়ার মধ্যে ৫-টি প্রধান ধাপ উপস্থিত রয়েছে:</para>
-
- <orderedlist>
-
- <listitem>
- <para>
- <guilabel>Writing the documentation.</guilabel>
-
- The author fills in the source files with the documentation for each
- function, macro, structs or unions, etc.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Gathering information about the code.</guilabel>
-
- <application>gtkdoc-scan</application> scans the header files of the
- code looking for declarations of functions, macros, enums, structs, and unions.
- It creates the file <filename><module>-decl-list.txt</filename> containing a list of the
- declarations, placing them into sections according to which header file they
- are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
- The author can rearrange the sections, and the order of the
- declarations within them, to produce the final desired order.
- The second file it generates is <filename><module>-decl.txt</filename>.
- This file contains the full declarations found by the scanner. If for
- some reason one would like some symbols to show up in the docs, where
- the full declaration cannot be found by the scanner or the declaration
- should appear differently, one can place entities similar to the ones in
- <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
- </para>
- <para>
- <application>gtkdoc-scangobj</application> can also be used to dynamically query a library about
- any GObject subclasses it exports. It saves information about each
- object's position in the class hierarchy and about any GObject properties
- and signals it provides.
- </para>
- <para>
- <application>gtkdoc-scanobj</application> should not be used anymore.
- It was needed in the past when GObject was still GtkObject inside gtk+.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Generating the XML and HTML/PDF.</guilabel>
-
- <application>gtkdoc-mkdb</application> turns the template files into
- XML files in the <filename class="directory">xml/</filename> subdirectory.
- If the source code contains documentation on functions, using the
- special comment blocks, it gets merged in here. If there are no tmpl files used
- it only reads docs from sources and introspection data.
- </para>
- <para>
- <application>gtkdoc-mkhtml</application> turns the XML files into HTML
- files in the <filename class="directory">html/</filename> subdirectory.
- Likewise <application>gtkdoc-mkpdf</application> turns the XML files into a PDF
- document called <filename><package>.pdf</filename>.
- </para>
- <para>
- Files in <filename class="directory">xml/</filename> and
- <filename class="directory">html/</filename> directories are always
- overwritten. One should never edit them directly.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Fixing up cross-references between documents.</guilabel>
-
- After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any
- cross-references between separate documents. For example, the GTK+
- documentation contains many cross-references to types documented in the GLib manual.
-
- When creating the source tarball for distribution, <application>gtkdoc-rebase</application>
- turns all external links into web-links. When installing distributed (pregenerated) docs
- the same application will try to turn links back to local links
- (where those docs are installed).
- </para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>GTK-Doc প্রাপ্ত করার প্রণালী</title>
-
- <sect2 id="requirements">
- <title>আবশ্যক মান</title>
- <para>
- <guilabel>python 2/3</guilabel> - the main scripts are written in python.
- </para>
- <para>
- <guilabel>xsltproc</guilabel> - the xslt processor from libxslt
- <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink>
- </para>
- <para>
- <guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets
- <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>
- </para>
- <para>
- One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> or
- <guilabel>vim</guilabel> - optional - used for syntax highlighting of examples
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>GTK-Doc পরিচিতি</title>
-
- <para>
- Historically GTK-Doc was used to generate template files from the sources
- code. These template files could be used by developers to enter the
- API documentation. This approach was rather inconvenient because it
- required to keep the generated files under version control.
- Since GTK-Doc 1.9 it became possible to place all API information
- into source comments, which made the template support obsolete.
- In version 1.26 template support has been removed.
- </para>
-
- <para>(FIXME)</para>
-
- <para>
- (authors, web pages, mailing list, license, future plans,
- comparison with other similar systems.)
- </para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>এই সহায়িকার পরিচিতি</title>
-
- <para>(FIXME)</para>
-
- <para>(উদ্দিষ্ট পাঠকবৃন্দ, প্রাপ্তির স্থান, লাইসেন্স)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Project Setup</title>
-
- <para>
- This Chapter describes the steps that are necessary to integrate GTK-Doc
- into your project. The integration of GTK-Doc into a project includes the
- following steps:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Preparation of the directory structure and creating required
- configuration files for your GTK-Doc documentation (see
- <link linkend="settingup_docfiles">
- Setting up a skeleton documentation</link>).
- </para>
- </listitem>
- <listitem>
- <para>
- Adjusting the build system to build your documentation using the
- GTK-Doc tools. Multiple build systems are supported, in
- this manual we describe how to integrate GTK-Doc with
- <link linkend="settingup_autotools">Autotools</link>,
- <link linkend="settingup_cmake">CMake</link>, and
- <link linkend="settingup_plain_makefiles">plain Makefiles</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adding GTK-Doc specific files to version control and deciding which
- files to ignore (see <link linkend="settingup_vcs">
- Integration with version control systems</link>).
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The following sections assume we work on a project called
- <code>meep</code>.
- This project contains two packages (or modules),
- a library called <code>libmeep</code> and an end-user app
- called <code>meeper</code>.
- </para>
-
- <sect1 id="settingup_docfiles">
- <title>নথির একটি পরিকাঠামো নির্ধারণের প্রণালী</title>
-
- <para>
- A common convention is to place documentation into a folder called
- <code>docs</code> inside your top-level project directory.
- We usually distinguish between <emphasis>reference
- documentation</emphasis> intended for developers and an
- <emphasis>user manual</emphasis> intended for end-users.
- Again the convention is to have separate folders for both.
- We usually place the reference documentation in a folder named
- <code>reference</code> and the end-user manual in a folder named
- <code>help</code> as.
-
- According to the above convention the documentation for our
- <code>libmeep</code> package would be placed into:
- <code>docs/reference/libmeep</code>.
-
- For packages with just one library or application
- the documentation could also be placed directly into
- <code>docs/reference</code>.
-
- It is not mandatory to use the above convention, but if you
- choose to use a different directory structure you must adjust
- your build system configuration to match your directory
- structure.
- </para>
-
- <para>
- In the following sections we will assume a directory structure
- for our <emphasis>meep</emphasis> project that uses the above
- conventions.
-
- <example>
- <title>Example directory structure of <emphasis>meep</emphasis>
- project</title>
- <programlisting><![CDATA[
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integration with Autotools</title>
- <para>
- Integration of GTK-Doc into an autotools-based build system requires the
- following steps:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Ensure that <application>gtkdocize</application> is run once before
- the <filename>configure</filename> script. If an
- <filename>autogen.sh</filename> script is present, adjust it to
- check for GTK-Doc and add a call to
- <application>gtkdocize</application>.
- </para>
-
- <para>
- The main purpose of <application>gtkdocize</application> is to
- make the <filename>gtk-doc.make</filename> Makefile and the
- <filename>gtk-doc.m4</filename> macro definition file available
- to the build system, either by copying or linking it
- into the project.
- </para>
- </listitem>
- <listitem>
- <para>
- Add the necessary <application>autoconf</application> macros to
- <filename>configure.ac</filename> to enable GTK-Doc in your build
- system to allow configuration of GTK-Doc via the generated
- <filename>configure</filename> script.
- </para>
- <para>
- Among others with registers the <code>--enable-gtk-doc</code>
- option with the <filename>configure</filename> script.
- </para>
- </listitem>
- <listitem>
- <para>
- Create an <application>automake</application> script for each
- application or library in your project. In the example used in this
- documentation this step applies to both <code>meeper</code> and
- <code>libmeep</code>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the following sections, we will perform the above steps in reverse
- order. We start with the <application>automake</application> scripts
- and work our way up to <filename>configure.ac</filename> and
- <filename>autogen.sh</filename>.
- Then we show how enable Gtk-Doc in the build system and
- how to build the documentation.
- </para>
-
- <sect2 id="settingup_automake">
- <title>automake সহযোগে একত্রিত করার প্রণালী</title>
-
- <para>
- First copy the <filename>Makefile.am</filename> from the
- <filename class="directory">examples</filename> sub-directory of the
- <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">
- gtkdoc-sources</ulink>
- to your project's reference documentation directory (e.g.
- <filename class="directory">docs/reference/<package></filename>).
- A local copy should be available under e.g.
- <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>.
- If you have multiple packages repeat this for each one.
- </para>
-
- <note>
- <simpara>
- Do not forget to add each <filename>Makefile.am</filename>
- to the <function>AC_CONFIG_FILES</function> macro in
- <filename>configure.ac</filename>. For
- <filename>docs/reference/libmeep/Makefile.am</filename> you will
- need to add the entry
- <filename>docs/reference/libmeep/Makefile</filename>
- to <function>AC_CONFIG_FILES</function>.
- </simpara>
- </note>
-
- <example>
- <title>
- Example directory structure with <filename>Makefiles.am</filename>
- </title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>
- Next, you need to customize the copied Makefiles
- and provide values for the various parameters in each
- <filename>Makefile.am</filename>.
-
- All settings have a comment above them that describes their purpose
- and how to customize the setting.
-
- Most settings are used to supply extra flags to the respective tools
- to which they apply. Every tool
- has a variable of the form <option><TOOLNAME>_OPTIONS</option>
- (e.g. the tool <application>gtkdoc-mkhtml</application> has
- an option named <code>MKHTML_OPTIONS</code>).
-
- All the tools support <option>--help</option> to list the supported
- options.
- </para>
-
- <para>
- The following list explains the most relevant options. Check the
- example <filename>Makefile.am</filename> for additional options.
-
- <itemizedlist>
- <listitem>
- <para>
- <option>DOC_MODULE</option> is used to provide the name of the
- package that is being documentated (e.g. <code>meeper</code>, or
- <code>libmeep</code>).
- </para>
- </listitem>
- <listitem>
- <para>
- <option>DOC_SOURCE_DIR</option>
- is used to specify the location
- of source directory which GTK-Doc searches for your API
- documentation. This will usually be
- <code>
- DOC_SOURCE_DIR=$(top_srcdir)/src
- </code>
- or a sub-directory of that directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HFILE_GLOB</option>
- and
- <option>CFILE_GLOB</option>
- are used for dependencies. Each option take a file-glob (e.g.
- <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>).
- The documentation will be rebuilt if any of the matched files
- change.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>EXTRA_HFILES</option>
- allows to specify extra header files
- to include when scanning for API documentation, which are not
- found under <code>DOC_SOURCE_DIR</code> (e.g. <code>
- EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>IGNORE_HFILES</option>
- allows to specify header files
- or directories to ignore when scanning for API documentation.
- Use the basename of the file or directory (e.g. <code>
- IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HTML_IMAGES</option>
- allows to specify images files which
- will be copied into the <filename>html/</filename> directory of
- the generated documentation.
- If your API documentation includes any images they need to be
- added to this
- option (e.g. <code>
- HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>content_files</option>
- allows to specify extra files
- that are included by
- <code>$(DOC_MAIN_SGML_FILE)</code>
- (e.g. <code>
- content_files=running.xml building.xml changes-2.0.xml</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>expand_content_files</option>
- allows to specify files
- where <emphasis>gtk-doc abbreviations</emphasis> such as
- <code>#GtkWidget</code>
- are expanded (e.g. <code>
- expand_content_files=running.xml</code>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>autoconf সহযোগে একত্রিত করার প্রণালী</title>
-
- <para>
- Integration with <application>autoconf</application> is very simple
- and includes one required step and an additional optional
- (but recommended) step.
-
- The first step is to add the <function>GTK_DOC_CHECK</function> macro
- to your <filename>configure.ac</filename> script. This registers
- several configure options to enable GTK-Doc and allows you
- to set default arguments for <application>gtkdocize</application>.
- </para>
-
- <warning>
- <simpara>
- Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented.
- The macro must start at the beginning of the line and should not
- start with whitespace.
- </simpara>
- </warning>
-
- <para>
- The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code>
- to your <filename>configure.ac</filename>. This is not required
- but helps <application>gtkdocize</application> to automatically copy
- the macro definition (e.g <filename>gtk-doc.m4</filename>) which
- contains the <function>GTK_DOC_CHECK</function> macro to your
- project's macro directory. Without this, the GTK_DOC_CHECK macro
- might not be found and you would need to explicitly tell the
- <application>aclocal</application> tool where to find the macro
- definition file.
- </para>
-
- <para>
- <example><title>Minimal integration with autoconf</title>
- <programlisting><![CDATA[
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The above example works, but will require all developers to have
- gtk-doc installed. A better way is to make building the documentation
- optional as shown in the next example:
-
- <example>
- <title>Integration with optional gtk-doc dependency</title>
- <programlisting><![CDATA[
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The first argument is used to check for the Gtk-Doc version at
- configure time. The 2nd, optional argument is used by
- <application>gtkdocize</application>.
- The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure
- switches:
- </para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=PATH : ইনস্টল করা ডকুমেন্টের পাথ</para></listitem>
- <listitem><para>--enable-gtk-doc : use gtk-doc to build documentation [default=no]</para></listitem>
- <listitem><para>--enable-gtk-doc-html : build documentation in html format [default=yes]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : build documentation in pdf format [default=no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>
- GTK-Doc is disabled by default! Remember to pass the option
- <option>'--enable-gtk-doc'</option> to the next
- <filename>configure</filename> run. Otherwise pregenerated documentation is installed
- (which makes sense for users but not for developers).
- </para>
- </important>
-
- <para>
- After all changes to <filename>configure.ac</filename> are made,
- update the <filename>configure</filename> file. This can be done by
- re-running <code>autogen.sh</code>.
- </para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>autogen সহযোগে একত্রিত করার প্রণালী</title>
-
- <para>
- Most projects will have an <filename>autogen.sh</filename> script to
- setup the build infrastructure after the project was checked out from
- a version control system (such as git or svn). GTK-Doc comes with a
- script called <application>gtkdocize</application> which can be used
- to copy the necessary files needed by Gtk-Doc to the source directory.
- </para>
-
- <para>
- It should be run before autoreconf, autoheader, automake or autoconf.
- </para>
-
- <para>
- <example><title>autogen.sh থেকে gtkdocsize সঞ্চালনার প্রণালী</title>
- <programlisting><![CDATA[
-gtkdocize || exit 1
-]]></programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Conditionally run gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-]]></programlisting>
- </example>
- </para>
-
- <para>
- When running <application>gtkdocize</application> it copies
- <filename>gtk-doc.make</filename> to your project root (or any
- directory specified by the <option>--docdir</option> option).
- </para>
-
- <para>
- <application>gtkdocize</application> checks your
- <filename>configure.ac</filename> script for
- the <function>GTK_DOC_CHECK</function> macro.
- The <function>GTK_DOC_CHECK</function> macro can be used to pass
- extra arguments to the <application>gtkdocize</application> script.
- the 2nd parameter in the <function>GTK_DOC_CHECK</function> macro.
- </para>
-
- <para>
- Alternatively, additional arguments can also be passed to
- <application>gtkdocize</application> via the
- <function>GTKDOCIZE_FLAGS</function> environment variable, or by
- directly specifying them to <application>gtkdocize</application>
- in <filename>autogen.sh</filename>.
- </para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Executing GTK-Doc from the Build System</title>
-
- <para>
- After the previous steps it's time to run the build. First we need to
- rerun <filename>autogen.sh</filename>. If this script runs configure
- for you, then give it the <option>--enable-gtk-doc</option> option.
- Otherwise manually run <filename>configure</filename> with this option
- afterwards.
- </para>
- <para>
- The first make run generates several additional files in the doc-directories.
- The important ones are:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
- <para>
- <example><title>doc build সঞ্চালনার প্রণালী</title>
- <programlisting><![CDATA[
-./autogen.sh --enable-gtk-doc
-make
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Now you can point your browser to
- <filename>docs/reference/<package>/index.html</filename>.
- With this initial setup you will only see a very simple document.
- The next chapter will teach you how to add API documentation to your
- code via special comment blocks. The Chapter afterwards introduces
- <link linkend="metafiles">additional files</link> and shows how to
- edit the <link linkend="metafiles_master">master template</link> to
- add additional chapters and sections to your documentation files.
- </para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integration with CMake build systems</title>
-
- <para>
- GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module
- (and the corresponding <filename>GtkDocConfigVersion.cmake</filename>
- module). This provides a <literal>gtk_doc_add_module</literal>
- command that you can set in your <filename>CMakeLists.txt</filename>
- file.
- </para>
-
- <para>
- The following example shows how to use this command.
- <example><title>Example of using GTK-Doc from CMake</title>
- <programlisting><![CDATA[
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integration with plain makefiles or other build systems</title>
-
- <para>
- In the case one does not want to use automake and therefore
- <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
- in the right order in own makefiles (or other build tools).
- </para>
-
- <para>
- <example><title>Documentation build steps</title>
- <programlisting><![CDATA[
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-]]></programlisting>
- </example>
- </para>
-
- <para>
- One will need to look at the <filename>Makefile.am</filename> and
- <filename>gtk-doc.mak</filename> to pick the extra options needed.
- </para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>ভার্সান কনট্রোল সিস্টেমের সাথে একত্রিত করার প্রণালী</title>
-
- <para>
- As a rule of thumb, it's the files you edit which should go under
- version control. For typical projects it's these files:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>,
- <filename>Makefile.am</filename>.
- </para>
- <para>
- Files in the <filename>xml/</filename> and <filename>html/</filename>
- directories should not go under version control. Neither should any of
- the <filename>.stamp</filename> files.
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>কোডের জন্য সহায়ক নথি লেখার প্রণালী</title>
-
- <para>
- GTK-Doc uses source code comment with a special syntax for code documentation.
- Further it retrieves information about your project structure from other
- sources. During the next section you will find all information about the
- syntax of the comments.
- </para>
-
- <para>
- The GTK-Doc scanner can handle the majority of C headers fine. In the
- case of receiving warnings from the scanner that look like a special
- case, one can hint GTK-Doc to skip over them.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-]]></programlisting>
- </example>
- </para>
-
- <note>
- <title>Limitations</title>
- <para>
- Note, that GTK-Doc's supports
- <code>#ifndef(__GTK_DOC_IGNORE__)</code> but not
- <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations.
- </para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>নথিপত্রের মধ্যে বিবৃতি</title>
-
- <para>
- A multiline comment that starts with an additional '*' marks a
- documentation block that will be processed by the GTK-Doc tools.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-/**
- * identifier:
- * documentation ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The 'identifier' is one line with the name of the item the comment is
- related to. The syntax differs a little depending on the item.
- (TODO add table showing identifiers)
- </para>
-
- <para>
- The 'documentation' block is also different for each symbol type. Symbol
- types that get parameters such as functions or macros have the parameter
- description first followed by a blank line (just a '*').
- Afterwards follows the detailed description. All lines (outside program
- listings and CDATA sections) just containing a ' *' (blank-asterisk) are
- converted to paragraph breaks.
- If you don't want a paragraph break, change that into ' * '
- (blank-asterisk-blank-blank). This is useful in preformatted text (code
- listings).
- </para>
-
- <tip>
- <para>
- When documenting code, describe two aspects:
- <itemizedlist>
- <listitem>
- <para>
- What it is: The name for a class or function can sometimes
- be misleading for people coming from a different background.
- </para>
- </listitem>
- <listitem>
- <para>
- What it does: Tell about common uses. Put it in relation
- with the other API.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </tip>
-
- <para>
- One advantage of hyper-text over plain-text is the ability to have links
- in the document. Writing the correct markup for a link can be tedious
- though. GTK-Doc comes to help by providing several useful abbreviations.
- <itemizedlist>
- <listitem>
- <para>
- Use function() to refer to functions or macros which take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use @param to refer to parameters. Also use this when referring to
- parameters of other functions, related to the one being described.
- </para>
- </listitem>
- <listitem>
- <para>
- Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #symbol to refer to other types of symbol, e.g. structs and
- enums and macros which don't take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object::signal to refer to a GObject signal.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object:property to refer to a GObject property.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Struct.field to refer to a field inside a structure and
- #GObjectClass.foo_bar() to refer to a vmethod.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <tip>
- <para>নথির মধ্যে কিছু বিশেষ অক্ষর যেমন '<', '>', '()', '@', '%', অথবা '#' প্রভৃতি ব্যবহার করতে ইচ্ছুক হলে GTK-Doc দ্বারা এইগুলিকে পরিবর্তন করতে প্রতিরোধ করার জন্য যথাক্রমে "&lt;", "&gt;", "&lpar;", "&rpar;", "&commat;", "&percnt;" and "&num;" XML এনটিটিগুলি ব্যবহার করুন অথবা ব্যাক-স্ল্যাশ চিহ্ন '\' সহযোগে এস্কেপ করানো আবশ্যক।</para>
- </tip>
-
- <para>
- DocBook can do more than just links. One can also have lists,
- examples, headings, and images. As of version 1.20, the
- preferred way is to use a subset of the basic text formatting
- syntax called
- <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>.
- On older GTK-Doc versions any documentation that includes
- Markdown will be rendered as is. For example, list items will
- appear as lines starting with a dash.
- </para>
-
- <para>
- While markdown is now preferred one can mix both. One limitation here is
- that one can use docbook xml within markdown, but markdown within
- docbook xml is not supported.
- </para>
-
- <para>
- In older GTK-Doc releases, if you need support for additional
- formatting, you would need to enable the usage of docbook
- XML tags inside doc-comments by putting <option>--xml-mode</option>
- (or <option>--sgml-mode</option>) in the variable
- <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
- </para>
-
- <para>
- <example><title>GTK-Doc comment block using Markdown</title>
- <programlisting><
- *
- * 
- *
- * [A link to the heading anchor above][heading-two]
- *
- * A C-language example:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- More examples of what markdown tags are supported can be found in the
- <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">GTK+ Documentation Markdown Syntax Reference</ulink>.
- </para>
-
- <tip>
- <para>
- As already mentioned earlier GTK-Doc is for documenting public API. Thus
- one cannot write documentation for static symbols. Nevertheless it is good
- to comment those symbols too. This helps other developers to understand
- your code.
- Therefore we recommend to comment these using normal comments (without the
- 2nd '*' in the first line).
- If later the function needs to be made public, all one needs to do is to
- add another '*' in the comment block and insert the symbol name at the
- right place inside the sections file.
- </para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>নথিপত্রের বিভাগ</title>
-
- <para>
- Each section of the documentation contains information about one class
- or module. To introduce the component one can write a section block.
- The short description is also used inside the table of contents.
- All the @fields are optional.
- </para>
-
- <para>
- <example><title>বিভাগ কমেন্ট ব্লক</title>
- <programlisting><![CDATA[
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<name></term>
- <listitem>
- <para>
- The name links the section documentation to the respective part in
- the <filename><package>-sections.txt</filename> file. The
- name given here should match the <FILE> tag in the
- <filename><package>-sections.txt</filename> file.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>এক পংক্তি দ্বারা উল্লিখিত বিভাগের বিবরণ, সূচিপত্রের লিংকের পরে ও বিভাগের পৃষ্ঠার উপরে এই বিবরণ পরে প্রদর্শন করা হবে।</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>
- The section title defaults to <name> from the SECTION
- declaration. It can be overridden with the @title field.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>
- Overrides the use of title as a section identifier. For GObjects
- the <title> is used as a section_id and for other sections
- it is <MODULE>-<title>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>
- A list of symbols that are related to this section.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>
- An informal description of the stability level this API has.
- We recommend the use of one of these terms:
- <itemizedlist>
- <listitem>
- <para>
- Stable
- - The intention of a Stable interface is to enable arbitrary
- third parties to develop applications to these interfaces,
- release them, and have confidence that they will run on all
- minor releases of the product (after the one in which the
- interface was introduced, and within the same major release).
- Even at a major release, incompatible changes are expected
- to be rare, and to have strong justifications.
- </para>
- </listitem>
- <listitem>
- <para>
- Unstable
- - Unstable interfaces are experimental or transitional.
- They are typically used to give outside developers early
- access to new or rapidly changing technology, or to provide
- an interim solution to a problem where a more general
- solution is anticipated.
- No claims are made about either source or binary
- compatibility from one minor release to the next.
- </para>
- </listitem>
- <listitem>
- <para>
- Private
- - An interface that can be used within the GNOME stack
- itself, but that is not documented for end-users. Such
- functions should only be used in specified and documented
- ways.
- </para>
- </listitem>
- <listitem>
- <para>
- Internal
- - An interface that is internal to a module and does not
- require end-user documentation. Functions that are
- undocumented are assumed to be Internal.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>
- The <literal>#include</literal> files to show in the section
- synopsis (a comma separated list), overriding the global
- value from the <link linkend="metafiles_sections">section
- file</link> or command line. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>
- The image to display at the top of the reference page for this
- section. This will often be some sort of a diagram to illustrate
- the visual appearance of a class or a diagram of its relationship
- to other classes. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>
- To avoid unnecessary recompilation after doc-changes put the section
- docs into the c-source where possible.
- </para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>নথিপত্রের সংকেত</title>
-
- <para>
- Each symbol (function, macro, struct, enum, signal and property) is
- documented in a separate block. The block is best placed close to the
- definition of the symbols so that it is easy to keep them in sync.
- Thus functions are usually documented in the c-source and macros,
- structs and enums in the header file.
- </para>
-
- <sect2><title>সাধারণ ট্যাগ</title>
-
- <para>
- You can add versioning information to all documentation elements to tell
- when an API was introduced, or when it was deprecated.
- </para>
-
- <variablelist><title>সংস্করণ সংক্রান্ত ট্যাগ</title>
- <varlistentry><term>প্রারম্ভ:</term>
- <listitem>
- <para>API-টি কোডের কোন সংস্করণ থেকে উপলব্ধ রয়েছে সেটির বিবরণ।</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>অবচিত:</term>
- <listitem>
- <para>উল্লিখিত ফাংশান ব্যবহার না করার চিহ্নকারী অনুচ্ছেদ। এই বিবরণের সাহায্যে পাঠাকদেরকে নতুন API নির্দেশ করা হবে।</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- You can also add stability information to all documentation elements
- to indicate whether API stability is guaranteed for them for all
- future minor releases of the project.
- </para>
-
- <para>
- The default stability level for all documentation elements can be set
- by passing the <option>--default-stability</option> argument to
- <application>gtkdoc-mkdb</application> with one of the values below.
- </para>
-
- <variablelist><title>Stability Tags</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>
- Mark the element as stable. This is for public APIs which are
- guaranteed to remain stable for all future minor releases of the
- project.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>
- Mark the element as unstable. This is for public APIs which are
- released as a preview before being stabilised.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>
- Mark the element as private. This is for interfaces which can be
- used by tightly coupled modules, but not by arbitrary third
- parties.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>সাধারণ ট্যাগ</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Annotations</title>
-
- <para>
- Documentation blocks can contain annotation-tags. These tags will be
- rendered with tooltips describing their meaning. The tags are used by
- gobject-introspection to generate language bindings. A detailed list
- of the supported tags can be found on
- <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">the wiki</ulink>.
- </para>
-
- <example><title>Annotations</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: (annotation): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (another annotation)
- * (and another annotation)
- * @foo: (annotation) (another annotation): some foo
- *
- * Sets bar on @foo.
- */
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>ফাংশান কমেন্টের ব্লক</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document whether returned objects, lists, strings, etc, should be
- freed/unrefed/released.
- </para>
- </listitem>
- <listitem>
- <para>
- Document whether parameters can be NULL, and what happens if they are.
- </para>
- </listitem>
- <listitem>
- <para>
- Mention interesting pre-conditions and post-conditions where appropriate.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <para>
- Gtk-doc assumes all symbols (macros, functions) starting with '_' are
- private. They are treated like static functions.
- </para>
-
- <example><title>ফাংশান কমেন্টের ব্লক</title>
- <programlisting><![CDATA[
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-]]></programlisting>
- </example>
-
- <variablelist><title>ফাংশান সংক্রান্ত ট্যাগ</title>
- <varlistentry><term>প্রাপ্ত মান:</term>
- <listitem>
- <para>প্রাপ্ত ফলাফলের বর্ণনা উপলব্ধকারী অনুচ্ছেদ।</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>
- In case the function has variadic arguments, you should use this
- tag (@Varargs: does also work for historic reasons).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>Property কমেন্টের ব্লক</title>
-
- <example><title>Property কমেন্টের ব্লক</title>
- <programlisting><![CDATA[
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Signal কমেন্টের ব্লক</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document when the signal is emitted and whether it is emitted before
- or after other signals.
- </para>
- </listitem>
- <listitem>
- <para>
- Document what an application might do in the signal handler.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <example><title>Signal কমেন্টের ব্লক</title>
- <programlisting><![CDATA[
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Struct কমেন্টের ব্লক</title>
- <example><title>Struct কমেন্টের ব্লক</title>
- <programlisting><![CDATA[
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private struct fields
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- <para>
- If the first field is "g_iface", "parent_instance" or "parent_class"
- it will be considered private automatically and doesn't need to be
- mentioned in the comment block.
- </para>
-
- <para>
- Struct comment blocks can also be used for GObjects and GObjectClasses.
- It is usually a good idea to add a comment block for a class, if it has
- vmethods (as this is how they can be documented). For the GObject
- itself one can use the related section docs, having a separate block
- for the instance struct would be useful if the instance has public
- fields. One disadvantage here is that this creates two index entries
- of the same name (the structure and the section).
- </para>
-
- </sect2>
-
- <sect2><title>Enum কমেন্টের ব্লক</title>
- <example><title>Enum কমেন্টের ব্লক</title>
- <programlisting><![CDATA[
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private enum values
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Inline program documentation</title>
- <para>
- You can document programs and their commandline interface using inline
- documentation.
- </para>
-
- <variablelist>
- <title>Tags</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>
- Defines the start of a program documentation.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>
- Defines a short description of the program. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>
- Defines the arguments, or list of arguments that the program can take.
- (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>
- See Also manual page section. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>
- Argument(s) passed to the program and their description. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>
- A longer description of the program.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>প্রাপ্ত মান:</term>
- <listitem>
- <para>
- Specify what value(s) the program returns. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Example of program documentation.</title>
- <example><title>Program documentation block</title>
- <programlisting><![CDATA[
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-]]></programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>সুবিধাজনক DocBook ট্যাগ</title>
-
- <para>কোড নথিভুক্ত করার সময় সহায়ক কিছু DocBook ট্যাগ এইখানে উল্লেখ করা হল।</para>
-
- <para>
- To link to another section in the GTK docs:
-
- <informalexample>
- <programlisting><![CDATA[
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-]]></programlisting>
- </informalexample>
- The linkend is the SGML/XML id on the top item of the page you want to link to.
- For most pages this is currently the part ("gtk", "gdk", "glib") and then
- the page title ("Hash Tables"). For widgets it is just the class name.
- Spaces and underscores are converted to '-' to conform to SGML/XML.
- </para>
-
- <para>
- To refer to an external function, e.g. a standard C function:
- <informalexample>
- <programlisting><![CDATA[
-<function>...</function>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include bulleted lists:
- <informalexample>
- <programlisting><![CDATA[
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include a note which stands out from the text:
- <informalexample>
- <programlisting><![CDATA[
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a type:
- <informalexample>
- <programlisting><![CDATA[
-<type>unsigned char</type>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to an external structure (not one described in the GTK docs):
- <informalexample>
- <programlisting><![CDATA[
-<structname>XFontStruct</structname>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a field of a structure:
- <informalexample>
- <programlisting><![CDATA[
-<structfield>len</structfield>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a class name, we could possibly use:
- <informalexample>
- <programlisting><![CDATA[
-<classname>GtkWidget</classname>
-]]></programlisting>
- </informalexample>
- but you'll probably be using #GtkWidget instead (to automatically create
- a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
- </para>
-
- <para>
- To emphasize text:
- <informalexample>
- <programlisting><![CDATA[
-<emphasis>This is important</emphasis>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- For filenames use:
- <informalexample>
- <programlisting><![CDATA[
-<filename>/home/user/documents</filename>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to keys use:
- <informalexample>
- <programlisting><![CDATA[
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-]]></programlisting>
- </informalexample>
- </para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Filling the extra files</title>
-
- <para>
- There are a couple of extra files, that need to be maintained along with
- the inline source code comments:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
-
- <sect1 id="metafiles_types">
- <title>Editing the types file</title>
-
- <para>
- If your library or application includes GObjects, you want
- their signals, arguments/parameters and position in the hierarchy to be
- shown in the documentation. All you need to do, is to list the
- <function>xxx_get_type</function> functions together with their include
- inside the <filename><package>.types</filename> file.
- </para>
-
- <para>
- <example><title>Example <package>.types file</title>
- <programlisting><![CDATA[
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
- Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
- use this approach you should not dist the types file nor have it under version control.
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>প্রধান নথি সম্পাদনা</title>
-
- <para>
- GTK-Doc produces documentation in DocBook SGML/XML. When processing the
- inline source comments, the GTK-Doc tools generate one documentation
- page per class or module as a separate file. The master document
- includes them and place them in an order.
- </para>
-
- <para>
- While GTK-Doc creates a template master document for you, later runs will
- not touch it again. This means that one can freely structure the
- documentation. That includes grouping pages and adding extra pages.
- GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
- Its a good idea to look at this from time to time to see if there are
- some new goodies introduced there.
- </para>
-
- <tip>
- <para>
- Do not create tutorials as extra documents. Just write extra chapters.
- The benefit of directly embedding the tutorial for your library into
- the API documentation is that it is easy to link for the tutorial to
- symbol documentation. Apart chances are higher that the tutorial gets
- updates along with the library.
- </para>
- </tip>
-
- <para>
- So what are the things to change inside the master document? For a start
- is only a little. There are some placeholders (text in square brackets)
- there which you should take care of.
- </para>
-
- <para>
- <example><title>প্রধা নথির হেডার</title>
- <programlisting><![CDATA[
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- In addition a few option elements are created in commented form. You can
- review these and enable them as you like.
- </para>
-
- <para>
- <example><title>Optional part in the master document</title>
- <programlisting><![CDATA[
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Finally you need to add new section whenever you introduce one. The
- <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> tool will
- remind you of newly generated xml files that are not yet included into
- the doc.
- </para>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
- <chapter>
- <title>my library</title>
- <xi:include href="xml/object.xml"/>
- ...
-]]></programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>বিভাগের ফাইল সম্পাদনা</title>
-
- <para>
- The section file is used to organise the documentation output by
- GTK-Doc. Here one specifies which symbol belongs to which module or
- class and control the visibility (public or private).
- </para>
-
- <para>
- The section file is a plain text file with tags delimiting sections.
- Blank lines are ignored and lines starting with a '#' are treated as
- comment lines.
- </para>
-
- <note>
- <para>
- While the tags make the file look like xml, it is not. Please do not
- close tags like <SUBSECTION>.
- </para>
- </note>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The <FILE> ... </FILE> tag is used to specify the file name,
- without any suffix. For example, using '<FILE>gnome-config</FILE>'
- will result in the section declarations being output in the template
- file <filename>tmpl/gnome-config.sgml</filename>, which will be
- converted into the DocBook XML file <filename>xml/gnome-config.sgml</filename>
- or the DocBook XML file <filename>xml/gnome-config.xml</filename>.
- (The name of the HTML file is based on the module name and the section
- title, or for GObjects it is based on the GObjects class name converted
- to lower case).
- </para>
-
- <para>
- The <TITLE> ... </TITLE> tag is used to specify the title of
- the section. It is only useful before the templates (if used) are
- initially created, since the title set in the template file overrides
- this. Also if one uses SECTION comment in the sources, this is obsolete.
- </para>
-
- <para>
- You can group items in the section by using the <SUBSECTION> tag.
- Currently it outputs a blank line between subsections in the synopsis
- section.
- You can also use <SUBSECTION Standard> for standard GObject
- declarations (e.g. the functions like g_object_get_type and macros like
- G_OBJECT(), G_IS_OBJECT() etc.).
- Currently these are left out of the documentation.
- You can also use <SUBSECTION Private> for private declarations
- which will not be output (it is a handy way to avoid warning messages
- about unused declarations).
- If your library contains private types which you don't want to appear in
- the object hierarchy and the list of implemented or required interfaces,
- add them to a Private subsection.
- Whether you would place GObject and GObjectClass like structs in public
- or Standard section depends if they have public entries (variables,
- vmethods).
- </para>
-
- <para>
- You can also use <INCLUDE> ... </INCLUDE> to specify the
- #include files which are shown in the synopsis sections.
- It contains a comma-separate list of #include files, without the angle
- brackets. If you set it outside of any sections, it acts for all
- sections until the end of the file. If you set it within a section, it
- only applies to that section.
- </para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>ফলাফল নিয়ন্ত্রণের প্রণালী</title>
-
- <para>
- A GTK-Doc run generates report files inside the documentation directory.
- The generated files are named:
- <filename><package>-undocumented.txt</filename>,
- <filename><package>-undeclared.txt</filename> and
- <filename><package>-unused.txt</filename>.
- All those are plain text files that can be viewed and postprocessed easily.
- </para>
-
- <para>
- The <filename><package>-undocumented.txt</filename> file starts with
- the documentation coverage summary. Below are two sections divided by
- blank lines. The first section lists undocumented or incomplete symbols.
- The second section does the same for section docs. Incomplete entries are
- those, which have documentation, but where e.g. a new parameter has been
- added.
- </para>
-
- <para>
- The <filename><package>-undeclared.txt</filename> file lists symbols
- given in the <filename><package>-sections.txt</filename> but not
- found in the sources. Check if they have been removed or if they are
- misspelled.
- </para>
-
- <para>
- The <filename><package>-unused.txt</filename> file lists symbol
- names, where the GTK-Doc scanner has found documentation, but does not
- know where to put it. This means that the symbol has not yet been added to
- the <filename><package>-sections.txt</filename> file.
- </para>
-
- <tip>
- <para>
- Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
- If at least GTK-Doc 1.9 is installed, this will run sanity checks during
- <command>make check</command> run.
- </para>
- </tip>
-
- <para>
- One can also look at the files produced by the source code scanner:
- <filename><package>-decl-list.txt</filename> and
- <filename><package>-decl.txt</filename>. The first one can be
- compared with the section file if that is manually maintained. The second
- lists all declarations from the headers. If a symbol is missing one could
- check if this file contains it.
- </para>
-
- <para>
- If the project is GObject based, one can also look into the files produced
- by the object scanner:
- <filename><package>.args.txt</filename>,
- <filename><package>.hierarchy.txt</filename>,
- <filename><package>.interfaces.txt</filename>,
- <filename><package>.prerequisites.txt</filename> and
- <filename><package>.signals.txt</filename>. If there are missing
- symbols in any of those, one can ask GTK-Doc to keep the intermediate
- scanner file for further analysis, by running it as
- <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
- </para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernizing the documentation</title>
-
- <para>
- GTK-Doc has been around for quite some time. In this section we list new
- features together with the version since when it is available.
- </para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>
- When using xml instead of sgml, one can actually name the master
- document <filename><package>-docs.xml</filename>.
- </para>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-sections</option>
- in <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>-sections.txt</filename> is autogenerated and
- can be removed from the vcs. This only works nicely for projects that
- have a very regular structure (e.g. each .{c,h} pair will create new
- section). If one organize a project close to that updating a manually
- maintained section file can be as simple as running
- <code>meld <package>-decl-list.txt <package>-sections.txt</code>.
- </para>
-
- <para>
- Version 1.8 already introduced the syntax for documenting sections in
- the sources instead of the separate files under <filename class="directory">tmpl</filename>.
- This version adds options to switch the whole doc module to not use the
- extra tmpl build step at all, by using <option>--flavour no-tmpl</option>
- in <filename>configure.ac</filename>. If you don't have a <filename class="directory">tmpl</filename>
- checked into your source control system and haven't yet switched, just
- add the flag to <filename>configure.ac</filename> and you are done.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in
- <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>.types</filename> is autogenerated and can be
- removed from the vcs. When using this feature it is important to also
- setup the <varname>IGNORE_HFILES</varname> in
- <filename>Makefile.am</filename> for code that is build conditionally.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>
- This version includes a new tool called gtkdoc-check. This tool can run
- a set of sanity checks on your documentation. It is enabled by adding
- these lines to the end of <filename>Makefile.am</filename>.
- <example><title>Enable gtkdoc-check</title>
- <programlisting><![CDATA[
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>
- Version 1.18 brought some initial markdown support. Using markdown in
- doc comments is less intrusive than writing docbook xml. This version
- improves a lot on this and add a lot more styles. The section that
- explains the <link linkend="documenting_syntax">comment syntax</link>
- has all the details.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>
- The makefiles shipped with this version generate an entity file at <filename>xml/gtkdocentities.ent</filename>,
- containing entities for e.g. package_name and package_version. You can
- use this e.g. in the main xml file to avoid hardcoding the version
- number. Below is an example that shows how the entity file is included
- in the master template and how the entities are used.
- The entities can also be used in all
- generated files, GTK-Doc will use the same xml header in generated xml
- files.
- <example><title>Use pre-generated entities</title>
- <programlisting><![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-]]></programlisting>
- </example>
- </para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Documenting other interfaces</title>
-
- <para>
- So far we have been using GTK-Doc to document the API of code. The next
- sections contain suggestions how the tools can be used to document other
- interfaces too.
- </para>
-
- <sect1 id="commandline-interfaces">
- <title>Command line options and man pages</title>
-
- <para>
- As one can generate man pages for a docbook refentry as well, it sounds
- like a good idea to use it for that purpose. This way the interface is
- part of the reference and one gets the man-page for free.
- </para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Document the tool</title>
-
- <para>
- Create one refentry file per tool. Following
- <link linkend="settingup_docfiles">our example</link> we would call it
- <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
- tags that should be used and can look at generated file in the xml
- subdirectory as well as examples e.g. in glib.
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Adding the extra configure check</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-]]></programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Adding the extra makefile rules</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-]]></programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>DBus interfaces</title>
-
- <para>
- (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
-http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Frequently asked questions</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>প্রশ্ন</segtitle>
- <segtitle>উত্তর</segtitle>
- <seglistitem>
- <seg>কোনো ক্লাস অনুক্রম নেই।</seg>
- <seg>
- The objects <function>xxx_get_type()</function> function has not been
- entered into the <filename><package>.types</filename> file.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>তথাপি ক্লাসের কোনো অনুক্রম নেই।</seg>
- <seg>
- Missing or wrong naming in <filename><package>-sections.txt</filename>
- file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explanation</ulink>).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>এখনো কোনো ক্লাস অনুক্রম নেই।</seg>
- <seg>
- Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
- part of the normal section (don't put this into Standard or Private
- subsections).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>সংকেতের ইন্ডেক্স অনুপস্থিত।</seg>
- <seg>
- Does the <filename><package>-docs.{xml,sgml}</filename> contain a
- index that xi:includes the generated index?
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>সিম্বলগুলি doc-section-র সাথে যুক্ত নয়।</seg>
- <seg>
- Is the doc-comment using the correct markup (added #,% or ())?
- Check if the gtkdoc-fixxref warns about unresolvable xrefs.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>নথির মধ্যে নতুন শ্রেণী উপস্থিত নেই।</seg>
- <seg>
- Is the new page xi:included from
- <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>নথির মধ্যে নতুন সিম্বল অন্তর্ভুক্ত নয়।</seg>
- <seg>
- Is the doc-comment properly formatted. Check for spelling mistakes in
- the begin of the comment. Check if the gtkdoc-fixxref warns about
- unresolvable xrefs. Check if the symbol is correctly listed in the
- <filename><package>-sections.txt</filename> in a public subsection.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>ক্লাস অনুক্রম থেকে টাইপ অনুপস্থিত।</seg>
- <seg>
- If the type is listed in <filename><package>.hierarchy</filename>
- but not in <filename>xml/tree_index.sgml</filename> then double check
- that the type is correctly placed in the <filename><package>-sections.txt</filename>.
- If the type instance (e.g. <type>GtkWidget</type>) is not listed or
- incidentally marked private it will not be shown.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>সকল gobject অ্যানোটেশনের জন্য foldoc লিংক পাওয়া গিয়েছে।</seg>
- <seg>
- Check that <filename>xml/annotation-glossary.xml</filename> is
- xi:included from <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parameter described in source code comment block but does not exist</seg>
- <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>multiple "IDs" for constraint linkend: XYZ</seg>
- <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Tools related to gtk-doc</title>
-
- <para>
- GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
- integration plugin, that adds API docs to a trac site and integrates with
- the trac search.
- </para>
- <para>
- Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
- tags in the API to determine the minimum required version.
- </para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>
- Version 1.1, March 2000
- </releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
# Czech translation of gtk-doc.
# Copyright (C) 2009 gtk-doc's COPYRIGHT HOLDER
# This file is distributed under the same license as the gtk-doc package.
-# Marek Černocký <marek@manet.cz>, 2009, 2015, 2016, 2017, 2018.
+# Marek Černocký <marek@manet.cz>, 2009, 2015, 2016, 2017, 2018, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gtk-doc master\n"
-"POT-Creation-Date: 2018-10-03 08:17+0000\n"
-"PO-Revision-Date: 2018-10-03 14:43+0200\n"
+"POT-Creation-Date: 2019-10-02 10:49+0000\n"
+"PO-Revision-Date: 2020-03-08 10:38+0100\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: čeština <gnome-cs-list@gnome.org>\n"
"Language: cs\n"
#. (itstool) path: bookinfo/copyright
#: C/index.docbook:52
-msgid "<year>2007-2015</year> <holder>Stefan Sauer (Kost)</holder>"
-msgstr "<year>2007-2015</year> <holder>Stefan Sauer (Kost)</holder>"
+msgid "<year>2007-2019</year> <holder>Stefan Sauer (Kost)</holder>"
+msgstr "<year>2007-2019</year> <holder>Stefan Sauer (Kost)</holder>"
#. (itstool) path: legalnotice/para
#: C/index.docbook:65
#. (itstool) path: revhistory/revision
#: C/index.docbook:83
msgid ""
-"<revnumber>1.29.1</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
-"authorinitials> <revremark>development</revremark>"
+"<revnumber>1.32.1</revnumber> <date>15 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>dev version</revremark>"
msgstr ""
-"<revnumber>1.29.1</revnumber> <date>28. srpna 2018</date> "
-"<authorinitials>ss</authorinitials> <revremark>vývoj</revremark>"
+"<revnumber>1.32.1</revnumber> <date>15. srpna 2019</date> "
+"<authorinitials>ss</authorinitials> <revremark>vývojová verze</revremark>"
#. (itstool) path: revhistory/revision
#: C/index.docbook:89
msgid ""
+"<revnumber>1.32</revnumber> <date>15 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>hotfix release</revremark>"
+msgstr ""
+"<revnumber>1.32</revnumber> <date>15. srpna 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>opravné vydání</revremark>"
+
+#. (itstool) path: revhistory/revision
+#: C/index.docbook:95
+msgid ""
+"<revnumber>1.31</revnumber> <date>05 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>refactorings and more test coverage</revremark>"
+msgstr ""
+"<revnumber>1.31</revnumber> <date>5. srpna 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>přepracování a větší pokrytí testy</revremark>"
+
+#. (itstool) path: revhistory/revision
+#: C/index.docbook:101
+msgid ""
+"<revnumber>1.30</revnumber> <date>08 May 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>more test coverage</revremark>"
+msgstr ""
+"<revnumber>1.30</revnumber> <date>8. května 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>větší pokrytí testy</revremark>"
+
+#. (itstool) path: revhistory/revision
+#: C/index.docbook:107
+msgid ""
"<revnumber>1.29</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
-"authorinitials> <revremark>development</revremark>"
+"authorinitials> <revremark>bug fixes</revremark>"
msgstr ""
"<revnumber>1.29</revnumber> <date>28. srpna 2018</date> <authorinitials>ss</"
-"authorinitials> <revremark>vývoj</revremark>"
+"authorinitials> <revremark>opravy chyb</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:95
+#: C/index.docbook:113
msgid ""
"<revnumber>1.28</revnumber> <date>24 Mar 2018</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes</revremark>"
"authorinitials> <revremark>opravy chyb</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:101
+#: C/index.docbook:119
msgid ""
"<revnumber>1.27</revnumber> <date>07 Dec 2017</date> <authorinitials>ss</"
"authorinitials> <revremark>fine tuning of the python port</revremark>"
"jazyce Python</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:107
+#: C/index.docbook:125
msgid ""
"<revnumber>1.26</revnumber> <date>11 Aug 2017</date> <authorinitials>ss</"
"authorinitials> <revremark>port all tools from perl/bash to python</"
"jazyka Python</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:113
+#: C/index.docbook:131
msgid ""
"<revnumber>1.25</revnumber> <date>21 March 2016</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, test cleanups</revremark>"
"authorinitials> <revremark>opravy chyb, pročištění testů</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:119
+#: C/index.docbook:137
msgid ""
"<revnumber>1.24</revnumber> <date>29 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fix</revremark>"
"authorinitials> <revremark>oprava chyby</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:125
+#: C/index.docbook:143
msgid ""
"<revnumber>1.23</revnumber> <date>17 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fix</revremark>"
"authorinitials> <revremark>oprava chyby</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:131
+#: C/index.docbook:149
msgid ""
"<revnumber>1.22</revnumber> <date>07 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, dropping deprecated features</"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:137
+#: C/index.docbook:155
msgid ""
"<revnumber>1.21</revnumber> <date>17 Jul 2014</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, dropping deprecated features</"
"zastaralých věcí</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:143
+#: C/index.docbook:161
msgid ""
"<revnumber>1.20</revnumber> <date>16 Feb 2014</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, markdown support, style improvements</"
"vylepšení stylů</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:149
+#: C/index.docbook:167
msgid ""
"<revnumber>1.19</revnumber> <date>05 Jun 2013</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes</revremark>"
"authorinitials> <revremark>opravy chyb</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:155
+#: C/index.docbook:173
msgid ""
"<revnumber>1.18</revnumber> <date>14 Sep 2011</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, speedups, markdown support</revremark>"
"jazyka</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:161
+#: C/index.docbook:179
msgid ""
"<revnumber>1.17</revnumber> <date>26 Feb 2011</date> <authorinitials>sk</"
"authorinitials> <revremark>urgent bug fix update</revremark>"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:167
+#: C/index.docbook:185
msgid ""
"<revnumber>1.16</revnumber> <date>14 Jan 2011</date> <authorinitials>sk</"
"authorinitials> <revremark>bugfixes, layout improvements</revremark>"
"authorinitials> <revremark>opravy chyb, vylepšení vzhledu</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:173
+#: C/index.docbook:191
msgid ""
"<revnumber>1.15</revnumber> <date>21 May 2010</date> <authorinitials>sk</"
"authorinitials> <revremark>bug and regression fixes</revremark>"
"authorinitials> <revremark>opravy chyb a regresí</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:179
+#: C/index.docbook:197
msgid ""
"<revnumber>1.14</revnumber> <date>28 March 2010</date> <authorinitials>sk</"
"authorinitials> <revremark>bugfixes and performance improvements</revremark>"
"authorinitials> <revremark>opravy chyb a vylepšení výkonu</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:185
+#: C/index.docbook:203
msgid ""
"<revnumber>1.13</revnumber> <date>18 December 2009</date> "
"<authorinitials>sk</authorinitials> <revremark>broken tarball update</"
"balíčku</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:191
+#: C/index.docbook:209
msgid ""
"<revnumber>1.12</revnumber> <date>18 December 2009</date> "
"<authorinitials>sk</authorinitials> <revremark>new tool features and "
"chyb</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:197
+#: C/index.docbook:215
msgid ""
"<revnumber>1.11</revnumber> <date>16 November 2008</date> "
"<authorinitials>mal</authorinitials> <revremark>GNOME doc-utils migration</"
"GNOME</revremark>"
#. (itstool) path: chapter/title
-#: C/index.docbook:210
+#: C/index.docbook:228
msgid "Introduction"
msgstr "Úvod"
#. (itstool) path: chapter/para
-#: C/index.docbook:212
+#: C/index.docbook:230
msgid ""
"This chapter introduces GTK-Doc and gives an overview of what it is and how "
"it is used."
"použít."
#. (itstool) path: sect1/title
-#: C/index.docbook:218
+#: C/index.docbook:236
msgid "What is GTK-Doc?"
msgstr "Co je to GTK-Doc?"
#. (itstool) path: sect1/para
-#: C/index.docbook:220
+#: C/index.docbook:238
msgid ""
"GTK-Doc is used to document C code. It is typically used to document the "
"public API of libraries, such as the GTK+ and GNOME libraries. But it can "
"ale použít i k dokumentaci aplikačního kódu."
#. (itstool) path: sect1/title
-#: C/index.docbook:228
+#: C/index.docbook:246
msgid "How Does GTK-Doc Work?"
msgstr "Jak GTK-Doc pracuje?"
#. (itstool) path: sect1/para
-#: C/index.docbook:230
+#: C/index.docbook:248
msgid ""
"GTK-Doc works by using documentation of functions placed inside the source "
"files in specially-formatted comment blocks, or documentation added to the "
"nevytváří)."
#. (itstool) path: sect1/para
-#: C/index.docbook:237
+#: C/index.docbook:255
msgid ""
"GTK-Doc consists of a number of python scripts, each performing a different "
"step in the process."
"část procesu."
#. (itstool) path: sect1/para
-#: C/index.docbook:242
+#: C/index.docbook:260
msgid "There are 5 main steps in the process:"
msgstr "Celý proces se skládá z pěti hlavních kroků:"
#. (itstool) path: listitem/para
-#: C/index.docbook:249
+#: C/index.docbook:267
msgid ""
"<guilabel>Writing the documentation.</guilabel> The author fills in the "
"source files with the documentation for each function, macro, structs or "
"kódem s dokumentací pro každou funkci, makro, strukturu, výčet atd."
#. (itstool) path: listitem/para
-#: C/index.docbook:258
+#: C/index.docbook:276
msgid ""
"<guilabel>Gathering information about the code.</guilabel> "
"<application>gtkdoc-scan</application> scans the header files of the code "
"filename> do <filename><module>-overrides.txt</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:275
+#: C/index.docbook:293
msgid ""
"<application>gtkdoc-scangobj</application> can also be used to dynamically "
"query a library about any GObject subclasses it exports. It saves "
"signálech objektu GObject, které poskytují."
#. (itstool) path: listitem/para
-#: C/index.docbook:281
+#: C/index.docbook:299
msgid ""
"<application>gtkdoc-scanobj</application> should not be used anymore. It was "
"needed in the past when GObject was still GtkObject inside gtk+."
"Bylo zapotřebí v minulosti, kdy byl GObject ještě GtkObject v rámci gtk+."
#. (itstool) path: listitem/para
-#: C/index.docbook:288
+#: C/index.docbook:306
msgid ""
"<guilabel>Generating the XML and HTML/PDF.</guilabel> <application>gtkdoc-"
"mkdb</application> turns the template files into XML files in the <filename "
"zdrojového kódu a introspektivních dat."
#. (itstool) path: listitem/para
-#: C/index.docbook:297
+#: C/index.docbook:315
msgid ""
"<application>gtkdoc-mkhtml</application> turns the XML files into HTML files "
"in the <filename class=\"directory\">html/</filename> subdirectory. Likewise "
"nazvaný <filename><balíček>.pdf</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:303
+#: C/index.docbook:321
msgid ""
"Files in <filename class=\"directory\">xml/</filename> and <filename class="
"\"directory\">html/</filename> directories are always overwritten. One "
"neměly být upravovány přímo."
#. (itstool) path: listitem/para
-#: C/index.docbook:311
+#: C/index.docbook:329
msgid ""
"<guilabel>Fixing up cross-references between documents.</guilabel> After "
"installing the HTML files, <application>gtkdoc-fixxref</application> can be "
"dokumenty, které jsou nainstalované)."
#. (itstool) path: sect1/title
-#: C/index.docbook:329
+#: C/index.docbook:347
msgid "Getting GTK-Doc"
msgstr "Jak získat GTK-Doc?"
#. (itstool) path: sect2/title
-#: C/index.docbook:332
+#: C/index.docbook:350
msgid "Requirements"
msgstr "Požadavky"
#. (itstool) path: sect2/para
-#: C/index.docbook:333
+#: C/index.docbook:351
msgid ""
"<guilabel>python 2/3</guilabel> - the main scripts are written in python."
msgstr "<guilabel>Python 2/3</guilabel> – hlavní skripty jsou v jazyce Python."
#. (itstool) path: sect2/para
-#: C/index.docbook:336
+#: C/index.docbook:354
msgid ""
"<guilabel>xsltproc</guilabel> - the xslt processor from libxslt <ulink url="
"\"http://xmlsoft.org/XSLT/\" type=\"http\">xmlsoft.org/XSLT/</ulink>"
"\"http://xmlsoft.org/XSLT/\" type=\"http\">xmlsoft.org/XSLT/</ulink>"
#. (itstool) path: sect2/para
-#: C/index.docbook:340
+#: C/index.docbook:358
msgid ""
"<guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets <ulink url="
"\"http://sourceforge.net/projects/docbook/files/docbook-xsl/\" type=\"http"
"\">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>"
#. (itstool) path: sect2/para
-#: C/index.docbook:344
+#: C/index.docbook:362
msgid ""
"One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> "
"or <guilabel>vim</guilabel> - optional - used for syntax highlighting of "
"syntaxe u příkladů"
#. (itstool) path: sect1/title
-#: C/index.docbook:352
+#: C/index.docbook:370
msgid "About GTK-Doc"
msgstr "O aplikaci GTK-Doc"
#. (itstool) path: sect1/para
-#: C/index.docbook:354
+#: C/index.docbook:372
msgid ""
"Historically GTK-Doc was used to generate template files from the sources "
"code. These template files could be used by developers to enter the API "
"1.26 byla podpora šablon odstraněna."
#. (itstool) path: sect1/para
-#: C/index.docbook:364 C/index.docbook:378
+#: C/index.docbook:382 C/index.docbook:396
msgid "(FIXME)"
msgstr "(DOPLNIT)"
#. (itstool) path: sect1/para
-#: C/index.docbook:368
+#: C/index.docbook:386
msgid ""
"(authors, web pages, mailing list, license, future plans, comparison with "
"other similar systems.)"
"srovnání s ostatními podobnými systémy.)"
#. (itstool) path: sect1/title
-#: C/index.docbook:376
+#: C/index.docbook:394
msgid "About this Manual"
msgstr "O této příručce"
#. (itstool) path: sect1/para
-#: C/index.docbook:382
+#: C/index.docbook:400
msgid "(who it is meant for, where you can get it, license)"
msgstr "(k čemu je určená, kde ji můžete získat, licence)"
#. (itstool) path: chapter/title
-#: C/index.docbook:391
+#: C/index.docbook:409
msgid "Project Setup"
msgstr "Nastavení projektu"
#. (itstool) path: chapter/para
-#: C/index.docbook:393
+#: C/index.docbook:411
msgid ""
"This Chapter describes the steps that are necessary to integrate GTK-Doc "
"into your project. The integration of GTK-Doc into a project includes the "
"vašeho projektu. Integrace GTK-Doc do projektu zahrnuje následující kroky:"
#. (itstool) path: listitem/para
-#: C/index.docbook:401
+#: C/index.docbook:419
msgid ""
"Preparation of the directory structure and creating required configuration "
"files for your GTK-Doc documentation (see <link linkend=\"settingup_docfiles"
"kostry dokumentace</link>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:409
+#: C/index.docbook:427
msgid ""
"Adjusting the build system to build your documentation using the GTK-Doc "
"tools. Multiple build systems are supported, in this manual we describe how "
"linkend=\"settingup_plain_makefiles\">prostými soubory Makefiles</link>."
#. (itstool) path: listitem/para
-#: C/index.docbook:419
+#: C/index.docbook:437
msgid ""
"Adding GTK-Doc specific files to version control and deciding which files to "
"ignore (see <link linkend=\"settingup_vcs\"> Integration with version "
"systémem správy verzí</link>)."
#. (itstool) path: chapter/para
-#: C/index.docbook:427
+#: C/index.docbook:445
msgid ""
"The following sections assume we work on a project called <code>meep</code>. "
"This project contains two packages (or modules), a library called "
"<code>meeper</code>."
#. (itstool) path: sect1/title
-#: C/index.docbook:436
+#: C/index.docbook:454
msgid "Setting up a skeleton documentation"
msgstr "Nastavení kostry dokumentace"
#. (itstool) path: sect1/para
-#: C/index.docbook:438
+#: C/index.docbook:456
msgid ""
"A common convention is to place documentation into a folder called "
"<code>docs</code> inside your top-level project directory. We usually "
"konfiguraci sestavovacího systému, aby se s ní shodoval."
#. (itstool) path: example/title
-#: C/index.docbook:469
+#: C/index.docbook:487
msgid "Example directory structure of <emphasis>meep</emphasis> project"
msgstr "Příklad struktury složek projektu <emphasis>meep</emphasis>"
#. (itstool) path: example/programlisting
-#: C/index.docbook:471
+#: C/index.docbook:489
#, no-wrap
msgid ""
"\n"
" meeper/\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:463
+#: C/index.docbook:481
msgid ""
"In the following sections we will assume a directory structure for our "
"<emphasis>meep</emphasis> project that uses the above conventions. <_:"
">"
#. (itstool) path: sect1/title
-#: C/index.docbook:488
+#: C/index.docbook:506
msgid "Integration with Autotools"
msgstr "Integrace s Autotools"
#. (itstool) path: sect1/para
-#: C/index.docbook:489
+#: C/index.docbook:507
msgid ""
"Integration of GTK-Doc into an autotools-based build system requires the "
"following steps:"
"následující kroky:"
#. (itstool) path: listitem/para
-#: C/index.docbook:495
+#: C/index.docbook:513
msgid ""
"Ensure that <application>gtkdocize</application> is run once before the "
"<filename>configure</filename> script. If an <filename>autogen.sh</filename> "
"přidejte volání <application>gtkdocize</application>."
#. (itstool) path: listitem/para
-#: C/index.docbook:503
+#: C/index.docbook:521
msgid ""
"The main purpose of <application>gtkdocize</application> is to make the "
"<filename>gtk-doc.make</filename> Makefile and the <filename>gtk-doc.m4</"
"vytvořením odkazu."
#. (itstool) path: listitem/para
-#: C/index.docbook:512
+#: C/index.docbook:530
msgid ""
"Add the necessary <application>autoconf</application> macros to "
"<filename>configure.ac</filename> to enable GTK-Doc in your build system to "
"<filename>configure</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:518
+#: C/index.docbook:536
msgid ""
"Among others with registers the <code>--enable-gtk-doc</code> option with "
"the <filename>configure</filename> script."
"skriptu <filename>configure</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:524
+#: C/index.docbook:542
msgid ""
"Create an <application>automake</application> script for each application or "
"library in your project. In the example used in this documentation this step "
"krok použit jak pro <code>meeper</code>, tak pro <code>libmeep</code>."
#. (itstool) path: sect1/para
-#: C/index.docbook:533
+#: C/index.docbook:551
msgid ""
"In the following sections, we will perform the above steps in reverse order. "
"We start with the <application>automake</application> scripts and work our "
"dokumentaci."
#. (itstool) path: sect2/title
-#: C/index.docbook:543
+#: C/index.docbook:561
msgid "Integration with automake"
msgstr "Integrace s automake"
#. (itstool) path: sect2/para
-#: C/index.docbook:545
+#: C/index.docbook:563
msgid ""
"First copy the <filename>Makefile.am</filename> from the <filename class="
"\"directory\">examples</filename> sub-directory of the <ulink url=\"https://"
"balíčků s dokumentací, opakujte tento krok pro každý z nich."
#. (itstool) path: note/simpara
-#: C/index.docbook:558
+#: C/index.docbook:576
msgid ""
"Do not forget to add each <filename>Makefile.am</filename> to the "
"<function>AC_CONFIG_FILES</function> macro in <filename>configure.ac</"
"filename> do <function>AC_CONFIG_FILES</function>."
#. (itstool) path: example/title
-#: C/index.docbook:570
+#: C/index.docbook:588
msgid "Example directory structure with <filename>Makefiles.am</filename>"
msgstr "Příklad struktury složek s <filename>Makefiles.am</filename>"
#. (itstool) path: example/programlisting
-#: C/index.docbook:573
+#: C/index.docbook:591
#, no-wrap
msgid ""
"\n"
" meeper/\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:589
+#: C/index.docbook:607
msgid ""
"Next, you need to customize the copied Makefiles and provide values for the "
"various parameters in each <filename>Makefile.am</filename>. All settings "
"přepínačů."
#. (itstool) path: listitem/para
-#: C/index.docbook:613
+#: C/index.docbook:631
msgid ""
"<option>DOC_MODULE</option> is used to provide the name of the package that "
"is being documentated (e.g. <code>meeper</code>, or <code>libmeep</code>)."
"dokumentován (např. <code>meeper</code> nebo <code>libmeep</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:620
+#: C/index.docbook:638
msgid ""
"<option>DOC_SOURCE_DIR</option> is used to specify the location of source "
"directory which GTK-Doc searches for your API documentation. This will "
"<code>DOC_SOURCE_DIR=$(top_srcdir)/src </code> nebo podsložka této složky."
#. (itstool) path: listitem/para
-#: C/index.docbook:633
+#: C/index.docbook:651
msgid ""
"<option>HFILE_GLOB</option> and <option>CFILE_GLOB</option> are used for "
"dependencies. Each option take a file-glob (e.g. <code>HFILE_GLOB="
"kterýkoliv z odpovídajících souborů změní."
#. (itstool) path: listitem/para
-#: C/index.docbook:645
+#: C/index.docbook:663
msgid ""
"<option>EXTRA_HFILES</option> allows to specify extra header files to "
"include when scanning for API documentation, which are not found under "
"$(top_srcdir}/contrib/extra.h</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:655
+#: C/index.docbook:673
msgid ""
"<option>IGNORE_HFILES</option> allows to specify header files or directories "
"to ignore when scanning for API documentation. Use the basename of the file "
"<code>IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:665
+#: C/index.docbook:683
msgid ""
"<option>HTML_IMAGES</option> allows to specify images files which will be "
"copied into the <filename>html/</filename> directory of the generated "
"stock_about_24.png</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:678
+#: C/index.docbook:696
msgid ""
"<option>content_files</option> allows to specify extra files that are "
"included by <code>$(DOC_MAIN_SGML_FILE)</code> (e.g. <code> "
"<code>content_files=running.xml building.xml changes-2.0.xml</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:689
+#: C/index.docbook:707
msgid ""
"<option>expand_content_files</option> allows to specify files where "
"<emphasis>gtk-doc abbreviations</emphasis> such as <code>#GtkWidget</code> "
"code>)."
#. (itstool) path: sect2/para
-#: C/index.docbook:607
+#: C/index.docbook:625
msgid ""
"The following list explains the most relevant options. Check the example "
"<filename>Makefile.am</filename> for additional options. <_:itemizedlist-1/>"
"podívejte do ukázkového <filename>Makefile.am</filename>. <_:itemizedlist-1/>"
#. (itstool) path: sect2/title
-#: C/index.docbook:704
+#: C/index.docbook:722
msgid "Integration with autoconf"
msgstr "Integrace s autoconf"
#. (itstool) path: sect2/para
-#: C/index.docbook:706
+#: C/index.docbook:724
msgid ""
"Integration with <application>autoconf</application> is very simple and "
"includes one required step and an additional optional (but recommended) "
"argumenty pro <application>gtkdocize</application>."
#. (itstool) path: warning/simpara
-#: C/index.docbook:718
+#: C/index.docbook:736
msgid ""
"Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented. The "
"macro must start at the beginning of the line and should not start with "
"Makro musí začínat na začátku řádku a nesmí začínat bílými znaky."
#. (itstool) path: sect2/para
-#: C/index.docbook:725
+#: C/index.docbook:743
msgid ""
"The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code> to your "
"<filename>configure.ac</filename>. This is not required but helps "
"uvést, kde soubor s definicí makra najít."
#. (itstool) path: example/title
-#: C/index.docbook:738
+#: C/index.docbook:756
msgid "Minimal integration with autoconf"
msgstr "Minimální integrace s autoconf"
#. (itstool) path: example/programlisting
-#: C/index.docbook:739
+#: C/index.docbook:757
#, no-wrap
msgid ""
"\n"
"GTK_DOC_CHECK([1.28])\n"
#. (itstool) path: example/title
-#: C/index.docbook:754
+#: C/index.docbook:772
msgid "Integration with optional gtk-doc dependency"
msgstr "Integrace s volitelnými závislostttmi gtk-doc"
#. (itstool) path: example/programlisting
-#: C/index.docbook:755
+#: C/index.docbook:773
#, no-wrap
msgid ""
"\n"
"])\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:748
+#: C/index.docbook:766
msgid ""
"The above example works, but will require all developers to have gtk-doc "
"installed. A better way is to make building the documentation optional as "
"bylo volitelné, jak je ukázáno v následujícím příkladu: <_:example-1/>"
#. (itstool) path: sect2/para
-#: C/index.docbook:768
+#: C/index.docbook:786
msgid ""
"The first argument is used to check for the Gtk-Doc version at configure "
"time. The 2nd, optional argument is used by <application>gtkdocize</"
"přepínačů pro configure:"
#. (itstool) path: listitem/para
-#: C/index.docbook:777
+#: C/index.docbook:795
msgid "--with-html-dir=PATH : path to installed docs"
msgstr "--with-html-dir=CESTA: cesta, kam se má dokumentace nainstalovat"
#. (itstool) path: listitem/para
-#: C/index.docbook:778
+#: C/index.docbook:796
msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
msgstr ""
"--enable-gtk-doc: použít k sestavení dokumentace gtk-doc [výchozí je ne]"
#. (itstool) path: listitem/para
-#: C/index.docbook:779
+#: C/index.docbook:797
msgid ""
"--enable-gtk-doc-html : build documentation in html format [default=yes]"
msgstr ""
"--enable-gtk-doc-html: sestavit dokumentaci ve formátu HTML [výchozí je ano]"
#. (itstool) path: listitem/para
-#: C/index.docbook:780
+#: C/index.docbook:798
msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
msgstr ""
"--enable-gtk-doc-pdf: sestavit dokumentaci ve formátu PDF [výchozí je ne]"
#. (itstool) path: important/para
-#: C/index.docbook:784
+#: C/index.docbook:802
msgid ""
"GTK-Doc is disabled by default! Remember to pass the option <option>'--"
"enable-gtk-doc'</option> to the next <filename>configure</filename> run. "
"uživatele, ale ne pro vývojáře)."
#. (itstool) path: sect2/para
-#: C/index.docbook:792
+#: C/index.docbook:810
msgid ""
"After all changes to <filename>configure.ac</filename> are made, update the "
"<filename>configure</filename> file. This can be done by re-running "
"<code>autogen.sh</code>."
#. (itstool) path: sect2/title
-#: C/index.docbook:800
+#: C/index.docbook:818
msgid "Integration with autogen"
msgstr "Integrace s autogen"
#. (itstool) path: sect2/para
-#: C/index.docbook:802
+#: C/index.docbook:820
msgid ""
"Most projects will have an <filename>autogen.sh</filename> script to setup "
"the build infrastructure after the project was checked out from a version "
"nezbytných souborů požadovaných GTK-Doc do zdrojové složky."
#. (itstool) path: sect2/para
-#: C/index.docbook:810
+#: C/index.docbook:828
msgid "It should be run before autoreconf, autoheader, automake or autoconf."
msgstr "Měl by být spuštěn před autoheader, automake nebo autoconf."
#. (itstool) path: example/title
-#: C/index.docbook:815
+#: C/index.docbook:833
msgid "Running gtkdocize from autogen.sh"
msgstr "Spuštění gtkdocize z autogen.sh"
#. (itstool) path: example/programlisting
-#: C/index.docbook:816
+#: C/index.docbook:834
#, no-wrap
msgid ""
"\n"
"gtkdocize || exit 1\n"
#. (itstool) path: example/title
-#: C/index.docbook:824
+#: C/index.docbook:842
msgid "Conditionally run gtkdocize from autogen.sh"
msgstr "Podmíněné spuštění gtkdocize z autogen.sh"
#. (itstool) path: example/programlisting
-#: C/index.docbook:825
+#: C/index.docbook:843
#, no-wrap
msgid ""
"\n"
"fi\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:836
+#: C/index.docbook:854
msgid ""
"When running <application>gtkdocize</application> it copies <filename>gtk-"
"doc.make</filename> to your project root (or any directory specified by the "
"option>) soubor <filename>gtk-doc.make</filename>."
#. (itstool) path: sect2/para
-#: C/index.docbook:842
+#: C/index.docbook:860
msgid ""
"<application>gtkdocize</application> checks your <filename>configure.ac</"
"filename> script for the <function>GTK_DOC_CHECK</function> macro. The "
"application>. Konkrétně k tomu slouží druhý argument makra."
#. (itstool) path: sect2/para
-#: C/index.docbook:851
+#: C/index.docbook:869
msgid ""
"Alternatively, additional arguments can also be passed to "
"<application>gtkdocize</application> via the <function>GTKDOCIZE_FLAGS</"
"v <filename>autogen.sh</filename>."
#. (itstool) path: sect2/title
-#: C/index.docbook:862
+#: C/index.docbook:880
msgid "Executing GTK-Doc from the Build System"
msgstr "Spouštění GTK-Doc ze sestavovacího systému"
#. (itstool) path: sect2/para
-#: C/index.docbook:864
+#: C/index.docbook:882
msgid ""
"After the previous steps it's time to run the build. First we need to rerun "
"<filename>autogen.sh</filename>. If this script runs configure for you, then "
"Jinak potom ručně spusťte <filename>configure</filename> s tímto přepínačem."
#. (itstool) path: sect2/para
-#: C/index.docbook:871
+#: C/index.docbook:889
msgid ""
"The first make run generates several additional files in the doc-"
"directories. The important ones are: <filename><package>.types</"
"package>-sections.txt</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:879
+#: C/index.docbook:897
msgid "Running the doc build"
msgstr "Sestavení dokumentace"
#. (itstool) path: example/programlisting
-#: C/index.docbook:880
+#: C/index.docbook:898
#, no-wrap
msgid ""
"\n"
"make\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:887
+#: C/index.docbook:905
msgid ""
"Now you can point your browser to <filename>docs/reference/<package>/"
"index.html</filename>. With this initial setup you will only see a very "
"doplňující kapitoly a oddíly."
#. (itstool) path: sect1/title
-#: C/index.docbook:903
+#: C/index.docbook:921
msgid "Integration with CMake build systems"
msgstr "Integrace se sestavovacím systémem CMake"
#. (itstool) path: sect1/para
-#: C/index.docbook:905
+#: C/index.docbook:923
msgid ""
"GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module (and "
"the corresponding <filename>GtkDocConfigVersion.cmake</filename> module). "
"nastavit ve svém souboru <filename>CMakeLists.txt</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:915
+#: C/index.docbook:933
msgid "Example of using GTK-Doc from CMake"
msgstr "Příklad použití GTK-Doc z CMake"
#. (itstool) path: example/programlisting
-#: C/index.docbook:916
+#: C/index.docbook:934
#, no-wrap
msgid ""
"\n"
" DESTINATION ${CMAKE_INSTALL_DOCDIR})\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:913
+#: C/index.docbook:931
msgid "The following example shows how to use this command. <_:example-1/>"
msgstr "Následující příklad ukazuje, jak tento příkaz použít: <_:example-1/>"
#. (itstool) path: sect1/title
-#: C/index.docbook:940
+#: C/index.docbook:958
msgid "Integration with plain makefiles or other build systems"
msgstr ""
"Integrace s prostými soubory Makefile nebo jinými sestavovacími systémy"
#. (itstool) path: sect1/para
-#: C/index.docbook:942
+#: C/index.docbook:960
msgid ""
"In the case one does not want to use automake and therefore <filename>gtk-"
"doc.mak</filename> one will need to call the gtkdoc tools in the right order "
"souborech make (nebo jiných nástrojích)."
#. (itstool) path: example/title
-#: C/index.docbook:949
+#: C/index.docbook:967
msgid "Documentation build steps"
msgstr "Kroky sestavení dokumentace"
#. (itstool) path: example/programlisting
-#: C/index.docbook:950
+#: C/index.docbook:968
#, no-wrap
msgid ""
"\n"
"gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:964
+#: C/index.docbook:982
msgid ""
"One will need to look at the <filename>Makefile.am</filename> and "
"<filename>gtk-doc.mak</filename> to pick the extra options needed."
"am</filename> a <filename>gtk-doc.mak</filename>."
#. (itstool) path: sect1/title
-#: C/index.docbook:971
+#: C/index.docbook:989
msgid "Integration with version control systems"
msgstr "Integrace se systémem pro správu verzí"
#. (itstool) path: sect1/para
-#: C/index.docbook:973
+#: C/index.docbook:991
msgid ""
"As a rule of thumb, it's the files you edit which should go under version "
"control. For typical projects it's these files: <filename><package>."
"<filename>Makefile.am</filename>."
#. (itstool) path: sect1/para
-#: C/index.docbook:981
+#: C/index.docbook:999
msgid ""
"Files in the <filename>xml/</filename> and <filename>html/</filename> "
"directories should not go under version control. Neither should any of the "
"filename>."
#. (itstool) path: chapter/title
-#: C/index.docbook:991
+#: C/index.docbook:1009
msgid "Documenting the code"
msgstr "Dokumentování v kódu"
#. (itstool) path: chapter/para
-#: C/index.docbook:993
+#: C/index.docbook:1011
msgid ""
"GTK-Doc uses source code comment with a special syntax for code "
"documentation. Further it retrieves information about your project structure "
"syntaxi komentářů."
#. (itstool) path: example/title
-#: C/index.docbook:1004 C/index.docbook:1030
+#: C/index.docbook:1022 C/index.docbook:1048
msgid "GTK-Doc comment block"
msgstr "Komentářový blok GTK-Doc"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1005
+#: C/index.docbook:1023
#, no-wrap
msgid ""
"\n"
"#endif\n"
#. (itstool) path: chapter/para
-#: C/index.docbook:1000
+#: C/index.docbook:1018
msgid ""
"The GTK-Doc scanner can handle the majority of C headers fine. In the case "
"of receiving warnings from the scanner that look like a special case, one "
"poradit, aby jej přeskakovala. <_:example-1/>"
#. (itstool) path: note/title
-#: C/index.docbook:1014
+#: C/index.docbook:1032
msgid "Limitations"
msgstr "Omezení"
#. (itstool) path: note/para
-#: C/index.docbook:1015
+#: C/index.docbook:1033
msgid ""
"Note, that GTK-Doc's supports <code>#ifndef(__GTK_DOC_IGNORE__)</code> but "
"not <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations."
"ale ne <code>#if !defined(__GTK_DOC_IGNORE__)</code> nebo jiné kombinace."
#. (itstool) path: sect1/title
-#: C/index.docbook:1025
+#: C/index.docbook:1043
msgid "Documentation comments"
msgstr "Dokumentační komentáře"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1031
+#: C/index.docbook:1049
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1027
+#: C/index.docbook:1045
msgid ""
"A multiline comment that starts with an additional '*' marks a documentation "
"block that will be processed by the GTK-Doc tools. <_:example-1/>"
"dokumentačním blokem a bude zpracovaný nástroji GTK-Doc. <_:example-1/>"
#. (itstool) path: sect1/para
-#: C/index.docbook:1040
+#: C/index.docbook:1058
msgid ""
"The 'identifier' is one line with the name of the item the comment is "
"related to. The syntax differs a little depending on the item. (TODO add "
"se seznamem identifikátorů)"
#. (itstool) path: sect1/para
-#: C/index.docbook:1046
+#: C/index.docbook:1064
msgid ""
"The 'documentation' block is also different for each symbol type. Symbol "
"types that get parameters such as functions or macros have the parameter "
"hvězdička mezera mezera). To se hodí na text s pevným formátem (výpis kódu)."
#. (itstool) path: listitem/para
-#: C/index.docbook:1063
+#: C/index.docbook:1081
msgid ""
"What it is: The name for a class or function can sometimes be misleading for "
"people coming from a different background."
"používají něco jiného."
#. (itstool) path: listitem/para
-#: C/index.docbook:1069
+#: C/index.docbook:1087
msgid ""
"What it does: Tell about common uses. Put it in relation with the other API."
msgstr ""
"K čemu to je: Uveďte běžném použití. Dejte ho do souvislosti se zbytkem API."
#. (itstool) path: tip/para
-#: C/index.docbook:1059
+#: C/index.docbook:1077
msgid "When documenting code, describe two aspects: <_:itemizedlist-1/>"
msgstr ""
"Když píšete dokumentaci ke kódu, popište dva aspekty: <_:itemizedlist-1/>"
#. (itstool) path: listitem/para
-#: C/index.docbook:1084
+#: C/index.docbook:1102
msgid "Use function() to refer to functions or macros which take arguments."
msgstr ""
"Použijte funkce() pro odkaz na funkci nebo makro, které mají argumenty."
#. (itstool) path: listitem/para
-#: C/index.docbook:1089
+#: C/index.docbook:1107
msgid ""
"Use @param to refer to parameters. Also use this when referring to "
"parameters of other functions, related to the one being described."
"odkazujete na parametry jiných funkcí, vztahujících se k popisované funkci."
#. (itstool) path: listitem/para
-#: C/index.docbook:1095
+#: C/index.docbook:1113
msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
msgstr "Použijte %konstanta pro odkaz na konstantu, např. %G_TRAVERSE_LEAFS."
#. (itstool) path: listitem/para
-#: C/index.docbook:1100
+#: C/index.docbook:1118
msgid ""
"Use #symbol to refer to other types of symbol, e.g. structs and enums and "
"macros which don't take arguments."
"makro, který nemá argumenty."
#. (itstool) path: listitem/para
-#: C/index.docbook:1106
+#: C/index.docbook:1124
msgid "Use #Object::signal to refer to a GObject signal."
msgstr "Použijte #Objekt::signál pro odkaz na signál objektu GObject."
#. (itstool) path: listitem/para
-#: C/index.docbook:1111
+#: C/index.docbook:1129
msgid "Use #Object:property to refer to a GObject property."
msgstr "Použijte #Objekt:vlastnost pro odkaz na vlastnost objektu GObject."
#. (itstool) path: listitem/para
-#: C/index.docbook:1116
+#: C/index.docbook:1134
msgid ""
"Use #Struct.field to refer to a field inside a structure and #GObjectClass."
"foo_bar() to refer to a vmethod."
"neco() pro odkaz na virtuální metodu."
#. (itstool) path: sect1/para
-#: C/index.docbook:1078
+#: C/index.docbook:1096
msgid ""
"One advantage of hyper-text over plain-text is the ability to have links in "
"the document. Writing the correct markup for a link can be tedious though. "
"vám snaží pomoci několika užitečnými zkratkami. <_:itemizedlist-1/>"
#. (itstool) path: tip/para
-#: C/index.docbook:1125
+#: C/index.docbook:1143
msgid ""
"If you need to use the special characters '<', '>', '()', '@', '%', or "
"'#' in your documentation without GTK-Doc changing them you can use the XML "
"se zpětným lomítkem „\\“."
#. (itstool) path: sect1/para
-#: C/index.docbook:1134
+#: C/index.docbook:1152
msgid ""
"DocBook can do more than just links. One can also have lists, examples, "
"headings, and images. As of version 1.20, the preferred way is to use a "
"začátku."
#. (itstool) path: sect1/para
-#: C/index.docbook:1145
+#: C/index.docbook:1163
msgid ""
"While markdown is now preferred one can mix both. One limitation here is "
"that one can use docbook xml within markdown, but markdown within docbook "
"markdown v docbook xml podporován není."
#. (itstool) path: sect1/para
-#: C/index.docbook:1151
+#: C/index.docbook:1169
msgid ""
"In older GTK-Doc releases, if you need support for additional formatting, "
"you would need to enable the usage of docbook XML tags inside doc-comments "
"<filename>Makefile.am</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:1160
+#: C/index.docbook:1178
msgid "GTK-Doc comment block using Markdown"
msgstr "Komentářový blok GTK-Doc používající značkovací jazyk"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1161
+#: C/index.docbook:1179
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1200
+#: C/index.docbook:1218
msgid ""
"More examples of what markdown tags are supported can be found in the <ulink "
"url=\"https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown"
"\">Referenční příručce k syntaxi Markdown pro dokumentaci GTK+</ulink>."
#. (itstool) path: tip/para
-#: C/index.docbook:1206
+#: C/index.docbook:1224
msgid ""
"As already mentioned earlier GTK-Doc is for documenting public API. Thus one "
"cannot write documentation for static symbols. Nevertheless it is good to "
"jednu „*“ a na správné místo v souboru oddílů vložit název symbolu."
#. (itstool) path: sect1/title
-#: C/index.docbook:1221
+#: C/index.docbook:1239
msgid "Documenting sections"
msgstr "Dokumentování oddílů"
#. (itstool) path: sect1/para
-#: C/index.docbook:1223
+#: C/index.docbook:1241
msgid ""
"Each section of the documentation contains information about one class or "
"module. To introduce the component one can write a section block. The short "
"použije v rámci tabulky s obsahem. Všechna @pole jsou volitelná."
#. (itstool) path: example/title
-#: C/index.docbook:1231
+#: C/index.docbook:1249
msgid "Section comment block"
msgstr "Komentářový blok oddílu"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1232
+#: C/index.docbook:1250
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1251
+#: C/index.docbook:1269
msgid "SECTION:<name>"
msgstr "SECTION:<název>"
#. (itstool) path: listitem/para
-#: C/index.docbook:1253
+#: C/index.docbook:1271
msgid ""
"The name links the section documentation to the respective part in the "
"<filename><package>-sections.txt</filename> file. The name given here "
"<SOUBOR> v souboru <filename><package>-sections.txt</filename>."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1262
+#: C/index.docbook:1280
msgid "@short_description"
msgstr "@short_description"
#. (itstool) path: listitem/para
-#: C/index.docbook:1264
+#: C/index.docbook:1282
msgid ""
"A one line description of the section, that later will appear after the "
"links in the TOC and at the top of the section page."
"obsahem a na začátku stránky oddílu."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1271
+#: C/index.docbook:1289
msgid "@title"
msgstr "@title"
#. (itstool) path: listitem/para
-#: C/index.docbook:1273
+#: C/index.docbook:1291
msgid ""
"The section title defaults to <name> from the SECTION declaration. It "
"can be overridden with the @title field."
"jej ale určit i přímo v poli @title."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1280
+#: C/index.docbook:1298
msgid "@section_id"
msgstr "@section_id"
#. (itstool) path: listitem/para
-#: C/index.docbook:1282
+#: C/index.docbook:1300
msgid ""
"Overrides the use of title as a section identifier. For GObjects the <"
"title> is used as a section_id and for other sections it is <"
"MODULE>-<title>."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1290
+#: C/index.docbook:1308
msgid "@see_also"
msgstr "@see_also"
#. (itstool) path: listitem/para
-#: C/index.docbook:1292
+#: C/index.docbook:1310
msgid "A list of symbols that are related to this section."
msgstr "Seznam symbolů, které se vztahují k tomuto oddílu."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1298
+#: C/index.docbook:1316
msgid "@stability"
msgstr "@stability"
#. (itstool) path: listitem/para
-#: C/index.docbook:1305
+#: C/index.docbook:1323
msgid ""
"Stable - The intention of a Stable interface is to enable arbitrary third "
"parties to develop applications to these interfaces, release them, and have "
"nekompatibilní změny očekávají zřídka v opravdu odůvodněných případech."
#. (itstool) path: listitem/para
-#: C/index.docbook:1317
+#: C/index.docbook:1335
msgid ""
"Unstable - Unstable interfaces are experimental or transitional. They are "
"typically used to give outside developers early access to new or rapidly "
"následujíc."
#. (itstool) path: listitem/para
-#: C/index.docbook:1329
+#: C/index.docbook:1347
msgid ""
"Private - An interface that can be used within the GNOME stack itself, but "
"that is not documented for end-users. Such functions should only be used in "
"měly používat jen určeným a dokumentovaným způsobem."
#. (itstool) path: listitem/para
-#: C/index.docbook:1338
+#: C/index.docbook:1356
msgid ""
"Internal - An interface that is internal to a module and does not require "
"end-user documentation. Functions that are undocumented are assumed to be "
"nedokumentované, jsou považované za interní."
#. (itstool) path: listitem/para
-#: C/index.docbook:1300
+#: C/index.docbook:1318
msgid ""
"An informal description of the stability level this API has. We recommend "
"the use of one of these terms: <_:itemizedlist-1/>"
"těchto termínů: <_:itemizedlist-1/>"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1350
+#: C/index.docbook:1368
msgid "@include"
msgstr "@include"
#. (itstool) path: listitem/para
-#: C/index.docbook:1352
+#: C/index.docbook:1370
msgid ""
"The <literal>#include</literal> files to show in the section synopsis (a "
"comma separated list), overriding the global value from the <link linkend="
"položka je volitelná."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1361
+#: C/index.docbook:1379
msgid "@image"
msgstr "@image"
#. (itstool) path: listitem/para
-#: C/index.docbook:1363
+#: C/index.docbook:1381
msgid ""
"The image to display at the top of the reference page for this section. This "
"will often be some sort of a diagram to illustrate the visual appearance of "
"nebo nákres se vztahy vůči jiným třídám. Tato položka je volitelná."
#. (itstool) path: tip/para
-#: C/index.docbook:1374
+#: C/index.docbook:1392
msgid ""
"To avoid unnecessary recompilation after doc-changes put the section docs "
"into the c-source where possible."
"vložte, kde je to možné, dokumentaci oddílu do zdrojového kódu c."
#. (itstool) path: sect1/title
-#: C/index.docbook:1383
+#: C/index.docbook:1401
msgid "Documenting symbols"
msgstr "Dokumentování symbolů"
#. (itstool) path: sect1/para
-#: C/index.docbook:1385
+#: C/index.docbook:1403
msgid ""
"Each symbol (function, macro, struct, enum, signal and property) is "
"documented in a separate block. The block is best placed close to the "
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1393 C/index.docbook:1459
+#: C/index.docbook:1411 C/index.docbook:1477
msgid "General tags"
msgstr "Obecné značky"
#. (itstool) path: sect2/para
-#: C/index.docbook:1395
+#: C/index.docbook:1413
msgid ""
"You can add versioning information to all documentation elements to tell "
"when an API was introduced, or when it was deprecated."
"sdělili, kdy bylo API zavedeno, nebo kdy bylo označeno za zastaralé."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1400
+#: C/index.docbook:1418
msgid "Versioning Tags"
msgstr "Značky pro verzování"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1401
+#: C/index.docbook:1419
msgid "Since:"
msgstr "Since:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1403
+#: C/index.docbook:1421
msgid "Description since which version of the code the API is available."
msgstr "Popisuje, od které verze kódu je API dostupné."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1408
+#: C/index.docbook:1426
msgid "Deprecated:"
msgstr "Deprecated:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1410
+#: C/index.docbook:1428
msgid ""
"Paragraph denoting that this function should no be used anymore. The "
"description should point the reader to the new API."
"měl čtenáře odkazovat na nové API."
#. (itstool) path: sect2/para
-#: C/index.docbook:1418
+#: C/index.docbook:1436
msgid ""
"You can also add stability information to all documentation elements to "
"indicate whether API stability is guaranteed for them for all future minor "
"minoritní vydání projektu."
#. (itstool) path: sect2/para
-#: C/index.docbook:1424
+#: C/index.docbook:1442
msgid ""
"The default stability level for all documentation elements can be set by "
"passing the <option>--default-stability</option> argument to "
"do <application>gtkdoc-mkdb</application>."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1430
+#: C/index.docbook:1448
msgid "Stability Tags"
msgstr "Značky pro stabilitu"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1431
+#: C/index.docbook:1449
msgid "Stability: Stable"
msgstr "Stability: Stable"
#. (itstool) path: listitem/para
-#: C/index.docbook:1433
+#: C/index.docbook:1451
msgid ""
"Mark the element as stable. This is for public APIs which are guaranteed to "
"remain stable for all future minor releases of the project."
"že zůstanou stabilní po všechna minoritní vydání projektu."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1440
+#: C/index.docbook:1458
msgid "Stability: Unstable"
msgstr "Stability: Unstable"
#. (itstool) path: listitem/para
-#: C/index.docbook:1442
+#: C/index.docbook:1460
msgid ""
"Mark the element as unstable. This is for public APIs which are released as "
"a preview before being stabilised."
"vydána jako ukázky před tím, než jsou stabilizována."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1448
+#: C/index.docbook:1466
msgid "Stability: Private"
msgstr "Stability: Private"
#. (itstool) path: listitem/para
-#: C/index.docbook:1450
+#: C/index.docbook:1468
msgid ""
"Mark the element as private. This is for interfaces which can be used by "
"tightly coupled modules, but not by arbitrary third parties."
"použita přímo v modulu, ale ne kterýmikoliv třetími stranami."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1460
+#: C/index.docbook:1478
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1480 C/index.docbook:1490
+#: C/index.docbook:1498 C/index.docbook:1508
msgid "Annotations"
msgstr "Anotace"
#. (itstool) path: sect2/para
-#: C/index.docbook:1482
+#: C/index.docbook:1500
msgid ""
"Documentation blocks can contain annotation-tags. These tags will be "
"rendered with tooltips describing their meaning. The tags are used by "
"org/GObjectIntrospection/Annotations\" type=\"http\">wiki</ulink>."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1491
+#: C/index.docbook:1509
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1512 C/index.docbook:1541
+#: C/index.docbook:1530 C/index.docbook:1559
msgid "Function comment block"
msgstr "Komentářový blok pro funkci"
#. (itstool) path: listitem/para
-#: C/index.docbook:1518
+#: C/index.docbook:1536
msgid ""
"Document whether returned objects, lists, strings, etc, should be freed/"
"unrefed/released."
"uvolnit z paměti."
#. (itstool) path: listitem/para
-#: C/index.docbook:1524
+#: C/index.docbook:1542
msgid "Document whether parameters can be NULL, and what happens if they are."
msgstr ""
"Zdokumentovat, jestli může parametr být NULL a co se stane, když tomu tak je."
#. (itstool) path: listitem/para
-#: C/index.docbook:1529
+#: C/index.docbook:1547
msgid ""
"Mention interesting pre-conditions and post-conditions where appropriate."
msgstr "Kde je to vhodné, zmínit úvodní a koncové podmínky."
#. (itstool) path: sect2/para
-#: C/index.docbook:1514 C/index.docbook:1600
+#: C/index.docbook:1532 C/index.docbook:1618
msgid "Please remember to: <_:itemizedlist-1/>"
msgstr "Nezapomeňte prosím: <_:itemizedlist-1/>"
#. (itstool) path: sect2/para
-#: C/index.docbook:1536
+#: C/index.docbook:1554
msgid ""
"Gtk-doc assumes all symbols (macros, functions) starting with '_' are "
"private. They are treated like static functions."
"„_“, jsou soukromé. Potom se s nimi zachází jako se statickými funkcemi."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1542
+#: C/index.docbook:1560
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: variablelist/title
-#: C/index.docbook:1563
+#: C/index.docbook:1581
msgid "Function tags"
msgstr "Značky pro funkce"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1564 C/index.docbook:1771
+#: C/index.docbook:1582 C/index.docbook:1789
msgid "Returns:"
msgstr "Returns:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1566
+#: C/index.docbook:1584
msgid "Paragraph describing the returned result."
msgstr "Odstavec popisující vracený výsledek."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1571
+#: C/index.docbook:1589
msgid "@...:"
msgstr "@…:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1573
+#: C/index.docbook:1591
msgid ""
"In case the function has variadic arguments, you should use this tag "
"(@Varargs: does also work for historic reasons)."
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1583 C/index.docbook:1585
+#: C/index.docbook:1601 C/index.docbook:1603
msgid "Property comment block"
msgstr "Komentářový blok pro vlastnost"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1586
+#: C/index.docbook:1604
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1598 C/index.docbook:1617
+#: C/index.docbook:1616 C/index.docbook:1635
msgid "Signal comment block"
msgstr "Komentářový blok pro signál"
#. (itstool) path: listitem/para
-#: C/index.docbook:1604
+#: C/index.docbook:1622
msgid ""
"Document when the signal is emitted and whether it is emitted before or "
"after other signals."
"ostatních signálech."
#. (itstool) path: listitem/para
-#: C/index.docbook:1610
+#: C/index.docbook:1628
msgid "Document what an application might do in the signal handler."
msgstr "Zdokumentovat, co aplikace smí v obsluze signálu provádět."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1618
+#: C/index.docbook:1636
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1635 C/index.docbook:1636
+#: C/index.docbook:1653 C/index.docbook:1654
msgid "Struct comment block"
msgstr "Komentářový blok pro strukturu"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1637
+#: C/index.docbook:1655
#, no-wrap
msgid ""
"\n"
"} FooWidget;\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:1652
+#: C/index.docbook:1670
msgid ""
"Use <code>/*< private >*/</code> before the private struct fields you "
"want to hide. Use <code>/*< public >*/</code> for the reverse "
"*/</code>."
#. (itstool) path: sect2/para
-#: C/index.docbook:1658
+#: C/index.docbook:1676
msgid ""
"If the first field is \"g_iface\", \"parent_instance\" or \"parent_class\" "
"it will be considered private automatically and doesn't need to be mentioned "
"komentářovém bloku."
#. (itstool) path: sect2/para
-#: C/index.docbook:1664
+#: C/index.docbook:1682
msgid ""
"Struct comment blocks can also be used for GObjects and GObjectClasses. It "
"is usually a good idea to add a comment block for a class, if it has "
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1676 C/index.docbook:1677
+#: C/index.docbook:1694 C/index.docbook:1695
msgid "Enum comment block"
msgstr "Komentářový blok pro výčty"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1678
+#: C/index.docbook:1696
#, no-wrap
msgid ""
"\n"
"} Something;\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:1695
+#: C/index.docbook:1713
msgid ""
"Use <code>/*< private >*/</code> before the private enum values you "
"want to hide. Use <code>/*< public >*/</code> for the reverse "
"public >*/</code>."
#. (itstool) path: sect1/title
-#: C/index.docbook:1706
+#: C/index.docbook:1724
msgid "Inline program documentation"
msgstr "Dokumentaci k vloženým programům"
#. (itstool) path: sect1/para
-#: C/index.docbook:1707
+#: C/index.docbook:1725
msgid ""
"You can document programs and their commandline interface using inline "
"documentation."
"vložené dokumentace."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1713
+#: C/index.docbook:1731
msgid "Tags"
msgstr "Značky"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1715
+#: C/index.docbook:1733
msgid "PROGRAM"
msgstr "PROGRAM"
#. (itstool) path: listitem/para
-#: C/index.docbook:1718
+#: C/index.docbook:1736
msgid "Defines the start of a program documentation."
msgstr "Definuje začátek dokumentace k programu."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1725
+#: C/index.docbook:1743
msgid "@short_description:"
msgstr "@short_description:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1727
+#: C/index.docbook:1745
msgid "Defines a short description of the program. (Optional)"
msgstr "Definuje krátký popis programu. (volitelné)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1734
+#: C/index.docbook:1752
msgid "@synopsis:"
msgstr "@synopsis:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1736
+#: C/index.docbook:1754
msgid ""
"Defines the arguments, or list of arguments that the program can take. "
"(Optional)"
"Definuje argumenty nebo seznam argumentů, které program přebírá. (volitelné)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1744
+#: C/index.docbook:1762
msgid "@see_also:"
msgstr "@see_also:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1746
+#: C/index.docbook:1764
msgid "See Also manual page section. (Optional)"
msgstr "Část stránky oddílu „Viz také“. (volitelné)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1753
+#: C/index.docbook:1771
msgid "@arg:"
msgstr "@arg:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1755
+#: C/index.docbook:1773
msgid "Argument(s) passed to the program and their description. (Optional)"
msgstr "Argument(y) předávané do programu a jejich popis. (volitelné)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1762
+#: C/index.docbook:1780
msgid "Description:"
msgstr "Description:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1764
+#: C/index.docbook:1782
msgid "A longer description of the program."
msgstr "Úplný popis programu."
#. (itstool) path: listitem/para
-#: C/index.docbook:1773
+#: C/index.docbook:1791
msgid "Specify what value(s) the program returns. (Optional)"
msgstr "Specifikuje, jakou hodnotu či více hodnot program vrací. (volitelné)"
#. (itstool) path: sect2/title
-#: C/index.docbook:1782
+#: C/index.docbook:1800
msgid "Example of program documentation."
msgstr "Příklad dokumentace k programu."
#. (itstool) path: example/title
-#: C/index.docbook:1783
+#: C/index.docbook:1801
msgid "Program documentation block"
msgstr "Komentářový blok pro program"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1784
+#: C/index.docbook:1802
#, no-wrap
msgid ""
"\n"
"}\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:1810
+#: C/index.docbook:1828
msgid "Useful DocBook tags"
msgstr "Užitečné značky DocBook"
#. (itstool) path: sect1/para
-#: C/index.docbook:1812
+#: C/index.docbook:1830
msgid ""
"Here are some DocBook tags which are most useful when documenting the code."
msgstr ""
"význam."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1821
+#: C/index.docbook:1839
#, no-wrap
msgid ""
"\n"
"<link linkend=\"glib-Hash-Tables\">Hašovací tabulky</link>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1817
+#: C/index.docbook:1835
msgid ""
"To link to another section in the GTK docs: <_:informalexample-1/> The "
"linkend is the SGML/XML id on the top item of the page you want to link to. "
"podtržítka se převedou na „-“, aby to vyhovovalo SGML/XML."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1834
+#: C/index.docbook:1852
#, no-wrap
msgid ""
"\n"
"<function>…</function>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1831
+#: C/index.docbook:1849
msgid ""
"To refer to an external function, e.g. a standard C function: <_:"
"informalexample-1/>"
">"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1843
+#: C/index.docbook:1861
#, no-wrap
msgid ""
"\n"
"<example>\n"
" <title>Using a GHashTable.</title>\n"
-" <programlisting>\n"
+" <programlisting language=\"C\">\n"
" ...\n"
" </programlisting>\n"
"</example>\n"
"\n"
"<example>\n"
" <title>Používání GHashTable.</title>\n"
-" <programlisting>\n"
-" …\n"
+" <programlisting language=\"C\">\n"
+" ...\n"
" </programlisting>\n"
"</example>\n"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1854
+#: C/index.docbook:1872
#, no-wrap
msgid ""
"\n"
"<informalexample>\n"
-" <programlisting>\n"
+" <programlisting language=\"C\">\n"
" ...\n"
" </programlisting>\n"
"</informalexample>\n"
msgstr ""
"\n"
"<informalexample>\n"
-" <programlisting>\n"
-" …\n"
+" <programlisting language=\"C\">\n"
+" ...\n"
" </programlisting>\n"
"</informalexample>\n"
+#. (itstool) path: informalexample/programlisting
+#: C/index.docbook:1884
+#, no-wrap
+msgid ""
+"\n"
+"|[<!-- language=\"C\" -->\n"
+" ...\n"
+"]|\n"
+msgstr ""
+"\n"
+"|[<!-- language=\"C\" -->\n"
+" ...\n"
+"]|\n"
+
#. (itstool) path: sect1/para
-#: C/index.docbook:1840
+#: C/index.docbook:1858
msgid ""
"To include example code: <_:informalexample-1/> or possibly this, for very "
-"short code fragments which don't need a title: <_:informalexample-2/> For "
-"the latter GTK-Doc also supports an abbreviation: |[ ... ]|"
+"short code fragments which don't need a title: <_:informalexample-2/> In "
+"both cases, the language attribute is optional and is used as a hint to the "
+"syntax highlighting engine (pygments for html output). For the latter GTK-"
+"Doc also supports an abbreviation: <_:informalexample-3/>"
msgstr ""
"Vložení ukázky kódu: <_:informalexample-1/> nebo pro velmi krátké úseky "
"kódu, které nepotřebují nadpisy, je případně možné i: <_:informalexample-2/> "
-"V novějších verzích GTK-Doc je také podporované zkracování: |[ … ]|"
+"V obou případech je atribut language volitelnáý a je používán jako rada pro "
+"program provádějící zvýrazňování syntaxe (pygments pro výstup v html).V "
+"novějších verzích GTK-Doc je také podporované zkracování: "
+"<_:informalexample-3/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1873
+#: C/index.docbook:1895
#, no-wrap
msgid ""
"\n"
"</itemizedlist>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1870
+#: C/index.docbook:1892
msgid "To include bulleted lists: <_:informalexample-1/>"
msgstr "Vložení seznamu s odrážkami: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1893
+#: C/index.docbook:1915
#, no-wrap
msgid ""
"\n"
"</note>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1890
+#: C/index.docbook:1912
msgid ""
"To include a note which stands out from the text: <_:informalexample-1/>"
msgstr "Vložení poznámky, která se objeví mimo text: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1906
+#: C/index.docbook:1928
#, no-wrap
msgid ""
"\n"
"<type>unsigned char</type>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1903
+#: C/index.docbook:1925
msgid "To refer to a type: <_:informalexample-1/>"
msgstr "Odkaz na typ: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1915
+#: C/index.docbook:1937
#, no-wrap
msgid ""
"\n"
"<structname>XFontStruct</structname>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1912
+#: C/index.docbook:1934
msgid ""
"To refer to an external structure (not one described in the GTK docs): <_:"
"informalexample-1/>"
"informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1924
+#: C/index.docbook:1946
#, no-wrap
msgid ""
"\n"
"<structfield>len</structfield>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1921
+#: C/index.docbook:1943
msgid "To refer to a field of a structure: <_:informalexample-1/>"
msgstr "Odkaz na pole struktury: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1933
+#: C/index.docbook:1955
#, no-wrap
msgid ""
"\n"
"<classname>GtkWidget</classname>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1930
+#: C/index.docbook:1952
msgid ""
"To refer to a class name, we could possibly use: <_:informalexample-1/> but "
"you'll probably be using #GtkWidget instead (to automatically create a link "
"\"documenting_syntax\">zkratky</link>)."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1944
+#: C/index.docbook:1966
#, no-wrap
msgid ""
"\n"
"<emphasis>Toto je důležité</emphasis>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1941
+#: C/index.docbook:1963
msgid "To emphasize text: <_:informalexample-1/>"
msgstr "Zvýrazněný text: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1953
+#: C/index.docbook:1975
#, no-wrap
msgid ""
"\n"
"<filename>/home/user/documents</filename>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1950
+#: C/index.docbook:1972
msgid "For filenames use: <_:informalexample-1/>"
msgstr "Pro název souboru použijte: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1962
+#: C/index.docbook:1984
#, no-wrap
msgid ""
"\n"
"<keycombo><keycap>Ctrl</keycap><keycap>L</keycap></keycombo>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1959
+#: C/index.docbook:1981
msgid "To refer to keys use: <_:informalexample-1/>"
msgstr "Odkaz na použití klávesy: <_:informalexample-1/>"
#. (itstool) path: chapter/title
-#: C/index.docbook:1972
+#: C/index.docbook:1994
msgid "Filling the extra files"
msgstr "Vyplňování dodatečných souborů"
#. (itstool) path: chapter/para
-#: C/index.docbook:1974
+#: C/index.docbook:1996
msgid ""
"There are a couple of extra files, that need to be maintained along with the "
"inline source code comments: <filename><package>.types</filename>, "
"<filename><balíček>-sections.txt</filename>."
#. (itstool) path: sect1/title
-#: C/index.docbook:1983
+#: C/index.docbook:2005
msgid "Editing the types file"
msgstr "Úprava souboru s typy"
#. (itstool) path: sect1/para
-#: C/index.docbook:1985
+#: C/index.docbook:2007
msgid ""
"If your library or application includes GObjects, you want their signals, "
"arguments/parameters and position in the hierarchy to be shown in the "
"filename>."
#. (itstool) path: example/title
-#: C/index.docbook:1994
+#: C/index.docbook:2016
msgid "Example <package>.types file"
msgstr "Příklad souboru <balíček>.types"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1995
+#: C/index.docbook:2017
#, no-wrap
msgid ""
"\n"
"gtk_arrow_get_type\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2006
+#: C/index.docbook:2028
msgid ""
"Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this "
"list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in "
"byste soubor s typy šířit do správy verzí."
#. (itstool) path: sect1/title
-#: C/index.docbook:2015
+#: C/index.docbook:2037
msgid "Editing the master document"
msgstr "Úprava hlavního dokumentu"
#. (itstool) path: sect1/para
-#: C/index.docbook:2017
+#: C/index.docbook:2039
msgid ""
"GTK-Doc produces documentation in DocBook SGML/XML. When processing the "
"inline source comments, the GTK-Doc tools generate one documentation page "
"soubor. Všechny jsou pak uvedené seřazené v hlavním dokumentu."
#. (itstool) path: sect1/para
-#: C/index.docbook:2024
+#: C/index.docbook:2046
msgid ""
"While GTK-Doc creates a template master document for you, later runs will "
"not touch it again. This means that one can freely structure the "
"nahlédnout, jestli se v něm neobjevily nějaké nové věci."
#. (itstool) path: tip/para
-#: C/index.docbook:2034
+#: C/index.docbook:2056
msgid ""
"Do not create tutorials as extra documents. Just write extra chapters. The "
"benefit of directly embedding the tutorial for your library into the API "
"v knihovně."
#. (itstool) path: sect1/para
-#: C/index.docbook:2043
+#: C/index.docbook:2065
msgid ""
"So what are the things to change inside the master document? For a start is "
"only a little. There are some placeholders (text in square brackets) there "
"závorkách), o které byste se měli postarat."
#. (itstool) path: example/title
-#: C/index.docbook:2050
+#: C/index.docbook:2072
msgid "Master document header"
msgstr "Hlavička hlavního dokumentu"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2051
+#: C/index.docbook:2073
#, no-wrap
msgid ""
"\n"
" <title>[Insert title here]</title>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2067
+#: C/index.docbook:2089
msgid ""
"In addition a few option elements are created in commented form. You can "
"review these and enable them as you like."
"projít a případně povolit."
#. (itstool) path: example/title
-#: C/index.docbook:2073
+#: C/index.docbook:2095
msgid "Optional part in the master document"
msgstr "Volitelná část hlavního dokumentu"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2074
+#: C/index.docbook:2096
#, no-wrap
msgid ""
"\n"
" -->\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2082
+#: C/index.docbook:2104
msgid ""
"Finally you need to add new section whenever you introduce one. The <link "
"linkend=\"modernizing-gtk-doc-1-16\">gtkdoc-check</link> tool will remind "
"vygenerované soubory XML, které zatím nejsou v dokumentaci zahrnuté."
#. (itstool) path: example/title
-#: C/index.docbook:2090 C/index.docbook:2125
+#: C/index.docbook:2112 C/index.docbook:2147
msgid "Including generated sections"
msgstr "Vkládání generovaných oddílů"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2091
+#: C/index.docbook:2113
#, no-wrap
msgid ""
"\n"
" …\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:2103
+#: C/index.docbook:2125
msgid "Editing the section file"
msgstr "Úprava souboru oddílů"
#. (itstool) path: sect1/para
-#: C/index.docbook:2105
+#: C/index.docbook:2127
msgid ""
"The section file is used to organise the documentation output by GTK-Doc. "
"Here one specifies which symbol belongs to which module or class and control "
"viditelnost (jestli je veřejný nebo soukromý)."
#. (itstool) path: sect1/para
-#: C/index.docbook:2111
+#: C/index.docbook:2133
msgid ""
"The section file is a plain text file with tags delimiting sections. Blank "
"lines are ignored and lines starting with a '#' are treated as comment lines."
"jako s komentářovými řádky."
#. (itstool) path: note/para
-#: C/index.docbook:2118
+#: C/index.docbook:2140
msgid ""
"While the tags make the file look like xml, it is not. Please do not close "
"tags like <SUBSECTION>."
"Neuzavírejte prosím značky jako je <SUBSECTION>."
#. (itstool) path: example/programlisting
-#: C/index.docbook:2126
+#: C/index.docbook:2148
#, no-wrap
msgid ""
"\n"
"</SECTION>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2143
+#: C/index.docbook:2165
msgid ""
"The <FILE> ... </FILE> tag is used to specify the file name, "
"without any suffix. For example, using '<FILE>gnome-config</"
"názvu třídy GObject převedeného na malá písmena.)"
#. (itstool) path: sect1/para
-#: C/index.docbook:2155
+#: C/index.docbook:2177
msgid ""
"The <TITLE> ... </TITLE> tag is used to specify the title of the "
"section. It is only useful before the templates (if used) are initially "
"zdrojovém kódu."
#. (itstool) path: sect1/para
-#: C/index.docbook:2162
+#: C/index.docbook:2184
msgid ""
"You can group items in the section by using the <SUBSECTION> tag. "
"Currently it outputs a blank line between subsections in the synopsis "
"virtuální metody)."
#. (itstool) path: sect1/para
-#: C/index.docbook:2181
+#: C/index.docbook:2203
msgid ""
"You can also use <INCLUDE> ... </INCLUDE> to specify the "
"#include files which are shown in the synopsis sections. It contains a comma-"
"konce souboru. Když je nastavíte v konkrétním oddílu, použijí se jen pro něj."
#. (itstool) path: chapter/title
-#: C/index.docbook:2195
+#: C/index.docbook:2217
msgid "Controlling the result"
msgstr "Ovlivnění výsledku"
#. (itstool) path: chapter/para
-#: C/index.docbook:2197
+#: C/index.docbook:2219
msgid ""
"A GTK-Doc run generates report files inside the documentation directory. The "
"generated files are named: <filename><package>-undocumented.txt</"
"prosté textové soubory, které si lze jednoduše prohlížet a zpracovávat je."
#. (itstool) path: chapter/para
-#: C/index.docbook:2206
+#: C/index.docbook:2228
msgid ""
"The <filename><package>-undocumented.txt</filename> file starts with "
"the documentation coverage summary. Below are two sections divided by blank "
"parametr."
#. (itstool) path: chapter/para
-#: C/index.docbook:2215
+#: C/index.docbook:2237
msgid ""
"The <filename><package>-undeclared.txt</filename> file lists symbols "
"given in the <filename><package>-sections.txt</filename> but not found "
"v nich není překlep."
#. (itstool) path: chapter/para
-#: C/index.docbook:2222
+#: C/index.docbook:2244
msgid ""
"The <filename><package>-unused.txt</filename> file lists symbol names, "
"where the GTK-Doc scanner has found documentation, but does not know where "
"balíček>-section.txt</filename>."
#. (itstool) path: tip/para
-#: C/index.docbook:2230
+#: C/index.docbook:2252
msgid ""
"Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile."
"am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during "
"správnosti údajů."
#. (itstool) path: chapter/para
-#: C/index.docbook:2237
+#: C/index.docbook:2259
msgid ""
"One can also look at the files produced by the source code scanner: "
"<filename><package>-decl-list.txt</filename> and <filename><"
"zkontrolovat, jestli se vyskytuje v tomto souboru."
#. (itstool) path: chapter/para
-#: C/index.docbook:2246
+#: C/index.docbook:2268
msgid ""
"If the project is GObject based, one can also look into the files produced "
"by the object scanner: <filename><package>.args.txt</filename>, "
"Doc, aby přechodně zachovat soubor pro pozdější analýzu."
#. (itstool) path: chapter/title
-#: C/index.docbook:2261
+#: C/index.docbook:2283
msgid "Modernizing the documentation"
msgstr "Modernizace dokumentu"
#. (itstool) path: chapter/para
-#: C/index.docbook:2263
+#: C/index.docbook:2285
msgid ""
"GTK-Doc has been around for quite some time. In this section we list new "
"features together with the version since when it is available."
"funkcí spolu s číslem verze, od které je tato funkčnost k dispozici."
#. (itstool) path: sect1/title
-#: C/index.docbook:2269
+#: C/index.docbook:2291
msgid "GTK-Doc 1.9"
msgstr "GTK-Doc 1.9"
#. (itstool) path: sect1/para
-#: C/index.docbook:2271
+#: C/index.docbook:2293
msgid ""
"When using xml instead of sgml, one can actually name the master document "
"<filename><package>-docs.xml</filename>."
"dokument <filename><package>-docs.xml</filename>."
#. (itstool) path: sect1/para
-#: C/index.docbook:2276
+#: C/index.docbook:2298
msgid ""
"This version supports <option>SCAN_OPTIONS=--rebuild-sections</option> in "
"<filename>Makefile.am</filename>. When this is enabled, the <filename><"
"<code>meld <package>-decl-list.txt <package>-sections.txt</code>."
#. (itstool) path: sect1/para
-#: C/index.docbook:2287
+#: C/index.docbook:2309
msgid ""
"Version 1.8 already introduced the syntax for documenting sections in the "
"sources instead of the separate files under <filename class=\"directory"
"tuto volbu do <filename>configure.ac</filename> a je to."
#. (itstool) path: sect1/title
-#: C/index.docbook:2299
+#: C/index.docbook:2321
msgid "GTK-Doc 1.10"
msgstr "GTK-Doc 1.10"
#. (itstool) path: sect1/para
-#: C/index.docbook:2301
+#: C/index.docbook:2323
msgid ""
"This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in "
"<filename>Makefile.am</filename>. When this is enabled, the <filename><"
"filename> pro kód, který je sestavován podmíněně."
#. (itstool) path: sect1/title
-#: C/index.docbook:2312
+#: C/index.docbook:2334
msgid "GTK-Doc 1.16"
msgstr "GTK-Doc 1.16"
#. (itstool) path: example/title
-#: C/index.docbook:2318
+#: C/index.docbook:2340
msgid "Enable gtkdoc-check"
msgstr "Povolení gtkdoc-check"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2319
+#: C/index.docbook:2341
#, no-wrap
msgid ""
"\n"
"endif\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2314
+#: C/index.docbook:2336
msgid ""
"This version includes a new tool called gtkdoc-check. This tool can run a "
"set of sanity checks on your documentation. It is enabled by adding these "
">"
#. (itstool) path: sect1/title
-#: C/index.docbook:2332
+#: C/index.docbook:2354
msgid "GTK-Doc 1.20"
msgstr "GTK-Doc 1.20"
#. (itstool) path: sect1/para
-#: C/index.docbook:2334
+#: C/index.docbook:2356
msgid ""
"Version 1.18 brought some initial markdown support. Using markdown in doc "
"comments is less intrusive than writing docbook xml. This version improves a "
"\"documenting_syntax\">syntax komentářů</link>."
#. (itstool) path: sect1/title
-#: C/index.docbook:2344
+#: C/index.docbook:2366
msgid "GTK-Doc 1.25"
msgstr "GTK-Doc 1.25"
#. (itstool) path: example/title
-#: C/index.docbook:2355
+#: C/index.docbook:2377
msgid "Use pre-generated entities"
msgstr "Používání předgenerovaných entit"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2356
+#: C/index.docbook:2378
#, no-wrap
msgid ""
"\n"
" </bookinfo>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2346
+#: C/index.docbook:2368
msgid ""
"The makefiles shipped with this version generate an entity file at "
"<filename>xml/gtkdocentities.ent</filename>, containing entities for e.g. "
"example-1/>"
#. (itstool) path: chapter/title
-#: C/index.docbook:2381
+#: C/index.docbook:2403
msgid "Documenting other interfaces"
msgstr "Dokumentování ostatních rozhraní"
#. (itstool) path: chapter/para
-#: C/index.docbook:2383
+#: C/index.docbook:2405
msgid ""
"So far we have been using GTK-Doc to document the API of code. The next "
"sections contain suggestions how the tools can be used to document other "
"dalších rozhraní."
#. (itstool) path: sect1/title
-#: C/index.docbook:2390
+#: C/index.docbook:2412
msgid "Command line options and man pages"
msgstr "Přepínače příkazového řádku a manuálové stránky"
#. (itstool) path: sect1/para
-#: C/index.docbook:2392
+#: C/index.docbook:2414
msgid ""
"As one can generate man pages for a docbook refentry as well, it sounds like "
"a good idea to use it for that purpose. This way the interface is part of "
"manuálovou stránku."
#. (itstool) path: sect2/title
-#: C/index.docbook:2399
+#: C/index.docbook:2421
msgid "Document the tool"
msgstr "Dokumentování nástrojů"
#. (itstool) path: sect2/para
-#: C/index.docbook:2401
+#: C/index.docbook:2423
msgid ""
"Create one refentry file per tool. Following <link linkend="
"\"settingup_docfiles\">our example</link> we would call it <filename>meep/"
"souboru v podsložce XML, například v glib."
#. (itstool) path: sect2/title
-#: C/index.docbook:2411
+#: C/index.docbook:2433
msgid "Adding the extra configure check"
msgstr "Přidání doplňkových kontrol do configure"
#. (itstool) path: example/title
-#: C/index.docbook:2414 C/index.docbook:2432
+#: C/index.docbook:2436 C/index.docbook:2454
msgid "Extra configure checks"
msgstr "Dodatečné kontroly nastavení"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2415
+#: C/index.docbook:2437
#, no-wrap
msgid ""
"\n"
"AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)\n"
#. (itstool) path: sect2/title
-#: C/index.docbook:2429
+#: C/index.docbook:2451
msgid "Adding the extra makefile rules"
msgstr "Přidání doplňkových pravidel do Makefile"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2433
+#: C/index.docbook:2455
#, no-wrap
msgid ""
"\n"
"EXTRA_DIST += meep.xml\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:2455
+#: C/index.docbook:2477
msgid "DBus interfaces"
msgstr "Rozhraní D-Bus"
#. (itstool) path: sect1/para
-#: C/index.docbook:2457
+#: C/index.docbook:2479
msgid ""
"(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://"
"cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
"cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
#. (itstool) path: chapter/title
-#: C/index.docbook:2466
+#: C/index.docbook:2488
msgid "Frequently asked questions"
msgstr "Často kladené dotazy"
#. (itstool) path: segmentedlist/segtitle
-#: C/index.docbook:2470
+#: C/index.docbook:2492
msgid "Question"
msgstr "Dotaz"
#. (itstool) path: segmentedlist/segtitle
-#: C/index.docbook:2471
+#: C/index.docbook:2493
msgid "Answer"
msgstr "Odpověď"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2473
+#: C/index.docbook:2495
msgid "No class hierarchy."
msgstr "Schází hierarchie třídy."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2474
+#: C/index.docbook:2496
msgid ""
"The objects <function>xxx_get_type()</function> function has not been "
"entered into the <filename><package>.types</filename> file."
"objektu <function>xxx_get_type()</function>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2480
+#: C/index.docbook:2502
msgid "Still no class hierarchy."
msgstr "Stále schází hierarchie třídy."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2481
+#: C/index.docbook:2503
msgid ""
"Missing or wrong naming in <filename><package>-sections.txt</filename> "
"file (see <ulink url=\"http://mail.gnome.org/archives/gtk-doc-list/2003-"
"doc-list/2003-October/msg00006.html\">vysvětlení</ulink>)."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2487
+#: C/index.docbook:2509
msgid "Damn, I have still no class hierarchy."
msgstr "Do háje, pořád nemám hierarchii třídy."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2488
+#: C/index.docbook:2510
msgid ""
"Is the object name (name of the instance struct, e.g. <type>GtkWidget</"
"type>) part of the normal section (don't put this into Standard or Private "
"Private)."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2495
+#: C/index.docbook:2517
msgid "No symbol index."
msgstr "Chybí rejstřík symbolů."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2496
+#: C/index.docbook:2518
msgid ""
"Does the <filename><package>-docs.{xml,sgml}</filename> contain a "
"index that xi:includes the generated index?"
"který vloží pomocí xi:include vygenerovaný rejstřík?"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2502
+#: C/index.docbook:2524
msgid "Symbols are not linked to their doc-section."
msgstr "Symbol nemá odkaz do svého oddílu dokumentace."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2503
+#: C/index.docbook:2525
msgid ""
"Is the doc-comment using the correct markup (added #,% or ())? Check if the "
"gtkdoc-fixxref warns about unresolvable xrefs."
"Podívejte se na varování gtkdoc-fixxref o nevyřešených křížových odkazech."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2509
+#: C/index.docbook:2531
msgid "A new class does not appear in the docs."
msgstr "Nová třída se neobjevila v dokumentaci."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2510
+#: C/index.docbook:2532
msgid ""
"Is the new page xi:included from <filename><package>-docs.{xml,sgml}</"
"filename>."
"{xml,sgml}</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2516
+#: C/index.docbook:2538
msgid "A new symbol does not appear in the docs."
msgstr "Nový symbol se neobjevil v dokumentaci."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2517
+#: C/index.docbook:2539
msgid ""
"Is the doc-comment properly formatted. Check for spelling mistakes in the "
"begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable "
"<filename><package>-sections.txt</filename> ve veřejném pododdíle."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2525
+#: C/index.docbook:2547
msgid "A type is missing from the class hierarchy."
msgstr "V hierarchii třídy schází typ."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2526
+#: C/index.docbook:2548
msgid ""
"If the type is listed in <filename><package>.hierarchy</filename> but "
"not in <filename>xml/tree_index.sgml</filename> then double check that the "
"zobrazena."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2535
+#: C/index.docbook:2557
msgid "I get foldoc links for all gobject annotations."
msgstr ""
"Vytvořily se mi odkazy na složku s dokumentací pro všechny anotace k GObject"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2536
+#: C/index.docbook:2558
msgid ""
"Check that <filename>xml/annotation-glossary.xml</filename> is xi:included "
"from <filename><package>-docs.{xml,sgml}</filename>."
"pomocí xi:include z <filename><package>-docs.{xml,sgml}</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2544
+#: C/index.docbook:2566
msgid "Parameter described in source code comment block but does not exist"
msgstr ""
"Parametr je v komentářovém bloku zdrojového kódu popsaný, ale neexistuje."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2545
+#: C/index.docbook:2567
msgid ""
"Check if the prototype in the header has different parameter names as in the "
"source."
"než ve zdrojovém kódu."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2550
+#: C/index.docbook:2572
msgid "multiple \"IDs\" for constraint linkend: XYZ"
msgstr "Více „ID“ pro tentýž cíl odkazu: XYZ"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2551
+#: C/index.docbook:2573
msgid ""
"Symbol XYZ appears twice in <filename><package>-sections.txt</"
"filename> file."
"objevuje dvakrát."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2554
+#: C/index.docbook:2576
msgid ""
"Element typename in namespace '' encountered in para, but no template "
"matches."
"mu žádná šablona."
#. (itstool) path: chapter/title
-#: C/index.docbook:2561
+#: C/index.docbook:2583
msgid "Tools related to gtk-doc"
msgstr "Nástroje související s GTK-Doc"
#. (itstool) path: chapter/para
-#: C/index.docbook:2563
+#: C/index.docbook:2585
msgid ""
"GtkDocPlugin - a <ulink url=\"http://trac-hacks.org/wiki/GtkDocPlugin\">Trac "
"GTK-Doc</ulink> integration plugin, that adds API docs to a trac site and "
"dokumentaci k API na sledovací web a integruje ji do vyhledávání."
#. (itstool) path: chapter/para
-#: C/index.docbook:2568
+#: C/index.docbook:2590
msgid ""
"Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since "
"tags in the API to determine the minimum required version."
"releasing these examples in parallel under your choice of free software "
"license, such as the <_:ulink-1/>, to permit their use in free software."
msgstr ""
-
-#~ msgid "Setting up your project"
-#~ msgstr "Nastavení vašeho projektu"
-
-#~ msgid ""
-#~ "The next sections describe what steps to perform to integrate GTK-Doc "
-#~ "into your project. Theses sections assume we work on a project called "
-#~ "'meep'. This project contains a library called 'libmeep' and an end-user "
-#~ "app called 'meeper'. We also assume you will be using autoconf and "
-#~ "automake. In addition section <link linkend=\"plain_makefiles\">plain "
-#~ "makefiles or other build systems</link> will describe the basics needed "
-#~ "to work in a different build setup."
-#~ msgstr ""
-#~ "Následující oddíl popisuje kroky, které musíte provést, abyste "
-#~ "integrovali GTK-Doc do svého projektu. Tento oddíl předpokládá, že "
-#~ "pracujeme na projektu nazvaném „meep“. Tento projekt obsahuje knihovnu "
-#~ "nazvanou „libmeep“ a aplikaci pro koncového uživatele nazvanou „meeper“. "
-#~ "Rovněž předpokládá, že používáte autoconf a automake. V oddílu <link "
-#~ "linkend=\"plain_makefiles\">prosté soubory Makefile nebo jiné sestavovací "
-#~ "systémy</link> budou popsány základní požadavky pro fungování s jinými "
-#~ "postupy sestavování."
-
-#~ msgid ""
-#~ "Under your top-level project directory create folders called docs/"
-#~ "reference (this way you can also have docs/help for end-user "
-#~ "documentation). It is recommended to create another subdirectory with the "
-#~ "name of the doc-package. For packages with just one library this step is "
-#~ "not necessary."
-#~ msgstr ""
-#~ "Pod nejvyšší složkou projektu vytvořte složky nazvané docs/reference "
-#~ "(takto můžete mít i docs/help s dokumentací pro koncového uživatele). Je "
-#~ "doporučeno vytvořit další podsložku s názvem balíčku s dokumentací. Pro "
-#~ "balíčky s jedinou knihovnou není tento krok nutný."
-
-#~ msgid "Example directory structure"
-#~ msgstr "Příklad struktury složek"
-
-#~ msgid "This can then look as shown below: <_:example-1/>"
-#~ msgstr "Ve výsledku to může vypadat nějak takto: <_:example-1/>"
-
-#~ msgid ""
-#~ "Very easy! Just add one line to your <filename>configure.ac</filename> "
-#~ "script."
-#~ msgstr ""
-#~ "Velmi snadné! Stačí jen přidat jeden řádek do vašeho skriptu "
-#~ "<filename>configure.ac</filename>."
-
-#~ msgid ""
-#~ "\n"
-#~ "# check for gtk-doc\n"
-#~ "GTK_DOC_CHECK([1.14],[--flavour no-tmpl])\n"
-#~ msgstr ""
-#~ "\n"
-#~ "# check for gtk-doc\n"
-#~ "GTK_DOC_CHECK([1.14],[--flavour no-tmpl])\n"
-
-#~ msgid "Keep gtk-doc optional"
-#~ msgstr "Ponechání gtk-doc jako volitelného"
-
-#~ msgid ""
-#~ "\n"
-#~ "# check for gtk-doc\n"
-#~ "m4_ifdef([GTK_DOC_CHECK], [\n"
-#~ "GTK_DOC_CHECK([1.14],[--flavour no-tmpl])\n"
-#~ "],[\n"
-#~ "AM_CONDITIONAL([ENABLE_GTK_DOC], false)\n"
-#~ "])\n"
-#~ msgstr ""
-#~ "\n"
-#~ "# check for gtk-doc\n"
-#~ "m4_ifdef([GTK_DOC_CHECK], [\n"
-#~ "GTK_DOC_CHECK([1.14],[--flavour no-tmpl])\n"
-#~ "],[\n"
-#~ "AM_CONDITIONAL([ENABLE_GTK_DOC], false)\n"
-#~ "])\n"
-
-#~ msgid ""
-#~ "This will require all developers to have gtk-doc installed. If it is okay "
-#~ "for your project to have optional api-doc build setup, you can solve this "
-#~ "as below. Keep it as is, as gtkdocize is looking for "
-#~ "<function>GTK_DOC_CHECK</function> at the start of a line. <_:example-1/>"
-#~ msgstr ""
-#~ "Vyžaduje to, aby všichni vývojáři měli gtk-doc nainstalované. Jestli u "
-#~ "vašeho projektu stačí mít sestavení dokumentaci k API jen volitelné, "
-#~ "můžete to vyřešit podle vzoru níže. Použijte to přesně tak, jak je "
-#~ "uvedeno, protože gtkdocize hledá <function>GTK_DOC_CHECK</function> na "
-#~ "začátku řádku. <_:example-1/>"
-
-#~ msgid ""
-#~ "Furthermore it is recommended that you have the following line inside "
-#~ "your <filename>configure.ac</filename> script. This allows "
-#~ "<application>gtkdocize</application> to automatically copy the macro "
-#~ "definition for <function>GTK_DOC_CHECK</function> to your project."
-#~ msgstr ""
-#~ "Mimo to je ještě doporučeno, abyste měli ve skriptu <filename>configure."
-#~ "ac</filename> následující řádek. Umožní to <application>gtkdocize</"
-#~ "application> automaticky nakopírovat definice maker pro "
-#~ "<function>GTK_DOC_CHECK</function> do vašeho projektu."
-
-#~ msgid "Preparation for gtkdocize"
-#~ msgstr "Příprava pro gtkdocize"
-
-#~ msgid ""
-#~ "\n"
-#~ "AC_CONFIG_MACRO_DIR(m4)\n"
-#~ msgstr ""
-#~ "\n"
-#~ "AC_CONFIG_MACRO_DIR(m4)\n"
-
-#~ msgid ""
-#~ "Historically GTK-Doc was generating template files where developers "
-#~ "entered the docs. This turned out to be not so good (e.g. the need for "
-#~ "having generated files under version control). Since GTK-Doc 1.9 the "
-#~ "tools can get all the information from source comments and thus the "
-#~ "templates can be avoided. We encourage people to keep documentation in "
-#~ "the code. <application>gtkdocize</application> supports now a <option>--"
-#~ "flavour no-tmpl</option> option that chooses a makefile that skips tmpl "
-#~ "usage totally. Besides adding the option directly to the command "
-#~ "invocation, they can be added also to an environment variable called "
-#~ "<symbol>GTKDOCIZE_FLAGS</symbol> or set as a 2nd parameter in "
-#~ "<symbol>GTK_DOC_CHECK</symbol> macro in the configure script. If you have "
-#~ "never changed file in tmpl by hand and migrating from older gtkdoc "
-#~ "versions, please remove the directory (e.g. from version control system)."
-#~ msgstr ""
-#~ "Dříve GTK-Doc generovalo soubory šablon, do kterých vývojáři vkládali "
-#~ "dokumentaci. To bylo zrušeno, protože to nebylo příliš dobré (například "
-#~ "kvůli potřebě mít generované soubory pod správou verzí). Od GTK-Doc verz "
-#~ "1.9 umí nástroje získávat všechny informace z komentářů ve zdrojových "
-#~ "kódech a šablony tak můžete úplně vynechat. Doporučujeme lidem, aby "
-#~ "dokumentaci udržovali v rámci kódu. <application>gtkdocize</application> "
-#~ "nyní podporuje přepínač <option>--flavour=no-tmpl</option>, který "
-#~ "způsobí, že makefile použití tmpl úplně vynechá. Mimo přidání této volby "
-#~ "přímo do volaného příkazu, jej můžete předat také jako proměnnou "
-#~ "prostředí s názvem <symbol>GTKDOCIZE_FLAGS</symbol>, nebo nastavit jako "
-#~ "druhý parametr v makru <symbol>GTK_DOC_CHECK</symbol> v konfiguračním "
-#~ "skriptu. Pokud jste nikdy ručně neměnili žádný soubor v tmpl a přecházíte "
-#~ "ze starší verze gtkdoc, tak tuto složku prosím odstraňte (například ze "
-#~ "správy verzí)."
-
-#~ msgid ""
-#~ "Now you can point your browser to <filename>docs/reference/<"
-#~ "package>/index.html</filename>. Yes, it's a bit disappointing still. "
-#~ "But hang-on, during the next chapter we tell you how to fill the pages "
-#~ "with life."
-#~ msgstr ""
-#~ "Nyní se můžete ve svém prohlížeči podívat na <filename>docs/reference/<"
-#~ "package>/index.html</filename>. Zatím je to poněkud neuspokojivé, že? "
-#~ "Ale nebojte, v následující kapitole vám řekneme, jak stránky uvést do "
-#~ "života."
-
-#~ msgid "Documentation placement"
-#~ msgstr "Umístění dokumentace"
-
-#~ msgid ""
-#~ "In the past most documentation had to be filled into files residing "
-#~ "inside the <filename>tmpl</filename> directory. This has the "
-#~ "disadvantages that the information is often not updated and also that the "
-#~ "file tend to cause conflicts with version control systems."
-#~ msgstr ""
-#~ "Dříve musela být většina dokumentace doplněná do souborů umístěných ve "
-#~ "složce <filename>tmpl</filename>. Následkem toho bylo, že informace byly "
-#~ "často neaktualizované a soubory měli tendenci způsobovat konflikty v "
-#~ "systémech pro správu verzí."
-
-#~ msgid ""
-#~ "The avoid the aforementioned problems we suggest putting the "
-#~ "documentation inside the sources. This manual will only describe this way "
-#~ "of documenting code."
-#~ msgstr ""
-#~ "Aby se předešlo těmto zmiňovaným problémům, předpokládáme vkládání "
-#~ "dokumentace přímo do zdrojových kódů. Tato příručka bude popisovat pouze "
-#~ "tento způsob dokumentování kódu."
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Verze 1.1, březen 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address> Kdokoliv je oprávněn kopírovat a šířit doslovné kopie tohoto dokumentu s licencí, ale nesmí v něm provádět žádné změny.</para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="cs">
- <bookinfo>
- <title>Příručka ke GTK-Doc</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>Uživatelská příručka pro vývojáře s instrukcemi k používání GTK-Doc.</para></abstract>
- <authorgroup>
- <author><firstname>Chris</firstname> <surname>Lyttle</surname> <affiliation><address><email>chris@wilddev.net</email></address></affiliation></author>
- <author><firstname>Dan</firstname> <surname>Mueth</surname> <affiliation><address><email>d-mueth@uchicago.edu</email></address></affiliation></author>
- <author><firstname>Stefan</firstname> <surname>Sauer (Kost)</surname> <affiliation><address><email>ensonic@users.sf.net</email></address></affiliation></author>
- </authorgroup>
- <publisher role="maintainer"><publishername>Projekt GTK-Doc</publishername> <address><email>gtk-doc-list@gnome.org</email></address></publisher>
- <copyright><year>2000, 2005</year> <holder>Dan Mueth and Chris Lyttle</holder></copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>Je povoleno kopírovat, šířit a/nebo upravovat tento dokument za podmínek <citetitle>GNU Free Documentation License</citetitle> ve verzi 1.1 nebo v jakékoli další verzi vydané nadací Free Software Foundation, s neměnnými oddíly, bez textů předních desek a bez textů zadních desek. Kopie licence je <link linkend="fdl">součástí</link>.</para>
- <para>Mnoho názvů použitých firmami k zviditelnění produktů nebo služeb jsou ochranné známky. Na místech, kde jsou tyto názvy v dokumentaci použity a členové Dokumentačního projektu GNOME jsou si vědomi skutečnosti, že se jedná o ochrannou známku, je takovýto název psán velkými písmeny celý nebo s velkým písmenem na začátku.</para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision><revnumber>1.28</revnumber> <date>24. března 2018</date> <authorinitials>ss</authorinitials> <revremark>opravy chyb</revremark></revision>
- <revision><revnumber>1.27</revnumber> <date>7. prosince 2017</date> <authorinitials>ss</authorinitials> <revremark>detailní vyladění portu v jazyce Python</revremark></revision>
- <revision><revnumber>1.26</revnumber> <date>11. srpen 2017</date> <authorinitials>ss</authorinitials> <revremark>přenesení všech nástrojů z jazyků Perl/Bash do jazyka Python</revremark></revision>
- <revision><revnumber>1.25</revnumber> <date>21. březen 2016</date> <authorinitials>ss</authorinitials> <revremark>opravy chyb, pročištění testů</revremark></revision>
- <revision><revnumber>1.24</revnumber> <date>29. května 2015</date> <authorinitials>ss</authorinitials> <revremark>oprava chyby</revremark></revision>
- <revision><revnumber>1.23</revnumber> <date>17. květen 2015</date> <authorinitials>ss</authorinitials> <revremark>oprava chyby</revremark></revision>
- <revision><revnumber>1.22</revnumber> <date>07. květen 2015</date> <authorinitials>ss</authorinitials> <revremark>opravy chyb, odstranění zastaralých věcí</revremark></revision>
- <revision><revnumber>1.21</revnumber> <date>17. červenec 2014</date> <authorinitials>ss</authorinitials> <revremark>opravy chyb, odstranění zastaralých věcí</revremark></revision>
- <revision><revnumber>1.20</revnumber> <date>16. únor 2014</date> <authorinitials>ss</authorinitials> <revremark>opravy chyb, podpora značkovacího jazyka, vylepšení stylů</revremark></revision>
- <revision><revnumber>1.19</revnumber> <date>05. červen 2013</date> <authorinitials>ss</authorinitials> <revremark>opravy chyb</revremark></revision>
- <revision><revnumber>1.18</revnumber> <date>14. září 2011</date> <authorinitials>ss</authorinitials> <revremark>opravy chyb, zrychlení, podpora značkovacího jazyka</revremark></revision>
- <revision><revnumber>1.17</revnumber> <date>26. únor 2011</date> <authorinitials>sk</authorinitials> <revremark>aktualizace kvůli neodkladné opravě chyby</revremark></revision>
- <revision><revnumber>1.16</revnumber> <date>14. leden 2011</date> <authorinitials>sk</authorinitials> <revremark>opravy chyb, vylepšení vzhledu</revremark></revision>
- <revision><revnumber>1.15</revnumber> <date>21. květen 2010</date> <authorinitials>sk</authorinitials> <revremark>opravy chyb a regresí</revremark></revision>
- <revision><revnumber>1.14</revnumber> <date>28. březen 2010</date> <authorinitials>sk</authorinitials> <revremark>opravy chyb a vylepšení výkonu</revremark></revision>
- <revision><revnumber>1.13</revnumber> <date>18. prosinec 2009</date> <authorinitials>sk</authorinitials> <revremark>aktualizace poškozeného balíčku</revremark></revision>
- <revision><revnumber>1.12</revnumber> <date>18. prosinec 2009</date> <authorinitials>sk</authorinitials> <revremark>nové funkce nástroje a opravy chyb</revremark></revision>
- <revision><revnumber>1.11</revnumber> <date>16. listopad 2008</date> <authorinitials>mal</authorinitials> <revremark>přechod na doc-utils z GNOME</revremark></revision>
- </revhistory>
-
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>Úvod</title>
-
- <para>Tato kapitola je úvodem do GTK-Doc a podává přehled o tom, co to je a jak to použít.</para>
-
- <sect1 id="whatisgtkdoc">
- <title>Co je to GTK-Doc?</title>
-
- <para>GTK-Doc se používá k dokumentaci kódu jazyka C. Typické použití je pro dokumentaci veřejného API knihoven, jako jsou knihovny GTK+ a GNOME. Lze jej ale použít i k dokumentaci aplikačního kódu.</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>Jak GTK-Doc pracuje?</title>
-
- <para>GTK-Doc pracuje na základě dokumentace funkcí umístěné přímo v souborech se zdrojovým kódem ve speciálně formátovaných komentářových blocích, nebo dokumentace přidané do souborů šablon, které GTK-Doc používá (ačkoliv je nutno poznamenat, že GTK-Doc dokumentuje pouze funkce, které jsou deklarované v hlavičkových souborech; pro statické funkce žádný výstup nevytváří).</para>
-
- <para>GTK-Doc sestává z řady skriptů v jazyce Python, z nichž každý provádí jinou část procesu.</para>
-
- <para>Celý proces se skládá z pěti hlavních kroků:</para>
-
- <orderedlist>
-
- <listitem>
- <para><guilabel>Psaní dokumentace.</guilabel> Autor doplní soubory se zdrojovým kódem s dokumentací pro každou funkci, makro, strukturu, výčet atd.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Shromáždění informací o kódu.</guilabel> <application>gtkdoc-scan</application> projde hlavičkové soubory kódu a vyhledá při tom deklarace funkcí, maker, výčtů, struktur a sjednocení. Tím se vytvoří soubor <filename><module>-decl-list.txt</filename> obsahující seznam deklarací, které jsou rozdělené do oddílů podle hlavičkového souboru, ze kterého pochází. Při prvním spuštění se tento soubor zkopíruje do <filename><module>-sections.txt</filename>. Autor může změnit uspořádání oddílů a jejich pořadí v rámci deklarací tak, jak to požaduje ve výsledku. Druhý soubor, který se vytvoří, je <filename><module>-decl.txt</filename>. Tento soubor obsahuje úplné deklarace nalezené při procházení. Pokud byste z nějakého důvodu chtěli v dokumentaci zahrnout symbol, který při procházení nebyl nalezen, nebo jeho deklarace vypadá jinak, můžete jej umístit podobně jako v <filename><module>-decl.txt</filename> do <filename><module>-overrides.txt</filename>.</para>
- <para>Dá se také použít <application>gtkdoc-scanobj</application> k dynamickým dotazům do knihoven na podtřídy objektu GObject, které exportují. Tím se uloží informace o pozici každého objektu v hierarchii tříd a o argumentech a signálech objektu GObject, které poskytují.</para>
- <para><application>gtkdoc-scanobj</application> by se ale již používat nemělo. Bylo zapotřebí v minulosti, kdy byl GObject ještě GtkObject v rámci gtk+.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Generování XML a HTML/PDF.</guilabel> <application>gtkdoc-mkdb</application> přemění soubory šablon na soubory XML v podsložce <filename class="directory">xml/</filename>. Pokud zdrojový kód obsahuje dokumentaci funkcí za použití speciálních komentářových bloků, tak zde se sloučí. V případě, že není použitý žádný soubor šablon, načte se dokumentace pouze ze zdrojového kódu a introspektivních dat.</para>
- <para><application>gtkdoc-mkhtml</application> převádí soubory XML na soubory HTML v podsložce <filename class="directory">html/</filename>. Obdobně <application>gtkdoc-mkpdf</application> převádí soubory XML na dokument PDF nazvaný <filename><balíček>.pdf</filename>.</para>
- <para>Soubory ve složkách <filename class="directory">xml/</filename> a <filename class="directory">html/</filename> jsou vždy přepsány. Nikdy by neměly být upravovány přímo.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Opravy křížových odkazů mezi dokumenty.</guilabel> Po nainstalování souborů HTML můžete spustit <application>gtkdoc-fixxref</application>, aby se opravily křížové odkazy mezi samostanými dokumenty. Například dokumentace GTK+ obsahuje křížové odkazy na typy zdokumentované v příručce GLib. Když vytváříte zdrojový balíček pro distribuci, <application>gtkdoc-rebase</application> předělá všechny externí odkazy na webové odkazy. Když se distribuovaná (předgenerovaná) dokumentace instaluje, pokusí se tatáž aplikace předělat odkazy zpátky na místní odkazy (na dokumenty, které jsou nainstalované).</para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>Jak získat GTK-Doc?</title>
-
- <sect2 id="requirements">
- <title>Požadavky</title>
- <para><guilabel>Python 2/3</guilabel> – hlavní skripty jsou v jazyce Python.</para>
- <para><guilabel>xsltproc</guilabel> – procesor xslt z knihovny libxslt <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink></para>
- <para><guilabel>docbook-xsl</guilabel> – stylopisy XSL pro docbook <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink></para>
- <para>Něco z <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> nebo <guilabel>vim</guilabel> – (volitelné) používá se pro zvýraznění syntaxe u příkladů</para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>O aplikaci GTK-Doc</title>
-
- <para>Historicky se GTK-Doc používalo ke generování šablonových souborů ze zdrojových kódů. Tyto šablonové soubory pak mohli vývojáři používat ke vkládání dokumentace k API. Tento postup byl dosti nepohodlný, protože vyžadovat udržování vygenerovaných souborů ve správě verzí. Proto od verze 1.9 přichází GTK-Doc s možností vkládat všechny informace o API do komentářů ve zdrojových kódech, čímž se podpora šablon stává nadbytečnou. Ve verzi 1.26 byla podpora šablon odstraněna.</para>
-
- <para>(DOPLNIT)</para>
-
- <para>(autoři, webové stránky, poštovní konference, licence, plány do budoucna, srovnání s ostatními podobnými systémy.)</para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>O této příručce</title>
-
- <para>(DOPLNIT)</para>
-
- <para>(k čemu je určená, kde ji můžete získat, licence)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Nastavení projektu</title>
-
- <para>Tato kapitola popisuje kroky, které jsou nutné pro integraci GTK-Doc do vašeho projektu. Integrace GTK-Doc do projektu zahrnuje následující kroky:</para>
-
- <itemizedlist>
- <listitem>
- <para>Přípravu struktury složek a vytvoření požadovaných konfiguračních souborů pro dokumentaci GTK-Doc (viz <link linkend="settingup_docfiles">Nastavení kostry dokumentace</link>).</para>
- </listitem>
- <listitem>
- <para>Přizpůsobení sestavovacího systému, aby sestavoval vaši dokumentaci pomocí nástrojů GTK-Doc. Je podporováno více sestavovacích systémů, v této příručce je popsáno, jak integrovat GTK-Doc s <link linkend="settingup_autotools">Autotools</link>, <link linkend="settingup_cmake">CMake</link> a <link linkend="settingup_plain_makefiles">prostými soubory Makefiles</link>.</para>
- </listitem>
- <listitem>
- <para>Přidání souborů specifických pro GTK-Doc do správy verzí a rozhodnutí, které soubory se mají ignorovat (viz <link linkend="settingup_vcs">Integrace se systémem správy verzí</link>).</para>
- </listitem>
- </itemizedlist>
-
- <para>Následující oddíly předpokládají, že pracujeme na projektu nazvaném <code>meep</code>. Tento projekt obsahuje dva balíčky (nebo moduly), knihovnu nazvanou <code>libmeep</code> a uživatelskou aplikaci nazvanou <code>meeper</code>.</para>
-
- <sect1 id="settingup_docfiles">
- <title>Nastavení kostry dokumentace</title>
-
- <para>Zaběhnutým zvykem je umístit dokumentaci do složky nazvané <code>docs</code> ve složce nejvyšší úrovně projektu. Obvykle rozlišujeme mezi <emphasis>referenční dokumentací</emphasis> zaměřenou na vývojáře a <emphasis>uživatelskou příručkou</emphasis> zaměřenou na koncového uživatele. Opět je zvykem mít zvláštní složku pro každou z obou zmíněných. Obvykle umisťujeme referenční dokumentaci do složky nazvané <code>reference</code> a uživatelskou příručku do složky nazvané <code>help</code>. V souladu se zmíněnými zvyky by dokumentace pro naši knihovnu <code>libmeep</code> byla umístěna do <code>docs/reference/libmeep</code>. U balíčků s jedinou knihovnou nebo referenční dokumentací by bylo možné ji umístit přímo do <code>docs/reference</code>. Není povinné použít uvedenou konvenci, ale pokud se rozhodnete použít jinou strukturu složek, musíte upravit konfiguraci sestavovacího systému, aby se s ní shodoval.</para>
-
- <para>V následujících oddílech budeme uvažovat strukturu složek pro náš projekt <emphasis>meep</emphasis>, který používá výše uvedené konvence. <example>
- <title>Příklad struktury složek projektu <emphasis>meep</emphasis></title>
- <programlisting>
-meep/
- docs/
- reference/ # referenční dokumentace
- libmeep/
- meeper/
- help/ # volitelné: uživatelská příručka
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integrace s Autotools</title>
- <para>Integrace GTK-Doc do sestavovacího systému založeného na Autotools vyžaduje následující kroky:</para>
- <itemizedlist>
- <listitem>
- <para>Zajistit, že <application>gtkdocize</application> se spustí právě jednou před skriptem <filename>configure</filename>. Pokud je přítomen skript <filename>autogen.sh</filename>, upravte jej, aby kontroloval GTK-Doc a přidejte volání <application>gtkdocize</application>.</para>
-
- <para>Hlavním účelem <application>gtkdocize</application> je vytvořit Makefile <filename>gtk-doc.make</filename> a definici makra <filename>gtk-doc.m4</filename> dostupnou sestavovacímu systému, buď zkopírováním do projektu nebo vytvořením odkazu.</para>
- </listitem>
- <listitem>
- <para>Přidat potřebná makra <application>autoconf</application> do <filename>configure.ac</filename>, abyste povolili GTK-Doc v sestavovacím systému a konfigurace GTK-Doc mohla jít přes generovaný skript <filename>configure</filename>.</para>
- <para>Mimo jiné pomocí registrace přepínače <code>--enable-gtk-doc</code> ve skriptu <filename>configure</filename>.</para>
- </listitem>
- <listitem>
- <para>Vytvořit skript <application>automake</application> pro jednotlivé aplikace a knihovny ve svém projektu. V příkladu použitém v této dokumentaci je tento krok použit jak pro <code>meeper</code>, tak pro <code>libmeep</code>.</para>
- </listitem>
- </itemizedlist>
-
- <para>V následujícím oddíle provedeme výše zmíněné kroky v opačném pořadí. Začneme se skripty <application>automake</application> a budeme postupovat až k <filename>configure.ac</filename> a <filename>autogen.sh</filename>. Pak si ukážeme, jak povolit GTK-Doc v sestavovacím systému a jak sestavit dokumentaci.</para>
-
- <sect2 id="settingup_automake">
- <title>Integrace s automake</title>
-
- <para>Jako první nakopírujte <filename>Makefile.am</filename> z podsložky <filename class="directory">examples</filename> ve složce <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">gtkdoc-sources</ulink> do složky s referenční dokumentací svého projektu (např. <filename class="directory">./docs/reference/<package></filename>). Místní kopie by měla být k dispozici např. pod <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>. Pokud máte více balíčků s dokumentací, opakujte tento krok pro každý z nich.</para>
-
- <note>
- <simpara>Nezapomeňte přidat jednotlivé <filename>Makefile.am</filename> do makra <function>AC_CONFIG_FILES</function> v <filename>configure.ac</filename>. Pro <filename>docs/reference/libmeep/Makefile.am</filename> budete potřebovat přidat záznam <filename>docs/reference/libmeep/Makefile</filename> do <function>AC_CONFIG_FILES</function>.</simpara>
- </note>
-
- <example>
- <title>Příklad struktury složek s <filename>Makefiles.am</filename></title>
- <programlisting>
-meep/
- docs/
- reference/ # referenční dokumentace
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # volitelné: uživatelská příručka
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>Dále je třeba přizpůsobit zkopírované soubory Makefile a dodat hodnoty pro různé parametry v jednotlivých <filename>Makefile.am</filename>. Všechna nastavení mají komentáře s popisem svého účelu a jak nastavení přizpůsobit. Většina nastavení má doplňující příznaky předávané do dotyčných nástrojů, které je umí použít. Každý nástroj má proměnnou ve formátu <option><NÁZEVNÁSTROJE>_OPTIONS</option> (např. nástroj <application>gtkdoc-mkhtml</application> má volbu nazvanou <code>MKHTML_OPTIONS</code>). Všechny nástroje podporují <option>--help</option> pro vypsání podporovaných přepínačů.</para>
-
- <para>Následující seznam vysvětluje nejpodstatnější volby. Na další volby se podívejte do ukázkového <filename>Makefile.am</filename>. <itemizedlist>
- <listitem>
- <para><option>DOC_MODULE</option> se používá k poskytnutí názvu balíčku, který je dokumentován (např. <code>meeper</code> nebo <code>libmeep</code>).</para>
- </listitem>
- <listitem>
- <para><option>DOC_SOURCE_DIR</option> se používá k určení umístění zdrojové složky, ve které GTK-Doc hledá dokumentaci API. Obvykle to je <code>DOC_SOURCE_DIR=$(top_srcdir)/src </code> nebo podsložka této složky.</para>
- </listitem>
-
- <listitem>
- <para><option>HFILE_GLOB</option> a <option>CFILE_GLOB</option> se používají pro závislosti. Obě volby přebírají file-glob (např. <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>). Dokumentace se znovu sestaví, když se kterýkoliv z odpovídajících souborů změní.</para>
- </listitem>
-
- <listitem>
- <para><option>EXTRA_HFILES</option> umožňuje určit dodatečné hlavičkové soubory, které se mají zahrnout při procházení pro dokumentaci k API, a které nejsou k nalezení pod složkou <code>DOC_SOURCE_DIR</code> (např. <code>EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>IGNORE_HFILES</option> umožňuje určit dodatečné hlavičkové soubory nebo složky, které se mají ignorovat při procházení pro dokumentaci k API. Použijte základní název ze souboru nebo složky (např. <code>IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>HTML_IMAGES</option> umožňuje určit soubory s obrázky, které se zkopírují do složky <option>html/</option> s generovanou dokumentací. Pokud jsou součástí vaší dokumentace API nějaké obrázky, je třeba je přidat do této volby (např. <code>HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>content_files</option> umožňuje určit dodatečné soubory, které se mají vložit pomocí <code>$(DOC_MAIN_SGML_FILE)</code> (např. <code>content_files=running.xml building.xml changes-2.0.xml</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>expand_content_files</option> umožňuje určit soubory, ve kterých jsou rozvinuty <emphasis>zkratky gtk-doc</emphasis>, jako je třeba <code>#GtkWidget</code> (např. <code>expand_content_files=running.xml</code>).</para>
- </listitem>
- </itemizedlist></para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>Integrace s autoconf</title>
-
- <para>Integrace s <application>autoconf</application> je velmi jednoduchá a skládá se z jednoho povinného kroku a dalšího volitelného (ale doporučeného) kroku. Prvním krokem je přidat makro <function>GTK_DOC_CHECK</function> do skriptu <filename>configure.ac</filename>. Tím se zaregistruje několik konfiguračních voleb, které povolí GTK-Doc a umožní vám nastavit výchozí argumenty pro <application>gtkdocize</application>.</para>
-
- <warning>
- <simpara>Ujistěte se, že makro <code>GTK_DOC_CHECK</code> není odsazené od kraje. Makro musí začínat na začátku řádku a nesmí začínat bílými znaky.</simpara>
- </warning>
-
- <para>Druhým krokem je přidat do <filename>configure.ac</filename> makro <code>AC_CONFIG_MACRO_DIR(m4)</code>. Není to sice nutné, ale pomůže to <application>gtkdocize</application> automaticky zkopírovat definici makra (např. <filename>gtk-doc.m4</filename>), která obsahuje makro <function>GTK_DOC_CHECK</function>, do složky s makry ve vašem projektu. Bez toho se může stát, že makro <function>GTK_DOC_CHECK</function> nemusí být nalezeno a budete muset nástroji <application>aclocal</application> výslovně uvést, kde soubor s definicí makra najít.</para>
-
- <para>
- <example><title>Minimální integrace s autoconf</title>
- <programlisting>
-# doporučeno: nastaví složku m4
-AC_CONFIG_MACRO_DIR(m4)
-# volitelné: zaregistruje gtk-doc v configure
-GTK_DOC_CHECK([1.28])
-</programlisting>
- </example>
- </para>
-
- <para>Výše uvedený příklad funguje, ale vyžaduje, aby všichni vývojáři měli nainstalováno gtk-doc. Lepším způsobem je zařídit, aby sestavení dokumentace bylo volitelné, jak je ukázáno v následujícím příkladu: <example>
- <title>Integrace s volitelnými závislostttmi gtk-doc</title>
- <programlisting>
-m4_ifdef([GTK_DOC_CHECK], [
-# doporučeno: nastaví složku m4
-AC_CONFIG_MACRO_DIR(m4)
-# volitelné: zaregistruje gtk-doc v configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-</programlisting>
- </example></para>
-
- <para>První argument se používá ke kontrole verze GTK-Doc v průběhu konfigurace. Druhý, volitelný argument používá nástroj <application>gtkdocize</application>. Makro <symbol>GTK_DOC_CHECK</symbol> také přidává několik přepínačů pro configure:</para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=CESTA: cesta, kam se má dokumentace nainstalovat</para></listitem>
- <listitem><para>--enable-gtk-doc: použít k sestavení dokumentace gtk-doc [výchozí je ne]</para></listitem>
- <listitem><para>--enable-gtk-doc-html: sestavit dokumentaci ve formátu HTML [výchozí je ano]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf: sestavit dokumentaci ve formátu PDF [výchozí je ne]</para></listitem>
- </orderedlist>
-
- <important>
- <para>GTK-Doc je standardně vypnuté! Nezapomeňte zadat přepínač „<option>--enable-gtk-doc</option>“ při dalším spuštění <filename>configure</filename>. Jinak se nainstaluje předgenerovaná dokumentace (která může mít význam pro uživatele, ale ne pro vývojáře).</para>
- </important>
-
- <para>Po provedení změn v <filename>configure.ac</filename> aktualizujte soubor <filename>configure</filename>. To se dá udělat opětovným spuštěním <code>autogen.sh</code>.</para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>Integrace s autogen</title>
-
- <para>Většina projektů má skript <filename>autogen.sh</filename>, který po stažení projektu ze systému pro správu verzí (jako je Git nebo SVN), nastaví infrastrukturu pro sestavení. GTK-Doc se dodává se skriptem nazvaným <application>gtkdocize</application>, který lze použít ke zkopírování nezbytných souborů požadovaných GTK-Doc do zdrojové složky.</para>
-
- <para>Měl by být spuštěn před autoheader, automake nebo autoconf.</para>
-
- <para>
- <example><title>Spuštění gtkdocize z autogen.sh</title>
- <programlisting>
-gtkdocize || exit 1
-</programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Podmíněné spuštění gtkdocize z autogen.sh</title>
- <programlisting>
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-</programlisting>
- </example>
- </para>
-
- <para>Když spustíte <filename>gtkdocize</filename>, tak nakopíruje do kořenové složky vašeho projektu (nebo složky určené přepínačem <option>--docdir</option>) soubor <filename>gtk-doc.make</filename>.</para>
-
- <para><filename>gtkdocize</filename> kontroluje váš skript <filename>configure.ac</filename> ohledně makra <function>GTK_DOC_CHECK</function>. Toto makro můžete použít k předání dalších parametrů do skriptu <application>gtkdocize</application>. Konkrétně k tomu slouží druhý argument makra.</para>
-
- <para>Alternativně lze další argumenty skriptu <application>gtkdocize</application> předat přes proměnnou prostředí <function>GTKDOCIZE_FLAGS</function> nebo je zadat přímo za volání <application>gtkdocize</application> v <filename>autogen.sh</filename>.</para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Spouštění GTK-Doc ze sestavovacího systému</title>
-
- <para>Po dokončení předchozích kroků nastal čas spustit sestavení. Nejdříve musíte znovu spustit <filename>autogen.sh</filename>. Pokud tento skript pro vás provádí nastavení, předejte mu přepínač <option>--enable-gtk-doc</option>. Jinak potom ručně spusťte <filename>configure</filename> s tímto přepínačem.</para>
- <para>První make spustí vygenerování několika doplňujících souborů ve složkách doc. Podstatné jsou tyto: <filename><package>.types</filename>, <filename><package>-docs.xml</filename> (dříve .sgml) a <filename><package>-sections.txt</filename>.</para>
- <para>
- <example><title>Sestavení dokumentace</title>
- <programlisting>
-./autogen.sh --enable-gtk-doc
-make
-</programlisting>
- </example>
- </para>
-
- <para>Nyní si můžete ve svém webovém prohlížeči zobrazit <filename>docs/reference/<package>/index.html</filename>. S tímto počátečním nastavením uvidíte jen velmi jednoduchý dokument. Následující kapitola vás naučí, jak do svého zdrojového kódu přidat dokumentaci k API pomocí speciálních komentářových bloků. Dále pak kapitola seznamuje s <link linkend="metafiles">dodatečnými soubory</link> a ukazuje, jak upravit <link linkend="metafiles_master">hlavní šablonu</link>, abyste do svých souborů s dokumentací dostali doplňující kapitoly a oddíly.</para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integrace se sestavovacím systémem CMake</title>
-
- <para>GTK-Doc nyní nabízí modul <filename>GtkDocConfig.cmake</filename> (a příslušný modul <filename>GtkDocConfigVersion.cmake</filename>). Ten poskytuje příkaz <literal>gtk_doc_add_module</literal>, který můžete nastavit ve svém souboru <filename>CMakeLists.txt</filename>.</para>
-
- <para>Následující příklad ukazuje, jak tento příkaz použít: <example><title>Příklad použití GTK-Doc z CMake</title>
- <programlisting>
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Vytvoření cíle doc-libmeep.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Sestavení doc-libmeep jako součásti výchozího cíle. Bez tohoto byste museli
-# ručně spouštět něco jako `make doc-libmeep`, aby se dokumentace sestavila.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Instalace dokumentace. (Předpokládá to, že používáte modul CMake GNUInstallDirs
-# ke správnému nastavení proměnné CMAKE_INSTALL_DOCDIR).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integrace s prostými soubory Makefile nebo jinými sestavovacími systémy</title>
-
- <para>Když někdo nechce používat automake, a tím pádem <filename>gtk-doc.mak</filename>, bude muset volat nástroje gtkdoc ve správném pořadí ve vlastních souborech make (nebo jiných nástrojích).</para>
-
- <para>
- <example><title>Kroky sestavení dokumentace</title>
- <programlisting>
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <zdrojová-složka>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<zdrojová-složka>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-</programlisting>
- </example>
- </para>
-
- <para>Na výběr dalších potřebných voleb se musíte se podívat do <filename>Makefile.am</filename> a <filename>gtk-doc.mak</filename>.</para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>Integrace se systémem pro správu verzí</title>
-
- <para>Podle nepsaných pravidel byste soubory, které upravujete, měli udržovat ve správě verzí. U typických projektů to jsou tyto soubory: <filename><balíček>.types</filename>, <filename><balíček>-docs.xml</filename> (dříve .sgml), <filename><balíček>-sections.txt</filename> a <filename>Makefile.am</filename>.</para>
- <para>Soubory ze složek <filename>xml/</filename> a <filename>html/</filename> by neměly být zařazeny do správy verzí. A ani žádné soubory <filename>.stamp</filename>.</para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>Dokumentování v kódu</title>
-
- <para>GTK-Doc používá pro kód dokumentace komentáře se speciální syntaxí ve zdrojovém kódu. K tomu se ještě získávají informace o struktuře vašeho projektu z dalších zdrojů. V následujícím oddílu najdete všechny informace o syntaxi komentářů.</para>
-
- <para>Skener GTK-Doc zvládá dobře většinu hlavičkových souborů C. V případě, že od něj obdržíte varování, které vypadá jako speciální případ, můžete GTK-Doc poradit, aby jej přeskakovala. <example><title>Komentářový blok GTK-Doc</title>
- <programlisting>
-#ifndef __GTK_DOC_IGNORE__
-/* kód zde se nezpracovává */
-#endif
-</programlisting>
- </example></para>
-
- <note>
- <title>Omezení</title>
- <para>Uvědomte si, že GTK-Doc podporuje <code>#ifndef(__GTK_DOC_IGNORE__)</code>, ale ne <code>#if !defined(__GTK_DOC_IGNORE__)</code> nebo jiné kombinace.</para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>Dokumentační komentáře</title>
-
- <para>Každý víceřádkový komentář, který je označený další „*“ navíc, je dokumentačním blokem a bude zpracovaný nástroji GTK-Doc. <example><title>Komentářový blok GTK-Doc</title>
- <programlisting>
-/**
- * identifikátor:
- * dokumentace …
- */
-</programlisting>
- </example></para>
-
- <para>„identifikátor“ je jeden řádek s názvem položky, ke které se komentář vztahuje. Syntaxe se částečně liší podle položky. (DOPLNIT: přidat tabulku se seznamem identifikátorů)</para>
-
- <para>Blok „dokumentace“ se rovněž liší pro různé typy symbolů. Symboly, které přebírají parametry, jako jsou funkce nebo makra, mají nejdříve popsané parametry, za kterými následuje prázdný řádek (pouze „*“). Za ním pak následuje podrobný popis. Všechny řádky (mimo seznamu programů a oddílu CDATA), které obsahují „ *“ (mezera hvězdička) se převedou na zalomení odstavce. Pokud zalomení odstavce nechcete, změňte to na „ * “ (mezera hvězdička mezera mezera). To se hodí na text s pevným formátem (výpis kódu).</para>
-
- <tip>
- <para>Když píšete dokumentaci ke kódu, popište dva aspekty: <itemizedlist>
- <listitem>
- <para>Co to je: Název třídy nebo funkce může být občas matoucí pro lidi, kteří používají něco jiného.</para>
- </listitem>
- <listitem>
- <para>K čemu to je: Uveďte běžném použití. Dejte ho do souvislosti se zbytkem API.</para>
- </listitem>
- </itemizedlist></para>
- </tip>
-
- <para>Jednou z výhod hypertextu, oproti prostému textu, je možnost mít v dokumentu odkazy. Zápis správných značek pro odkazy může být úmorná práce. GTK-Doc se vám snaží pomoci několika užitečnými zkratkami. <itemizedlist>
- <listitem>
- <para>Použijte funkce() pro odkaz na funkci nebo makro, které mají argumenty.</para>
- </listitem>
- <listitem>
- <para>Použijte @parametr pro odkaz na parametry. Použijte to rovněž, když se odkazujete na parametry jiných funkcí, vztahujících se k popisované funkci.</para>
- </listitem>
- <listitem>
- <para>Použijte %konstanta pro odkaz na konstantu, např. %G_TRAVERSE_LEAFS.</para>
- </listitem>
- <listitem>
- <para>Použijte #symbol pro odkaz na jiný typ symbolu, např. strukturu, výčet a makro, který nemá argumenty.</para>
- </listitem>
- <listitem>
- <para>Použijte #Objekt::signál pro odkaz na signál objektu GObject.</para>
- </listitem>
- <listitem>
- <para>Použijte #Objekt:vlastnost pro odkaz na vlastnost objektu GObject.</para>
- </listitem>
- <listitem>
- <para>Použijte #Struktura.pole pro odkaz na pole uvnitř struktury a #GObjectTřída.neco() pro odkaz na virtuální metodu.</para>
- </listitem>
- </itemizedlist></para>
-
- <tip>
- <para>V případě, že potřebujete ve své dokumentaci použít speciální znaky „<“, „>“, „()“, „@“, „%“ nebo „#“, aniž by je GTK-Doc změnilo, můžete místo nich použít použít entity XML „&lt;“, „&gt;“, „&lpar;“, „&rpar;“, „&commat;“, „&percnt;“ a „&num;“ nebo únikovou sekvenci se zpětným lomítkem „\“.</para>
- </tip>
-
- <para>DocBook toho ale umí více, než jen odkazy. Může mít také seznamy, příklady, nadpisy a obrázky. Od verze 1.20 je dána přednost použití jen podmnožiny ze základní syntaxe formátování textu. Tato podmnožina se nazývá <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>. Dokumentace ze starší verze GTK-Doc, která obsahuje Markdown, bude vygenerována tak, jak je. Například položky seznamu se objeví s pomlčkou na začátku.</para>
-
- <para>I když je markdown v současnosti preferovaný, můžete míchat oba dohromady. Má to jediné omezení v tom, že můžete použít docbook xml v markdown, ale markdown v docbook xml podporován není.</para>
-
- <para>Když ve starších vydáních GTK-Doc potřebujete podporu pro dodatečné formátování, musíte zapnout použití značek XML pro DocBook uvnitř dokumentačních komentářů pomocí <option>--xml-mode</option> (nebo <option>--sgml-mode</option>) v proměnné <symbol>MKDB_OPTIONS</symbol> v souboru <filename>Makefile.am</filename>.</para>
-
- <para>
- <example><title>Komentářový blok GTK-Doc používající značkovací jazyk</title>
- <programlisting>
-/**
- * identifikátor:
- *
- * odstavec dokumentace…
- *
- * # Podnadpis #
- *
- * ## Podnadpis druhé úrovně
- *
- * # Podnadpis s kotvou pro odkazy # {#heading-two}
- *
- * další dokumentace:
- *
- * - položka seznamu 1
- *
- * Odstavec v rámci položky seznamu.
- *
- * - položka seznamu 2
- *
- * 1. číslovaná položka seznamu
- *
- * 2. další číslovaná položka seznamu
- *
- * Další odstavec. [Odkazy na webové stránky GNOME](http://www.gnome.org/)
- *
- * 
- *
- * [Odkaz na nadpis pomocí kotvy uvedené výše][heading-two]
- *
- * Příklad v jazyce C:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Paráda!");
- * ]|
- */
-</programlisting>
- </example>
- </para>
-
- <para>Více příkladů k podporovaným značkám Markdown můžete najít v <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">Referenční příručce k syntaxi Markdown pro dokumentaci GTK+</ulink>.</para>
-
- <tip>
- <para>Jak již bylo zmíněno dříve, slouží GTK-Doc pro dokumentování veřejného API. Tím pádem nemůžete psát dokumentaci pro statické symboly. Nicméně je vhodné komentovat i tyto symboly. Pomůže to ostatním vývojářům porozumět vašemu kódu. Proto doporučujeme komentovat je pomocí normálních komentářů (bez druhé „*“ na prvním řádku). Pokud je budete v budoucnu chtít předělat na veřejné, jediné co budete muset udělat, je přidat do komentářového bloku jednu „*“ a na správné místo v souboru oddílů vložit název symbolu.</para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>Dokumentování oddílů</title>
-
- <para>Každý oddíl dokumentace obsahuje informaci o jedné třídě nebo modulu. Můžete do oddílu napsat blok, ve kterém je představíte. Stručný popis se rovněž použije v rámci tabulky s obsahem. Všechna @pole jsou volitelná.</para>
-
- <para>
- <example><title>Komentářový blok oddílu</title>
- <programlisting>
-/**
- * SECTION:meepapp
- * @short_description: třída plikace
- * @title: Aplikace Meep
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * Třída aplikace starající se o…
- */
-</programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<název></term>
- <listitem>
- <para>Název prováže oddíl dokumentace s příslušnou částí v souboru <filename><package>-sections.txt</filename>. Zde zadaný název musí odpovídat značce <SOUBOR> v souboru <filename><package>-sections.txt</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>Jednořádkový popis oddílu, který se později objeví za odkazy v tabulce s obsahem a na začátku stránky oddílu.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>Název oddílu se standardně zvolí podle <name> v deklaraci SECTION. Lze jej ale určit i přímo v poli @title.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>Přepíše použití názvu jako identifikátoru oddílu. Pro objekty GObject se jako section_id použije <title> a pro ostatní oddíly to je <MODULE>-<title>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>Seznam symbolů, které se vztahují k tomuto oddílu.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>Informační popis úrovně stability tohoto API. Doporučujeme použít jeden z těchto termínů: <itemizedlist>
- <listitem>
- <para>Stable (stabilní) – Záměrem stabilního rozhraní je umožnit libovolné třetí straně vyvinout aplikace využívající toto rozhraní, vydat je a moci se spolehnout, že poběží na všech podružných vydáních produktu (po té, co je rozhraní vydáno a v rámci stejné hlavní verze). I mezi hlavními vydáními se nekompatibilní změny očekávají zřídka v opravdu odůvodněných případech.</para>
- </listitem>
- <listitem>
- <para>Unstable (nestabilní) – Nestabilní rozhraní je experimentální a přechodné. Typicky bývá dáno vývojářům k dispozici kvůli včasnému přístupu k novým a rychle se měnícím technologiím nebo kvůli poskytnutí provizorního řešení problému, kdy je předpokládané více obecné řešení. Není žádná záruka ohledně zdrojové či binární kompatibility při přechodu z jedné podružné verze na následujíc.</para>
- </listitem>
- <listitem>
- <para>Private (soukromé) – Rozhraní, které může být použité v rámci zásobníku GNOME, ale není dokumentované pro koncového uživatele. Takové funkce by se měly používat jen určeným a dokumentovaným způsobem.</para>
- </listitem>
- <listitem>
- <para>Internal (interní) – Rozhraní, které je určené pro interní potřeby modulu a nevyžaduje dokumentaci pro koncového uživatele. Funkce, které jsou nedokumentované, jsou považované za interní.</para>
- </listitem>
- </itemizedlist></para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>Seznam souborů z <literal>#include</literal> oddělených čárkou, aby se zobrazily v oddílu anotace. Přepisuje globální hodnotu ze <link linkend="metafiles_sections">souboru oddílů</link> nebo příkazové řádky. Tato položka je volitelná.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>Obrázek, který se má zobrazit na začátku referenční stránky k tomuto oddílu. Často se jedná o nějaký nákres, který schématicky znázorňuje podobu třídy nebo nákres se vztahy vůči jiným třídám. Tato položka je volitelná.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>Aby se po změně dokumentace předešlo rekompilacím, které nejsou nutné, vložte, kde je to možné, dokumentaci oddílu do zdrojového kódu c.</para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>Dokumentování symbolů</title>
-
- <para>Každý symbol (funkce, makro, struktura, výčet, signál a vlastnost) se dokumentuje v odděleném bloku. Blok je nejlepší umístit v rámci definice symbolu, protože se tak snadno udržuje synchronizovaný. Z tohoto důvodu se funkce obvykle dokumentují ve zdrojovém kódu C a makra, struktury a výčty v hlavičkovém souboru.</para>
-
- <sect2><title>Obecné značky</title>
-
- <para>Informace o verzích můžete přidat ke všem prvkům dokumentace, abyste sdělili, kdy bylo API zavedeno, nebo kdy bylo označeno za zastaralé.</para>
-
- <variablelist><title>Značky pro verzování</title>
- <varlistentry><term>Since:</term>
- <listitem>
- <para>Popisuje, od které verze kódu je API dostupné.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Deprecated:</term>
- <listitem>
- <para>Odstavec upozorňující, že by se tato funkce neměla nadále používat. Popis by měl čtenáře odkazovat na nové API.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Můžete také ke všem prvkům dokumentace přidat informaci o stabilitě, abyste dali najevo, že je u API zaručena stabilita pro všechna následující minoritní vydání projektu.</para>
-
- <para>Výchozí stabilitu pro všechny prvky dokumentace můžete pomocí argumentu <option>--default-stability</option> s jednou u níže uvedených hodnot předat do <application>gtkdoc-mkdb</application>.</para>
-
- <variablelist><title>Značky pro stabilitu</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>Označuje prvek jako stabilní. Je to určeno pro veřejná API, která zaručují, že zůstanou stabilní po všechna minoritní vydání projektu.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>Označuje prvek jako nestabilní. Je to určeno pro veřejná API, která jsou vydána jako ukázky před tím, než jsou stabilizována.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>Označuje prvek jako soukromý. Je to určeno pro rozhraní, která mohou být použita přímo v modulu, ale ne kterýmikoliv třetími stranami.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>Obecné značky</title>
- <programlisting>
-/**
- * foo_get_bar:
- * @foo: nějaké něco
- *
- * Získá @foo něčeho.
- *
- * Returns: @foo něčeho
- *
- * Since: 2.6
- * Deprecated: 2.12: Místo toho použijte foo_baz_get_bar().
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Anotace</title>
-
- <para>Dokumentační bloky mohou obsahovat anotační štítky. Tyto štítky budou zpracovány jako vysvětlivky popisující jejich význam. Používají se introspekcí objektu GObjekt k vygenerování vazby na další jazyky. Podrobný seznam podporovaných štítků můžete najít na <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">wiki</ulink>.</para>
-
- <example><title>Anotace</title>
- <programlisting>
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): nějaké něco
- *
- * Získá @foo něčeho.
- *
- * Returns: (annotation): @foo něčeho
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (annotation)
- * (annotation) …
- * @foo: (annotation) (annotation) …: nějaké něco
- *
- * Nastaví něco na @foo.
- */
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Komentářový blok pro funkci</title>
-
- <para>Nezapomeňte prosím: <itemizedlist>
- <listitem>
- <para>Zdokumentovat, jestli je třeba vracené objekty, seznamy, řetězce apod. uvolnit z paměti.</para>
- </listitem>
- <listitem>
- <para>Zdokumentovat, jestli může parametr být NULL a co se stane, když tomu tak je.</para>
- </listitem>
- <listitem>
- <para>Kde je to vhodné, zmínit úvodní a koncové podmínky.</para>
- </listitem>
- </itemizedlist></para>
-
- <para>Gtk-doc předpokládá, že všechny symboly (makra, funkce) začínající znakem „_“, jsou soukromé. Potom se s nimi zachází jako se statickými funkcemi.</para>
-
- <example><title>Komentářový blok pro funkci</title>
- <programlisting>
-/**
- * function_name:
- * @par1: popis parametru 1. Může zabírat více jak
- * jeden řádek.
- * @par2: popis parametru 2
- * @...: seznam proměnných parametrů zakončených NULL
- *
- * Zde pokračuje popis funkce. K odkazu na parametr můžete použit @par1,
- * takže bude ve výstupu zvýrazněný. Můžete také použít %constant pro
- * konstanty, function_name() pro funkce a #GtkWidget pro odkazy na jiné
- * deklarace (které mohou být zdokumentované jinde).
- *
- * Returns: celé číslo.
- *
- * Since: 2.2
- * Deprecated: 2.18: Místo toho použijte other_function().
- */
-</programlisting>
- </example>
-
- <variablelist><title>Značky pro funkce</title>
- <varlistentry><term>Returns:</term>
- <listitem>
- <para>Odstavec popisující vracený výsledek.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@…:</term>
- <listitem>
- <para>Když má funkce proměnný počet argumentů, měli byste použít tuto značku (z historických důvodů funguje i @Varargs:).</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>Komentářový blok pro vlastnost</title>
-
- <example><title>Komentářový blok pro vlastnost</title>
- <programlisting>
-/**
- * SomeWidget:some-property:
- *
- * Zde vlastnost zdokumentujte.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, …);
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Komentářový blok pro signál</title>
-
- <para>Nezapomeňte prosím: <itemizedlist>
- <listitem>
- <para>Zdokumentovat, kdy je signál vyslán a jestli je vyslána před nebo po ostatních signálech.</para>
- </listitem>
- <listitem>
- <para>Zdokumentovat, co aplikace smí v obsluze signálu provádět.</para>
- </listitem>
- </itemizedlist></para>
-
- <example><title>Komentářový blok pro signál</title>
- <programlisting>
-/**
- * FooWidget::foobarized:
- * @widget: widget, který signál přijímá
- * @foo: nějaké něco
- * @bar: jiné něco
- *
- * Signál ::foobarized je vyslán pokaždé, když někdo zkusí něco s @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Komentářový blok pro strukturu</title>
- <example><title>Komentářový blok pro strukturu</title>
- <programlisting>
-/**
- * FooWidget:
- * @bar: nějaká #gboolean
- *
- * Tohle je ten nejlepší widget.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-</programlisting>
- </example>
-
- <para>Před privátními poli struktury použijte <code>/*< private >*/</code>, abyste je skryli. K přesně opačnému účelu se používá <code>/*< public >*/</code>.</para>
-
- <para>Pokud je prvním polem „g_iface“, „parent_instance“ nebo „parent_class“, bude za privátní považováno automaticky a není to zapotřebí zmiňovat v komentářovém bloku.</para>
-
- <para>Komentářové bloky struktur můžete použít také pro objekty GObject a třídy GObjectClass. Obvykle je rozumné přidat komentářový blok pro třídu, pokud má virtuální metody (protože to je způsob, jakým je lze zdokumentovat). Pro vlastní GObject je možné použít příslušnou dokumentaci oddílu, který bude mít samostatný blok pro strukturu instance, což se může hodit, když má instance veřejná pole. Jedinou nevýhodou je, že se tím vytvoří dvě položky v rejstříku se stejným názvem (struktura a oddíl).</para>
-
- </sect2>
-
- <sect2><title>Komentářový blok pro výčty</title>
- <example><title>Komentářový blok pro výčty</title>
- <programlisting>
-/**
- * Something:
- * @SOMETHING_FOO: nějaké něco
- * @SOMETHING_BAR: jiné něco
- *
- * Výčtové hodnoty používané pro určení věci.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-</programlisting>
- </example>
-
- <para>Před privátními výčtovými hodnotami použijte <code>/*< private >*/</code>, abyste je skryli. K přesně opačnému účelu se používá <code>/*< public >*/</code>.</para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Dokumentaci k vloženým programům</title>
- <para>Programy a jejich rozhraní příkazového řádku můžete zdokumentovat pomocí vložené dokumentace.</para>
-
- <variablelist>
- <title>Značky</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>Definuje začátek dokumentace k programu.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>Definuje krátký popis programu. (volitelné)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>Definuje argumenty nebo seznam argumentů, které program přebírá. (volitelné)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>Část stránky oddílu „Viz také“. (volitelné)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>Argument(y) předávané do programu a jejich popis. (volitelné)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>Úplný popis programu.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Returns:</term>
- <listitem>
- <para>Specifikuje, jakou hodnotu či více hodnot program vrací. (volitelné)</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Příklad dokumentace k programu.</title>
- <example><title>Komentářový blok pro program</title>
- <programlisting>
-/**
- * PROGRAM:test-program
- * @short_description: Testovací program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: nastaví arg1 do *arg*
- * @--arg2 *arg*: nastaví arg2 do *arg*
- * @-v, --version: Vypíše verzi programu
- * @-h, --help: Vypíše nápovědu k programu
- *
- * Úplný popis programu.
- *
- * Returns: Vrací nulu při úspěchu, nenulovou hodnotu při selhání.
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-</programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>Užitečné značky DocBook</title>
-
- <para>Zde jsou některé značky DocBook, které mají pro dokumentaci kódu největší význam.</para>
-
- <para>Odkaz na jiný oddíl v dokumentaci GTK: <informalexample>
- <programlisting>
-<link linkend="glib-Hash-Tables">Hašovací tabulky</link>
-</programlisting>
- </informalexample> Odkazem je id SGML/XML v první položce stránky, na kterou chcete odkazovat. Pro většinu stránek je to v současnosti část („gtk“, „gdk“, „glib“) a potom název stránky („Hašovací tabulka“). Pro ovládací prvky je to název třídy. Mezery a podtržítka se převedou na „-“, aby to vyhovovalo SGML/XML.</para>
-
- <para>Odkaz na externí funkci, například standardní funkci C: <informalexample>
- <programlisting>
-<function>…</function>
-</programlisting>
- </informalexample></para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>Vložení seznamu s odrážkami: <informalexample>
- <programlisting>
-<itemizedlist>
- <listitem>
- <para>
- …
- </para>
- </listitem>
- <listitem>
- <para>
- …
- </para>
- </listitem>
-</itemizedlist>
-</programlisting>
- </informalexample></para>
-
- <para>Vložení poznámky, která se objeví mimo text: <informalexample>
- <programlisting>
-<note>
- <para>
- Ujistěte se, že data po použití uvolníte.
- </para>
-</note>
-</programlisting>
- </informalexample></para>
-
- <para>Odkaz na typ: <informalexample>
- <programlisting>
-<type>unsigned char</type>
-</programlisting>
- </informalexample></para>
-
- <para>Odkaz na externí strukturu (která není popsaná v dokumentaci GTK): <informalexample>
- <programlisting>
-<structname>XFontStruct</structname>
-</programlisting>
- </informalexample></para>
-
- <para>Odkaz na pole struktury: <informalexample>
- <programlisting>
-<structfield>len</structfield>
-</programlisting>
- </informalexample></para>
-
- <para>Pro odkaz na název třídy by se dal nejspíše použít: <informalexample>
- <programlisting>
-<classname>GtkWidget</classname>
-</programlisting>
- </informalexample> ale pravděpodobně místo toho použijete #GtkWidget (aby se automaticky vytvořil odkaz na stránku ovládacího prvku, viz <link linkend="documenting_syntax">zkratky</link>).</para>
-
- <para>Zvýrazněný text: <informalexample>
- <programlisting>
-<emphasis>Toto je důležité</emphasis>
-</programlisting>
- </informalexample></para>
-
- <para>Pro název souboru použijte: <informalexample>
- <programlisting>
-<filename>/home/user/documents</filename>
-</programlisting>
- </informalexample></para>
-
- <para>Odkaz na použití klávesy: <informalexample>
- <programlisting>
-<keycombo><keycap>Ctrl</keycap><keycap>L</keycap></keycombo>
-</programlisting>
- </informalexample></para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Vyplňování dodatečných souborů</title>
-
- <para>Mimo komentářů vložených ve zdrojovém kódu je zde ještě pár dodatečných souborů, které je potřeba udržovat:<filename><balíček>.types</filename>, <filename><balíček>-docs.xml</filename> (dříve .sgml) a <filename><balíček>-sections.txt</filename>.</para>
-
- <sect1 id="metafiles_types">
- <title>Úprava souboru s typy</title>
-
- <para>Pokud vaše knihovna nebo aplikace vkládá objekty GObject, chcete jejich signály, argumenty/parametry a pozici v hierarchii ukázat v dokumentaci. Vše, co pro to potřebujete udělat, je vypsat funkce <function>xxx_get_type</function> spolu s jejich include v souboru <filename><balíček>.types</filename>.</para>
-
- <para>
- <example><title>Příklad souboru <balíček>.types</title>
- <programlisting>
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-</programlisting>
- </example>
- </para>
-
- <para>Od GTK-Doc verze 1.8 vám tento seznam vygeneruje <application>gtkdoc-scan</application>. Stačí jen přidat „--rebuild-types“ do SCAN_OPTIONS v <filename>Makefile.am</filename>. Pokud tento přístup použijete, neměli byste soubor s typy šířit do správy verzí.</para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>Úprava hlavního dokumentu</title>
-
- <para>GTK-Doc produkuje dokumentaci v SGML/XML standardu DocBook. Když se zpracovávají komentáře vložené ve zdrojovém kódu, generují nástroje GTK-Doc pro každou třídu nebo modul jednu stránku dokumentace jako samostatný soubor. Všechny jsou pak uvedené seřazené v hlavním dokumentu.</para>
-
- <para>Jakmile pro vás GTK-Doc vytvoří šablonu hlavního dokumentu, při pozdějším spuštění již do ní nezasahuje. To znamená, že můžete dokumentaci bez omezení strukturovat. A to včetně seskupování stránek a přidávání doplňujících stránek. GTK-Doc má v současnosti testovací sadu, ve které je také hlavní dokument vytvořen znovu od začátku. Je dobré se čas od času do něj nahlédnout, jestli se v něm neobjevily nějaké nové věci.</para>
-
- <tip>
- <para>Nevytvářejte výukové dokumenty (tutorial) jako zvláštní dokumenty. Napište je jako zvláštní kapitolu. Výhodou přímého spojení výukového dokumentu k vaší knihovně s dokumentací API je snadné vytváření odkazů pro symboly. Zvyšuje se tím také šance, že výukový dokument bude reflektovat aktualizace v knihovně.</para>
- </tip>
-
- <para>Nyní se podívejme, které věci můžete v hlavním dokumentu měnit. Pro začátek je to pouze název. Je zde několik zástupných hodnot (text v hranatých závorkách), o které byste se měli postarat.</para>
-
- <para>
- <example><title>Hlavička hlavního dokumentu</title>
- <programlisting>
-<bookinfo>
- <title>Referenční příručka k NÁZEV_MODULU</title>
- <releaseinfo>
- pro NÁZEV_MODULU [VERSION]
- Nejvnovější verzi tohoto dokumentu můžete najít on-line na
- <ulink role="online-location" url="http://[SERVER]/NÁZEV_MODULU/index.html">http://[SERVER]/NÁZEV_MODULU/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-</programlisting>
- </example>
- </para>
-
- <para>Navíc se vytvoří pár volitelných prvků ve formě komentáře. Můžete si je projít a případně povolit.</para>
-
- <para>
- <example><title>Volitelná část hlavního dokumentu</title>
- <programlisting>
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-</programlisting>
- </example>
- </para>
-
- <para>Nakonec musíte přidat nový oddíl, kdekoliv chcete. Nástroj <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> vás upozorní na nově vygenerované soubory XML, které zatím nejsou v dokumentaci zahrnuté.</para>
-
- <para>
- <example><title>Vkládání generovaných oddílů</title>
- <programlisting>
- <chapter>
- <title>moje knihovna</title>
- <xi:include href="xml/object.xml"/>
- …
-</programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>Úprava souboru oddílů</title>
-
- <para>Soubor oddílů se používá k organizování výstupu dokumentace z GTK-Doc. Zde se určuje, který symbol náleží ke kterému modulu nebo třídě, a řídí se viditelnost (jestli je veřejný nebo soukromý).</para>
-
- <para>Soubor oddílů je prostý textový soubor, ve kterém jsou oddíly oddělené značkami. Prázdné řádky se ignorují a s řádky začínajícími „#“ se zachází jako s komentářovými řádky.</para>
-
- <note>
- <para>Přestože díky značkám vypadá soubor podobně jako XML, není tomu tak. Neuzavírejte prosím značky jako je <SUBSECTION>.</para>
- </note>
-
- <para>
- <example><title>Vkládání generovaných oddílů</title>
- <programlisting>
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-</programlisting>
- </example>
- </para>
-
- <para>Značka <FILE> … </FILE> se používá k určení názvu souboru bez přípony. Například použití „<FILE>gnome-config</FILE>“ bude mít v deklaracích oddílu za následek výstup do souboru šablony <filename>tmpl/gnome-config.sgml</filename>, který bude převeden do souboru <filename>sgml/gnome-config.sgml</filename> ve formátu DocBook SGML nebo do souboru <filename>xml/gnome-config.xml</filename> ve formátu DocBook XML. (Název souboru HTML vychází z názvu modulu a názvu oddílu, případně pro GObject z názvu třídy GObject převedeného na malá písmena.)</para>
-
- <para>Značka <TITLE> … </TITLE> se používá k určení názvu oddílu. To je použitelné pouze dříve, než je poprvé vytvořena šablona (pokud se používá), protože název nastavený v šabloně tento název přepíše. Navíc je považována za zastaralou v případě, že se používá komentář SECTION ve zdrojovém kódu.</para>
-
- <para>Můžete také seskupovat položky v oddílu pomocí značky <SUBSECTION>. V současnosti způsobí prázdný řádek mezi pododdíly v souhrnné části. Můžete také použít <SUBSECTION Standard> pro standardní deklarace GObject (například funkce jako je g_object_get_type, makra jako G_OBJECT(), G_IS_OBJECT() atd.). V současnosti jsou tyto v dokumentaci vynechané. Můžete také použít <SUBSECTION Private> pro privátní deklarace, které ve výsledku nebudou (jedná se o ruční způsob, jak zabránit varovným hlášením o nepoužitých deklaracích). Pokud vaše knihovna obsahuje privátní typy, u kterých nechcete, aby se objevily v hierarchii objektů a v seznamu implementovaných nebo vyžadovaných rozhraní, přidejte je do pododdílu Private. Jestli umístit struktury jako GObject a GObjectClass do veřejné nebo standardní části záleží na tom, jestli mají veřejné položky (proměnné, virtuální metody).</para>
-
- <para>Můžete také použít <INCLUDE> ... </INCLUDE> k určení #include souborů, které jsou zobrazené v souhrnné části. Obsahuje čárkami oddělený seznam jednotlivých #include souborů, bez lomených závorek. Když je nastavíte mimo kterýkoliv oddíl, budou fungovat pro všechny oddíly až do konce souboru. Když je nastavíte v konkrétním oddílu, použijí se jen pro něj.</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>Ovlivnění výsledku</title>
-
- <para>Spuštění GTK-Doc vygeneruje ve složkách pro dokumentaci soubory s výstupními sestavami. Generované soubory jsou nazvané: <filename><balíček>-undocumented.txt</filename>, <filename><balíček>-undeclared.txt</filename> a <filename><balíček>-unused.txt</filename>. Všechno to jsou prosté textové soubory, které si lze jednoduše prohlížet a zpracovávat je.</para>
-
- <para>Soubor <filename><balíček>-undocumented.txt</filename> začíná souhrnnými údaji o dokumentaci. Následují dva oddíly oddělené prázdnými řádky. První oddíl je seznam nezdokumentovaných nebo neúplných symbolů. Druhý oddíl je to stejné, ale pro dokumentace oddílů. Neúplné položky jsou takové, které mají dokumentaci, ale u kterých byl například přidán nový parametr.</para>
-
- <para>Soubor <filename><balíček>-undeclared.txt</filename> uvádí symboly, které jsou zadané v <filename><balíček>-section.txt</filename>, ale nebyly nalezené ve zdrojových kódech. Ověřte, jestli nebyly odstraněny, nebo v nich není překlep.</para>
-
- <para>Soubor <filename><balíček>-unused.txt</filename> uvádí názvy symbolů, které GTK-Doc při procházení dokumentace nalezl, ale neví, kam je zařadit. To znamená, že tyto symboly nejsou zatím zařazené v souboru <filename><balíček>-section.txt</filename>.</para>
-
- <tip>
- <para>Povolte nebo přidejte řádek <option>TESTS=($GTKDOC_CHECK)</option> v Makefile.am. Pokud máte nainstalované GTK-Doc ve verzi minimálně 1.9, bude se díky tomu při spuštění <command>make check</command> provádět kontrola správnosti údajů.</para>
- </tip>
-
- <para>Můžete se také podívat do souborů vytvořených skenerem zdrojového kódu: <filename><package>-decl-list.txt</filename> a <filename><package>-decl.txt</filename>. První můžete porovnat se souborem s oddíly, pokud je ručně spravován. Ve druhém jsou uvedené všechny deklarace z hlavičkových souborů. Pokud v dokumentaci schází některý symbol, můžete zkontrolovat, jestli se vyskytuje v tomto souboru.</para>
-
- <para>Pokud je základem projektu GObject, můžete se také podívat do souborů vytvořených skenerem objektů: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> a <filename><package>.signals.txt</filename>. Jestliže v kterémkoliv z nich jsou chybějící symboly, můžete spuštěním <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command> požádat GTK-Doc, aby přechodně zachovat soubor pro pozdější analýzu.</para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernizace dokumentu</title>
-
- <para>GTK-Doc existuje již nějakou dobu. V této části je uveden seznam nových funkcí spolu s číslem verze, od které je tato funkčnost k dispozici.</para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>Když používáte XML namísto SGML, můžete ve skutečnosti pojmenovat hlavní dokument <filename><package>-docs.xml</filename>.</para>
-
- <para>Tato verze podporuje <option>SCAN_OPTIONS=--rebuild-sections</option> v <filename>Makefile.am</filename>. Když je tato volba zapnutá, je <filename><package>-sections.txt</filename> generován automaticky a můžete jej odstranit ze správy verzí. To funguje hezky je u projektů, které mají pravidelnou strukturu (například jednotlivé páry souboru .c a .h vytvoří nový oddíl). Pokud máte projekt takto pečlivě organizovaný, vystačí si aktualizace ručně spravovaného souboru s oddíly s prostým spuštěním <code>meld <package>-decl-list.txt <package>-sections.txt</code>.</para>
-
- <para>Již verze 1.18 zavedla syntax pro dokumentování oddílů ve zdrojovém kódu namísto zvláštních souborů ve složce <filename class="directory">tmpl</filename>. Tato verze přidává pomocí <option>--flavour no-tmpl</option> in <filename>configure.ac</filename> volbu pro přepnutí celého modulu dokumentace, aby nepoužíval speciální složku tmp během sestavení. Jestliže nepotřebujete udržovat <filename class="directory">tmpl</filename> v systému pro správu verzí ještě jste zatím přepnutí neprovedli, stačí přidat tuto volbu do <filename>configure.ac</filename> a je to.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>Tato verze podporuje <option>SCAN_OPTIONS=--rebuild-types</option> v <filename>Makefile.am</filename>. Když je tato volba zapnutá, je <filename><package>.types</filename> generován automaticky a můžete jej odstranit ze správy verzí. Jestliže tuto funkci využíváte, je důležité nastavit také <varname>IGNORE_HFILES</varname> v <filename>Makefile.am</filename> pro kód, který je sestavován podmíněně.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>Součástí této verze je nový nástroj s názvem gtkdoc-check. Jeho spuštěním se provede kontrola správnosti vašeho dokumentu. Povolit jej můžete přidáním těchto řádků na konec souboru <filename>Makefile.am</filename>. <example><title>Povolení gtkdoc-check</title>
- <programlisting>
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>Verze 1.18 přinesla počáteční podporu pro Markdown. Jeho použití v dokumentačních komentářích je méně rušivé, než zápis XML z DocBook. Tato verze jeho podporu značně vylepšuje a přidává mnohem více stylů. Více podrobností je uvedeno v oddílu, který vysvětluje <link linkend="documenting_syntax">syntax komentářů</link>.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>Soubory Makefile dodávané s touto verzí generují do <filename>xml/gtkdocentities.ent</filename> soubor s entitami, který obsahuje entity například pro package_name a package_version. Můžete je použít třeba v hlavním souboru XML, abyste nemuseli mít číslo verze zapsané natvrdo. Níže je uveden příklad, jak soubor s entitami vložit do hlavní šablony a jak entity použít. Použít je lze také ve všech generovaných souborech, GTK-Doc bude používat tu samou hlavičku XML v generovaných souborech XML. <example><title>Používání předgenerovaných entit</title>
- <programlisting>
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&Referenční příručka k package_name;</title>
- <releaseinfo>
- for &package_string;.
- Nejnovější verzi této dokumentace můžete najít on-line na
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-</programlisting>
- </example></para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Dokumentování ostatních rozhraní</title>
-
- <para>Doposud jsme pomocí GTK-Doc dokumentovali API kódu. Následující oddíl obsahuje doporučení, jak se dají nástroje použít také k dokumentování dalších rozhraní.</para>
-
- <sect1 id="commandline-interfaces">
- <title>Přepínače příkazového řádku a manuálové stránky</title>
-
- <para>Protože je stejně možné generovat manuálové stránky pro referenční položky DocBook, zní jako dobrý nápad použít to pro tento účel. Tímto způsobem se rozhraní stane součástí referenční příručky a získáte tak bez námahy manuálovou stránku.</para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Dokumentování nástrojů</title>
-
- <para>Vytvořte jeden soubor s referenční příručkou pro každý z nástrojů. V <link linkend="settingup_docfiles">našem příkladu</link> by se měl nazývat <filename>meep/docs/reference/meeper/meep.xml</filename>. Na značky XML, který by se měly použít, se podívejte do nějakého ukázkového vygenerovaného souboru v podsložce XML, například v glib.</para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Přidání doplňkových kontrol do configure</title>
-
- <para>
- <example><title>Dodatečné kontroly nastavení</title>
- <programlisting>
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-</programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Přidání doplňkových pravidel do Makefile</title>
-
- <para>
- <example><title>Dodatečné kontroly nastavení</title>
- <programlisting>
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-</programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>Rozhraní D-Bus</title>
-
- <para>(OPRAVIT: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)</para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Často kladené dotazy</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>Dotaz</segtitle>
- <segtitle>Odpověď</segtitle>
- <seglistitem>
- <seg>Schází hierarchie třídy.</seg>
- <seg>Do souboru <filename><balíček>.types</filename> nebyla vložena funkce objektu <function>xxx_get_type()</function>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Stále schází hierarchie třídy.</seg>
- <seg>Chybějící nebo nesprávné pojmenování souboru <filename><balíček>-sections.txt</filename> (viz <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">vysvětlení</ulink>).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Do háje, pořád nemám hierarchii třídy.</seg>
- <seg>Je název objektu (název struktury instance, například <type>GtkWidget</type>) součástí normálního oddílu? (Nedávejte je do pododdílu Standard nebo Private).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Chybí rejstřík symbolů.</seg>
- <seg>Obsahuje <filename><package>-docs.{xml,sgml}</filename> rejstřík, který vloží pomocí xi:include vygenerovaný rejstřík?</seg>
- </seglistitem>
- <seglistitem>
- <seg>Symbol nemá odkaz do svého oddílu dokumentace.</seg>
- <seg>Používá dokumentační komentář správnou značku (přidané znaky #,% nebo ())? Podívejte se na varování gtkdoc-fixxref o nevyřešených křížových odkazech.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Nová třída se neobjevila v dokumentaci.</seg>
- <seg>Je nový balíček vložený pomocí xi:include z <filename><package>-docs.{xml,sgml}</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Nový symbol se neobjevil v dokumentaci.</seg>
- <seg>Je dokumentační komentář správně naformátovaný? Zkontrolujte překlepy na začátku komentáře. Podívejte se po varováních gtkdoc-fixxref o nevyřešených křížových odkazech. Zkontrolujte, jestli je symbol správně uvedený v <filename><package>-sections.txt</filename> ve veřejném pododdíle.</seg>
- </seglistitem>
- <seglistitem>
- <seg>V hierarchii třídy schází typ.</seg>
- <seg>Jestliže je typ uvedený v <filename><package>.hierarchy</filename>, ale není v <filename>xml/tree_index.sgml</filename>, tak raději dvakrát zkontrolujte, jestli je typ správně uvedený v <filename><package>-sections.txt</filename>. Jestliže instance typu (například <type>GtkWidget</type>) není uvedená, nebo je nedopatřením označení jako privátní, nebude zobrazena.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Vytvořily se mi odkazy na složku s dokumentací pro všechny anotace k GObject</seg>
- <seg>Zkontrolujte, že <filename>xml/annotation-glossary.xml</filename> je vložené pomocí xi:include z <filename><package>-docs.{xml,sgml}</filename>.</seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parametr je v komentářovém bloku zdrojového kódu popsaný, ale neexistuje.</seg>
- <seg>Zkontrolujte, za nemá prototyp v hlavičkovém souboru jiné názvy parametrů, než ve zdrojovém kódu.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>Více „ID“ pro tentýž cíl odkazu: XYZ</seg>
- <seg>Symbol XYZ se v souboru <filename><package>-sections.txt</filename> objevuje dvakrát.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Element typename ve jmenném prostoru '' je uvedený v rodiči, ale neodpovídá mu žádná šablona.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Nástroje související s GTK-Doc</title>
-
- <para>GtkDocPlugin – zásuvný modul pro integraci <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">GTK-Doc do systému Track</ulink>, který přidává dokumentaci k API na sledovací web a integruje ji do vyhledávání.</para>
- <para>Gtkdoc-depscan – nástroj (součást GTK-Doc), který kontroluje použité API vůči štítku since v API, aby určil minimální požadovanou verzi.</para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Verze 1.1, březen 2000</releaseinfo>
- <copyright><year>2000</year><holder>Free Software Foundation, Inc.</holder></copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address> Kdokoliv je oprávněn kopírovat a šířit doslovné kopie tohoto dokumentu s licencí, ale nesmí v něm provádět žádné změny.</para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Version 1.1, März 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>. Es ist jedermann erlaubt, wortwörtliche Kopien dieses Lizenzdokuments zu erstellen und zu verbreiten, Änderungen sind jedoch nicht zulässig. Dies ist eine inoffizielle Übersetzung der GNU Free Documentation License (GFDL), Version 1.1, ins Deutsche. Sie wurde nicht von der Free Software Foundation veröffentlicht, und legt nicht gesetzlich die Verteilungsbedingungen für Dokumente fest, die die GFDL nutzen -- nur der <ulink type="http" url="http://www.gnu.org/copyleft/fdl.html">originale englische Text</ulink> der GFDL tut dies. Wie auch immer, ich hoffe, dass sie Deutschsprachigen hilft, die GFDL besser zu verstehen. Dieser Text wurde von der spanischen Version übertragen.</para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Freie Dokumentationslizenz</title>
-
- <sect1 id="fdl-preamble">
- <title>0. VORWORT</title>
- <para>Der Zweck dieser Lizenz ist es, eine Anleitung, ein Textbuch oder andere geschriebene Dokumente <quote>frei</quote> im Sinne von Freiheit zu halten: jedem die effektive Freiheit zu sichern, es zu kopieren und weiter zu verteilen, mit oder ohne es zu ändern, entweder kommerziell oder nichtkommerziell. Zweitens sichert diese Lizenz dem Autor und Veröffentlicher einen Weg, Anerkennung für seine Arbeit zu bekommen, ohne dabei für Änderungen anderer verantwortlich zu sein.</para>
-
- <para>Diese Lizenz ist eine Art <quote>copyleft</quote>, das heißt, dass abgeleitete Arbeiten des Dokumentes selbst wieder im gleichen Sinne frei sein müssen. Es ergänzt die GNU General Public License, die eine Copyleft-Lizenz für freie Software darstellt.</para>
-
- <para>Wir haben diese Lizenz gestaltet, um sie für Anleitungen von freier Software zu benutzen, weil freie Software freie Dokumentation benötigt: Ein freies Programm sollte mit Anleitungen kommen, die dieselbe Freiheit wie die Software bieten. Aber diese Lizenz ist nicht auf Software-Anleitungen beschränkt; sie kann für alle textlichen Arbeiten verwendet werden, unabhängig vom Thema, oder ob es als gedrucktes Buch veröffentlicht wird. Wir empfehlen diese Lizenz prinzipiell für Arbeiten, deren Zweck Anleitungen oder Referenzen sind.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. ANWENDBARKEIT UND DEFINITIONEN</title>
- <para id="fdl-document">Diese Lizenz betrifft jede Anleitung oder andere Arbeit, die einen Hinweis des Copyright-Halters enthält, welcher besagt, dass sie unter den Bedingungen dieser Lizenz verteilt werden kann. Das <quote>Dokument</quote>, weiter unten, bezieht sich auf jede dieser Anleitungen oder Arbeiten. Jedes Mitglied der Öffentlichkeit ist ein Lizenznehmer, und wird mit <quote>Sie</quote> bezeichnet.</para>
-
- <para id="fdl-modified">Eine <quote>Modifizierte Version</quote> von dem Dokument bezeichnet jegliche Arbeit, die das Dokument oder einen Teil davon enthält, entweder wortwörtlich kopiert oder mit Modifikationen und/oder in eine andere Sprache übersetzt.</para>
-
- <para id="fdl-secondary">Ein <quote>Sekundärer Abschnitt</quote> ist ein benannter Anhang oder ein wichtiger Abschnitt des <link linkend="fdl-document">Dokument</link>, der exklusiv mit der Beziehung des Veröffentlichers zu dem Gesamtthema des Dokumentes (oder verwandten Themen) handelt und nichts enthält, was direkt unter das Gesamtthema fällt. (Wenn zum Beispiel das Dokument teilweise ein Textbuch der Mathematik ist, erklärt ein <quote>Sekundärer Abschnitt</quote> keine Mathematik.) Die Beziehung könnte eine Angelegenheit einer historischen Verbindung mit dem Thema oder einer verwandten Sache sein, oder einer gesetzlichen, kommerziellen, philosophischen, ethnischen oder politischen Position ihr gegenüber.</para>
-
- <para id="fdl-invariant"><quote>Unveränderliche Abschnitte</quote> sind spezielle <link linkend="fdl-secondary">Sekundäre Abschnitte</link>, deren Titel in dem Hinweis, der besagt, dass das <link linkend="fdl-document">Dokument</link> unter dieser Lizenz veröffentlicht ist, gekennzeichnet sind, Unveränderliche Abschnitte zu sein.</para>
-
- <para id="fdl-cover-texts">Die <quote>Cover-Texte</quote> sind spezielle kurze Textpassagen, die, als Vorderseitentexte oder Rückseitentexte, in dem Hinweis aufgeführt sind, der besagt, dass das <link linkend="fdl-document">Dokument</link> unter dieser Lizenz veröffentlicht ist.</para>
-
- <para id="fdl-transparent">Eine <quote>transparente</quote> Kopie des <link linkend="fdl-document">Dokument</link> meint eine maschinenlesbare Kopie, die in einem der Allgemeinheit zugänglichen Format repräsentiert ist, deren Inhalt direkt und einfach mit gebräuchlichen Texteditoren oder (bei aus Pixeln bestehenden Bildern) gebräuchlichen Zeichenprogrammen oder (bei Bildern) weit verbreiteten Bildverarbeitungsprogramm besehen und verändert werden kann, und das geeignet ist, in Textformatierern eingegeben werden zu können oder automatisch in eine Vielzahl von Formaten übersetzt werden kann, die geeignet sind, in Textformatierern eingegeben werden zu können. Eine Kopie in einem anderen Transparenten Dateiformat, dessen Aufbau gestaltet wurde, eine ständige Veränderung durch den Leser zu vereiteln oder abzuwenden, ist nicht Transparent. Eine Kopie die nicht <quote>Transparent</quote> ist, nennt man <quote>Undurchsichtig</quote>.</para>
-
- <para>Beispiele von passenden Formaten für Transparente Kopien enthalten reines ASCII ohne Codierung, das Texinfo-Eingabeformat, das LaTeX-Eingabeformat, SGML oder XML die eine öffentlich zugängliche DTD nutzen, und dem Standard entsprechendes HTML, das für die Veränderung durch Menschen gestaltet wurde. Undurchsichtige Formate enthalten PostScript, PDF, proprietäre Formate die nur von proprietären Textverarbeitungen gelesen und bearbeitet werden, SGML oder XML für die die DTD und/oder die Verarbeitungswerkzeuge nicht allgemein erhältlich sind, und maschinengeneriertes HTML, das von einigen Textverarbeitungen nur zu Ausgabezwecken produziert wurde.</para>
-
- <para id="fdl-title-page">Die <quote>Titelseite</quote> meint bei einem gedruckten Buch die Titelseite selbst, und die folgenden Seiten, die gebraucht werden, um leserlich das Material zu beinhalten, das die Lizenz benötigt, um auf der Titelseite zu erscheinen. Für Arbeiten, die als solche keine Titelseiten haben, meint <quote>Titelseite</quote> den Text, der der wirkungsvollsten Erscheinung des Arbeitstitels am nächsten kommt und den Textkörper einleitet.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>3. WORTWÖRTLICHE KOPIEN</title>
- <para>Sie dürfen das <link linkend="fdl-document">Dokument</link> auf jedem Medium kopieren und verteilen, entweder kommerziell oder nichtkommerziell, vorausgesetzt, dass die Lizenz, die Copyrighthinweise und der Lizenzhinweis, der besagt, dass die Lizenz für das Dokument gilt, in allen Kopien reproduziert werden, und dass Sie keine wie auch immer lautenden andere Bedingungen als die der Lizenz hinzufügen. Sie dürfen keine technischen Möglichkeiten nutzen, die das Lesen oder Weiterkopieren der Kopien, die Sie machen oder weiterkopieren, kontrollieren oder behindern. Wie auch immer, Sie dürfen im Gegenzug Vergütungen für Kopien akzeptieren. Wenn Sie eine genügend große Anzahl von Kopien verteilen, müssen Sie auch den Bedingungen in <link linkend="fdl-section3">Abschnitt 3</link> zustimmen.</para>
-
- <para>Sie dürfen auch Kopien unter den oben genannten Bedingungen verleihen, und Sie dürfen Kopien öffentlich zeigen.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. KOPIEREN IN MENGEN</title>
- <para>Wenn Sie mehr als 100 gedruckte Kopien des<link linkend="fdl-document">Dokument</link> veröffentlichen, und die Lizenz des Dokumentes <link linkend="fdl-cover-texts">Cover-Texte</link> verlangt, müssen Sie die Kopien in Verpackungen einschließen, die sauber und leserlich all diese Cover-Texte enthalten: Vorderseitentexte auf der Vorderseite, und Rückseitentexte auf der Rückseite. Beide Seiten müssen auch sauber und leserlich Sie als den Veröffentlicher dieser Kopien identifizieren. Die Vorderseite muß den vollen Titel mit allen Wörtern des Titels gleich auffällig und sichtbar darstellen. Sie dürfen andere Materialien zusätzlich der Seite hinzufügen. Kopieren mit Veränderungen der Seiten, solange diese den Titel des <link linkend="fdl-document">Dokument</link> beibehalten und diese Bedingungen erfüllen, können in anderer Hinsicht als wortwörtliche Kopien behandelt werden.</para>
-
- <para>Wenn die geforderten Texte für jede Seite zu groß sind, um leserlich darauf zu passen, sollten Sie die erstgenannten (so viele wie vernünftig darauf passen) auf die aktuelle Seite setzen, und mit dem Rest auf angrenzenden Seiten fortfahren.</para>
-
- <para>Wenn Sie mehr als 100 <link linkend="fdl-transparent">Undurchsichtig</link> Kopien des <link linkend="fdl-document">Dokument</link> veröffentlichen oder verteilen, müssen Sie entweder zusammen mit jeder Undurchsichtigen Kopie eine maschinenlesbare <link linkend="fdl-transparent">transparente</link> Kopie einfügen, oder in oder mit jeder Undurchsichtigen Kopie eine öffentlich zugängliche Computer-Netzwerk-Adresse angeben, die eine komplette Transparente Kopie des Dokumentes enthält, die frei von hinzugefügtem Material ist und die sich die allgemeine netzwerknutzende Öffentlichkeit mit Standard-Netzwerkprotokollen unentgeltlich herunterladen kann. Wenn Sie die letzte Option verwenden, müssen Sie, wenn Sie beginnen, Undurchsichtige Kopien in Mengen zu verteilen, vernünftige umsichtige Schritte unternehmen, die sicherstellen, dass die Transparente Kopie unter der genannten Adresse mindestens ein Jahr, nachdem Sie das letzte Mal eine Undurchsichtige Kopie dieser Edition (direkt oder über Ihre Vermittler oder Händler) an die Öffentlichkeit verteilt haben.</para>
-
- <para>Es wird erbeten, aber nicht verlangt, dass Sie die Autoren des <link linkend="fdl-document">Dokument</link> kontaktieren, bevor Sie eine große Anzahl an Kopien weiterverteilen, um ihnen zu ermöglichen, Sie mit einer aktualisierten Version des Dokumentes zu versorgen.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFIKATIONEN</title>
- <para>Sie dürfen eine <link linkend="fdl-modified">Modifizierte Version</link> eines <link linkend="fdl-document">Dokument</link> unter den in den Abschnitten <link linkend="fdl-section2">2</link> und <link linkend="fdl-section3">3</link> oben stehenden Bedingungen kopieren und verteilen, vorausgesetzt, Sie veröffentlichen die Modifizierte Version unter genau dieser Lizenz, so dass die modifizierte Version die Stelle des Dokumentes einnimmt, folglich auch das Lizenzieren der Verteilung und Modifikation der Modifizierten Version an jeden, der eine Kopie davon besitzt. Zusätzlich müssen Sie diese Dinge in der Modifizierten Version tun:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>Auf der <link linkend="fdl-title-page">Titelseite</link> (und auf den Covern, falls vorhanden) einen Titel verwenden, der sich von dem des <link linkend="fdl-document">Dokument</link> unterscheidet, und von denen vorhergehender Versionen (die, falls vorhanden, in dem History-Abschnitt des Dokumentes aufgeführt sein sollten). Sie dürfen denselben Titel wie in einer vorhergehenden Version nutzen, wenn der ursprüngliche Veröffentlicher sein Einverständnis gibt.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>Auf der <link linkend="fdl-title-page">Titelseite</link>, eine oder mehrere Personen als Autoren benennen, die für das Einbringen von Veränderungen in die <link linkend="fdl-modified">Modifizierte Version</link> verantwortlich sind, zusammen mit mindesten fünf eigentlichen Autoren des <link linkend="fdl-document">Dokument</link> (allen eigentlichen Autoren, wenn es weniger als fünf sind).</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>Auf der <link linkend="fdl-title-page">Titelseite</link> den Namen des Veröffentlichers der <link linkend="fdl-modified">Modifizierte Version</link> als Veröffentlicher kennzeichnen.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>Alle Copyright-Hinweise des <link linkend="fdl-document">Dokument</link> beibehalten.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Einen passenden Copyright-Hinweis für Ihre Modifikationen angrenzend an die anderen Copyright-Hinweise hinzufügen.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>Gleich hinter dem Copyright-Hinweis einen Lizenzhinweis einfügen, der die öffentliche Erlaubnis gibt, die <link linkend="fdl-modified">Modifizierte Version</link> unter den Bedingungen dieser Lizenz zu nutzen, in einer Form, die weiter unten im Anhang dargestellt ist.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>In dem Lizenzhinweis die volle Liste der <link linkend="fdl-invariant">Unveränderliche Abschnitte</link> und benötigten <link linkend="fdl-cover-texts">Cover-Texte</link>, die in dem Lizenzhinweis des <link linkend="fdl-document">des Dokuments</link> gegeben ist, beibehalten.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Eine unveränderte Kopie dieser Lizenz einfügen.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>Den Abschnitt, der mit <quote>Chronik</quote> betitelt ist, und seinen Titel beibehalten und ihn zu einem Punkt hinzufügen, der mindestens Titel, Jahr, neue Autoren, und Veröffentlicher der <link linkend="fdl-modified">Modifizierte Version</link> wie auf der <link linkend="fdl-title-page">Titelseite</link> gegeben, benennt. Wenn es keinen mit <quote>Chronik</quote> betitelten Abschnitt gibt, erstellen Sie einen, der den Titel, Jahr, Autoren, und Veröffentlicher des <link linkend="fdl-document">Dokument</link> wie auf der Titelseite gegeben, benennt, und fügen Sie dann einen Punkt hinzu, der die Modifizierte Version beschreibt wie im vorhergehenden Satz.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>Die Netzwerk-Adresse, falls aufgeführt, beibehalten, die im <link linkend="fdl-document">Dokument</link> aufgeführt ist, um öffentlichen Zugriff zu einer <link linkend="fdl-transparent">transparente</link> Kopie des Dokumentes zu ermöglichen, und genauso die Netzwerk-Adressen, die im Dokument für frühere Versionen, auf denen es basiert, aufgeführt sind. Diese können in den <quote>Chronik</quote>-Abschnitt gestellt werden. Sie können eine Netzwerk-Adresse für ein Werk auslassen, das mindestens vier Jahre vor dem Dokument selbst veröffentlicht wurde, oder wenn der ursprüngliche Autor, auf den sich die jeweilige Version bezieht, es erlaubt.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>In jeglichem Abschnitt, der mit <quote>Danksagungen</quote> oder <quote>Widmungen</quote> betitelt ist, den Titel des Abschnittes beibehalten, und in dem Abschnitt allen Inhalt und Ton von jeder Anerkennung und/oder Widmung jedes Beitragenden beibehalten, der dort aufgeführt ist.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>Alle <link linkend="fdl-invariant">Unveränderliche Abschnitte</link> des <link linkend="fdl-document">Dokument</link> beibehalten, unverändert in ihrem Text und ihren Titeln. Abschnittsnummern oder ähnliches werden nicht als Teil von Abschnittstiteln betrachtet.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>Alle Abschnitte, die mit <quote>Billigungen</quote> betitelt sind, löschen. Solche Abschnitte dürfen nicht mit in die <link linkend="fdl-modified">Modifizierte Version</link> aufgenommen werden.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>Betiteln Sie keine existierenden Abschnitte mit <quote>Billigungen</quote> oder so, dass sie im Widerspruch zu Titeln von <link linkend="fdl-invariant">Unveränderlicher Abschnitt</link> stehen.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>Wenn die <link linkend="fdl-modified">Modifizierte Version</link> neue wichtige Abschnitte enthält oder Anhänge, die <link linkend="fdl-secondary">Sekundäre Abschnitte</link> darstellen, und kein Material enthalten, das aus dem Dokument kopiert wurde, dürfen Sie nach Ihrer Wahl einige oder alle diese Abschnitte als Unveränderlich bezeichnen. Um dies zu tun, fügen Sie ihre Titel der Liste der <link linkend="fdl-invariant">Unveränderliche Abschnitte</link> in dem Lizenzhinweis der Modifizierten Version hinzu. Diese Titel müssen sich von allen anderen Abschnittstiteln unterscheiden.</para>
-
- <para>Sie dürfen einen Abschnitt <quote>Billigungen</quote> hinzufügen, vorausgesetzt, er enthält nichts außer Bewilligungen Ihrer <link linkend="fdl-modified">Modifizierte Version</link> von verschiedenen Seiten – zum Beispiel Aussagen von Beurteilungen, oder dass der Text von einer Organisation als für die autoritäre Definition eines Standards befunden wurde.</para>
-
- <para>Sie dürfen eine Passage aus bis zu fünf Wörtern als <link linkend="fdl-cover-texts">Vorderseitentext</link> hinzufügen, und eine Passage von bis zu 25 Wörtern als <link linkend="fdl-cover-texts">Rückseitentext</link>, ans Ende der Liste von <link linkend="fdl-cover-texts">Cover-Texte</link> in der <link linkend="fdl-modified">Modifizierte Version</link>. Höchstens eine Passage von Vorderseitentexten und eine von Rückseitentexten darf von (oder durch Abmachungen von) irgendeinem Wesen hinzugefügt werden. Wenn das <link linkend="fdl-document">Dokument</link> für die entsprechende Seite schon einen Covertext hat, der vorher von Ihnen oder durch Abmachungen von demselben Wesen, in dessen Namen Sie handeln, hinzugefügt wurde, dürfen Sie keinen anderen hinzufügen; aber Sie dürfen den alten ersetzen, wenn es der ursprüngliche Veröffentlicher, der den alten hinzugefügt hat, explizit erlaubt.</para>
-
- <para>Der/die Autor(en) und Veröffentlicher des <link linkend="fdl-document">Dokument</link> erteilen durch diese Lizenz nicht die Erlaubnis, ihre Namen für Veröffentlichungen für Bewilligungen irgendeiner <link linkend="fdl-modified">Modifizierte Version</link> oder deren Durchsetzungen oder Andeutungen zu nutzen.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. DOKUMENTE KOMBINIEREN</title>
- <para>Sie dürfen das <link linkend="fdl-document">Dokument</link> mit anderen Dokumenten, die unter dieser Lizenz veröffentlicht wurden, unter den Bedingungen in <link linkend="fdl-section4">Abschnitt 4</link> für Modifizierte Versionen kombinieren, vorausgesetzt, Sie beinhalten in der Kombination alle <link linkend="fdl-invariant">Unveränderliche Abschnitte</link> aller ursprünglichen Dokumente unverändert, und führen Sie alle als Unveränderliche Abschnitte Ihrer kombinierten Arbeit in deren Lizenzhinweis auf.</para>
-
- <para>Die kombinierte Arbeit braucht nur eine Kopie dieser Lizenz zu beinhalten, und mehrfache identische <link linkend="fdl-invariant">Unveränderliche Abschnitte</link> können durch eine einzige Kopie ersetzt werden. Wenn es mehrere Unveränderliche Abschnitte mit demselben Titel, aber unterschiedlichem Inhalt gibt, machen Sie den Titel jedes Abschnittes durch Hinzufügen (in Klammern) des Namens des ursprünglichen Autors oder Veröffentlichers dieses Abschnittes, falls bekannt, unverwechselbar, oder ansonsten durch eine einzigartige Nummer. Führen Sie dieselben Änderungen in der Liste der Unveränderlichen Abschnitte im Lizenzhinweis der kombinierten Arbeit durch.</para>
-
- <para>In der Kombination müssen Sie alle mit <quote>Chronik</quote> betitelten Abschnitte aus den verschiedenen ursprünglichen Dokumenten zusammenführen, und daraus einen Abschnitt <quote>Chronik</quote> bilden; genauso kombinieren Sie jeden mit <quote>Danksagungen</quote> betitelten Abschnitt, und jeden mit <quote>Widmungen</quote> betitelten Abschnitt. Sie müssen jeden mit <quote>Billigungen</quote> betitelten Abschnitt löschen.</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. SAMMLUNGEN VON DOKUMENTEN</title>
- <para>Sie dürfen eine Sammlung erstellen, die aus dem <link linkend="fdl-document">Dokument</link> und anderen, unter dieser Lizenz veröffentlichten Dokumenten besteht, und die individuellen Kopien der Lizenz in den einzelnen Dokumenten durch eine einzige Kopie ersetzen, die sich in der Sammlung befindet, vorausgesetzt, Sie folgen den Regeln dieser Lizenz für wortwörtliches Kopieren jedes dieser Dokumente in jeglicher Hinsicht.</para>
-
- <para>Sie dürfen ein einzelnes Dokument aus einer solchen Sammlung heraustrennen, und es individuell unter dieser Lizenz verteilen, vorausgesetzt, Sie fügen eine Kopie dieser Lizenz in das herausgetrennte Dokument ein und folgen der Lizenz in jeglicher Hinsicht bezüglich dem wortwörtlichen Kopieren des Dokuments.</para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION MIT UNABHÄNGIGEN ARBEITEN</title>
- <para>Eine Zusammenstellung dieses <link linkend="fdl-document">Dokument</link> oder seinen Ableitungen mit anderen separaten und unabhängigen Dokumenten oder Arbeiten, in oder auf einem Teil eines Speicher- oder Verteilungsmediums, zählt nicht als Ganzes als <link linkend="fdl-modified">Modifizierte Version</link> des Dokumentes, vorausgesetzt, kein Gesamt-Copyright wurde für die Zusammenstellung festgelegt. Solch eine Zusammenstellung wird <quote>Aggregate</quote> (Mischung) genannt, und diese Lizenz gilt nicht für die anderen selbstenthaltenen Arbeiten, die mit dem Dokument zusammengestellt wurden, im Falle, dass sie zusammengestellt wurden, wenn sie nicht selbst abgeleitete Arbeiten des Dokumentes sind. Wenn die <link linkend="fdl-cover-texts">Cover-Text</link>-Bedingung von <link linkend="fdl-section3">Abschnitt 3</link> auf diese Kopien des Dokumentes anwendbar ist, dann können, wenn das Dokument weniger als ein Viertel des gesamten Aggregates ist, die Covertexte des Dokumentes auf Seiten platziert werden, die nur das Dokument innerhalb des Aggregates umgeben. Ansonsten müssen sie auf Seiten erscheinen, die das gesamte Aggregat umgeben.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. ÜBERSETZUNG</title>
- <para>Übersetzung wird als eine Art Modifikation angesehen, also dürfen Sie Übersetzungen des <link linkend="fdl-document">Dokument</link> unter den Bedingungen von <link linkend="fdl-section4">Abschnitt 4</link> verteilen. Das Ersetzen von <link linkend="fdl-invariant">Unveränderliche Abschnitte</link> mit Übersetzungen erfordert spezielle Einwilligung des Copyright-Halters, aber Sie dürfen Übersetzungen von einigen oder allen Unveränderlichen Abschnitten zusätzlich zu den ursprünglichen Versionen dieser Unveränderlichen Abschnitte einfügen. Sie dürfen eine Übersetzung dieser Lizenz hinzufügen, vorausgesetzt Sie beinhalten auch die ursprüngliche englische Version dieser Lizenz. Im Falle einer Nichtübereinstimmung zwischen der Übersetzung und der ursprünglichen englischen Version dieser Lizenz hat die ursprüngliche englische Version Vorrang.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>Sie dürfen das <link linkend="fdl-document">Dokument</link> nicht kopieren, modifizieren, sublizenzieren oder verteilen, außer wie es diese Lizenz ausdrücklich vorschreibt. Jegliche andere Absicht, das Dokument zu kopieren, modifizieren, sublizenzieren oder verteilen, ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz. Wie auch immer, Parteien, die Kopien oder Rechte von Ihnen unter dieser Lizenz bekommen haben, wird nicht die Lizenz beendet, solange diese Parteien in voller Zustimmung verbleiben.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. ZUKÜNFTIGE REVISIONEN DIESER LIZENZ</title>
- <para>Die <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> kann von Zeit zu Zeit neue, revidierte Versionen der GNU Free Documentation License veröffentlichen. Solche neue Versionen werden vom Grundprinzip her der vorliegenden Version gleichen, können sich aber im Detail unterscheiden, um neue Probleme oder Anliegen anzusprechen. Siehe auch <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>Jeder Version dieser Lizenz wird eine unterscheidende Versionsnummer gegeben. Wenn das <link linkend="fdl-document">Dokument</link> angibt, dass eine spezielle Version dieser Lizenz <quote>oder jeder späteren Version</quote> darauf zutrifft, haben Sie die Wahl, den Bestimmungen und Bedingungen von entweder der angegebenen Version oder einer beliebigen späteren Version, die von der Free Software Foundation (nicht als Entwurf) veröffentlicht wurde, zu folgen. Wenn das Dokument keine Versionsnummer angibt, können Sie irgendeine, jemals von der Free Software Foundation (nicht als Entwurf) veröffentlichte Version wählen.</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Anhang</title>
- <para>Um diese Lizenz in einem von Ihnen geschriebenen Dokument nutzen zu können, fügen Sie eine Kopie der Lizenz in das Dokument ein und setzen Sie die folgenden Copyright- und Lizenzhinweise gleich hinter die Titelseite:</para>
-
- <blockquote>
- <para>Copyright (c) JAHR IHR NAME.</para>
- <para>Es wird die Erlaubnis gegeben, dieses Dokument zu kopieren, verteilen und/oder zu verändern unter den Bedingungen der GNU Free Documentation License, Version 1.1 oder einer späteren, von der Free Software Foundation veröffentlichten Version; mit den <link linkend="fdl-invariant">Unveränderlichen Abschnitten</link>. DEREN TITEL AUFGEZÄHLT sind, mit den <link linkend="fdl-cover-texts">Vorderseitentexten</link>, die AUFGEZÄHLT sind, und mit den <link linkend="fdl-cover-texts">Rückseitentexten</link>, die AUFGEZÄHLT sind. Eine Kopie dieser Lizenz ist im Abschnitt <quote>GNU Freie Dokumentationslizenz</quote> enthalten.</para>
- </blockquote>
-
- <para>Falls Sie keine <link linkend="fdl-invariant">Unveränderliche Abschnitte</link> haben, schreiben Sie <quote>ohne unveränderliche Abschnitte</quote> anstatt zu sagen, welche unveränderlich sind. Falls Sie keine <link linkend="fdl-cover-texts">Vorderseitentexten</link> haben, schreiben Sie <quote>keine Vorderseitentexte</quote> anstelle von <quote>Vorderseitentexte aufzulisten</quote>; entsprechend für <link linkend="fdl-cover-texts">Rückseitentexten</link>.</para>
-
- <para>Wenn Ihr Dokument nicht-triviale Beispiele von Programmcode enthält, empfehlen wir, diese Beispiele parallel unter einer freien Software-Lizenz, wie der <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</ulink>, zu veröffentlichen, um ihren Gebrauch in freier Software zu erlauben.</para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="de">
- <bookinfo>
- <title>GTK-Doc-Handbuch</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>Benutzerhandbuch für Entwickler mit Anweisungen für die Benutzung von GTK-Doc.</para></abstract>
- <authorgroup>
- <author><firstname>Chris</firstname> <surname>Lyttle</surname> <affiliation> <address> <email>chris@wilddev.net</email> </address> </affiliation></author>
- <author><firstname>Dan</firstname> <surname>Mueth</surname> <affiliation> <address> <email>d-mueth@uchicago.edu</email> </address> </affiliation></author>
- <author><firstname>Stefan</firstname> <surname>Sauer (Kost)</surname> <affiliation> <address> <email>ensonic@users.sf.net</email> </address> </affiliation></author>
- </authorgroup>
- <publisher role="maintainer"><publishername>GTK-Doc-Projekt</publishername> <address><email>gtk-doc-list@gnome.org</email></address></publisher>
- <copyright><year>2000, 2005</year> <holder>Dan Mueth und Chris Lyttle</holder></copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>Das vorliegende Dokument kann gemäß den Bedingungen der GNU Free Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem <ulink type="help" url="ghelp:fdl">Link</ulink> oder in der mit diesem Handbuch gelieferten Datei COPYING-DOCS.</para>
- <para>Bei vielen der von Firmen zur Unterscheidung ihrer Produkte und Dienstleistungen verwendeten Namen handelt es sich um Marken. An den Stellen, an denen derartige Namen in einer GNOME-Dokumentation vorkommen und wenn die Mitglieder des GNOME-Dokumentationsprojekts über diese Marken informiert wurden, sind die Namen in Großbuchstaben oder mit großen Anfangsbuchstaben geschrieben.</para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision><revnumber>1.28</revnumber> <date>24. März 2018</date> <authorinitials>ss</authorinitials> <revremark>Fehlerbehebungen</revremark></revision>
- <revision><revnumber>1.27</revnumber> <date>07. Dezember 2017</date>> <authorinitials>ss</authorinitials> <revremark>Detailanpassungen der Python-Portierung</revremark></revision>
- <revision><revnumber>1.26.1</revnumber> <date>11. August 2017</date> <authorinitials>ss</authorinitials> <revremark>Alle Werkzeuge von Perl/Bash nach Python portiert</revremark></revision>
- <revision><revnumber>1.25</revnumber> <date>21. März 2015</date> <authorinitials>ss</authorinitials> <revremark>Fehlerbehebungen, Test-Cleanups</revremark></revision>
- <revision><revnumber>1.24</revnumber> <date>29. Mai 2015</date> <authorinitials>ss</authorinitials> <revremark>Fehlerbehebungen</revremark></revision>
- <revision><revnumber>1.23</revnumber> <date>17. Mai 2015</date> <authorinitials>ss</authorinitials> <revremark>Fehlerbehebungen</revremark></revision>
- <revision><revnumber>1.22</revnumber> <date>7. Mai 2015</date> <authorinitials>ss</authorinitials> <revremark>Fehlerbehebungen, veraltete Funktionen verworfen</revremark></revision>
- <revision><revnumber>1.21</revnumber> <date>17. Juli 2014</date> <authorinitials>ss</authorinitials> <revremark>Fehlerbehebungen, veraltete Funktionen verworfen</revremark></revision>
- <revision><revnumber>1.20</revnumber> <date>16. Februar 2014</date> <authorinitials>ss</authorinitials> <revremark>Fehlerberhebungen, Unterstützung für Markdown, Layoutverbesserungen</revremark></revision>
- <revision><revnumber>1.19</revnumber> <date>05. Juni 2013</date> <authorinitials>ss</authorinitials> <revremark>Fehlerbehebungen</revremark></revision>
- <revision><revnumber>1.18</revnumber> <date>14. September 2011</date> <authorinitials>ss</authorinitials> <revremark>Fehlerbehebungen, Verbesserte Geschwindigkeit, Unterstützung für markdown</revremark></revision>
- <revision><revnumber>1.17</revnumber> <date>26. Februar 2011</date> <authorinitials>sk</authorinitials> <revremark>Dringende Bugfix-Aktualisierung</revremark></revision>
- <revision><revnumber>1.16</revnumber> <date>14. Januar 2011</date> <authorinitials>sk</authorinitials> <revremark>Bugfixes, Layoutverbesserungen</revremark></revision>
- <revision><revnumber>1.15</revnumber> <date>21. Mai 2010</date> <authorinitials>sk</authorinitials> <revremark>Bug- und Regressionsfixes</revremark></revision>
- <revision><revnumber>1.14</revnumber> <date>28. März 2010</date> <authorinitials>sk</authorinitials> <revremark>Bugfixes und Leistungsverbesserungen</revremark></revision>
- <revision><revnumber>1.13</revnumber> <date>18. Dezember 2009</date> <authorinitials>sk</authorinitials> <revremark>Aktualisierung eines beschädigten Tarballs</revremark></revision>
- <revision><revnumber>1.12</revnumber> <date>18. Dezember 2009</date> <authorinitials>sk</authorinitials> <revremark>Neue Features und Bugfixes</revremark></revision>
- <revision><revnumber>1.11</revnumber> <date>16. November 2008</date> <authorinitials>mal</authorinitials> <revremark>Migration auf die GNOME doc-utils</revremark></revision>
- </revhistory>
-
-
- <othercredit class="translator">
- <personname>
- <firstname>Mario Blättermann</firstname>
- </personname>
- <email>mario.blaettermann@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2009-2013</year>
-
- <year>2016</year>
-
- <year>2018</year>
-
- <holder>Mario Blättermann</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Christian Kirbach</firstname>
- </personname>
- <email>christian.kirbach@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2013</year>
-
- <year>2015-2019</year>
-
- <holder>Christian Kirbach</holder>
- </copyright>
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>Einführung</title>
-
- <para>Dieses Kapitel führt in GTK-Doc ein und gibt einen Überblick darüber, worum es sich dabei handelt und wie es benutzt wird.</para>
-
- <sect1 id="whatisgtkdoc">
- <title>Was ist GTK-Doc?</title>
-
- <para>GTL-Doc wird zur Dokumentation von C-Code verwendet. Üblicherweise wird damit die öffentliche API von Bibliotheken dokumentiert, wie die der GTK+- und GNOME-Bibliotheken. Es kann aber auch zur Dokumentation von Anwendungscode verwendet werden.</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>Wie funktioniert GTK-Doc?</title>
-
- <para>GTK-Doc verwendet Funktionsdokumentationen, die sich in den Quelldateien innerhalb speziell formatierter Kommentarblöcke befinden, oder Dokumentation, die zu den von GTK-Doc verwendeten Vorlagendateien hinzugefügt wurde. Beachten Sie jedoch, dass GTK-Doc nur Funktionen dokumentieren wird, die in den Header-Dateien deklariert sind. Es erstellt keine Ausgaben für statische Funktionen.</para>
-
- <para>GTK-Doc besteht aus einer Anzahl von Python-Skripten, wovon jedes einen bestimmten Schritt in dem Prozess ausführt.</para>
-
- <para>Dieser Vorgang umfasst fünf Hauptschritte:</para>
-
- <orderedlist>
-
- <listitem>
- <para><guilabel>Schreiben der Dokumentation.</guilabel> Der Autor ergänzt die Quelldateien um die Dokumentation für jede Funktion, jedes Makro usw.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Informationen über den Code sammeln.</guilabel> <application>gtkdoc-scan</application> analysiert die Header-Dateien des Code und sucht nach Funktionsdeklarationen, Macros, enum (Aufzählung), struct (Strukturen) und »unions«. Es erstellt die Datei <filename><module>-decl-list.txt</filename>, welche eine Liste der Deklarationen enthält, und platziert diese in Abschnitte entsprechend der Header-Dateien, in der sie sind. Bei erster Ausführung wird diese Datei nach <filename><module>-sections.txt</filename> kopiert. Der Autor kann die Abschnitte und die Reihenfolge der Deklarationen in gewünschter Reihenfolge neu anordnen. Die zweite erstellte Datei ist <filename><module>-decl.txt</filename>. Diese Datei enthält alle Deklarationen, die vom Scanner gefunden wurden. Wenn aus irgendeinem Grund einige Symbole in der Dokumentation erscheinen sollen, wenn die volle Deklaration nicht vom Scanner gefunden werden kann oder die Deklaration anders erscheinen soll, kann man Entitäten ähnlich derer in<filename><module>-decl.txt</filename> innerhalb <filename><module>-overrides.txt</filename> platzieren.</para>
- <para><application>gtkdoc-scangobj</application> kann ebenso dazu verwendet werden, dynamisch eine Bibliothek über irgendeine GObject-Subklasse anzufragen, die sie exportiert. Es speichert Informationen über jede Objektposition in der Klassenhierarchie und über alle GObjekt-Eigenschaften und -Signale, die es bietet.</para>
- <para><application>gtkdoc-scanobj</application> sollte nicht weiter verwendet werden. Es war in der Vergangenheit notwendig, als GObject noch ein GtkObject innerhalb von gtk+ war.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Erstellen des SGML/XML und HTML/PDF.</guilabel> <application>gtkdoc-mkdb</application> wandelt die Vorlagen-Dateien in XML-Dateien in den Unterordner <filename class="directory">xml/</filename> um. Wenn der Quellcode Dokumentation über Funktionen mittels speziellen Kommentarblöcken enthält, so wird diese hier eingepflegt. Wenn keine tmpl-Dateien eingesetzt werden, so wird nur Dokumentation von den Quell- und introspection-Daten gelesen.</para>
- <para><application>gtkdoc-mkhtml</application> konvertiert die XML-Dateien in HTML-Dateien im Unterordner <filename class="directory">html/</filename>. Ebenso konvertiert <application>gtkdoc-mkpdf</application> die XML-Dateien in ein PDF-Dokument namens <filename><package>.pdf</filename>.</para>
- <para>Dateien in <filename class="directory">xml/</filename> und <filename class="directory">html/</filename>-Ordnern werden immer überschrieben. Niemand sollte diese direkt bearbeiten.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Querverweise zwischen Dokumenten korrigieren.</guilabel> Nach Intallation der HTML-Dateien kann <application>gtkdoc-fixxref</application> ausgeführt werden, um alle Querverweise zwischen separaten Dokumenten zu korrigieren. Die GTK+-Dokumentation zum Beispiel enthält viele Querverweise zu Typen, die im GLib-Handbuch dokumentiert sind. Beim Erstellen des Quellen-tarball zur Verteilung wandelt <application>gtkdoc-rebase</application> alle externen Verweise in Web-Verweise um. Beim Installieren verteilter (zuvor erstellter) Dokumente wird dieselbe Anwendung versuchen, Verweise zurück in lokale Verweise umzuwandeln (wo diese Dokumente installiert werden).</para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>GTK-Doc bekommen</title>
-
- <sect2 id="requirements">
- <title>Erfordernisse</title>
- <para><guilabel>Python 2/3</guilabel> - Die Hauptskripte wurden in Python geschrieben.</para>
- <para><guilabel>xsltproc</guilabel> - der xslt-Verarbeiter von libxslt <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink></para>
- <para><guilabel>docbook-xsl</guilabel> - die docbook xsl-Stilvorlagen <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink></para>
- <para><guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> oder <guilabel>vim</guilabel> - optional - für Syntax-Hervorhebung von Beispielen</para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>Info zu GTK-Doc</title>
-
- <para>In der Vergangenheit wurde GTK-Doc zur Erstellung von Vorlagendateien aus dem Quellcode verwendet. Diese Vorlagendateien konnten von Entwicklern zur Eingabe der API-Dokumentation verwendet werden. Jedoch war dieser Ansatz eher unbequem, weil die erzeugten Dateien unter Versionskontrolle gehalten werden mussten. Ab GTK-Doc 1.9 wurde es möglich, sämtliche API-Informationen in Quellcode-Kommentaren zu platzieren, wodurch die Unterstützung für Vorlagen obsolet wurde. In der Version 1.26 wurde die Vorlagenunterstützung gänzlich entfernt.</para>
-
- <para>(FIXME)</para>
-
- <para>(Autoren, Webseiten, Mailingliste, Lizenz, Zukunftspläne, Vergleich mit ähnlichen Systemen)</para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>Über dieses Handbuch</title>
-
- <para>(FIXME)</para>
-
- <para>(wofür es bestimmt ist, wo Sie es erhalten können, Lizenz)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Einrichtung in einem Projekt</title>
-
- <para>Dieses Kapitel beschreibt die notwendigen Schritte, um GTK-Doc in Ihr Projekt zu integrieren. Im einzelnen sind dies folgende Schritte:</para>
-
- <itemizedlist>
- <listitem>
- <para>Vorbereitung der Ordnerstruktur und Erstellung der erforderlichen Konfigurationsdateien für Ihre GTK-Doc-Dokumentation (siehe <link linkend="settingup_docfiles">Einrichten des Grundgerüsts der Dokumentation</link>).</para>
- </listitem>
- <listitem>
- <para>Anpassen des Erstellungssystems, so dass Ihre Dokumentation durch die Werkzeuge von GTK-Doc erstellt wird. Es werden mehrere Erstellungssysteme unterstützt. In diesem Handbuch beschreiben wir die Integration von GTK-Doc in <link linkend="settingup_autotools">Autotools</link>, <link linkend="settingup_cmake">CMake</link> und <link linkend="settingup_plain_makefiles">einfache Makefiles</link>.</para>
- </listitem>
- <listitem>
- <para>Hinzufügen GTK-Doc-spezifischer Dateien zur Versionsverwaltung, wobei zu entscheiden ist, welche Dateien ignoriert werden sollen (siehe <link linkend="settingup_vcs">Integration in Versionsverwaltungssysteme</link>).</para>
- </listitem>
- </itemizedlist>
-
- <para>In den folgenden Abschnitten wird ein fiktives Projekt namens <code>meep</code> angenommen, an dem wir arbeiten. Das Projekt enthält zwei Pakete (oder Module), eine Bibliothek namens <code>libmeep</code> und eine Endbenutzer-Anwendung namens <code>meeper</code>.</para>
-
- <sect1 id="settingup_docfiles">
- <title>Einrichten des Grundgerüsts der Dokumentation</title>
-
- <para>Üblicherweise wir die Dokumentation in einem Ordner namens <code>docs</code> in der obersten Ebene Ihres Projektordners platziert. Wir unterscheiden stets zwischen der für Entwickler bestimmten <emphasis>Referenzdokumentation</emphasis> und dem <emphasis>Benutzerhandbuch</emphasis>, das sich an Endbenutzer richtet. Es ist wiederum üblich, dass für beide Werke getrennte Ordner verwendet werden. Wir legen die Referenzdokumentation in einem Ordner namens <code>reference</code> und das Benutzerhandbuch in <code>help</code>. Nach der oben gennanten Konvention würde dann die Dokumentation für unser <code>libmeep</code>-Paket in <code>docs/reference/libmeep</code> platziert werden. Bei Paketen, die nur eine Bibliothek oder Anwendung enthalten, kann die Dokumentation auch direkt in <code>docs/reference</code> abgelegt werden. Es ist nicht obligatorisch, genau nach diesem Schema vorzugehen, aber wenn Sie von dieser Ordnerstruktur abweichen, müssen Sie die Konfiguration Ihres Erstellungssystems entsprechend anpassen.</para>
-
- <para>In den folgenden Abschnitten gehen wir für unser <emphasis>meep</emphasis>-Projekt von einer Ordnerstruktur aus, die die oben genannten Konventionen berücksichtigt. <example>
- <title>Beispielhafte Ordnerstruktur des <emphasis>meep</emphasis>-Projekts</title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integration in Autotools</title>
- <para>Für die Integration von GTK-Doc in ein Autotools-basiertes Projekt sind die folgenden Schritte auszuführen:</para>
- <itemizedlist>
- <listitem>
- <para>Stellen Sie sicher, dass <application>gtkdocize</application> einmal vor dem <filename>configure</filename>-Skript ausgeführt wird. Falls es ein <filename>autogen.sh</filename>-Skript gibt, passen Sie es so an, dass es nach GTK-Doc sucht und einen <application>gtkdocize</application>-Aufruf hinzufügt.</para>
-
- <para>Der Hauptzweck von <application>gtkdocize</application> ist die Erstellung der <filename>gtk-doc.make</filename>-Steuerdatei und der Makro-Definitionsdatei <filename>gtk-doc.m4</filename> für das Erstellungssystem, entweder durch Kopieren oder Verlinken im Projekt.</para>
- </listitem>
- <listitem>
- <para>Fügen Sie die notwendigen <application>autoconf</application>-Makros zu <filename>configure.ac</filename> hinzu, um GTK-Doc in Ihrem Erstellungssystem zu aktivieren, so dass die Konfiguration von GTK-Doc über das erzeugte <filename>configure</filename>-Skript erfolgt.</para>
- <para>Unter anderem wird die Option <code>--enable-gtk-doc</code> mit dem <filename>configure</filename>-Skript registriert.</para>
- </listitem>
- <listitem>
- <para>Erstellen Sie ein <application>automake</application>-Skript für jede Anwendung oder Bibliothek in Ihrem Projekt. In dem in dieser Dokumentation verwendeten Beispiel wird dieser Schritt sowohl auf <code>meeper</code> als auch <code>libmeep</code> angewendet.</para>
- </listitem>
- </itemizedlist>
-
- <para>In den folgenden Abschnitten führen wir die oben beschriebenen Schritte in umgekehrter Reihenfolge aus. Wir beginnen mit den <application>automake</application>-Skripten und arbeiten uns bis hinauf zu <filename>configure.ac</filename> und <filename>autogen.sh</filename>. Dann zeigen wir, wie GTK-Doc im Erstellungssystem aktiviert und wie die Dokumentation erstellt wird.</para>
-
- <sect2 id="settingup_automake">
- <title>Integration in automake</title>
-
- <para>Kopieren Sie zunächst die Datei <filename>Makefile.am</filename> aus dem <filename class="directory">examples</filename>-Unterordner der <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">gtkdoc-Quellen</ulink> in den API-Dokumentationsordner Ihres Projekts ( <filename class="directory">./docs/reference/<package></filename>). Eine lokale Kopie sollte beispielsweise unter <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename> verfügbar sein. Falls Sie mehrere Dokumentationspakete haben, müssen Sie dies für jedes davon wiederholen.</para>
-
- <note>
- <simpara>Vergessen Sie nicht, jedes <filename>Makefile.am</filename> zum Makro <function>AC_CONFIG_FILES</function> in <filename>configure.ac</filename> hinzuzufügen. Für <filename>docs/reference/libmeep/Makefile.am</filename> müssen Sie den Eintrag <filename>docs/reference/libmeep/Makefile</filename> zu <function>AC_CONFIG_FILES</function> hinzufügen.</simpara>
- </note>
-
- <example>
- <title>Beispielhafte Ordnerstruktur mit <filename>Makefiles.am</filename></title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>Im nächsten Schritt passen Sie die kopierten Makefiles an und geben Werte für die verschiedenen Parameter in jedem <filename>Makefile.am</filename> an. Allen Einstellungen ist ein Kommentar vorangestellt, der den jeweiligen Zweck beschreibt. Die meisten Einstellungen sind zusätzliche Flags, die an verschiedene Werkzeuge übergeben werden. Jedes der Werkzeuge hat eine Variable der Form <option><WERKZEUGNAME>_OPTIONEN</option>. Alle Werkzeuge unterstützen <option>--help</option> zur Auflistung der unterstützten Parameter.</para>
-
- <para>In der folgenden Liste werden einige der relevantesten Optionen erläutert. Im Beispiel für <filename>Makefile.am</filename> finden Sie weitere Optionen. <itemizedlist>
- <listitem>
- <para><option>DOC_MODULE</option> stellt den Namen des Pakets bereit, das dokumentiert werden soll (z.B. <code>meeper</code> oder <code>libmeep</code>).</para>
- </listitem>
- <listitem>
- <para><option>DOC_SOURCE_DIR</option> gibt den Ort des Quellordners an, wo GTK-Doc nach Ihrer API-Dokumentation suchen soll. Üblicherweise ist das <code> DOC_SOURCE_DIR=$(top_srcdir)/src </code> oder einer von dessen Unterordnern.</para>
- </listitem>
-
- <listitem>
- <para><option>HFILE_GLOB</option> und <option>CFILE_GLOB</option> werden für Abhängigkeiten verwendet. Jed Option akzeptiert ein file-glob (z.B. <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>). Die Dokumentation wird neu erstellt, wenn sich eine der Dateien ändert.</para>
- </listitem>
-
- <listitem>
- <para>Mit <option>EXTRA_HFILES</option> können Sie zusätzliche einzuschließende Header-Dateien angeben, wenn nach API-Dokumentation gesucht wird, falls diese nicht unter <code>DOC_SOURCE_DIR</code> zu finden ist (z.B. <code> EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).</para>
- </listitem>
-
- <listitem>
- <para>Mit <option>IGNORE_HFILES</option> können Sie zu ignorierende Header-Dateien angeben, wenn nach API-Dokumentation gesucht wird. Verwenden Sie dabei den Basisnamen der Datei oder des Ordners (z.B. <code> IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).</para>
- </listitem>
-
- <listitem>
- <para>In <option>HTML_IMAGES</option> können Sie Bilder angeben, die in den <filename>html/</filename>-Ordner der erzeugten Dokumentation kopiert werden. Falls Ihre API-Dokumentation Bilder enthält, müssen diese zu dieser Option hinzugefügt werden (z.B. <code> HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).</para>
- </listitem>
-
- <listitem>
- <para>In <option>content_files</option> können Sie zusätzliche Dateien angeben, die in <code>$(DOC_MAIN_SGML_FILE)</code> einbezogen werden sollen (z.B. <code> content_files=running.xml building.xml changes-2.0.xml</code>).</para>
- </listitem>
-
- <listitem>
- <para>In <option>expand_content_files</option> geben Sie Dateien an, in denen <emphasis>gtk-doc Abkürzungen</emphasis> wie <code>#GtkWidget</code> expandiert werden (z.B. <code> expand_content_files=running.xml</code>).</para>
- </listitem>
- </itemizedlist></para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>Integration in autoconf</title>
-
- <para>Die Integration in <application>autoconf</application> ist recht einfach. Es ist nur ein Schritt zwingend erforderlich sowie ein weiterer optional (aber empfehlenswert). Zunächst fügen Sie das Makro <function>GTK_DOC_CHECK</function> zu Ihrem <filename>configure.ac</filename> Skript hinzu. Dadurch werden verschiedene Konfigurationsoptionen zur Aktivierung von GTK-Doc registriert sowie Standardargumente für <application>gtkdocize</application> gesetzt.</para>
-
- <warning>
- <simpara>Achten Sie darauf, dass das <code>GTK_DOC_CHECK</code>-Makro nicht eingerückt ist. Es muss zwingend am Anfang der Zeile stehen und sollte nicht mit einem Leerzeichen beginnen.</simpara>
- </warning>
-
- <para>Danach fügen Sie <code>AC_CONFIG_MACRO_DIR(m4)</code> zu Ihrer <filename>configure.ac</filename>-Datei hinzu. Dies ist nicht zwingend erforderlich, aber hilft <application>gtkdocize</application> dabei, die Makrodefinition (e.g <filename>gtk-doc.m4</filename>), welche das Makro <function>GTK_DOC_CHECK</function> enthält, in den Makro-Ordner Ihres Projekts zu kopieren. Wenn Sie diesen Schritt auslassen, könnte das Makro GTK_DOC_CHECK möglicherweise nicht gefunden werden, und Sie müssten den Ort der Makro-Definitionsdatei explizit für <application>aclocal</application> angeben.</para>
-
- <para>
- <example><title>Minimale Integration in autoconf</title>
- <programlisting>
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-</programlisting>
- </example>
- </para>
-
- <para>Das obige Beispiel funktioniert, aber es erfordert, dass alle Entwickler gtk-doc installiert haben. Eine bessere Lösung ist die optional Erstellung der Dokumentation, wie das nächste Beispiel zeigt: <example>
- <title>Integration mit optionaler Abhängigkeit zu gtk-doc</title>
- <programlisting>
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-</programlisting>
- </example></para>
-
- <para>Das erste Argument wird zur Überprüfung von der Version von GTK-Doc während des configure-Durchlaufs benutzt. Das zweite, optionale Argument wird von <application>gtkdocize</application> verwendet. Das Makro <symbol>GTK_DOC_CHECK</symbol> fügt verschiedene Schalter für configure hinzu:</para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=PATH : Pfad zur installierten Dokumentation</para></listitem>
- <listitem><para>--enable-gtk-doc : gtk-doc zur Erstellung der Dokumentation verwenden [Vorgabe=no]</para></listitem>
- <listitem><para>--enable-gtk-doc-html : Erstellung der Dokumentation im HTML-Format [Vorgabe=yes]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : Erstellung der Dokumentation im PDF-Format [Vorgabe=no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>GTK-Doc ist standardmäßig deaktiviert! Denken Sie daran, die Option <option>'--enable-gtk-doc'</option> beim nächsten Durchlauf von <filename>configure</filename> zu übergeben. Anderenfalls wird die vorher erstellte Dokumentation installiert. Dies ergibt für Benutzer durchaus Sinn, aber nicht für Entwickler.</para>
- </important>
-
- <para>Nachdem alle Änderungen auf <filename>configure.ac</filename> angewendet wurden, aktualisieren Sie die Datei <filename>configure</filename>. Dies geschieht durch erneutes Ausführen von <code>autogen.sh</code>.</para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>Integration in autogen</title>
-
- <para>Die meisten Projekte dürften über ein <filename>autogen.sh</filename>-Skript verfügen, welches die Build-Infrastruktur nach dem Auschecken aus einem Versionsverwaltungssystem wie SVN oder Git erzeugt. GTK-Doc liefert ein Werkzeug namens <application>gtkdocize</application> mit, das zum Kopieren der für GTK-Doc erforderlichen Dateien in den Quellordner verwendet werden kann.</para>
-
- <para>Es sollte vor autoreconf, autoheader, automake oder autoconf ausgeführt werden.</para>
-
- <para>
- <example><title>Ausführen von gtkdocize durch autogen.sh</title>
- <programlisting>
-gtkdocize || exit 1
-</programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Bedingtes Ausführen von gtkdocize durch autogen.sh</title>
- <programlisting>
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-</programlisting>
- </example>
- </para>
-
- <para>Beim Ausführen von <application>gtkdocize</application> wird <filename>gtk-doc.make</filename> in die Wurzel Ihres Projekts oder in jeden anderen durch die Option <option>--docdir</option> festgelegten Ordner kopiert.</para>
-
- <para><application>gtkdocize</application> überprüft das <filename>configure.ac</filename>-Skript daraufhin, ob <function>GTK_DOC_CHECK</function> enthalten ist. Dieses Makro kann verwendet werden, um weitere Parameter an <application>gtkdocize</application> zu übergeben, den zweiten Parameter im <function>GTK_DOC_CHECK</function>-Makro.</para>
-
- <para>Alternativ können zusätzliche Argumente auch über die Umgebungsvariable <function>GTKDOCIZE_FLAGS</function> an <application>gtkdocize</application> übergeben werden, oder durch direktes Anfügen an <application>gtkdocize</application> in <filename>autogen.sh</filename>.</para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Aufruf von GTK-Doc aus dem Erstellungssystem heraus</title>
-
- <para>Nach den bisher absolvierten Schritten ist es Zeit für den Build-Vorgang. Zunächst muss <filename>autogen.sh</filename> erneut ausgeführt werden. Falls dieses Skript auch den configure-Aufruf enthält, sollten Sie die Option <option>--enable-gtk-doc</option> hinzufügen. Anderenfalls führen Sie danach <filename>configure</filename> manuell aus, ebenfalls mit dieser Option.</para>
- <para>Der erste Durchlauf von make erstellt verschiedene zusätzliche Dateien in den Dokumentationsordnern. Die bedeutendsten davon sind: <filename><package>.types</filename>, <filename><package>-docs.xml</filename> (früher .sgml), <filename><package>-sections.txt</filename>.</para>
- <para>
- <example><title>Erstellung der Dokumentation</title>
- <programlisting>
-./autogen.sh --enable-gtk-doc
-make
-</programlisting>
- </example>
- </para>
-
- <para>Nun können Sie Ihren Browser auf <filename>docs/reference/<package>/index.html</filename> stellen. Mit dieser initialen Einrichtung werden Sie allerdings nur ein sehr simples Dokument sehen. Im nächsten Kapitel erläutern wir, wie Sie API-Dokumentation mittels spezieller Kommentarblöcke in Ihren Code einbauen können. Das Kapitel danach führt in <link linkend="metafiles">zusätzliche Dateien</link> ein und zeigt, wie die <link linkend="metafiles_master">Master-Vorlage</link> bearbeitet wird, um zusätzliche Kapitel und Abschnitte zu Ihren Dokumentationsdateien hinzuzufügen.</para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integration in CMake-Erstellungssysteme</title>
-
- <para>GTK-Doc stellt nun ein <filename>GtkDocConfig.cmake</filename>-Modul (und das korrespondierende <filename>GtkDocConfigVersion.cmake</filename>-Modul) bereit. Dadurch steht Ihnen der Befehl <literal>gtk_doc_add_module</literal> zur Verfügung, den Sie in die Datei <filename>CMakeLists.txt</filename> integrieren können.</para>
-
- <para>Das folgende Beispiel zeigt, wie dieser Befehl eingesetzt wird. <example><title>Beispiel zur Verwendung von GTK-Doc mit CMake</title>
- <programlisting>
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integration in Klartext-Makefiles oder andere Erstellungssysteme</title>
-
- <para>Für den Fall, dass jemand nicht automake und damit <filename>gtk-doc.mak</filename> einsetzen will, muss man die gtkdoc-Werkzeuge in eigenen Makefiles (oder andere Werkzeugen) in der richtigen Reihenfolge aufrufen.</para>
-
- <para>
- <example><title>Schritte zur Erstellung der Dokumentation</title>
- <programlisting>
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-</programlisting>
- </example>
- </para>
-
- <para>Man muss sich <filename>Makefile.am</filename> und <filename>gtk-doc.mak</filename> anschauen, um die zusätzlich notwendigen Optionen herauszusuchen.</para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>Integration in Versionsverwaltungssysteme</title>
-
- <para>Als Faustregel gilt, dass alle von Ihnen bearbeiteten Dateien auch unter Versionsverwaltung stehen sollten. In typischen Projekten sind das folgende Dateien: <filename><package>.types</filename>, <filename><package>-docs.xml</filename> (früher .sgml), <filename><package>-sections.txt</filename>, <filename>Makefile.am</filename>.</para>
- <para>Dateien in den Ordnern <filename>xml/</filename> und <filename>html/</filename> sollten nicht unter Versionsverwaltung gestellt werden, ebenso keine der <filename>.stamp</filename>-Dateien.</para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>Dokumentieren des Codes</title>
-
- <para>GTK-Doc benutzt Quellcode-Kommentare mit einer speziellen Syntax für Code-Dokumentation. Weiterhin werden Informationen über Ihre Projektstruktur aus anderen Quellen geholt. Im nächsten Abschnitt finden Sie umfassende Informationen über die Syntax der Kommentare.</para>
-
- <para>Der Scanner von GTK-Doc kann mit den meisten C-Kopfdateien umgehen. Im Falle von Warnungen des Scanners, die wie ein Spezialfall aussehen, kann man GTK-Doc anweisen, diese zu überspringen. <example><title>GTK-Doc-Kommentarblock</title>
- <programlisting>
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-</programlisting>
- </example></para>
-
- <note>
- <title>Einschränkungen</title>
- <para>Beachten Sie, dass GTK-Doc zwar <code>#ifndef(__GTK_DOC_IGNORE__)</code> unterstützt, aber nicht <code>#if !defined(__GTK_DOC_IGNORE__)</code> oder andere Kombinationen.</para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>Kommentare zur Dokumentation</title>
-
- <para>Ein mehrzeiliger Kommentar, der mit einem zusätzlichen »*« beginnt, markiert einen Kommentarblock, der von den Werkzeugen in GTK-Doc verarbeitet wird. <example><title>GTK-Doc-Kommentarblock</title>
- <programlisting>
-/**
- * identifier:
- * documentation ...
- */
-</programlisting>
- </example></para>
-
- <para>Der »identifier« ist eine Zeile mit dem Namen des Objekts, auf das sich der Kommentar bezieht. Die Syntax kann abhängig von der Art des Objekts variieren.</para>
-
- <para>Der Block »documentation« ist ebenfalls für jeden Symboltyp unterschiedlich. Symboltypen mit Parametern wie Funktionen oder Makros haben eine Parameterbeschreibung, auf die eine leere Zeile folgt (keine echte Leerzeile, sondern ein »*«). Danach folgt eine detaillierte Beschreibung. Alle Zeilen (außerhalb von Programmlistings und CDATA-Abschnitten), die nur ein » *« (Leerzeichen-Asterisk) enthalten, werden in Absatzumbrüche umgewandelt. Falls Sie keinen Absatzumbruch wünschen, verwenden Sie stattdessen ein » * «, d.h. setzen Sie ein Leerzeichen jeweils davor und dahinter. Dies ist in vorformatiertem Text nützlich (Code-Auflistungen).</para>
-
- <tip>
- <para>Beim Dokumentieren von Code beschreiben Sie zwei Aspekte: <itemizedlist>
- <listitem>
- <para>Was es ist: Der Name für eine Klasse oder Funktion kann manchmal irreführend sein für Personen, die einen anderen Hintergrund haben.</para>
- </listitem>
- <listitem>
- <para>Was es ist: Berichtet über normale Anwendungsfälle. Stellen Sie es ins Verhältnis mit der anderen API.</para>
- </listitem>
- </itemizedlist></para>
- </tip>
-
- <para>Ein Vorteil von Hypertext gegenüber Klartext ist die Möglichkeit, Verknüpfungen im Dokument zu verwenden. Das Schreiben eines korrekten Markups für eine solche Verknüpfung kann allerdings langatmig sein, deshalb stellt GTK-Doc eine Reihe von praktischen Abkürzungen bereit. <itemizedlist>
- <listitem>
- <para>Verwenden Sie function(), um einen Bezug zu Funktionen oder Makros herzustellen, die Argumente akzeptieren.</para>
- </listitem>
- <listitem>
- <para>Verwenden Sie @param, um einen Bezug zu Parametern herzustellen. Verwenden Sie dies auch, wenn es um einen Bezug zu Parametern anderer Funktionen geht, bezogen auf jene, die Sie gerade beschreiben.</para>
- </listitem>
- <listitem>
- <para>Benutzen Sie %constant, um einen Bezug auf eine Konstante herzustellen, z.B. %G_TRAVERSE_LEAFS.</para>
- </listitem>
- <listitem>
- <para>Verwenden Sie #symbol, um auf andere Symboltypen zu verweisen, z.B. »structs« und »enums« und Makros, die keine Argumente benötigen.</para>
- </listitem>
- <listitem>
- <para>Verwenden Sie #Object::signal, um auf ein GObject-Signal zu verweisen.</para>
- </listitem>
- <listitem>
- <para>Verwenden Sie #Object:property, um auf eine GObject-Eigenschaft zu verweisen.</para>
- </listitem>
- <listitem>
- <para>Verwenden Sie #Struct.field, um auf ein Feld innerhalb einer Struktur zu verweisen und #GObjectClass.foo_bar() für eine vmethod.</para>
- </listitem>
- </itemizedlist></para>
-
- <tip>
- <para>Falls Sie die Sonderzeichen »<«, »>«, »()«, »@«, »%« oder »#« in Ihrer Dokumentation verwenden wollen, ohne dass GTK-Doc diese ändert, können Sie die XML-Entitäten »&lt;«, »&gt;«, »&lpar;«, »&rpar;«, »&commat;«, »&percnt;« und »&num;« verwenden oder die Zeichen mit einem Backslash »\« maskieren.</para>
- </tip>
-
- <para>DocBook kann mehr als nur Verweise zu erzeugen. Sie können Listen, Beispiele, Überschriften und Bilder einfügen. In Version 1.20 ist der bevorzugte Weg, ein Subset grundlegender Textformatierungssyntax namens <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink> zu verwenden. In älteren Versionen von GTK-Doc wird jede Dokumentation, die Markdown enthält, unverändert gerendert. Zum Beispiel erscheinen Listenobjekte als Zeilen, die mit einem Gedankenstrich beginnen.</para>
-
- <para>Wenngleich Markdown bevorzugt wird, können Sie beide Formate mischen. Eine Einschränkung ist jedoch, dass Sie DocBook XML innerhalb von Markdown verwenden können, während Markdown in DocBook XML nicht unterstützt wird.</para>
-
- <para>Um die Nutzung der DocBook-XML-Markierungen innerhalb der Dokumentationskommentare zu aktivieren, übergeben Sie der Variable <symbol>MKDB_OPTIONS</symbol> in der Datei <filename>Makefile.am</filename> die Option <option>--xml-mode</option> (oder <option>--sgml-mode</option>).</para>
-
- <para>
- <example><title>GTK-Doc-Kommentarblock in Markdown-Syntax</title>
- <programlisting>
-/**
- * identifier:
- *
- * documentation paragraph ...
- *
- * # Sub Heading #
- *
- * ## Second Sub Heading
- *
- * # Sub Heading With a Link Anchor # {#heading-two}
- *
- * more documentation:
- *
- * - list item 1
- *
- * Paragraph inside a list item.
- *
- * - list item 2
- *
- * 1. numbered list item
- *
- * 2. another numbered list item
- *
- * Another paragraph. [A Link to the GNOME Website](http://www.gnome.org/)
- *
- * 
- *
- * [A link to the heading anchor above][heading-two]
- *
- * A C-language example:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-</programlisting>
- </example>
- </para>
-
- <para>Weitere Beispiele zu den unterstützten Markdown-Formatierungen finden Sie in der <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">GTK+ Documentation Markdown Syntax Reference</ulink>.</para>
-
- <tip>
- <para>Wie an früherer Stelle bereits erwähnt, ist GTK-Doc für das Dokumentieren der öffentlichen API gedacht. Daher kann man keine Dokumentation für statische Symbole schreiben. Nichtsdestotrotz ist es jedoch gut, diese Symbole trotzdem zu dokumentieren. Dies hilft anderen, Ihren Code besser zu verstehen. Deswegen empfehlen wir, hierfür normale Kommentare zu verwenden, ohne das zweite »*« in der ersten Zeile. Falls später die Funktion veröffentlicht werden soll, ist es lediglich nötig, im Kommentarblock ein zweites »*« hinzuzufügen und den Symbolnamen an der richtigen Stelle in die Abschnittsdatei einzubauen.</para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>Dokumentieren in Abschnitten</title>
-
- <para>Jeder Abschnitt der Dokumentation enthält Informationen über eine Klasse oder ein Modul. Um eine Komponente hinzuzufügen, können Sie einen Abschnittsblock schreiben. Die Kurzbeschreibung wird auch im Inhaltsverzeichnis verwendet. Alle @-Felder sind optional.</para>
-
- <para>
- <example><title>Abschnitts-Kommentarblock</title>
- <programlisting>
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-</programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<name></term>
- <listitem>
- <para>Der Name verweist auf die Abschnittsdokumentation des entsprechenden Teils der Datei <filename><package>-sections.txt</filename>. Der hier angegebene Name sollte der Markierung <FILE> in der Datei <filename><package>-sections.txt</filename> entsprechen.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>Eine einzeilige Beschreibung des Abschnitts, die später hinter den Verweisen im Inhaltsverzeichnis und oben in der Abschnittsseite erscheint.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>Der Abschnittstitel in der SECTION-Deklaration, Vorgabe ist <name>. Er kann im Feld @title überschrieben werden.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>Überschreibt den Einsatz von Titeln als Abschnitts-Bezeichner. Für GObjects wird der <Titel> als section_id verwendet and für andere Abschnitte <MODUL>-<Titel>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>Eine Liste von Symbolen, welche sich auf diesen Abschnitt beziehen.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>Eine informelle Beschreibung der Stabilitätsstufe dieser API. Wir empfehlen dafür einen der folgenden Begriffe: <itemizedlist>
- <listitem>
- <para>Stabil - Die Absicht einer stabilen Schnittstelle ist es, beliebigen Dritten es zu ermöglichen, Anwendungen zu diesen Schnittstellen zu entwickeln, diese freizugeben und sich darauf verlassen zu können, dass diese mit allen Unterversionen des Produkts laufen (nach derjenigen, wo die Schnittstelle eingeführt wurde, und innerhalb der gleichen Hauptversion). Selbst bei einer Hauptversion kann man nicht von inkompatiblen Änderungen ausgehen, abgesehen von stark berechtigten.</para>
- </listitem>
- <listitem>
- <para>Instabil - Instabile Schnittstellen sind experimentell oder vorübergehend. Sie werden typischerweise verwendet, um außenstehenden Entwicklern frühen Zugang zu neuen oder sich schnell ändernden Technologien zu geben, oder um eine Übergangslösung für ein Problem zu liefern, für das eine allgemeinere Lösung erwartet wird. Es werden keine Garantien zu Quell- oder Binärkompatibilität von einer minor-Freigabe zur nächsten gegeben.</para>
- </listitem>
- <listitem>
- <para>Privat - Eine Schnittstelle, die im GNOME-Stack selbst verwendet werden kann, aber nicht für Endanwender dokumentiert ist. Solche Funktionen sollten nur auf spezifizierte und dokumentierte Weisen verwendet werden.</para>
- </listitem>
- <listitem>
- <para>Intern - Eine Schnittstelle, die für ein Modul intern ist und keine Endanwender-Dokumentation erfordert. Undokumentierte Funktionen werden als intern angesehen.</para>
- </listitem>
- </itemizedlist></para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>Die <literal>#include</literal> -Dateien werden im Abschnitt »synopsis« angezeigt (eine durch Kommata getrennte Liste). Der globale Wert aus der <link linkend="metafiles_sections">Abschnittsdatei</link> oder von der Befehlszeile wird überschrieben. Dieser Punkt ist optional.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>Das Bild, das am Beginn einer Referenzseite für diesen Abschnitt angezeigt wird. Meist wird es eine Art Diagramm für das visuelle Erscheinungsbild einer Klasse oder ein Diagramm sein, das die Beziehungen zu anderen Klassen darstellt. Dieses Objekt ist optional.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>Um unnötiges Rekompilieren nach Dokumentationsänderungen zu vermeiden, platzieren Sie die Abschnittsdokumentation in die C-Quellen, wo immer es möglich ist.</para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>Dokumentieren von Symbolen</title>
-
- <para>Jedes Symbol (function, macro, struct, enum, signal und property) wird in einem separaten Block dokumentiert. Der Block wird am besten nahe der Definition der Symbole platziert, so dass es leichter ist, diese synchron zu halten. Die Funktion wird üblicherweise in den C-Quellen definiert, »macro«, »struct« und »enum« dagegen in der Header-Datei.</para>
-
- <sect2><title>Allgemeine Markierungen</title>
-
- <para>Sie können Versionsinformationen zu allen Dokumentationselementen hinzufügen, um darauf hinzuweisen, wann eine API eingeführt oder wann sie als veraltet markiert wurde.</para>
-
- <variablelist><title>Versionierungs-Markierungen</title>
- <varlistentry><term>Since:</term>
- <listitem>
- <para>Beschreibung, seit welcher Version des Codes die API verfügbar ist.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Deprecated:</term>
- <listitem>
- <para>Absatz, der darüber informiert, dass diese Funktion nicht mehr genutzt werden sollte. Die Beschreibung sollte einen Verweis auf die neue API enthalten.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Sie können Stabilitätsinformationen zu allen Dokumentationselementen hinzufügen, um darauf hinzuweisen, ob API-Stabilität für alle Minor-Veröffentlichungen des Projekts garantiert wird.</para>
-
- <para>Die Standard-Stabilitätsstufe für alle Dokumentationselemente setzen Sie durch Übergabe des Arguments <option>--default-stability</option> an <application>gtkdoc-mkdb</application> in einem der nachfolgend beschriebenen Werte.</para>
-
- <variablelist><title>Stabilitäts-Markierungen</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>Markiert das Element als stabil. Dies bezieht sich auf öffentliche APIs, für die für alle zukünftigen Minor-Veröffentlichungen des Projekts Stabilität gewährleistet ist.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>Markiert das Element als instabil. Dies bezieht sich auf öffentliche APIs, die als Vorschau vor der endgültigen Stabilisierung gedacht sind.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>Markiert das Element als privat. Dies bezieht sich auf Schnittstellen, die von eng damit verknüpften Modulen genutzt werden kann, aber nicht von beliebigen Drittanbietern.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>Allgemeine Markierungen</title>
- <programlisting>
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Anmerkungen</title>
-
- <para>Dokumentationsblöcke können Anmerkungs-Markierungen enthalten. Diese Markierungen werden als Tooltips (Minihilfen) dargestellt, die die jeweilige Bedeutung anzeigen. Sie werden von gobject-introspection genutzt, um Sprachbindungen zu erzeugen. Eine detaillierte Liste der unterstützten Markierungen finden Sie im <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">Wiki</ulink>.</para>
-
- <example><title>Anmerkungen</title>
- <programlisting>
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: (annotation): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (another annotation)
- * (and another annotation)
- * @foo: (annotation) (another annotation): some foo
- *
- * Sets bar on @foo.
- */
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Kommentarblock einer Funktion</title>
-
- <para>Bitte denken Sie an: <itemizedlist>
- <listitem>
- <para>Dokumentieren, ob zurückgegebene Objekte, Listen, Zeichenketten usw. befreit/dereferenziert/freigegeben werden.</para>
- </listitem>
- <listitem>
- <para>Dokumentiert, ob Parameter NULL sein können, und was in diesem Fall geschieht.</para>
- </listitem>
- <listitem>
- <para>Erwähnen Sie interessante Vorbedingungen (und nachfolgende Bedingungen), wo es nützlich erscheint.</para>
- </listitem>
- </itemizedlist></para>
-
- <para>GTK-Doc nimmt an, dass alle Symbole (Makros, Funktionen), die mit »_« beginnen, privat sind. Sie werden wie statische Funktionen behandelt.</para>
-
- <example><title>Kommentarblock einer Funktion</title>
- <programlisting>
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-</programlisting>
- </example>
-
- <variablelist><title>Funktions-Markierungen</title>
- <varlistentry><term>Returns:</term>
- <listitem>
- <para>Abschnitt, der das zurückgegebene Ergebnis beschreibt.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>Wenn die Funktion variadische Argumente enthält, sollten Sie diese Markierung verwenden (@Varargs: funktioniert aus historischen Gründen ebenfalls).</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>Property-Kommentarblock</title>
-
- <example><title>Property-Kommentarblock</title>
- <programlisting>
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Signal-Kommentarblock</title>
-
- <para>Bitte denken Sie an: <itemizedlist>
- <listitem>
- <para>Dokumentiert, wann ein Signal ausgegeben wird und ob es vor oder nach anderen Signalen ausgegeben wird.</para>
- </listitem>
- <listitem>
- <para>Dokumentiert, was eine Anwendung in dem Signal-Handler tun könnte.</para>
- </listitem>
- </itemizedlist></para>
-
- <example><title>Signal-Kommentarblock</title>
- <programlisting>
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Struct-Kommentarblock</title>
- <example><title>Struct-Kommentarblock</title>
- <programlisting>
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-</programlisting>
- </example>
-
- <para>Verwenden Sie <code>/*< private >*/</code> vor den privaten »struct«-Feldern, die Sie verbergen wollen. Um das umgekehrte Verhalten zu erzielen, verwenden Sie <code>/*< public >*/</code>.</para>
-
- <para>Wenn das erste Feld »g_iface«, »parent_instance« oder »parent_class« ist, wird es automatisch als privat angesehen und muss nicht im Kommentarblock erwähnt werden.</para>
-
- <para>Struct-Kommentarblöcke können auch für GObjects und GObjectClasses verwendet werden. Es ist ratsam, einen Kommentarblock für eine Klasse hinzuzufügen, wenn diese vmethods enthält (dies ist die Art der Dokumentation dafür). Für GObject selbst können Sie die jeweiligen Abschnittsdokumentationen verwenden, wobei ein separater Block für das Instanz-Struct sinnvoll ist, sofern die Instanz öffentliche Felder enthält. Ein Nachteil ist hier, dass dadurch zwei gleichnamige Indexeinträge erstellt werden (die Struktur und der Abschnitt).</para>
-
- </sect2>
-
- <sect2><title>Enum-Kommentarblock</title>
- <example><title>Enum-Kommentarblock</title>
- <programlisting>
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-</programlisting>
- </example>
-
- <para>Verwenden Sie <code>/*< private >*/</code> vor den privaten »enum«-Werten, die Sie verbergen wollen. Um das umgekehrte Verhalten zu erzielen, verwenden Sie <code>/*< public >*/</code>.</para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Eingebettete Programmdokumentation</title>
- <para>Dokumentieren Sie ein Programm und dessen Befehlszeilen-Schnittstelle mit eingebetteter Dokumentation.</para>
-
- <variablelist>
- <title>Markierungen</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>Definiert den Start einer Programmdokumentation.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>Definiert eine Kurzbeschreibung des Programms (optional).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>Definiert die Argumente oder eine Liste von Argumenten, die das Programm akzeptiert (optional).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>Der Abschnitt »SEE ALSO« in den man-Pages (Unix-Handbuchseiten, optional).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>Argument(e), die dem Programm übergeben wurden, und die zugehörige Beschreibung (optional).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>Eine ausführlichere Beschreibung des Programms.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Returns:</term>
- <listitem>
- <para>Geben Sie an, welche Wert(e) das Programm zurück gibt (optional).</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Beispiel einer Programmdokumentation.</title>
- <example><title>Programm-Dokumentationsblock</title>
- <programlisting>
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-</programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>Nützliche DocBook-Markierungen</title>
-
- <para>Nachfolgend finden Sie einige DocBook-Markierungen, die beim Dokumentieren von Code nützlich sein können.</para>
-
- <para>So erstellen Sie eine Verknüpfung zu einem anderen Abschnitt in den GTK-Docs: <informalexample>
- <programlisting>
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-</programlisting>
- </informalexample> »linkend« ist dabei die SGML-XML-Kennung des obersten Elements der Seite, auf welche die Verknüpfung zielt (»gtk«, »gdk«, »glib«), danach folgt der Seitentitel ("Hash Tables"). Für Widgets ist dies einfach der Klassenname. Leerzeichen und Unterstriche werden SGML/XML-konform in »-« umgewandelt.</para>
-
- <para>Für einen Bezug zu einer externen Funktion, z.B. einer C-Standardfunktion: <informalexample>
- <programlisting>
-<function>...</function>
-</programlisting>
- </informalexample></para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>Für eine Liste mit Aufzählungszeichen: <informalexample>
- <programlisting>
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-</programlisting>
- </informalexample></para>
-
- <para>Für eine nicht zum eigentlichen Text gehörende Notiz: <informalexample>
- <programlisting>
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-</programlisting>
- </informalexample></para>
-
- <para>Für einen Bezug zu einem Typ: <informalexample>
- <programlisting>
-<type>unsigned char</type>
-</programlisting>
- </informalexample></para>
-
- <para>Für einen Bezug zu einer externen Struktur (die nicht in den GTK-Docs beschrieben wird): <informalexample>
- <programlisting>
-<structname>XFontStruct</structname>
-</programlisting>
- </informalexample></para>
-
- <para>Für einen Bezug zu einem Feld einer Struktur: <informalexample>
- <programlisting>
-<structfield>len</structfield>
-</programlisting>
- </informalexample></para>
-
- <para>Um sich auf einen Klassennamen zu beziehen, kann man möglicherweise folgendes verwenden: <informalexample>
- <programlisting>
-<classname>GtkWidget</classname>
-</programlisting>
- </informalexample> Aber Sie verwenden vermutlich stattdessen #GtkWidget (um automatisch eine Verknüpfung zur GtkWidget-Seite zu erstellen - lesen Sie <link linkend="documenting_syntax">die Abkürzungen</link>).</para>
-
- <para>Zum Hervorheben von Text: <informalexample>
- <programlisting>
-<emphasis>This is important</emphasis>
-</programlisting>
- </informalexample></para>
-
- <para>Für Dateinamen: <informalexample>
- <programlisting>
-<filename>/home/user/documents</filename>
-</programlisting>
- </informalexample></para>
-
- <para>Für einen Bezug zu einem Schlüssel: <informalexample>
- <programlisting>
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-</programlisting>
- </informalexample></para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Füllen der zusätzlichen Dateien</title>
-
- <para>Es gibt eine Menge zusätzlicher Dateien, die mit den eingebetteten Quellcode-Kommentaren verwaltet werden müssen: <filename><package>.types</filename>, <filename><package>-docs.xml</filename> (früher .sgml), <filename><package>-sections.txt</filename>.</para>
-
- <sect1 id="metafiles_types">
- <title>Bearbeiten der Typendatei</title>
-
- <para>Falls Ihre Bibliothek oder Anwendung GObjects beinhaltet, sollten deren Signale, Argumente/Parameter und Positionen in der Hierarchie in der Dokumentation erscheinen. Alles was Sie tun müssen, ist die <function>xxx_get_type</function>-Funktionen zusammen mit deren Includes in der Datei <filename><package>.types</filename> aufzulisten.</para>
-
- <para>
- <example><title>Beispiel-Schnipsel einer <package>.types-Datei</title>
- <programlisting>
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-</programlisting>
- </example>
- </para>
-
- <para>Seit GTK-Doc 1.8 kann <application>gtkdoc-scan</application> diese Liste für Sie erstellen. Fügen Sie einfach »--rebuild-types« zu SCAN_OPTIONS in <filename>Makefile.am</filename> hinzu. Wenn Sie so vorgehen, sollten Sie weder Typen-Datei mit veröffentlichen noch diese unter Versionsverwaltung stellen.</para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>Bearbeiten des Master-Dokuments</title>
-
- <para>GTK-Doc erstellt die Dokumentation in DocBook-SGML/XML. Beim Verarbeiten der in den Quellcode eingebetteten Kommentare erzeugt GTK-Doc eine Dokumentationsseite pro Klasse oder Modul als separate Datei. Das Hauptdokument schließt diese ein und setzt sie in die passende Reihenfolge.</para>
-
- <para>Während GTK-Doc ein Vorlagen-Hauptdokument für Sie erstellt, wird eine spätere Ausführung es nicht mehr verändern. Das bedeutet, dass Sie das Dokument beliebig strukturieren können. Dies schließt Gruppieren von Seiten und Hinzufügen von zusätzlichen Seiten ein. GTK-Doc hat eine neue Test-Suite, wo auch das Hauptdokument von Grund auf neu erstellt wird. Es ist ratsam, sich diese von Zeit zu Zeit anzusehen und zu schauen, ob dort einige Neuigkeiten eingeführt werden.</para>
-
- <tip>
- <para>Erstellen Sie keine Schritt-für-Schritt-Anleitungen als zusätzliche Dokumente. Schreiben Sie lediglich zusätzliche Kapitel. Der Vorteil des direkten Einbettens einer Anleitung für Ihre Bibliothek in die API ist die Möglichkeit der einfachen Verknüpfung der Schritt-für-Schritt-Anleitung zur Symboldokumentation. Außerdem sind die Chancen größer, dass die Anleitung die gleichen Aktualisierungen erfährt wie die Bibliothek selbst.</para>
- </tip>
-
- <para>Was sollte nun innerhalb des Master-Dokuments geändert werden? Zunächst recht wenig. Es gibt einige Platzhalter (Text in eckigen Klammern), die Sie beachten sollten.</para>
-
- <para>
- <example><title>Kopfzeile des Master-Dokuments</title>
- <programlisting>
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-</programlisting>
- </example>
- </para>
-
- <para>Zusätzlich werden einige Optionselemente in Kommentarform erstellt. Sie können sich diese anschauen und aktivieren, wenn Sie wollen.</para>
-
- <para>
- <example><title>Optionaler Teil im Master-Dokument</title>
- <programlisting>
- <!-- aktivieren Sie dieses, wenn sie gobject introspection-Anmerkungen verwenden
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-</programlisting>
- </example>
- </para>
-
- <para>Schlussendlich müssen Sie einen neuen Abschnitt explizit einfügen, sobald Sie einen öffnen. Das Werkzeug <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> erinnert Sie an neu erzeugte XML-Dateien, die in der Dokumentation noch nicht erfasst sind.</para>
-
- <para>
- <example><title>Einbeziehen erzeugter Abschnitte</title>
- <programlisting>
- <chapter>
- <title>my library</title>
- <xi:include href="xml/object.xml"/>
- ...
-</programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>Bearbeiten der Abschnittsdatei</title>
-
- <para>Die Abschnittsdatei wird verwendet, um die Dokumentations-Ausgaben von GTK-Doc zu organisieren. Man gibt an, welches Symbol zu welchem Modul oder welcher Klasse gehört und regelt die Sichtbarkeit (öffentlich oder privat).</para>
-
- <para>Die Abschnittsdatei ist eine reine Textdatei mit Markierungen, welche die Abschnitte voneinander trennen. Leere Zeilen werden ignoriert und Zeilen, die mit »#« beginnen, werden als Kommentarzeilen behandelt.</para>
-
- <note>
- <para>Zwar lassen die Markierungen die Datei wie XML erscheinen, doch der Schein trügt. Bitte schließen Sie keine Markierungen wie <SUBSECTION>.</para>
- </note>
-
- <para>
- <example><title>Einbeziehen erzeugter Abschnitte</title>
- <programlisting>
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-</programlisting>
- </example>
- </para>
-
- <para>Die Markierung <FILE> ... </FILE> wird verwendet, um den Dateinamen ohne Suffix anzugeben. Zum Beispiel wird »<FILE>gnome-config</FILE>« dazu führen, dass der Deklarationsabschnitt in die Vorlage-Datei <filename>tmpl/gnome-config.sgml</filename> ausgegeben wird, welche in die DocBook-XML-Datei <filename>sgml/gnome-config.sgml</filename> oder die DocBook-XML-Datei <filename>xml/gnome-config.xml</filename> umgewandelt wird. (Der Name der HTML-Datei basiert auf dem Modulnamen und dem Abschnittstitel. Für GObject basiert er auf dem GObject-Klassennamen in Kleinbuchstaben).</para>
-
- <para>Das Tag <TITLE> ... </TITLE> wird zur Angabe des Abschnitttitels verwendet. Es ist nur nützlich bevor die Vorlagen (falls verwendet) anfangs erstellt werden, weil der Titel in der Vorlage diesen überschreibt. Wenn man das SECTION-Kommentar in den Quellen einsetzt, ist dies überflüssig.</para>
-
- <para>Sie können Objekte im Abschnitt mittels der Markierung <SUBSECTION> gruppieren. Derzeit gibt es eine Leerzeile zwischen Unterabschnitten im Inhaltsangabe-Abschnitt aus. Sie können auch <SUBSECTION Standard> für Standard GObject-Deklarationen verwenden (z.B. Funktionen wie g_object_get_type und Makros wie G_OBJECT(), G_IS_OBJECT() etc.). Derzeit werden diese nicht in die Dokumentation aufgenommen. Sie können auch <SUBSECTION Private> für private Deklarationen verwenden, welche nicht ausgegeben werden. Dies ist eine praktische Möglichkeit, Warnmeldungen bezüglich ungenutzter Deklarationen zu vermeiden. Wenn Ihre Bibliothek private Typen enthält, die nicht in der Objekthierarchie und der Liste der implementierten oder benötigten Schnittstellen erscheinen sollen, fügen Sie diese zu einem »Private«-Unterabschnitt hinzu. Ob Sie GObject oder GObjectClass wie Structs im öffentlichen oder im Standardabschnitt einsetzen, hängt davon ab, ob öffentliche Einträge vorhanden sind (Variablen, vmethods).</para>
-
- <para>Sie können auch <INCLUDE> ... </INCLUDE> verwenden, um die #include-Dateien anzugeben, die in den Abschnitten zur Inhaltsangabe gezeigt werden. Es enthält eine durch Kommata getrennte Liste von #include-Dateien ohne eckige Klammern. Wenn Sie es außerhalb aller Abschnitte festlegen, wirkt es in allen Abschnitten bis zum Dateiende. Wenn Sie es innerhalb eines Abschnitts festlegen, wirkt es nur in diesem Abschnitt.</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>Überprüfung des Ergebnisses</title>
-
- <para>Ein GTK-Doc-Durchlauf erzeugt Protokolldateien im Dokumentationsordner. Die Namen der erzeugten Dateien sind: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> und <filename><package>-unused.txt</filename>. Sie liegen alle als Klartext vor und können daher einfach betrachtet und weiterverarbeitet werden.</para>
-
- <para>Die Datei <filename><package>-undocumented.txt</filename> beginnt mit der Zusammenfassung der Dokumentation. Darunter sind zwei durch Leerzeilen getrennte Abschnitte. Der erste Abschnitt listet undokumentierte oder unvollständige Symbole. Der zweite Abschnitt macht das gleiche für Abschnitts-Dokumente. Unvollständige Einträge sind jene, welche Dokumentation haben, aber z.B. ein neuer Parameter hinzugefügt worden ist.</para>
-
- <para>Die Datei <filename><package>-undeclared.txt</filename> listet die in <filename><package>-sections.txt</filename> gelieferten, aber nicht in den Quellen gefundenen Symbole. Prüfen Sie, ob diese entfernt oder falsch geschrieben wurden.</para>
-
- <para>Die Datei <filename><package>-unused.txt</filename> listet Symbolnamen auf, in denen der GTK-Doc-Scanner Dokumentation gefunden hat, aber nicht weiß, wo sie abgelegt werden soll. Dies bedeutet, dass das Symbol noch nicht der Datei <filename><package>-sections.txt</filename> hinzugefügt wurde.</para>
-
- <tip>
- <para>Aktivieren Sie oder fügen Sie die Zeile <option>TESTS=$(GTKDOC_CHECK)</option> in Makefile.am hinzu. Wenn zumindest GTK-Doc 1.9 installiert ist, so wird damit eine Plausibilitätsprüfung während <command>make check</command> ausgeführt.</para>
- </tip>
-
- <para>Man kann sich auch die Dateien ansehen, die durch den Quellcode-Scanner erzeugt wurden: <filename><package>-decl-list.txt</filename> und <filename><package>-decl.txt</filename>. Die erste kann mit der Abschnittsdatei verglichen werden, falls diese händisch verwaltet wird. Die zweite listet alle Deklarationen aus den Kopfdateien. Falls ein Symbol fehlt kann man prüfen, ob diese Datei es enthält.</para>
-
- <para>Wenn das Projekt auf GObject basiert, kann man auch in die Dateien schauen, die der Objekt-Scanner erzeugt hat: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> und <filename><package>.signals.txt</filename>. Falls in irgendeiner Datei Symbole fehlen, können Sie Gtk-Doc anweisen, die zwischenläufige Scanner-Datei zur weiteren Analyse zu behalten, indem Sie <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command> ausführen.</para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Die Dokumentation modernisieren</title>
-
- <para>GTK-Doc ist schon seit längerer Zeit verfügbar. In diesem Abschnitt zeigen wir neue Features und die Version, mit der sie eingeführt wurden.</para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>Wenn Sie XML anstatt SGML verwenden, können Sie das Hauptdokument <filename><package>-docs.xml</filename> nennen.</para>
-
- <para>Diese Version unterstützt <option>SCAN_OPTIONS=--rebuild-sections</option> in <filename>Makefile.am</filename>. Wenn dies aktiviert ist, wird die Datei <filename><package>-sections.txt</filename> automatisch erzeugt und kann aus der Versionsverwaltung entfernt werden. Dies funktioniert nur sauber in Projekten, die eine strikt »reguläre« Struktur haben (zum Beispiel erzeugt jedes .{c,h}-Paar einen neuen Abschnitt). In einem solch sauber organisierten Projekt kann dann mit dem Befehl <code>meld <package>-decl-list.txt <package>-sections.txt</code> eine manuell verwaltete Abschnittsdatei sehr einfach aktualisiert werden.</para>
-
- <para>In Version 1.8 wurde bereits die Syntax für Dokumentationsabschnitte in den Quelltexten anstelle von separaten Dateien unter <filename class="directory">tmpl</filename> eingeführt. Diese Version fügt Optionen zur Umstellung des gesamten Dokumentationsmoduls auf das neue Verhalten hinzu, so dass kein zusätzlicher tmpl-Erstellungsschritt mehr nötig ist. Dazu dient die Option <option>--flavour no-tmpl</option> in <filename>configure.ac</filename>. Wenn Sie keinen Ordner namens <filename class="directory">tmpl</filename> in die Versionsverwaltung eingestellt haben und noch nicht umgestellt haben, fügen Sie einfach die Option zu <filename>configure.ac</filename> hinzu, und die Sache ist erledigt.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>Diese Version unterstützt <option>SCAN_OPTIONS=--rebuild-typess</option> in <filename>Makefile.am</filename>. Wenn dies aktiviert ist, wird die Datei <filename><package>.types</filename> automatisch erzeugt und kann aus der Versionsverwaltung entfernt werden. Dieses Feature erfordert die Einrichtung von <varname>IGNORE_HFILES</varname> in <filename>Makefile.am</filename> für Code, der nur unter bestimmten Bedingungen erstellt werden soll.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>Diese Version führt ein neues Werkzeug namens gtkdoc-check ein. Damit können Sie eine Reihe von Plausibilitätsprüfungen auf Ihre Dokumentation anwenden. Um es zu aktivieren, fügen Sie folgende Zeilen am Ende von <filename>Makefile.am</filename> hinzu. <example><title>gtkdoc-check einschalten</title>
- <programlisting>
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>In Version 1.18 wurde erstmals Unterstützung für Markdown eingeführt. Die Verwendung von Markdown in Dokumentationskommentaren ist weniger aufwändig als das Schreiben von DocBook XML. Diese Version bringt diesbezüglich wesentliche Verbesserungen und fügt zahlreiche weitere Stile hinzu. Alle Details hierzu finden Sie im Abschnitt zur <link linkend="documenting_syntax">Kommentarsyntax</link>.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>Die in dieser Version enthaltenen Make-Steuerdateien erzeugen die Entitätsdatei <filename>xml/gtkdocentities.ent</filename>, die Entitäten für beispielsweise package_name und package_version enthält. Sie können diese in der XML-Hauptdatei verwenden, um eine fest codierte Versionsnummer zu vermeiden. Nachfolgend finden Sie ein Beispiel, wie die Entitätsdatei einbezogen wird und und wie die Einträge verwendet werden. Die Entitäten können auch in allen generierten Dateien verwendet werden. GTK-Doc verwendet die gleichen XML-Kopfeinträge auch in generierten Dateien. <example><title>Vorerzeugte Entitäten verwenden</title>
- <programlisting>
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-</programlisting>
- </example></para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Dokumentieren anderer Schnittstellen</title>
-
- <para>Bis jetzt haben wir GTK-Doc nur dazu verwendet, die API des Codes zu dokumentieren. In den nächsten Abschnitten finden Sie Vorschläge, wie die Werkzeuge zum Dokumentieren anderer Schnittstellen eingesetzt werden können.</para>
-
- <sect1 id="commandline-interfaces">
- <title>Befehlszeilenoptionen und Handbuchseiten</title>
-
- <para>Weil man ebenso man-Hilfeseiten für einen docbook-Referenzeintrag erstellen kann, klingt es nach einer guten Idee, es für diesen Zweck einzusetzen. Auf diese Weise ist die Schnittstelle Teil der Referenz und man erhält kostenfrei die man-Hilfeseite.</para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Dokumentieren des Werkzeuges</title>
-
- <para>Erstellen Sie eine Referenzeintragsdatei pro Werkzeug. In <link linkend="settingup_docfiles">unserem Beispiel</link> nennen wir sie <filename>meep/docs/reference/meeper/meep.xml</filename>. Für die zu verwendenden XML-Markierungen können Sie die generierte Datei im XML-Unterordner oder Beispiele (z.B. in glib) ansehen.</para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Hinzufügen der zusätzlichen Configure-Überprüfungen</title>
-
- <para>
- <example><title>Zusätzliche Configure-Überprüfungen</title>
- <programlisting>
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-</programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Hinzufügen der zusätzlichen Makefile-Regeln</title>
-
- <para>
- <example><title>Zusätzliche Configure-Überprüfungen</title>
- <programlisting>
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-</programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>DBus-Schnittstellen</title>
-
- <para>(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)</para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Häufig gestellte Fragen</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>Frage</segtitle>
- <segtitle>Antwort</segtitle>
- <seglistitem>
- <seg>Keine Klassenhierarchie.</seg>
- <seg>Die <function>xxx_get_type()</function>-Funktion des Objekts wurde nicht in die Datei <filename><package>.types</filename> eingegeben.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Noch immer keine Klassenhierarchie.</seg>
- <seg>Fehlende oder falsche Benennung in der Datei <filename><Paket>-sections.txt</filename> (lesen Sie die <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">Erklärung</ulink>).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Verdammt, ich habe immer noch keine Klassenhierarchie.</seg>
- <seg>Ist der Objektname (Name des Instanz-struct, z.B. <type>GtkWidget</type>) Teil des normalen Abschnitts (nicht in den Standard- oder Unterabschnitten).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Kein Symbolindex.</seg>
- <seg>Enthält <filename><package>-docs.{xml,sgml}</filename> einen Index, der den erstellten Index xi:enthält?</seg>
- </seglistitem>
- <seglistitem>
- <seg>Symbole werden nicht mit deren Dokumentationsabschnitt verknüpft.</seg>
- <seg>Verwendet das doc-comment das richtige Markup (hinzugefügtes »#«,»%« oder »()«)? Prüfen Sie, ob gtkdoc-fixxref wegen nicht auflösbarer xrefs warnt.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Eine neue Klasse erscheint nicht in der Dokumentation.</seg>
- <seg>Ist die neue Seite xi:eingebunden von <filename><package>-docs.{xml,sgml}</filename>?</seg>
- </seglistitem>
- <seglistitem>
- <seg>Ein neues Symbol erscheint nicht in der Dokumentation.</seg>
- <seg>Ist doc-comment ordnungsgemäß formatiert? Prüfen Sie den Anfang des Dokuments auf Rechtschreibfehler im Kommentar. Prüfen Sie, ob gtkdoc-fixxref wegen unauflösbarer xrefs warnt. Prüfen Sie, ob das Symbol richtig in <filename><package>-sections.txt</filename> in einem öffentlichen Abschnitt gelistet ist.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Ein Typ fehlt in der Klassenhierarchie.</seg>
- <seg>Wenn der Typ in <filename><package>.hierarchy</filename> gelistet ist, aber nicht in <filename>xml/tree_index.sgml</filename>, dann prüfen Sie sorgfältig, ob der Typ ordnungsgemäß in <filename><package>-sections.txt</filename> abgelegt ist. Falls die Typ-Instanz (z.B. <type>GtkWidget</type>) nicht aufgelistet oder versehentlich als privat markiert ist, so wird sie nicht angezeigt.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Ich erhalte foldoc-Verweise für alle gobjekt-Anmerkungen.</seg>
- <seg>Prüfen Sie, ob <filename>xml/annotation-glossary.xml</filename> von <filename><package>-docs.{xml,sgml}</filename> xi:eingebunden ist.</seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parameter wird im Kommentarblock des Quellcodes beschrieben, aber existiert nicht</seg>
- <seg>Überprüfen Sie, ob die Parameternamen der Prototypen in der Quelle und im Header unterschiedlich sind.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>Mehrfache »IDs« für »constraint linkend: XYZ«</seg>
- <seg>Das Symbol XYZ erscheint zweifach in der Datei <filename><package>-sections.txt</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Element-Typname im Namensraum '' in einem Abschnitt, der keiner Vorlage entspricht.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Werkzeuge mit Bezug zu gtk-doc</title>
-
- <para>GtkDocPlugin - ein <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink> Integrations-Plugin, das API-Dokumente zu einer trac-Seite hinzufügt und die trac-Suche einbindet.</para>
- <para>Gtkdoc-depscan - ein Werkzeug (Teil von gtk-doc), um die verwendete API für die minimal erforderliche Version zu prüfen.</para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Version 1.1, März 2000</releaseinfo>
- <copyright><year>2000</year><holder>Free Software Foundation, Inc.</holder></copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>. Es ist jedermann erlaubt, wortwörtliche Kopien dieses Lizenzdokuments zu erstellen und zu verbreiten, Änderungen sind jedoch nicht zulässig. Dies ist eine inoffizielle Übersetzung der GNU Free Documentation License (GFDL), Version 1.1, ins Deutsche. Sie wurde nicht von der Free Software Foundation veröffentlicht, und legt nicht gesetzlich die Verteilungsbedingungen für Dokumente fest, die die GFDL nutzen -- nur der <ulink type="http" url="http://www.gnu.org/copyleft/fdl.html">originale englische Text</ulink> der GFDL tut dies. Wie auch immer, ich hoffe, dass sie Deutschsprachigen hilft, die GFDL besser zu verstehen. Dieser Text wurde von der spanischen Version übertragen.</para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Freie Dokumentationslizenz</title>
-
- <sect1 id="fdl-preamble">
- <title>0. VORWORT</title>
- <para>Der Zweck dieser Lizenz ist es, eine Anleitung, ein Textbuch oder andere geschriebene Dokumente <quote>frei</quote> im Sinne von Freiheit zu halten: jedem die effektive Freiheit zu sichern, es zu kopieren und weiter zu verteilen, mit oder ohne es zu ändern, entweder kommerziell oder nichtkommerziell. Zweitens sichert diese Lizenz dem Autor und Veröffentlicher einen Weg, Anerkennung für seine Arbeit zu bekommen, ohne dabei für Änderungen anderer verantwortlich zu sein.</para>
-
- <para>Diese Lizenz ist eine Art <quote>copyleft</quote>, das heißt, dass abgeleitete Arbeiten des Dokumentes selbst wieder im gleichen Sinne frei sein müssen. Es ergänzt die GNU General Public License, die eine Copyleft-Lizenz für freie Software darstellt.</para>
-
- <para>Wir haben diese Lizenz gestaltet, um sie für Anleitungen von freier Software zu benutzen, weil freie Software freie Dokumentation benötigt: Ein freies Programm sollte mit Anleitungen kommen, die dieselbe Freiheit wie die Software bieten. Aber diese Lizenz ist nicht auf Software-Anleitungen beschränkt; sie kann für alle textlichen Arbeiten verwendet werden, unabhängig vom Thema, oder ob es als gedrucktes Buch veröffentlicht wird. Wir empfehlen diese Lizenz prinzipiell für Arbeiten, deren Zweck Anleitungen oder Referenzen sind.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. ANWENDBARKEIT UND DEFINITIONEN</title>
- <para id="fdl-document">Diese Lizenz betrifft jede Anleitung oder andere Arbeit, die einen Hinweis des Copyright-Halters enthält, welcher besagt, dass sie unter den Bedingungen dieser Lizenz verteilt werden kann. Das <quote>Dokument</quote>, weiter unten, bezieht sich auf jede dieser Anleitungen oder Arbeiten. Jedes Mitglied der Öffentlichkeit ist ein Lizenznehmer, und wird mit <quote>Sie</quote> bezeichnet.</para>
-
- <para id="fdl-modified">Eine <quote>Modifizierte Version</quote> von dem Dokument bezeichnet jegliche Arbeit, die das Dokument oder einen Teil davon enthält, entweder wortwörtlich kopiert oder mit Modifikationen und/oder in eine andere Sprache übersetzt.</para>
-
- <para id="fdl-secondary">Ein <quote>Sekundärer Abschnitt</quote> ist ein benannter Anhang oder ein wichtiger Abschnitt des <link linkend="fdl-document">Dokumentes</link>, der exklusiv mit der Beziehung des Veröffentlichers zu dem Gesamtthema des Dokumentes (oder verwandten Themen) handelt und nichts enthält, was direkt unter das Gesamtthema fällt. (Wenn zum Beispiel das Dokument teilweise ein Textbuch der Mathematik ist, erklärt ein <quote>Sekundärer Abschnitt</quote> keine Mathematik.) Die Beziehung könnte eine Angelegenheit einer historischen Verbindung mit dem Thema oder einer verwandten Sache sein, oder einer gesetzlichen, kommerziellen, philosophischen, ethnischen oder politischen Position ihr gegenüber.</para>
-
- <para id="fdl-invariant"><quote>Unveränderliche Abschnitte</quote> sind spezielle <link linkend="fdl-secondary">Sekundäre Abschnitte</link>, deren Titel in dem Hinweis, der besagt, dass das <link linkend="fdl-document">Dokument</link> unter dieser Lizenz veröffentlicht ist, gekennzeichnet sind, Unveränderte Abschnitte zu sein.</para>
-
- <para id="fdl-cover-texts">Die <quote>Covertexte</quote> sind spezielle kurze Textpassagen, die, als Vorderseitentexte oder Rückseitentexte, in dem Hinweis aufgeführt sind, der besagt, dass das <link linkend="fdl-document">Dokument</link> unter dieser Lizenz veröffentlicht ist.</para>
-
- <para id="fdl-transparent">Eine <quote>Transparente</quote> Kopie des <link linkend="fdl-document">Dokumentes</link> meint eine maschinenlesbare Kopie, die in einem der Allgemeinheit zugänglichen Format repräsentiert ist, deren Inhalt direkt und einfach mit gebräuchlichen Texteditoren oder (bei aus Pixeln bestehenden Bildern) gebräuchlichen Zeichenprogrammen oder (bei Bildern) weit verbreiteten Bildverarbeitungsprogramm besehen und verändert werden kann, und das geeignet ist, in Textformatierern eingegeben werden zu können oder automatisch in eine Vielzahl von Formaten übersetzt werden kann, die geeignet sind, in Textformatierern eingegeben werden zu können. Eine Kopie in einem anderen Transparenten Dateiformat, dessen Aufbau gestaltet wurde, eine ständige Veränderung durch den Leser zu vereiteln oder abzuwenden, ist nicht Transparent. Eine Kopie die nicht <quote>Transparent</quote> ist, nennt man <quote>Undurchsichtig</quote>.</para>
-
- <para>Beispiele von passenden Formaten für Transparente Kopien enthalten reines ASCII ohne Codierung, das Texinfo-Eingabeformat, das LaTeX-Eingabeformat, SGML oder XML die eine öffentlich zugängliche DTD nutzen, und dem Standard entsprechendes HTML, das für die Veränderung durch Menschen gestaltet wurde. Undurchsichtige Formate enthalten PostScript, PDF, proprietäre Formate die nur von proprietären Textverarbeitungen gelesen und bearbeitet werden, SGML oder XML für die die DTD und/oder die Verarbeitungswerkzeuge nicht allgemein erhältlich sind, und maschinengeneriertes HTML, das von einigen Textverarbeitungen nur zu Ausgabezwecken produziert wurde.</para>
-
- <para id="fdl-title-page">Die <quote>Titelseite</quote> meint bei einem gedruckten Buch die Titelseite selbst, und die folgenden Seiten, die gebraucht werden, um leserlich das Material zu beinhalten, das die Lizenz benötigt, um auf der Titelseite zu erscheinen. Für Arbeiten, die als solche keine Titelseiten haben, meint <quote>Titelseite</quote> den Text, der der wirkungsvollsten Erscheinung des Arbeitstitels am nächsten kommt und den Textkörper einleitet.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>3. WORTWÖRTLICHE KOPIEN</title>
- <para>Sie dürfen das <link linkend="fdl-document">Dokument</link> auf jedem Medium kopieren und verteilen, entweder kommerziell oder nichtkommerziell, vorausgesetzt, dass die Lizenz, die Copyrighthinweise und der Lizenzhinweis, der besagt, dass die Lizenz für das Dokument gilt, in allen Kopien reproduziert werden, und dass Sie keine wie auch immer lautenden andere Bedingungen als die der Lizenz hinzufügen. Sie dürfen keine technischen Möglichkeiten nutzen, die das Lesen oder Weiterkopieren der Kopien, die Sie machen oder weiterkopieren, kontrollieren oder behindern. Wie auch immer, Sie dürfen im Gegenzug Vergütungen für Kopien akzeptieren. Wenn Sie eine genügend große Anzahl von Kopien verteilen, müssen Sie auch den Bedingungen in <link linkend="fdl-section3">Abschnitt 3</link> zustimmen.</para>
-
- <para>Sie dürfen auch Kopien unter den oben genannten Bedingungen verleihen, und Sie dürfen Kopien öffentlich zeigen.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. KOPIEREN IN MENGEN</title>
- <para>Wenn Sie mehr als 100 gedruckte Kopien des <link linkend="fdl-document">Dokumentes</link> veröffentlichen, und die Lizenz des Dokumentes <link linkend="fdl-cover-texts">Cover-Texte</link> verlangt, müssen Sie die Kopien in Verpackungen einschließen, die sauber und leserlich all diese Cover-Texte enthalten: Vorderseitentexte auf der Vorderseite, und Rückseitentexte auf der Rückseite. Beide Seiten müssen auch sauber und leserlich Sie als den Veröffentlicher dieser Kopien identifizieren. Die Vorderseite muß den vollen Titel mit allen Wörtern des Titels gleich auffällig und sichtbar darstellen. Sie dürfen andere Materialien zusätzlich der Seite hinzufügen. Kopieren mit Veränderungen der Seiten, solange diese den Titel des <link linkend="fdl-document">Dokumentes</link> absichern und diese Bedingungen erfüllen, können in anderer Hinsicht als wortwörtliche Kopien behandelt werden.</para>
-
- <para>Wenn die geforderten Texte für jede Seite zu groß sind, um leserlich darauf zu passen, sollten Sie die erstgenannten (so viele wie vernünftig darauf passen) auf die aktuelle Seite setzen, und mit dem Rest auf angrenzenden Seiten fortfahren.</para>
-
- <para>Wenn Sie mehr als 100 <link linkend="fdl-transparent">Undurchsichtige Kopien</link> des <link linkend="fdl-document">Dokumentes</link> veröffentlichen oder verteilen, müssen Sie entweder zusammen mit jeder Undurchsichtigen Kopie eine <link linkend="fdl-transparent">Transparente Kopie</link> einfügen, oder in oder mit jeder Undurchsichtigen Kopie eine öffentlich zugängliche Computer-Netzwerk-Adresse angeben, die eine komplette Transparente Kopie des Dokumentes enthält, die frei von hinzugefügtem Material ist und die sich die allgemeine netzwerknutzende Öffentlichkeit mit Standard-Netzwerkprotokollen unentgeltlich herunterladen kann. Wenn Sie die letzte Option verwenden, müssen Sie, wenn Sie beginnen, Undurchsichtige Kopien in Mengen zu verteilen, vernünftige umsichtige Schritte unternehmen, die sicherstellen, dass die Transparente Kopie unter der genannten Adresse mindestens ein Jahr, nachdem Sie das letzte Mal eine Undurchsichtige Kopie dieser Edition (direkt oder über Ihre Vermittler oder Händler) an die Öffentlichkeit verteilt haben.</para>
-
- <para>Es wird erbeten, aber nicht verlangt, dass Sie die Autoren des <link linkend="fdl-document">Dokumentes</link> kontaktieren, bevor Sie eine große Anzahl an Kopien weiterverteilen, um ihnen zu ermöglichen, Sie mit einer aktualisierten Version des Dokumentes zu versorgen.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFIKATIONEN</title>
- <para>Sie dürfen eine <link linkend="fdl-modified">Modifizierte Version</link> eines <link linkend="fdl-document">Dokumentes</link> unter den in den Abschnitten <link linkend="fdl-section2">2</link> und <link linkend="fdl-section3">3</link> oben stehenden Bedingungen kopieren und verteilen, vorausgesetzt, Sie veröffentlichen die Modifizierte Version unter genau dieser Lizenz, so dass die modifizierte Version die Stelle des Dokumentes einnimmt, folglich auch das Lizenzieren der Verteilung und Modifikation der Modifizierten Version an jeden, der eine Kopie davon besitzt. Zusätzlich müssen Sie diese Dinge in der Modifizierten Version tun:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>Auf der <link linkend="fdl-title-page">Titelseite</link> (und auf den Covern, falls vorhanden) einen Titel verwenden, der sich von dem des <link linkend="fdl-document">Dokumentes</link> unterscheidet, und von denen vorhergehender Versionen (die, falls vorhanden, in dem History-Abschnitt des Dokumentes aufgeführt sein sollten). Sie dürfen denselben Titel wie in einer vorhergehenden Version nutzen, wenn der ursprüngliche Veröffentlicher sein Einverständnis gibt.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>Auf der <link linkend="fdl-title-page">Titelseite</link>, eine oder mehrere Personen als Autoren benennen, die für das Einbringen von Veränderungen in die <link linkend="fdl-modified">Modifizierte Version</link> verantwortlich sind, zusammen mit mindesten fünf eigentlichen Autoren des <link linkend="fdl-document">Dokumentes</link> (allen eigentlichen Autoren, wenn es weniger als fünf sind).</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>Auf der <link linkend="fdl-title-page">Titelseite</link> den Namen des Veröffentlichers der <link linkend="fdl-modified">Modifizierten Version</link> als Veröffentlicher kennzeichnen.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>Alle Copyright-Hinweise des <link linkend="fdl-document">Dokumentes</link> beibehalten.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Einen passenden Copyright-Hinweis für Ihre Modifikationen angrenzend an die anderen Copyright-Hinweise hinzufügen.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>Gleich hinter dem Copyright-Hinweis einen Lizenzhinweis einfügen, der die öffentliche Erlaubnis gibt, die <link linkend="fdl-modified">Modifizierte Version</link> unter den Bedingungen dieser Lizenz zu nutzen, in einer Form, die weiter unten im Anhang dargestellt ist.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>In dem Lizenzhinweis die volle Liste der <link linkend="fdl-invariant">Unveränderlichen Abschnitte</link> und benötigten <link linkend="fdl-cover-texts">Cover-Texte</link>, die in dem Lizenzhinweis des <link linkend="fdl-document">Dokumentes</link> gegeben ist, beibehalten.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Eine unveränderte Kopie dieser Lizenz einfügen.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>Den Abschnitt, der mit <quote>History</quote> (Geschichte) betitelt ist, und seinen Titel beibehalten und ihn zu einem Punkt hinzufügen, der mindestens Titel, Jahr, neue Autoren, und Veröffentlicher der <link linkend="fdl-modified">Modifizierten Version</link> wie auf der <link linkend="fdl-title-page">Titelseite</link> gegeben, benennt. Wenn es keinen mit <quote>History</quote> betitelten Abschnitt gibt, erstellen Sie einen, der den Titel, Jahr, Autoren, und Veröffentlicher des <link linkend="fdl-document">Dokumentes</link> wie auf der Titelseite gegeben, benennt, und fügen Sie dann einen Punkt hinzu, der die Modifizierte Version beschreibt wie im vorhergehenden Satz.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>Die Netzwerk-Adresse, falls aufgeführt, beibehalten, die im <link linkend="fdl-document">Dokument</link> aufgeführt ist, um öffentlichen Zugriff zu einer <link linkend="fdl-transparent">Transparenten</link> Kopie des Dokumentes zu ermöglichen, und genauso die Netzwerk-Adressen, die im Dokument für frühere Versionen, auf denen es basiert, aufgeführt sind. Diese können in den <quote>History</quote>-Abschnitt gestellt werden. Sie können eine Netzwerk-Adresse für ein Werk auslassen, das mindestens vier Jahre vor dem Dokument selbst veröffentlicht wurde, oder wenn der ursprüngliche Autor, auf den sich die jeweilige Version bezieht, es erlaubt.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>In jeglichem Abschnitt, der mit <quote>Acknowledgements</quote> (Anerkennungen) oder <quote>Dedications</quote> (Widmungen) betitelt ist, den Titel des Abschnittes beibehalten, und in dem Abschnitt allen Inhalt und Ton von jeder Anerkennung und/oder Widmung jedes Beitragenden beibehalten, der dort aufgeführt ist.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>Alle <link linkend="fdl-invariant">Unveränderlichen Abschnitte</link> des <link linkend="fdl-document">Dokumentes</link> beibehalten, unverändert in ihrem Text und ihren Titeln. Abschnittsnummern oder ähnliches werden nicht als Teil von Abschnittstiteln betrachtet.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>Alle Abschnitte, die mit <quote>Endorsements</quote> (Billigungen) betitelt sind, löschen. Solche Abschnitte dürfen nicht mit in die <link linkend="fdl-modified">Modifizierte Version</link> aufgenommen werden.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>Betiteln Sie keine existierenden Abschnitte mit <quote>Endorsements</quote> oder so, dass sie im Widerspruch zu Titeln von <link linkend="fdl-invariant">Unveränderlichen Abschnitten</link> stehen.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>Wenn die <link linkend="fdl-modified">Modifizierte Version</link> neue wichtige Abschnitte enthält oder Anhänge, die <link linkend="fdl-secondary">Sekundäre Abschnitte</link> darstellen, und kein Material enthalten, das aus dem Dokument kopiert wurde, dürfen Sie nach Ihrer Wahl einige oder alle diese Abschnitte als Unveränderlich bezeichnen. Um dies zu tun, fügen Sie ihre Titel der Liste der <link linkend="fdl-invariant">Unveränderlichen Abschnitte</link> in dem Lizenzhinweis der Modifizierten Version hinzu. Diese Titel müssen sich von allen anderen Abschnittstiteln unterscheiden.</para>
-
- <para>Sie dürfen einen Abschnitt <quote>Endorsements</quote> hinzufügen, vorausgesetzt, er enthält nichts außer Bewilligungen Ihrer <link linkend="fdl-modified">Modifizierten Version</link> von verschiedenen Seiten -- zum Beispiel Aussagen von Beurteilungen, oder dass der Text von einer Organisation als für die autoritäre Definition eines Standards befunden wurde.</para>
-
- <para>Sie dürfen eine Passage aus bis zu fünf Wörtern als <link linkend="fdl-cover-texts">Vorderseitentext</link> hinzufügen, und eine Passage von bis zu 25 Wörtern als <link linkend="fdl-cover-texts">Rückseitentext</link>, ans Ende der Liste von <link linkend="fdl-cover-texts">Covertexten</link> in der <link linkend="fdl-modified">Modifizierten Version</link>. Höchstens eine Passage von Vorderseitentexten und eine von Rückseitentexten darf von (oder durch Abmachungen von) irgendeinem Wesen hinzugefügt werden. Wenn das <link linkend="fdl-document">Dokument</link> für die entsprechende Seite schon einen Covertext hat, der vorher von Ihnen oder durch Abmachungen von demselben Wesen, in dessen Namen Sie handeln, hinzugefügt wurde, dürfen Sie keinen anderen hinzufügen; aber Sie dürfen den alten, wenn es der ursprüngliche Veröffentlicher, der den alten hinzugefügt hat, explizit erlaubt, ersetzen.</para>
-
- <para>Der/die Autor(en) und Veröffentlicher des <link linkend="fdl-document">Dokumentes</link> erteilen durch diese Lizenz nicht die Erlaubnis, ihre Namen für Veröffentlichungen für Bewilligungen irgendeiner <link linkend="fdl-modified">Modifizierten Version</link> oder deren Durchsetzungen oder Andeutungen zu nutzen.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. DOKUMENTE KOMBINIEREN</title>
- <para>Sie dürfen das <link linkend="fdl-document">Dokument</link> mit anderen Dokumenten, die unter dieser Lizenz veröffentlicht wurden, unter den Bedingungen in <link linkend="fdl-section4">Abschnitt 4</link> für Modifizierte Versionen kombinieren, vorausgesetzt, Sie beinhalten in der Kombination alle <link linkend="fdl-invariant">Unveränderlichen Abschnitte</link> aller ursprünglichen Dokumente unverändert, und führen Sie alle als Unveränderliche Abschnitte Ihrer kombinierten Arbeit in deren Lizenzhinweis auf.</para>
-
- <para>Die kombinierte Arbeit braucht nur eine Kopie dieser Lizenz zu beinhalten, und mehrfache identische <link linkend="fdl-invariant">Unveränderliche Abschnitte</link> können durch eine einzige Kopie ersetzt werden. Wenn es mehrere Unveränderliche Abschnitte mit demselben Titel, aber unterschiedlichem Inhalt gibt, machen Sie den Titel jedes Abschnittes durch Hinzufügen (in Klammern) des Namens des ursprünglichen Autors oder Veröffentlichers dieses Abschnittes, falls bekannt, unverwechselbar, oder ansonsten durch eine einzigartige Nummer. Führen Sie dieselben Änderungen in der Liste der Unveränderlichen Abschnitte im Lizenzhinweis der kombinierten Arbeit durch.</para>
-
- <para>In der Kombination müssen Sie alle mit <quote>History</quote> betitelten Abschnitte aus den verschiedenen ursprünglichen Dokumenten zusammenführen, und daraus einen Abschnitt <quote>History</quote> bilden; genauso kombinieren Sie jeden mit <quote>Acknowledgements</quote> betitelten Abschnitt, und jeden mit <quote>Dedications</quote> betitelten Abschnitt. Sie müssen jeden mit <quote>Endorsements</quote> betitelten Abschnitt löschen.</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. SAMMLUNGEN VON DOKUMENTEN</title>
- <para>Sie dürfen eine Sammlung erstellen, die aus dem <link linkend="fdl-document">Dokument</link> und anderen, unter dieser Lizenz veröffentlichten Dokumenten besteht, und die individuellen Kopien der Lizenz in den einzelnen Dokumenten durch eine einzige Kopie ersetzen, die sich in der Sammlung befindet, vorausgesetzt, Sie folgen den Regeln dieser Lizenz für wortwörtliches Kopieren jedes dieser Dokumente in jeglicher Hinsicht.</para>
-
- <para>Sie dürfen ein einzelnes Dokument aus einer solchen Sammlung heraustrennen, und es individuell unter dieser Lizenz verteilen, vorausgesetzt, Sie fügen eine Kopie dieser Lizenz in das herausgetrennte Dokument ein und folgen der Lizenz in jeglicher Hinsicht bezüglich dem wortwörtlichen Kopieren des Dokuments.</para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION MIT UNABHÄNGIGEN ARBEITEN</title>
- <para>Eine Zusammenstellung dieses <link linkend="fdl-document">Dokumentes</link> oder seinen Ableitungen mit anderen separaten und unabhängigen Dokumenten oder Arbeiten, in oder auf einem Teil eines Speicher- oder Verteilungsmediums, zählt nicht als Ganzes als <link linkend="fdl-modified">Modifizierte Version</link> des Dokumentes, vorausgesetzt, kein Gesamt-Copyright wurde für die Zusammenstellung festgelegt. Solch eine Zusammenstellung wird <quote>Aggregat</quote> (Mischung) genannt, und diese Lizenz gilt nicht für die anderen selbstenthaltenen Arbeiten, die mit dem Dokument zusammengestellt wurden, im Falle, dass sie zusammengestellt wurden, wenn sie nicht selbst abgeleitete Arbeiten des Dokumentes sind. Wenn die <link linkend="fdl-cover-texts">Covertext</link>-Bedingung von <link linkend="fdl-section3">Abschnitt 3</link> auf diese Kopien des Dokumentes anwendbar ist, dann können, wenn das Dokument weniger als ein Viertel des gesamten Aggregates ist, die Covertexte des Dokumentes auf Seiten platziert werden, die nur das Dokument innerhalb des Aggregates umgeben. Ansonsten müssen sie auf Seiten erscheinen, die das gesamte Aggregat umgeben.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. ÜBERSETZUNG</title>
- <para>Übersetzung wird als eine Art Modifikation angesehen, also dürfen Sie Übersetzungen des <link linkend="fdl-document">Dokumentes</link> unter den Bedingungen von <link linkend="fdl-section4">Abschnitt 4</link> verteilen. Das Ersetzen von <link linkend="fdl-invariant">Unveränderlichen Abschnitten</link> mit Übersetzungen erfordert spezielle Einwilligung des Copyright-Halters, aber Sie dürfen Übersetzungen von einigen oder allen Unveränderlichen Abschnitten zusätzlich zu den ursprünglichen Versionen dieser Unveränderlichen Abschnitte einfügen. Sie dürfen eine Übersetzung dieser Lizenz hinzufügen, vorausgesetzt Sie beinhalten auch die ursprüngliche englische Version dieser Lizenz. Im Falle einer Nichtübereinstimmung zwischen der Übersetzung und der ursprünglichen englischen Version dieser Lizenz hat die ursprüngliche englische Version Vorrang.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>Sie dürfen das <link linkend="fdl-document">Dokument</link> nicht kopieren, modifizieren, sublizenzieren oder verteilen, außer wie es diese Lizenz ausdrücklich vorschreibt. Jegliche andere Absicht, das Dokument zu kopieren, modifizieren, sublizenzieren oder verteilen, ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz. Wie auch immer, Parteien, die Kopien oder Rechte von Ihnen unter dieser Lizenz bekommen haben, wird nicht die Lizenz beendet, solange diese Parteien in voller Zustimmung verbleiben.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. ZUKÜNFTIGE REVISIONEN DIESER LIZENZ</title>
- <para>Die <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> kann von Zeit zu Zeit neue, revidierte Versionen der GNU Free Documentation License veröffentlichen. Solche neue Versionen werden vom Grundprinzip her der vorliegenden Version gleichen, können sich aber im Detail unterscheiden, um neue Probleme oder Anliegen anzusprechen. Siehe auch <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>Jeder Version dieser Lizenz wird eine unterscheidende Versionsnummer gegeben. Wenn das <link linkend="fdl-document">Dokument</link> angibt, dass eine spezielle Version dieser Lizenz <quote>oder eine spätere Version</quote> darauf zutrifft, haben Sie die Wahl, den Bestimmungen und Bedingungen von entweder der angegebenen Version oder einer beliebigen späteren Version, die von der Free Software Foundation (nicht als Entwurf) veröffentlicht wurde, zu folgen. Wenn das Dokument keine Versionsnummer angibt, können Sie irgendeine, jemals von der Free Software Foundation (nicht als Entwurf) veröffentlichte Version wählen.</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Anhang</title>
- <para>Um diese Lizenz in einem von Ihnen geschriebenen Dokument nutzen zu können, fügen Sie eine Kopie der Lizenz in das Dokument ein und setzen Sie die folgenden Copyright- und Lizenzhinweise gleich hinter die Titelseite:</para>
-
- <blockquote>
- <para>Copyright (c) JAHR IHR NAME.</para>
- <para>Es wird die Erlaubnis gegeben, dieses Dokument zu kopieren, verteilen und/oder zu verändern unter den Bedingungen der GNU Free Documentation License, Version 1.1 oder einer späteren, von der Free Software Foundation veröffentlichten Version; mit den <link linkend="fdl-invariant">Unveränderlichen Abschnitten</link>. DEREN TITEL AUFGEZÄHLT sind, mit den <link linkend="fdl-cover-texts">Vorderseitentexten</link>, die AUFGEZÄHLT sind, und mit den <link linkend="fdl-cover-texts">Rückseitentexten</link>, die AUFGEZÄHLT sind. Eine Kopie dieser Lizenz ist in dem Abschnitt enthalten, der mit <quote>GNU Free Documentation License</quote> betitelt ist.</para>
- </blockquote>
-
- <para>Wenn Sie keine <link linkend="fdl-invariant">Unveränderlichen Abschnitte</link> haben, schreiben Sie <quote>mit keinen Unveränderlichen Abschnitten</quote>, anstatt anzugeben, welche unveränderlich sind. Wenn Sie keine <link linkend="fdl-cover-texts">Vorderseitentexte</link> haben, schreiben Sie <quote>keine Vorderseitentexte</quote> anstatt <quote>Vorderseitentexte die AUFGEZÄHLT sind</quote>; genauso bei den <link linkend="fdl-cover-texts">Rückseitentexten</link>.</para>
-
- <para>Wenn Ihr Dokument nicht-triviale Beispiele von Programmcode enthält, empfehlen wir, diese Beispiele parallel unter einer freien Software-Lizenz, wie der <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</ulink>, zu veröffentlichen, um ihren Gebrauch in freier Software zu erlauben.</para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Έκδοση 1.1, Μάρτιος 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Ίδρυμα Ελεύθερου Λογισμικού, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address> Επιτρέπεται σε όλους η αντιγραφή και διανομή ακριβούς αντιγράφου του κειμένου αυτής της άδειας αλλά απαγορεύεται η αλλοίωση του περιεχομένου του.</para>
- </legalnotice>
- </appendixinfo>
- <title>Άδεια Ελεύθερης Τεκμηρίωσης GNU (GFDL)</title>
-
- <sect1 id="fdl-preamble">
- <title>0. ΠΡΟΟΙΜΙΟ</title>
- <para>Σκοπός της παρούσας Άδειας είναι η δημιουργία εγχειριδίων, συγγραμμάτων ή άλλων εγγράφων που είναι <quote>ελεύθερα</quote> υπό την έννοια ότι παρέχουν σε όλους πραγματική ελευθερία αντιγραφής και αναδιανομής τους, με ή χωρίς τροποποιήσεις, για εμπορικούς ή μη εμπορικούς σκοπούς. Δευτερευόντως, η παρούσα Άδεια παρέχει έναν τρόπο για να αναγνωρίζεται το έργο του συγγραφέα και του εκδότη ενός έργου, χωρίς να μπορούν να θεωρηθούν υπεύθυνοι για τροποποιήσεις που έγιναν από τρίτους.</para>
-
- <para>Η παρούσα Άδεια είναι άδεια τύπου <quote>copyleft</quote>, το οποίο σημαίνει ότι τα παράγωγα έργα του εγγράφου θα πρέπει να είναι και αυτά ελεύθερα υπό την ίδια έννοια. Πρόκειται για άδεια συμπληρωματική της Γενικής Άδειας Δημόσιας Χρήσης GNU, που είναι άδεια copyleft σχεδιασμένη για ελεύθερο λογισμικό.</para>
-
- <para>Σχεδιάσαμε αυτήν την Άδεια για χρήση με εγχειρίδια ελεύθερου λογισμικού, γιατί το ελεύθερο λογισμικό χρειάζεται και ελεύθερη τεκμηρίωση: τα ελεύθερα προγράμματα πρέπει να συνοδεύονται από εγχειρίδια που παρέχουν τις ίδιες ελευθερίες που παρέχει και το λογισμικό. Ωστόσο, αυτή η Άδεια δεν περιορίζεται στα εγχειρίδια λογισμικού· μπορεί να χρησιμοποιηθεί για οποιοδήποτε έργο κειμένου, ανεξάρτητα από το θέμα του ή από το αν εκδίδεται σε έντυπη μορφή. Συνιστούμε αυτή την Άδεια, κυρίως, για διδακτικό υλικό ή έργα αναφοράς.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. ΙΣΧΥΣ ΚΑΙ ΟΡΙΣΜΟΙ</title>
- <para id="fdl-document">Η Άδεια αυτή εφαρμόζεται σε κάθε εγχειρίδιο ή άλλο έργο που περιέχει ένδειξη του δικαιούχου δικαιωμάτων πνευματικής ιδιοκτησίας, ότι επιτρέπεται η διανομή του υπό τους όρους αυτής της Άδειας. Ως <quote>Έγγραφo</quote>, κατωτέρω, αναφέρεται κάθε τέτοιο εγχειρίδιο. Ως κάτοχος της άδειας χρήσης θεωρείται κάθε άτομο, και αναφέρεται ως <quote>εσείς</quote>.</para>
-
- <para id="fdl-modified">Ως <quote>Τροποποιημένη Έκδοση</quote> του Εγγράφου θεωρείται κάθε έργο που περιέχει το Έγγραφο ή μέρος αυτού, είτε ως ακριβές αντίγραφο, είτε τροποποιημένο και/είτε μεταφρασμένο σε άλλη γλώσσα.</para>
-
- <para id="fdl-secondary">Ως <quote>Δευτερεύουσα Ενότητα</quote> θεωρείται κάθε παράρτημα ή αρχική ενότητα του <link linkend="fdl-document">Έγγραφo</link> που αναφέρεται αποκλειστικά στη σχέση των εκδοτών ή συγγραφέων του Εγγράφου με το συνολικό θέμα του Εγγράφου (ή σχετικά ζητήματα), και που δεν περιέχει οτιδήποτε μπορεί να θεωρηθεί ότι εντάσσεται άμεσα στο συνολικό αυτό θέμα. (Επί παραδείγματι, αν το Έγγραφο αποτελεί, εν μέρει, σύγγραμμα μαθηματικών, η Δευτερεύουσα Ενότητα δεν επιτρέπεται να επεξηγεί μαθηματικές έννοιες.) Η σχέση μπορεί να αποτελεί ιστορική σύνδεση με το θέμα ή σχετικά ζητήματα, ή νομική, εμπορική, φιλοσοφική, ηθική ή πολιτική θέση επί του θέματος ή σχετικών ζητημάτων.</para>
-
- <para id="fdl-invariant"><quote>Αμετάβλητες Ενότητες</quote> είναι ορισμένες <link linkend="fdl-secondary">Δευτερεύουσες Ενότητες</link> των οποίων οι τίτλοι αναφέρονται ρητώς ως τίτλοι Αμετάβλητων Ενοτήτων στην ένδειξη όπου αναφέρεται ότι το <link linkend="fdl-document">Έγγραφo</link> δημοσιεύεται υπό τους όρους αυτής της Άδειας.</para>
-
- <para id="fdl-cover-texts">Τα <quote>Κείμενα Εξωφύλλου</quote> είναι σύντομα αποσπάσματα κειμένου που αναφέρονται ρητώς ως Κείμενα Εμπροσθοφύλλου ή Κείμενα Οπισθοφύλλου στην ένδειξη όπου αναφέρεται ότι το <link linkend="fdl-document">Έγγραφo</link> δημοσιεύεται υπό τους όρους αυτής της Άδειας.</para>
-
- <para id="fdl-transparent">Ως <quote>Διαφανές</quote> αντίγραφο από το <link linkend="fdl-document">Έγγραφo</link> θεωρείται κάθε αντίγραφο σε μορφή αναγνώσιμη από μηχανή, όταν συντρέχουν οι εξής προϋποθέσεις: Οι τεχνικές προδιαγραφές τις μορφής αυτής είναι διαθέσιμες για δημόσια χρήση· τα περιεχόμενα του αντιγράφου μπορούν να προβληθούν και να τύχουν επεξεργασίας άμεσα και απλά, με χρήση γενόσημων επεξεργαστών κειμένου ή ( για εικόνες αποτελούμενες από εικονοστοιχεία) γενόσημων προγραμμάτων ζωγραφικής ή (για σχέδια) ευρέως διαθέσιμων επεξεργαστών σχεδίων· το αντίγραφο είναι κατάλληλο για είσοδο σε μορφοποιητές κειμένου ή για αυτόματη μετάφραση σε ποικίλες μορφές κατάλληλες για είσοδο σε μορφοποιητές κειμένου. Δεν θεωρείται Διαφανές ένα αντίγραφο σε Διαφανή, κατά τα λοιπά, μορφή αρχείου, του οποίου η επισήμανση έχει σχεδιαστεί κατά τρόπο που να αποτρέπει ή να αποθαρρύνει τη μελλοντική τροποποίηση του αντιγράφου από τους αναγνώστες. Το αντίγραφο που δεν είναι <quote>Διαφανές</quote> ονομάζεται <quote>Αδιαφανές</quote>.</para>
-
- <para>Παραδείγματα μορφών κατάλληλων για τη δημιουργία Διαφανών αντιγράφων είναι η απλή ASCII χωρίς επισήμανση, η μορφή εισόδου Texinfo, η μορφή εισόδου LaTeX, η SGML ή XML που χρησιμοποιούν δημοσίως διαθέσιμη DTD, και η HTML που συμμορφώνεται με πρότυπα και έχει σχεδιαστεί για τροποποίηση από τον άνθρωπο. Στις Αδιαφανείς μορφές συμπεριλαμβάνονται η PostScript, η PDF, οι ιδιοταγείς μορφές που αναγιγνώσκονται μόνο από ιδιοταγείς επεξεργαστές κειμένου, η SGML ή XML των οποίων η DTD και/ή τα εργαλεία επεξεργασίας δεν είναι δημοσίως διαθέσιμα, και η HTML με αποκλειστικό προορισμό την έξοδο που παράγουν μηχανοκίνητα ορισμένοι επεξεργαστές κειμένου.</para>
-
- <para id="fdl-title-page">Ως <quote>Σελίδα Τίτλου</quote> θεωρείται, για τα έντυπα βιβλία, η σελίδα τίτλου αυτή καθαυτή, καθώς και τυχόν επόμενες σελίδες που απαιτούνται για την ευανάγνωστη συμπερίληψη του υλικού που οφείλει να εμφανίζεται στη σελίδα τίτλου σύμφωνα με την παρούσα Άδεια. Για τα έργα σε μορφές που δεν περιλαμβάνουν σελίδα τίτλου αυτή καθαυτή, ως <quote>Σελίδα Τίτλου</quote> θεωρείται το κείμενο που βρίσκεται κοντά στην εμφανέστερη εμφάνιση του τίτλου του έργου και το οποίο προηγείται του σώματος του κειμένου.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. ΑΚΡΙΒΗ ΑΝΤΙΓΡΑΦΑ</title>
- <para>Σας χορηγείται άδεια αντιγραφής και διανομής του <link linkend="fdl-document">Έγγραφo</link> σε οποιοδήποτε μέσο, για εμπορικό ή μη εμπορικό σκοπό, με την προϋπόθεση ότι σε κάθε αντίγραφο θα συμπεριλαμβάνετε την παρούσα Άδεια, τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας και την ένδειξη άδειας χρήσης που αναφέρει ότι για το έγγραφο ισχύει η παρούσα Άδεια, και με την προϋπόθεση ότι δεν θα προσθέσετε κανένα επιπρόσθετο όρο πέρα από τους όρους της Άδειας. Δεν σας επιτρέπεται να χρησιμοποιήσετε τεχνικά μέτρα για την παρεμπόδιση ή τον έλεγχο της ανάγνωσης ή περαιτέρω αντιγραφής των αντιγράφων που δημιουργείτε ή διανέμετε. Ωστόσο, μπορείτε να αποδεχτείτε αποζημίωση σε αντάλλαγμα των αντιγράφων. Αν διανέμετε επαρκή αριθμό αντιγράφων, θα πρέπει να συμμορφωθείτε και με τους όρους της <link linkend="fdl-section3">ενότητας 3</link>.</para>
-
- <para>Επίσης, μπορείτε να δανείζετε αντίγραφα σύμφωνα με τους ως άνω όρους και να προβάλλετε δημοσίως τα αντίγραφα.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. ΑΝΤΙΓΡΑΦΗ ΣΕ ΜΕΓΑΛΕΣ ΠΟΣΟΤΗΤΕΣ</title>
- <para>Αν εκδώσετε περισσότερα από 100 στον αριθμό έντυπα αντίγραφα του <link linkend="fdl-document">Έγγραφo</link>, και η ένδειξη άδειας χρήσης του Εγγράφου προϋποθέτει την ύπαρξη <link linkend="fdl-cover-texts">Κείμενα Εξωφύλλου</link>, θα πρέπει να εσωκλείσετε τα αντίγραφα σε εξώφυλλα που θα περιέχουν, με καθαρό και ευανάγνωστο τρόπο, όλα τα ακόλουθα κείμενα εξωφύλλου: Κείμενα Εμπροσθοφύλλου στο εμπροσθόφυλλο και Κείμενα Οπισθοφύλλου στο οπισθόφυλλο. Επίσης, και τα δύο εξώφυλλα θα πρέπει να αναφέρουν, καθαρά και ευανάγνωστα, εσάς ως εκδότη των αντιγράφων. Στο εμπροσθόφυλλο θα πρέπει να αναφέρεται ο πλήρης τίτλος του Εγγράφου, και όλες οι λέξεις του τίτλου θα πρέπει να είναι εξίσου προβεβλημένες και εμφανείς. Επιτρέπεται να προσθέσετε επιπρόσθετο υλικό στα εξώφυλλα. Η παραγωγή αντιγράφων που διαφέρουν μόνο ως προς τα εξώφυλλα, εφόσον διατηρείται ο τίτλος του <link linkend="fdl-document">Έγγραφo</link> και τηρούνται οι παρούσες προϋποθέσεις, μπορεί να θεωρηθεί, κατά τα λοιπά, ως παραγωγή ακριβών αντιγράφων.</para>
-
- <para>Αν τα απαιτούμενα κείμενα ενός ή και των δύο εξωφύλλων είναι υπερβολικά μεγάλα για να παραμείνουν ευανάγνωστα αν συμπεριληφθούν σε μία σελίδα, θα πρέπει να τοποθετήσετε τα πρώτα εξώφυλλα του καταλόγου (όσα χωρούν κανονικά) στο εξώφυλλο αυτό καθ' αυτό, και να τοποθετήσετε τα υπόλοιπα στις γειτονικές σελίδες.</para>
-
- <para>Αν εκδώσετε περισσότερα από 100 στον αριθμό <link linkend="fdl-transparent">Αδιαφανές</link> αντίγραφα του <link linkend="fdl-document">Έγγραφo</link>, είτε θα πρέπει να συμπεριλάβετε ένα <link linkend="fdl-transparent">Διαφανές</link> αντίγραφο (σε μορφή αναγνώσιμη από μηχανή) σε κάθε Αδιαφανές αντίγραφο, είτε θα πρέπει να αναφέρετε — μαζί ή σε κάθε Αδιαφανές αντίγραφο — μια δημοσίως προσβάσιμη τοποθεσία δικτύου υπολογιστών από την οποία θα μπορεί το ευρύ κοινό που χρησιμοποιεί δίκτυα να λάβει ανώνυμα, δωρεάν, και με χρήση πρωτοκόλλων δικτύου δημοσίων προτύπων, ένα ολοκληρωμένο Διαφανές αντίγραφο του Εγγράφου, χωρίς προσθήκες. Αν επιλέξετε τη δεύτερη επιλογή, όταν ξεκινήσετε τη διανομή των Αδιαφανών αντιγράφων, θα πρέπει να λάβετε λελογισμένα μέτρα για να διασφαλίσετε ότι το Διαφανές αντίγραφο θα παραμείνει προσβάσιμο στην ως άνωθεν τοποθεσία για τουλάχιστον ένα έτος μετά την τελευταία δημόσια διανομή Αδιαφανούς αντιγράφου αυτής της έκδοσης (είτε πρόκειται για άμεση διανομή είτε για διανομή μέσω των πρακτόρων ή λιανοπωλητών σας).</para>
-
- <para>Σας ζητείται, αλλά δεν απαιτείται, να επικοινωνήσετε εγκαίρως με τους συγγραφείς του <link linkend="fdl-document">Έγγραφo</link>, πριν αναδιανείμετε μεγάλο αριθμό αντιγράφων, ώστε να έχουν τη δυνατότητα να σας παράσχουν αναθεωρημένη έκδοση του Εγγράφου.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. ΤΡΟΠΟΠΟΙΗΣΕΙΣ</title>
- <para>Σας χορηγείται άδεια αντιγραφής και διανομής <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link> του <link linkend="fdl-document">Έγγραφo</link> υπό τους όρους των ενοτήτων <link linkend="fdl-section2">2</link> και <link linkend="fdl-section3">3</link> ανωτέρω, με την προϋπόθεση ότι θα δημοσιεύσετε την Τροποποιημένη Έκδοση υπό την παρούσα Άδεια ως έχει, όπου ως Έγγραφο θα νοείται η Τροποποιημένη Έκδοση. Άρα, θα χορηγείται άδεια διανομής και τροποποίησης της Τροποποιημένης Έκδοσης σε οποιονδήποτε κατέχει αντίγραφό της. Επιπροσθέτως, στην Τροποποιημένη Έκδοση θα πρέπει να κάνετε τα εξής:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>Α</title>
- <para>Στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link> (και τα εξώφυλλα, αν υφίστανται), χρησιμοποιήστε τίτλο διακριτό από τον τίτλο του <link linkend="fdl-document">Έγγραφo</link> και των προηγούμενων εκδόσεών του (τυχόν προηγούμενες εκδόσεις οφείλουν να αναφέρονται στην ενότητα Ιστορικού του Εγγράφου). Μπορείτε να χρησιμοποιήσετε τον ίδιο τίτλο με τον τίτλο προηγούμενης έκδοσης, αν λάβετε άδεια από τον αρχικό εκδότη της προηγούμενης έκδοσης.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Β</title>
- <para>Αναφέρετε στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link>, υπό την ιδιότητα του συγγραφέα, όλα τα άτομα ή τους φορείς που ευθύνονται για τη συγγραφή ή την τροποποίηση της <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link>, μαζί με τουλάχιστον πέντε από τους κύριους συγγραφείς του <link linkend="fdl-document">Έγγραφo</link> ( ή όλους τους κύριους συγγραφείς, αν είναι λιγότεροι από πέντε).</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Γ</title>
- <para>Αναφέρετε στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link>, υπό την ιδιότητα του εκδότη, το όνομα του εκδότη της <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Δ</title>
- <para>Διατηρήστε όλες τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας του <link linkend="fdl-document">Έγγραφo</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Ε</title>
- <para>Προσθέστε την κατάλληλη ένδειξη δικαιωμάτων πνευματικής ιδιοκτησίας για τις τροποποιήσεις σας στις υπόλοιπες ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>ΣΤ</title>
- <para>Συμπεριλάβετε, αμέσως μετά τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας, μια ένδειξη άδειας χρήσης που θα χορηγεί δημόσια άδεια χρήσης από την <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link> υπό τους όρους της παρούσας Άδειας. Η μορφή της ένδειξης αυτής παρατίθεται στο Συμπλήρωμα που ακολουθεί.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Ζ</title>
- <para>Διατηρήστε σε αυτή την ένδειξη άδειας χρήσης τους πλήρεις καταλόγους <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> και απαιτούμενων <link linkend="fdl-cover-texts">Κείμενα Εξωφύλλου</link> που παρατίθενται στην ένδειξη άδειας χρήσης του <link linkend="fdl-document">Εγγράφου</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Η</title>
- <para>Συμπεριλάβετε αντίγραφο, χωρίς τροποποιήσεις, της παρούσας Άδειας.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Θ</title>
- <para>Διατηρήστε την ενότητα με τίτλο <quote>Ιστορικό</quote>, καθώς και τον τίτλο της, και προσθέστε μία εγγραφή που θα αναφέρει τουλάχιστον τον τίτλο, το έτος, τους νέους συγγραφείς και τον εκδότη της <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link>, όπως αυτά αναφέρονται στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link>. Αν δεν υπάρχει ενότητα με τίτλο <quote>Ιστορικό</quote> στο <link linkend="fdl-document">Έγγραφo</link>, δημιουργήστε αυτήν την ενότητα, αναγράφοντας τον τίτλο, το έτος, τους νέους συγγραφείς και τον εκδότη του Εγγράφου, όπως αυτά αναφέρονται στη Σελίδα Τίτλου, και προσθέτοντας μία εγγραφή που θα περιγράφει την Τροποποιημένη Έκδοση σύμφωνα με την προηγούμενη πρόταση.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Ι</title>
- <para>Διατηρήστε την τοποθεσία δικτύου που ενδεχομένως παρέχεται στο <link linkend="fdl-document">Έγγραφo</link> για δημόσια πρόσβαση σε <link linkend="fdl-transparent">Διαφανές</link> αντίγραφο του Εγγράφου, καθώς και τυχόν άλλες τοποθεσίες δικτύου που παρέχονται στο έγγραφο και αφορούν προηγούμενες εκδόσεις του. Οι τοποθεσίες αυτές μπορούν να τοποθετηθούν στην ενότητα <quote>Ιστορικό</quote>. Μπορείτε να παραλείψετε τοποθεσίες δικτύου για έργα που εκδόθηκαν τουλάχιστον τέσσερα έτη πριν από το ίδιο το Έγγραφο, ή αν ο αρχικός εκδότης της αντίστοιχης έκδοσης σας δώσει την άδεια.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>ΙΑ</title>
- <para>Αν υπάρχει ενότητα με τίτλο <quote>Ευχαριστίες</quote> ή <quote>Αφιέρωση</quote>, διατηρήστε τον τίτλο της ενότητας, και διατηρήστε στο σώμα της ενότητας την ουσία και το ύφος των ευχαριστιών και/ή αφιερώσεων που συμπεριλαμβάνονται σε αυτή.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>ΙΒ</title>
- <para>Διατηρήστε όλες τις <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> του <link linkend="fdl-document">Έγγραφo</link>, χωρίς καμία τροποποίηση στο κείμενο και τον τίτλο τους. Η αρίθμηση των ενοτήτων, —ή άλλο ισοδύναμό της—, δεν θεωρείται τμήμα του τίτλου των ενοτήτων.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>ΙΓ</title>
- <para>Διαγράψτε τυχόν ενότητες με τίτλο <quote>Έγκριση</quote>. Αυτού του είδους οι ενότητες δεν επιτρέπεται να συμπεριληφθούν στην <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>ΙΔ</title>
- <para>Μη μετατρέπετε τον τίτλο καμίας προϋπάρχουσας ενότητας στον τίτλο <quote>Έγκριση</quote> ή σε τίτλο που συγκρούεται με τον τίτλο <link linkend="fdl-invariant">Αμετάβλητης Ενότητας</link>.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>Αν η <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link> περιλαμβάνει νέες αρχικές ενότητες ή παραρτήματα, που εμπίπτουν στον ορισμό των <link linkend="fdl-secondary">Δευτερεύουσες Ενότητες</link>, και δεν περιέχουν υλικό που να είναι προϊόν αντιγραφής του Εγγράφου, μπορείτε, εφόσον το επιθυμείτε, να ορίσετε ορισμένες ή όλες αυτές τις ενότητες ως αμετάβλητες. Για να το πράξετε, προσθέστε τους τίτλους αυτών των ενοτήτων στον κατάλογο <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> στην ένδειξη άδειας χρήσης της Τροποποιημένης Έκδοσης. Οι τίτλοι αυτοί θα πρέπει να είναι διακριτοί από τους υπόλοιπους τίτλους ενοτήτων..</para>
-
- <para>Μπορείτε να προσθέσετε ενότητα με τίτλο <quote>Έγκριση</quote>, με την προϋπόθεση ότι περιλαμβάνει αποκλειστικά εγκρίσεις της δικής σας <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link> από διάφορους φορείς, —επί παραδείγματι, δηλώσεις αξιολόγησης ομοτίμων ή δηλώσεις ότι το κείμενο έχει εγκριθεί από έναν οργανισμό ως έγκυρος ορισμός ενός προτύπου.</para>
-
- <para>Μπορείτε να προσθέσετε κείμενο μέχρι και πέντε λέξεις ως <link linkend="fdl-cover-texts">Κείμενο Εμπροσθοφύλλου</link>, καθώς και κείμενο μέχρι και 25 λέξεις ως <link linkend="fdl-cover-texts">Κείμενο Οπισθοφύλλου</link>, στο τέλος του καταλόγου <link linkend="fdl-cover-texts">Κείμενα Εξωφύλλου</link> της <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link>. Κάθε μεμονωμένος φορέας επιτρέπεται να προσθέτει μόνο ένα Κείμενο Εμπροσθοφύλλου και ένα Κείμενο Οπισθοφύλλου (ο ίδιος ή εξ ονόματος του ίδιου). Αν το <link linkend="fdl-document">Έγγραφo</link> περιέχει ήδη κείμενο εξωφύλλου για το ίδιο εξώφυλλο, —που είχατε προσθέσει προηγουμένως είτε εξ ονόματός σας είτε εξ ονόματος του φορέα που εκπροσωπείτε—, δεν σας επιτρέπεται να προσθέσετε επιπλέον εξώφυλλο· σας επιτρέπεται ωστόσο να αντικαταστήσετε το προηγούμενο, με ρητή άδεια από τον εκδότη που είχε προσθέσει το προηγούμενο εξώφυλλο.</para>
-
- <para>Μέσω της παρούσας άδειας, ο/οι συγγραφείς και ο/οι εκδότες του <link linkend="fdl-document">Έγγραφo</link> δεν χορηγούν άδεια χρήσης των ονομάτων τους για διαφημιστικούς σκοπούς ή για την έγκριση, —ρητή ή υπονοούμενη—, οποιασδήποτε <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link>.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. ΣΥΝΔΥΑΣΜΟΣ ΕΓΓΡΑΦΩΝ</title>
- <para>Μπορείτε να συνδυάσετε το <link linkend="fdl-document">Έγγραφo</link> με άλλα έγγραφα που υπόκεινται στους όρους της παρούσας Άδειας, σύμφωνα με τους ανωτέρω όρους της <link linkend="fdl-section4">ενότητας 4</link> για τις τροποποιημένες εκδόσεις, με την προϋπόθεση ότι ο συνδυασμός θα περιλαμβάνει όλες τις <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> όλων των πρωτότυπων εγγράφων, χωρίς τροποποιήσεις, και ότι θα αναφέρονται ως Αμετάβλητες Ενότητες του συνδυασμένου έργου στην ένδειξη άδειας χρήσης του.</para>
-
- <para>Το συνδυασμένο έργο οφείλει να περιέχει ένα μόνο αντίγραφο της παρούσας Άδειας, και επιτρέπεται η αντικατάσταση πολλαπλών ταυτόσημων <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> από ένα μόνο αντίγραφό τους. Αν υφίστανται πολλαπλές Αμετάβλητες Ενότητες με τον ίδιο τίτλο αλλά διαφορετικό περιεχόμενο, φροντίστε να κατασταθεί μοναδικός ο τίτλος κάθε ενότητας, προσθέτοντας στο τέλος του τίτλου, εντός παρενθέσεων, το όνομα του αρχικού συγγραφέα ή εκδότη της ενότητας εφόσον τα γνωρίζετε, ή, εναλλακτικά, ένα μοναδικό αριθμό. Φροντίστε να κάνετε τις ίδιες αλλαγές στους τίτλους των ενοτήτων που αναγράφονται στον κατάλογο Αμετάβλητων Ενοτήτων στην ένδειξη άδειας χρήσης του συνδυασμένου έργου.</para>
-
- <para>Στο συνδυασμό θα πρέπει να συνδυάσετε όλες τις ενότητες με τίτλο <quote>Ιστορικό</quote> που ενδεχομένως διαθέτουν τα πρωτότυπα έγγραφα, δημιουργώντας μία μοναδική ενότητα με τίτλο <quote>Ιστορικό</quote>. Κατά τον ίδιο τρόπο θα πρέπει να συνδυάσετε και όλες τις ενότητες με τίτλο <quote>Ευχαριστίες</quote> ή όλες τις ενότητες με τίτλο <quote>Αφιέρωση</quote>. Θα πρέπει να διαγράψετε όλες τις ενότητες με τίτλο <quote>Έγκριση.</quote>.</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. ΣΥΛΛΟΓΗ ΕΓΓΡΑΦΩΝ</title>
- <para>Μπορείτε να δημιουργήσετε συλλογή που θα περιλαμβάνει το παρόν <link linkend="fdl-document">Έγγραφo</link> μαζί με άλλα έγγραφα που υπόκεινται στους όρους της παρούσας Άδειας, και να συμπεριλάβετε στη συλλογή ένα μόνο αντίγραφο της παρούσας Άδειας, που θα αντικαθιστά τα μεμονωμένα αντίγραφά της στα διάφορα έγγραφα, με την προϋπόθεση ότι, κατά τα λοιπά, θα συμμορφωθείτε με τους κανόνες της παρούσας Άδειας για την παραγωγή πιστών αντιγράφων καθενός από αυτά τα έγγραφα.</para>
-
- <para>Μπορείτε να εξάγετε ένα μεμονωμένο έγγραφο από μια συλλογή τέτοιου είδους, και να το διανείμετε ξεχωριστά υπό τους όρους της παρούσας Άδειας, με την προϋπόθεση ότι θα προσθέσετε αντίγραφο της παρούσας Άδειας στο εξαχθέν έγγραφο, και ότι, κατά τα λοιπά, θα συμμορφωθείτε με τους κανόνες της παρούσας Άδειας για την παραγωγή ακριβών αντιγράφων αυτού του εγγράφου.</para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. ΣΥΡΡΑΦΗ ΜΕ ΑΝΕΞΑΡΤΗΤΑ ΕΡΓΑ</title>
- <para>Αν το <link linkend="fdl-document">Έγγραφo</link> ή τα παράγωγά του συμπεριληφθούν, μαζί με άλλα ξεχωριστά και ανεξάρτητα έγγραφα ή έργα, σε τόμο ενός μέσου αποθήκευσης ή διανομής, ο τόμος αυτός, στο σύνολό του, δεν θεωρείται <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link> του εγγράφου, με την προϋπόθεση ότι δεν διεκδικούνται δικαιώματα πνευματικής ιδιοκτησίας για αυτόν. Ο εν λόγω τόμος ονομάζεται <quote>συρραφή</quote> και η παρούσα άδεια δεν ισχύει για τα υπόλοιπα αυθύπαρκτα έργα που συμπεριλαμβάνονται σε αυτόν, πέραν του Έγγραφο, απλώς και μόνο επειδή ανήκουν σε αυτή τη συρραφή, εκτός εάν αποτελούν και αυτά παράγωγα έργα του Εγγράφου. Αν για αυτά τα αντίγραφα του Εγγράφου ισχύουν οι όροι για τα <link linkend="fdl-cover-texts">Κείμενα Εξωφύλλου</link> της <link linkend="fdl-section3">ενότητας 3</link>, τότε, αν το Έγγραφο αντιστοιχεί σε λιγότερο από το ένα τέταρτο του συνόλου της συρραφής, τα Κείμενα Εξωφύλλου του Εγγράφου επιτρέπεται να τοποθετηθούν σε εξώφυλλα εντός της συρραφής που εσωκλείουν μόνο το Έγγραφο. Ειδάλλως, θα πρέπει να τοποθετηθούν σε εξώφυλλα που εσωκλείουν ολόκληρη τη συρραφή.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. ΜΕΤΑΦΡΑΣΗ</title>
- <para>Η μετάφραση θεωρείται μορφή τροποποίησης, άρα μπορείτε να διανέμετε μεταφράσεις του <link linkend="fdl-document">Έγγραφo</link> υπό τους όρους της <link linkend="fdl-section4">ενότητας 4</link>. Η αντικατάσταση των <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> από μεταφράσεις απαιτεί ειδική άδεια από τους κατόχους των δικαιωμάτων πνευματικής ιδιοκτησίας, αλλά επιτρέπεται η συμπερίληψη στο Έγγραφο μεταφράσεων ορισμένων ή όλων των Αμετάβλητων Ενοτήτων, επιπλέον των πρωτότυπων εκδόσεων αυτών των Αμετάβλητων Ενοτήτων. Μπορείτε να προσθέσετε μεταφράσεις της παρούσας Άδειας, με την προϋπόθεση ότι θα συμπεριλάβετε και την πρωτότυπη Αγγλική έκδοση της Άδειας. Σε περίπτωση ασυμφωνίας μεταξύ μετάφρασης και πρωτότυπης Αγγλικής έκδοσης της Άδειας, ισχύει η πρωτότυπη Αγγλική έκδοση.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. ΚΑΤΑΡΓΗΣΗ</title>
- <para>Δεν σας επιτρέπεται η αντιγραφή, τροποποίηση, περαιτέρω παραχώρηση άδειας εκμετάλλευσης ή διανομή του <link linkend="fdl-document">Έγγραφo</link> παρά μόνο με τον τρόπο που ρητά προβλέπεται από αυτήν την Άδεια. Κάθε άλλη απόπειρα αντιγραφής, τροποποίησης, περαιτέρω παραχώρησης άδειας εκμετάλλευσης ή διανομής του Εγγράφου είναι άκυρη και αυτομάτως καταργεί τα δικαιώματα που σας παραχωρεί η παρούσα Άδεια. Ωστόσο, τα μέρη στα οποία παρείχατε αντίγραφα ή δικαιώματα υπό τους όρους της παρούσας Άδειας, δεν θα απωλέσουν τα δικαιώματα χρήσης τους, εφόσον εξακολουθούν να συμμορφώνονται πλήρως με τους όρους της Άδειας.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. ΜΕΛΛΟΝΤΙΚΕΣ ΑΝΑΘΕΩΡΗΣΕΙΣ ΤΗΣ ΠΑΡΟΥΣΑΣ ΑΔΕΙΑΣ</title>
- <para>Το <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Ίδρυμα Ελεύθερου Λογισμικού</ulink> έχει το δικαίωμα να δημοσιεύει περιστασιακά αναθεωρημένες ή/και νέες εκδόσεις της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL). Αυτές οι νέες εκδόσεις θα είναι συναφείς στο πνεύμα με την παρούσα έκδοση, όμως ενδέχεται να διαφέρουν στις λεπτομέρειες, καθώς επιλαμβάνονται νέων προβλημάτων και ζητημάτων. Βλέπε <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>Σε κάθε έκδοση δίνεται ένας διακριτικός αριθμός έκδοσης. Εάν στο <link linkend="fdl-document">Έγγραφo</link> καθορίζεται ότι ισχύει ένας συγκεκριμένος αριθμός έκδοσης της παρούσας Άδειας ή <quote>οποιαδήποτε μεταγενέστερη έκδοση</quote>, μπορείτε να επιλέξετε μεταξύ των όρων και προϋποθέσεων είτε αυτής της έκδοσης, είτε οποιασδήποτε μεταγενέστερης έκδοσης έχει δημοσιευτεί (όχι με μορφή σχεδίου) από το Ίδρυμα Ελεύθερου Λογισμικού. Εάν στο Πρόγραμμα δεν καθορίζεται αριθμός έκδοσης της Άδειας, μπορείτε να επιλέξετε οποιαδήποτε έκδοση έχει δημοσιευθεί (όχι με μορφή σχεδίου) από το Ίδρυμα Ελεύθερου Λογισμικού (FSF).</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Συμπλήρωμα</title>
- <para>Για να χρησιμοποιήσετε την παρούσα Άδεια σε έγγραφο το οποίο συγγράψατε, θα πρέπει να συμπεριλάβετε ένα αντίγραφο της Άδειας στο έγγραφο και να τοποθετήσετε τις ακόλουθες ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας και άδειας χρήσης αμέσως μετά τη σελίδα τίτλου: </para>
-
- <blockquote>
- <para>Copyright © ΕΤΟΣ ΤΟ ΟΝΟΜΑ ΣΑΣ.</para>
- <para>Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης του παρόντος εγγράφου υπό τους όρους της έκδοσης 1.1 της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), ή οποιασδήποτε μεταγενέστερης έκδοσής αυτής από το Ίδρυμα Ελεύθερου Λογισμικού (FSF)· οι <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> είναι οι ΚΑΤΑΛΟΓΟΣ ΤΙΤΛΩΝ, τα <link linkend="fdl-cover-texts">Κείμενα Εμπροσθοφύλλου</link> είναι τα ΚΑΤΑΛΟΓΟΣ, και τα <link linkend="fdl-cover-texts">Κείμενα Οπισθοφύλλου</link> είναι τα ΚΑΤΑΛΟΓΟΣ. Αντίγραφο της άδειας συμπεριλαμβάνεται στην ενότητα με τίτλο <quote>Άδεια Ελεύθερης Τεκμηρίωσης GNU (GFDL)</quote>.</para>
- </blockquote>
-
- <para>Αν δεν περιέχονται <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link>, γράψτε <quote>χωρίς Αμετάβλητες Ενότητες</quote> αντί να απαριθμήσετε τις αμετάβλητες ενότητες. Αν δεν περιέχονται <link linkend="fdl-cover-texts">Κείμενα Εμπροσθοφύλλου</link>, γράψτε <quote>χωρίς Κείμενα Εμπροσθοφύλλου</quote> αντί για <quote>τα Κείμενα Εμπροσθοφύλλου είναι τα ΚΑΤΑΛΟΓΟΣ</quote>, επίσης για <link linkend="fdl-cover-texts">Κείμενα Οπισθοφύλλου</link>.</para>
-
- <para>Αν το έγγραφό σας περιέχει μη-ασήμαντα παραδείγματα πηγαίου κώδικα, συνιστούμε την παράλληλη δημοσίευσή τους, υπό τους όρους της άδειας ελεύθερου λογισμικού της αρεσκείας σας,όπως η <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">Γενική Άδεια Δημόσιας Χρήσης GNU</ulink>, ώστε να επιτρέψετε τη χρήση τους σε ελεύθερο λογισμικό. </para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="el">
- <bookinfo>
- <title>Εγχειρίδιο GTK-Doc</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>Εγχειρίδιο χρήστη για προγραμματιστές με οδηγίες για τη χρήση του GTK-Doc.</para></abstract>
- <authorgroup>
- <author><firstname>Chris</firstname> <surname>Lyttle</surname> <affiliation> <address> <email>chris@wilddev.net</email> </address> </affiliation></author>
- <author><firstname>Dan</firstname> <surname>Mueth</surname> <affiliation> <address> <email>d-mueth@uchicago.edu</email> </address> </affiliation></author>
- <author><firstname>Stefan</firstname> <surname>Sauer (Kost)</surname> <affiliation> <address> <email>ensonic@users.sf.net</email> </address> </affiliation></author>
- </authorgroup>
- <publisher role="maintainer"><publishername>Έργο GTK-Doc</publishername> <address><email>gtk-doc-list@gnome.org</email></address></publisher>
- <copyright><year>2000, 2005</year> <holder>Dan Mueth και Chris Lyttle</holder></copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης του παρόντος εγγράφου υπό τους όρους της έκδοσης 1.1 της <citetitle>Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL)</citetitle>, ή οποιασδήποτε μεταγενέστερης έκδοσής αυτής από το Ίδρυμα Ελεύθερου Λογισμικού (FSF), χωρίς αμετάβλητα τμήματα, κείμενα εξωφύλλου και κείμενα οπισθοφύλλου. Συμπεριλαμβάνεται <link linkend="fdl">αντίγραφο της άδειας</link>.</para>
- <para>Πολλές από τις ονομασίες που χρησιμοποιούνται από εταιρείες για την διαφοροποίηση των προϊόντων και υπηρεσιών τους έχουν καταχωρισθεί ως εμπορικά σήματα. Σε όποιο σημείο της τεκμηρίωσης GNOME τυχόν εμφανίζονται αυτές οι ονομασίες, και εφόσον τα μέλη του Έργου τεκμηρίωσης GNOME έχουν λάβει γνώση αυτών των εμπορικών σημάτων, οι ονομασίες ή τα αρχικά αυτών θα γράφονται με κεφαλαίους χαρακτήρες.</para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.28</revnumber>
- <date>24 Mar 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.27</revnumber>
- <date>07 Dec 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>fine tuning of the python port</revremark>
- </revision>
- <revision>
- <revnumber>1.26</revnumber>
- <date>11 Aug 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>port all tools from perl/bash to python</revremark>
- </revision>
- <revision><revnumber>1.25</revnumber> <date>21 Μαρτίου 2016</date> <authorinitials>ss</authorinitials> <revremark>διορθώσεις σφαλμάτων, εκαθάρριση δοκιμαστικού κώδικα</revremark></revision>
- <revision><revnumber>1.24</revnumber> <date>29 Μαΐου 2015</date> <authorinitials>ss</authorinitials> <revremark>διόρθωση σφαλμάτων</revremark></revision>
- <revision><revnumber>1.23</revnumber> <date>17 Μαΐου 2015</date> <authorinitials>ss</authorinitials> <revremark>διόρθωση σφαλμάτων</revremark></revision>
- <revision><revnumber>1.22</revnumber> <date>07 Μαΐου 2015</date> <authorinitials>ss</authorinitials> <revremark>διορθώσεις σφαλμάτων, απόρριψη παρωχημένων λειτουργιών</revremark></revision>
- <revision><revnumber>1.21</revnumber> <date>17 Ιουλ 2013</date> <authorinitials>ss</authorinitials> <revremark>διορθώσεις σφαλμάτων, απόρριψη παρωχημένων λειτουργιών</revremark></revision>
- <revision><revnumber>1.20</revnumber> <date>16 Φεβ 2014</date> <authorinitials>ss</authorinitials> <revremark>διορθώσεις σφαλμάτων, υποστήριξη markdown, και βελτιώσεις στυλ</revremark></revision>
- <revision><revnumber>1.19</revnumber> <date>05 Ιουν 2013</date> <authorinitials>ss</authorinitials> <revremark>διόρθωση σφαλμάτων</revremark></revision>
- <revision><revnumber>1.18</revnumber> <date>14 Σεπτ 2011</date> <authorinitials>ss</authorinitials> <revremark>διορθώσεις σφαλμάτων, επιταχύνσεις, υποστήριξη markdown</revremark></revision>
- <revision><revnumber>1.17</revnumber> <date>26 Φεβ 2011</date> <authorinitials>sk</authorinitials> <revremark>επείγουσα διόρθωση σφάλματος</revremark></revision>
- <revision><revnumber>1.16</revnumber> <date>14 Ιαν 2011</date> <authorinitials>sk</authorinitials> <revremark>διορθώσεις σφαλμάτων και βελτιώσεις διάταξης</revremark></revision>
- <revision><revnumber>1.15</revnumber> <date>21 Μαίου 2010</date> <authorinitials>sk</authorinitials> <revremark>διορθώσεις σφαλμάτων και αναδρομής</revremark></revision>
- <revision><revnumber>1.14</revnumber> <date>28 Μαρτίου 2010</date> <authorinitials>sk</authorinitials> <revremark>διορθώσεις σφαλμάτων και βελτιώσεις επίδοσης</revremark></revision>
- <revision><revnumber>1.13</revnumber> <date>18 Δεκεμβρίου 2009</date> <authorinitials>sk</authorinitials> <revremark>ανανέωση κατεστραμμένου συμπιεσμένου αρχείου</revremark></revision>
- <revision><revnumber>1.12</revnumber> <date>18 Δεκεμβρίου 2009</date> <authorinitials>sk</authorinitials> <revremark>νέα χαρακτηριστικά εργαλείων και διορθώσεις σφαλμάτων</revremark></revision>
- <revision><revnumber>1.11</revnumber> <date>16 Νοεμβρίου 2008</date> <authorinitials>mal</authorinitials> <revremark>Μετάβαση σε GNOME doc-utils</revremark></revision>
- </revhistory>
-
-
- <othercredit class="translator">
- <personname>
- <firstname>Ελληνική μεταφραστική ομάδα GNOME</firstname>
- </personname>
- <email>team@gnome.gr</email>
- </othercredit>
- <copyright>
-
- <year>2009-2016</year>
-
- <holder>Ελληνική μεταφραστική ομάδα GNOME</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Τζένη Πετούμενου</firstname>
- </personname>
- <email>epetoumenou@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2009</year>
-
- <holder>Τζένη Πετούμενου</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Θάνος Τρυφωνίδης</firstname>
- </personname>
- <email>tomtryf@gnome.org</email>
- </othercredit>
- <copyright>
-
- <year>2012</year>
-
- <year>2015</year>
-
- <year>2016</year>
-
- <holder>Θάνος Τρυφωνίδης</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Δημήτρης Σπίγγος</firstname>
- </personname>
- <email>dmtrs32@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2013-2015</year>
-
- <holder>Δημήτρης Σπίγγος</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Μαρία Θουκυδίδου</firstname>
- </personname>
- <email>marablack3@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2014</year>
-
- <holder>Μαρία Θουκυδίδου</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Μαρία Μαυρίδου</firstname>
- </personname>
- <email>mavridou@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2014</year>
-
- <holder>Μαρία Μαυρίδου</holder>
- </copyright>
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>Εισαγωγή</title>
-
- <para>Αυτό το κεφάλαιο αποτελεί μια εισαγωγή στο GTK-Doc. Περιγράφει το GTK-Doc και τον τρόπο χρήσης του.</para>
-
- <sect1 id="whatisgtkdoc">
- <title>Τι είναι το GTK-Doc;</title>
-
- <para>Το GTK-Doc χρησιμοποιείται για την τεκμηρίωση κώδικα C. Συνήθως, χρησιμοποιείται για την τεκμηρίωση του δημόσιου API βιβλιοθηκών όπως η GTK+ και η GNOME. Μπορεί όμως να χρησιμοποιηθεί και για την τεκμηρίωση κώδικα εφαρμογών.</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>Πώς λειτουργεί το GTK-Doc;</title>
-
- <para>Το GTK-Doc χρησιμοποιεί την τεκμηρίωση συναρτήσεων που έχει συμπεριληφθεί στα πηγαία αρχεία (εντός μπλοκ σχολίων με ειδική μορφή), ή την τεκμηρίωση που έχει προστεθεί στα πρότυπα αρχεία που χρησιμοποιεί το GTK-Doc (σημειώστε όμως ότι το GTK-Doc παράγει τεκμηρίωση μόνο για τις συναρτήσεις που δηλώνονται σε αρχεία κεφαλίδας· δεν παράγει τεκμηρίωση για στατικές συναρτήσεις).</para>
-
- <para>
- GTK-Doc consists of a number of python scripts, each performing a different step
- in the process.
- </para>
-
- <para>Η διαδικασία περιλαμβάνει 5 κύρια στάδια:</para>
-
- <orderedlist>
-
- <listitem>
- <para>
- <guilabel>Writing the documentation.</guilabel>
-
- The author fills in the source files with the documentation for each
- function, macro, structs or unions, etc.
- </para>
- </listitem>
-
- <listitem>
- <para><guilabel>Συλλέγοντας πληροφορίες για τον κώδικα.</guilabel> Το <application>gtkdoc-scan</application> σαρώνει τα αρχεία κεφαλίδων του κώδικα ψάχνοντας για δηλώσεις συναρτήσεων, μακροεντολές, enums, δομές και ενώσεις. Δημιουργεί το αρχείο <filename><module>-decl-list.txt</filename> που περιέχει μια λίστα με τις δηλώσεις, και τις τοποθετεί σε ενότητες αναλόγως με το αρχείο κεφαλίδας στο οποίο βρίσκονται. Από την πρώτη εκτέλεση του προγράμματος το αρχείο αντιγράφεται στο <filename><module>-sections.txt</filename>. Ο συγγραφέας μπορεί να τακτοποιεί τις ενότητες και τη σειρά των δηλώσεων, για να παραγάγει το επιθυμητό τελικό αποτέλεσμα. Το δεύτερο αρχείο δημιουργεί το <filename><module>-decl.txt</filename>. Το αρχείο αυτό περιέχει τις πλήρεις δηλώσεις που βρέθηκαν από τον σαρωτή.Αν για κάποιο λόγο θέλετε μερικά σύμβολα να εμφανίζονται στην τεκμηρίωση, όπου η πλήρης δήλωση δεν μπορεί να βρεθεί από τον σαρωτή, ή πρέπει να εμφανίζεται διαφορετικά, μπορεί κάποιος να τοποθετήσει οντότητες παρόμοιες με αυτές <filename><module>-decl.txt</filename> στο αρχείο <filename><module>-overrides.txt</filename>.</para>
- <para>Το <application>gtkdoc-scanobj</application> μπορεί επίσης να χρησιμοποιηθεί για να κάνει δυναμική αναζήτηση σε μια βιβλιοθήκη για ενδεχόμενες υποκλάσεις GObject. Αποθηκεύει τις πληροφορίες για τη θέση κάθε αντικειμένου στην ιεραρχία κλάσεων καθώς και για τις ιδιότητες και σήματα GObject που περιέχει.</para>
- <para>Το <application>gtkdoc-scanobj</application> δεν πρέπει να χρησιμοποιείται πλέον. Χρειαζόταν στο παρελθόν όταν το GObject ήταν ακόμα GtkObject μέσα στη gtk+.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Δημιουργία του XML και του HTML/PDF</guilabel>. Το <application>gtkdoc-mkdb</application> μετατρέπει τα αρχεία προτύπων σε αρχεία XML στον υποκατάλογο <filename class="directory">xml/</filename>. Αν ο πηγαίος κώδικας περιέχει τεκμηρίωση συναρτήσεων, χρησιμοποιώντας τις ειδικές ομάδες σχολίων, συγχωνεύεται εδώ. Αν δεν υπάρχουν χρησιμοποιούμενα αρχεία tmpl, διαβάζει μόνο έγγραφα από τα δεδομένα πηγών και αυτοελέγχου.</para>
- <para>Το <application>gtkdoc-mkhtml</application> μετατρέπει τα αρχεία XML σε αρχεία HTML στον υποκατάλογο <filename class="directory">html/</filename>. Ομοίως, το <application>gtkdoc-mkpdf</application> μετατρέπει τα αρχεία XML σε ένα έγγραφο PDF που ονομάζεται <filename><package>.pdf</filename>.</para>
- <para>Τα αρχεία στους καταλόγους <filename class="directory">xml/</filename> και <filename class="directory">html/</filename> αντικαθίστανται πάντα. Επομένως, δεν πρέπει να τα επεξεργάζεστε απευθείας.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Διόρθωση διασταυρούμενων παραπομπών μεταξύ εγγράφων</guilabel> Μετά την εγκατάσταση των αρχείων HTML, μπορείτε να εκτελέσετε το <application>gtkdoc-fixxref</application> για να διορθώσετε τυχόν διασταυρούμενες παραπομπές σε διαφορετικά έγγραφα. Για παράδειγμα, η τεκμηρίωση του GTK+ περιέχει πολλές παραπομπές σε τύπους που επεξηγούνται στο εγχειρίδιο του GLib. Όταν ετοιμάζετε πακέτα κώδικα για διανομή, μπορείτε να χρησιμοποιείτε το <application>gtkdoc-rebase</application> για να μετατρέπετε όλους τους εξωτερικούς συνδέσμους σε διαδικτυακούς συνδέσμους. Κατά την εγκατάσταση της τεκμηρίωσης που περιλαμβάνεται στον διανεμηθέντα κώδικα (παράγεται αυτόματα), η ίδια εφαρμογή θα προσπαθήσει να μετατρέψει ξανά τους συνδέσμους σε τοπικούς συνδέσμους (προς τις τοποθεσίες όπου είναι εγκατεστημένη η τεκμηρίωση).</para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>Λήψη GTK-Doc</title>
-
- <sect2 id="requirements">
- <title>Απαιτήσεις</title>
- <para>
- <guilabel>python 2/3</guilabel> - the main scripts are written in python.
- </para>
- <para><guilabel>xsltproc</guilabel> - το πρόγραμμα xslt processor από τη βιβλιοθήκη libxslt <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink></para>
- <para><guilabel>docbook-xsl</guilabel> - τα φύλλα στυλ docbook xsl <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink></para>
- <para>Ένα από τα <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> ή <guilabel>vim</guilabel> - προαιρετικά - που χρησιμοποιούνται για την επισήμανση της σύνταξης στα παραδείγματα</para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>Περί GTK-Doc</title>
-
- <para>
- Historically GTK-Doc was used to generate template files from the sources
- code. These template files could be used by developers to enter the
- API documentation. This approach was rather inconvenient because it
- required to keep the generated files under version control.
- Since GTK-Doc 1.9 it became possible to place all API information
- into source comments, which made the template support obsolete.
- In version 1.26 template support has been removed.
- </para>
-
- <para>(ΠΡΟΣ ΔΙΟΡΘΩΣΗ)</para>
-
- <para>
- (authors, web pages, mailing list, license, future plans,
- comparison with other similar systems.)
- </para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>Περί του εγχειριδίου</title>
-
- <para>(ΠΡΟΣ ΔΙΟΡΘΩΣΗ)</para>
-
- <para>(σε ποιους απευθύνεται, πού θα το βρείτε, άδεια)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Project Setup</title>
-
- <para>
- This Chapter describes the steps that are necessary to integrate GTK-Doc
- into your project. The integration of GTK-Doc into a project includes the
- following steps:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Preparation of the directory structure and creating required
- configuration files for your GTK-Doc documentation (see
- <link linkend="settingup_docfiles">
- Setting up a skeleton documentation</link>).
- </para>
- </listitem>
- <listitem>
- <para>
- Adjusting the build system to build your documentation using the
- GTK-Doc tools. Multiple build systems are supported, in
- this manual we describe how to integrate GTK-Doc with
- <link linkend="settingup_autotools">Autotools</link>,
- <link linkend="settingup_cmake">CMake</link>, and
- <link linkend="settingup_plain_makefiles">plain Makefiles</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adding GTK-Doc specific files to version control and deciding which
- files to ignore (see <link linkend="settingup_vcs">
- Integration with version control systems</link>).
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The following sections assume we work on a project called
- <code>meep</code>.
- This project contains two packages (or modules),
- a library called <code>libmeep</code> and an end-user app
- called <code>meeper</code>.
- </para>
-
- <sect1 id="settingup_docfiles">
- <title>Δημιουργία του σκελετού τεκμηρίωσης</title>
-
- <para>
- A common convention is to place documentation into a folder called
- <code>docs</code> inside your top-level project directory.
- We usually distinguish between <emphasis>reference
- documentation</emphasis> intended for developers and an
- <emphasis>user manual</emphasis> intended for end-users.
- Again the convention is to have separate folders for both.
- We usually place the reference documentation in a folder named
- <code>reference</code> and the end-user manual in a folder named
- <code>help</code> as.
-
- According to the above convention the documentation for our
- <code>libmeep</code> package would be placed into:
- <code>docs/reference/libmeep</code>.
-
- For packages with just one library or application
- the documentation could also be placed directly into
- <code>docs/reference</code>.
-
- It is not mandatory to use the above convention, but if you
- choose to use a different directory structure you must adjust
- your build system configuration to match your directory
- structure.
- </para>
-
- <para>
- In the following sections we will assume a directory structure
- for our <emphasis>meep</emphasis> project that uses the above
- conventions.
-
- <example>
- <title>Example directory structure of <emphasis>meep</emphasis>
- project</title>
- <programlisting><![CDATA[
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integration with Autotools</title>
- <para>
- Integration of GTK-Doc into an autotools-based build system requires the
- following steps:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Ensure that <application>gtkdocize</application> is run once before
- the <filename>configure</filename> script. If an
- <filename>autogen.sh</filename> script is present, adjust it to
- check for GTK-Doc and add a call to
- <application>gtkdocize</application>.
- </para>
-
- <para>
- The main purpose of <application>gtkdocize</application> is to
- make the <filename>gtk-doc.make</filename> Makefile and the
- <filename>gtk-doc.m4</filename> macro definition file available
- to the build system, either by copying or linking it
- into the project.
- </para>
- </listitem>
- <listitem>
- <para>
- Add the necessary <application>autoconf</application> macros to
- <filename>configure.ac</filename> to enable GTK-Doc in your build
- system to allow configuration of GTK-Doc via the generated
- <filename>configure</filename> script.
- </para>
- <para>
- Among others with registers the <code>--enable-gtk-doc</code>
- option with the <filename>configure</filename> script.
- </para>
- </listitem>
- <listitem>
- <para>
- Create an <application>automake</application> script for each
- application or library in your project. In the example used in this
- documentation this step applies to both <code>meeper</code> and
- <code>libmeep</code>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the following sections, we will perform the above steps in reverse
- order. We start with the <application>automake</application> scripts
- and work our way up to <filename>configure.ac</filename> and
- <filename>autogen.sh</filename>.
- Then we show how enable Gtk-Doc in the build system and
- how to build the documentation.
- </para>
-
- <sect2 id="settingup_automake">
- <title>Ενσωμάτωση στο automake</title>
-
- <para>
- First copy the <filename>Makefile.am</filename> from the
- <filename class="directory">examples</filename> sub-directory of the
- <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">
- gtkdoc-sources</ulink>
- to your project's reference documentation directory (e.g.
- <filename class="directory">docs/reference/<package></filename>).
- A local copy should be available under e.g.
- <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>.
- If you have multiple packages repeat this for each one.
- </para>
-
- <note>
- <simpara>
- Do not forget to add each <filename>Makefile.am</filename>
- to the <function>AC_CONFIG_FILES</function> macro in
- <filename>configure.ac</filename>. For
- <filename>docs/reference/libmeep/Makefile.am</filename> you will
- need to add the entry
- <filename>docs/reference/libmeep/Makefile</filename>
- to <function>AC_CONFIG_FILES</function>.
- </simpara>
- </note>
-
- <example>
- <title>
- Example directory structure with <filename>Makefiles.am</filename>
- </title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>
- Next, you need to customize the copied Makefiles
- and provide values for the various parameters in each
- <filename>Makefile.am</filename>.
-
- All settings have a comment above them that describes their purpose
- and how to customize the setting.
-
- Most settings are used to supply extra flags to the respective tools
- to which they apply. Every tool
- has a variable of the form <option><TOOLNAME>_OPTIONS</option>
- (e.g. the tool <application>gtkdoc-mkhtml</application> has
- an option named <code>MKHTML_OPTIONS</code>).
-
- All the tools support <option>--help</option> to list the supported
- options.
- </para>
-
- <para>
- The following list explains the most relevant options. Check the
- example <filename>Makefile.am</filename> for additional options.
-
- <itemizedlist>
- <listitem>
- <para>
- <option>DOC_MODULE</option> is used to provide the name of the
- package that is being documentated (e.g. <code>meeper</code>, or
- <code>libmeep</code>).
- </para>
- </listitem>
- <listitem>
- <para>
- <option>DOC_SOURCE_DIR</option>
- is used to specify the location
- of source directory which GTK-Doc searches for your API
- documentation. This will usually be
- <code>
- DOC_SOURCE_DIR=$(top_srcdir)/src
- </code>
- or a sub-directory of that directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HFILE_GLOB</option>
- and
- <option>CFILE_GLOB</option>
- are used for dependencies. Each option take a file-glob (e.g.
- <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>).
- The documentation will be rebuilt if any of the matched files
- change.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>EXTRA_HFILES</option>
- allows to specify extra header files
- to include when scanning for API documentation, which are not
- found under <code>DOC_SOURCE_DIR</code> (e.g. <code>
- EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>IGNORE_HFILES</option>
- allows to specify header files
- or directories to ignore when scanning for API documentation.
- Use the basename of the file or directory (e.g. <code>
- IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HTML_IMAGES</option>
- allows to specify images files which
- will be copied into the <filename>html/</filename> directory of
- the generated documentation.
- If your API documentation includes any images they need to be
- added to this
- option (e.g. <code>
- HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>content_files</option>
- allows to specify extra files
- that are included by
- <code>$(DOC_MAIN_SGML_FILE)</code>
- (e.g. <code>
- content_files=running.xml building.xml changes-2.0.xml</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>expand_content_files</option>
- allows to specify files
- where <emphasis>gtk-doc abbreviations</emphasis> such as
- <code>#GtkWidget</code>
- are expanded (e.g. <code>
- expand_content_files=running.xml</code>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>Ενσωμάτωση στο autoconf</title>
-
- <para>
- Integration with <application>autoconf</application> is very simple
- and includes one required step and an additional optional
- (but recommended) step.
-
- The first step is to add the <function>GTK_DOC_CHECK</function> macro
- to your <filename>configure.ac</filename> script. This registers
- several configure options to enable GTK-Doc and allows you
- to set default arguments for <application>gtkdocize</application>.
- </para>
-
- <warning>
- <simpara>
- Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented.
- The macro must start at the beginning of the line and should not
- start with whitespace.
- </simpara>
- </warning>
-
- <para>
- The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code>
- to your <filename>configure.ac</filename>. This is not required
- but helps <application>gtkdocize</application> to automatically copy
- the macro definition (e.g <filename>gtk-doc.m4</filename>) which
- contains the <function>GTK_DOC_CHECK</function> macro to your
- project's macro directory. Without this, the GTK_DOC_CHECK macro
- might not be found and you would need to explicitly tell the
- <application>aclocal</application> tool where to find the macro
- definition file.
- </para>
-
- <para>
- <example><title>Minimal integration with autoconf</title>
- <programlisting><![CDATA[
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The above example works, but will require all developers to have
- gtk-doc installed. A better way is to make building the documentation
- optional as shown in the next example:
-
- <example>
- <title>Integration with optional gtk-doc dependency</title>
- <programlisting><![CDATA[
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The first argument is used to check for the Gtk-Doc version at
- configure time. The 2nd, optional argument is used by
- <application>gtkdocize</application>.
- The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure
- switches:
- </para>
-
- <orderedlist>
- <listitem><para>--with-html-dir= PATH : διαδρομή προς την εγκατεστημένη τεκμηρίωση</para></listitem>
- <listitem><para>--enable-gtk-doc : χρήση gtk-doc για τη δόμηση τεκμηρίωσης [προεπιλογή=no]</para></listitem>
- <listitem><para>--enable-gtk-doc-html : δόμηση τεκμηρίωσης σε μορφή html [προεπιλογή=yes]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : δόμηση τεκμηρίωσης σε μορφή pdf [προεπιλογή=no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>Το GTK-Doc είναι απενεργοποιημένο από προεπιλογή! Να θυμάστε να χρησιμοποιείτε την επιλογή <option>'--enable-gtk-doc'</option> στην επόμενη εκτέλεση του <filename>configure</filename>. Διαφορετικά, εγκαθίσταται η προπαραχθείσα τεκμηρίωση (δυνατότητα χρήσιμη για τον χρήστη, αλλά όχι για τον προγραμματιστή).</para>
- </important>
-
- <para>
- After all changes to <filename>configure.ac</filename> are made,
- update the <filename>configure</filename> file. This can be done by
- re-running <code>autogen.sh</code>.
- </para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>Ενσωμάτωση στο autogen</title>
-
- <para>
- Most projects will have an <filename>autogen.sh</filename> script to
- setup the build infrastructure after the project was checked out from
- a version control system (such as git or svn). GTK-Doc comes with a
- script called <application>gtkdocize</application> which can be used
- to copy the necessary files needed by Gtk-Doc to the source directory.
- </para>
-
- <para>
- It should be run before autoreconf, autoheader, automake or autoconf.
- </para>
-
- <para>
- <example><title>Εκτέλεση του gtkdocize από το autogen.sh</title>
- <programlisting>
-gtkdocize || exit 1
-</programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Conditionally run gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-]]></programlisting>
- </example>
- </para>
-
- <para>
- When running <application>gtkdocize</application> it copies
- <filename>gtk-doc.make</filename> to your project root (or any
- directory specified by the <option>--docdir</option> option).
- </para>
-
- <para>
- <application>gtkdocize</application> checks your
- <filename>configure.ac</filename> script for
- the <function>GTK_DOC_CHECK</function> macro.
- The <function>GTK_DOC_CHECK</function> macro can be used to pass
- extra arguments to the <application>gtkdocize</application> script.
- the 2nd parameter in the <function>GTK_DOC_CHECK</function> macro.
- </para>
-
- <para>
- Alternatively, additional arguments can also be passed to
- <application>gtkdocize</application> via the
- <function>GTKDOCIZE_FLAGS</function> environment variable, or by
- directly specifying them to <application>gtkdocize</application>
- in <filename>autogen.sh</filename>.
- </para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Executing GTK-Doc from the Build System</title>
-
- <para>Αφού ολοκληρωθούν τα προηγούμενα βήματα, προχωρήστε στην δόμηση. Πρώτα, θα πρέπει να εκτελεσθεί εκ νέου το <filename>autogen.sh</filename>. Αν το σενάριο εκτελεί και το configure, προσθέστε την επιλογή <option>--enable-gtk-doc</option>. Διαφορετικά, εκτελέστε εσείς το<filename>configure</filename> με αυτή την επιλογή.</para>
- <para>Η πρώτη εκτέλεση του make δημιουργεί μια σειρά από πρόσθετα αρχεία στους καταλόγους της τεκμηρίωσης. Τα σημαντικά είναι τα: <filename><package>.types</filename>, <filename><package>-docs.xml</filename> (στο παρελθόν .sgml), <filename><package>-sections.txt</filename>.</para>
- <para>
- <example><title>Εκτέλεση της δόμησης τεκμηρίωσης</title>
- <programlisting>
-./autogen.sh --enable-gtk-doc
-make
-</programlisting>
- </example>
- </para>
-
- <para>
- Now you can point your browser to
- <filename>docs/reference/<package>/index.html</filename>.
- With this initial setup you will only see a very simple document.
- The next chapter will teach you how to add API documentation to your
- code via special comment blocks. The Chapter afterwards introduces
- <link linkend="metafiles">additional files</link> and shows how to
- edit the <link linkend="metafiles_master">master template</link> to
- add additional chapters and sections to your documentation files.
- </para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Ενσωμάτωση με συστήματα δόμησης CMake</title>
-
- <para>Το GTK-Doc παρέχει το άρθρωμα <filename>GtkDocConfig.cmake</filename> (και το αντίστοιχο άρθρωμα <filename>GtkDocConfigVersion.cmake</filename>). Επίσης παρέχει την εντολή <literal>gtk_doc_add_module</literal> την οποία μπορείτε να ορίσετε στο αρχείο <filename>CMakeLists.txt</filename>.</para>
-
- <para>Το ακόλουθο παράδειγμα δείχνει πως να χρησιμοποιήσετε την εντολή. <example><title>Παράδειγμα χρήσης του GTK-Doc από το CMake</title>
- <programlisting>
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Ενσωμάτωση στα αρχεία makefiles ή άλλα συστήματα δόμησης</title>
-
- <para>Στην περίπτωση που κάποιος δε θέλει να χρησιμοποιήσει το automake και, επομένως, το <filename>gtk-doc.mak</filename> θα χρειαστεί να καλέσει τα εργαλεία του gtkdoc στη σωστή σειρά στα makefiles (ή άλλα εργαλεία δόμησης).</para>
-
- <para>
- <example><title>Βήματα δόμησης τεκμηρίωσης</title>
- <programlisting>
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-</programlisting>
- </example>
- </para>
-
- <para>Πρέπει να κοιτάξετε στα αρχεία <filename>Makefile.am</filename> και <filename>gtk-doc.mak</filename> για να επιλέξετε τις ρυθμίσεις που χρειάζονται.</para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>Ενσωμάτωση σε συστήματα ελέγχου εκδόσεων</title>
-
- <para>Ο εμπειρικός κανόνας είναι ότι αυτά τα αρχεία που επεξεργασθήκατε πρέπει να περάσουν από τον έλεγχο έκδοσης. Για τυπικά έργα, πρόκειται για τα αρχεία: <filename><package>.types</filename>, <filename><package>-docs.xml</filename> (στο παρελθόν .sgml), <filename><package>-sections.txt</filename>, <filename>Makefile.am</filename>.</para>
- <para>Αρχεία στους καταλόγους <filename>xml/</filename> και <filename>html/</filename> δεν θα πρέπει να υποβληθούν σε έλεγχο έκδοσης. Ούτε και αρχεία <filename>xml/</filename> and <filename>html/</filename>.</para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>Τεκμηρίωση κώδικα</title>
-
- <para>Το GTK-Doc χρησιμοποιεί σχόλια με ειδική σύνταξη για την προσθήκη τεκμηρίωσης στον κώδικα. Παράλληλα, ανακαλεί πληροφορίες για τη δομή του έργου σας από άλλες πηγές. Στην επόμενη ενότητα περιέχονται όλες οι λεπτομέρειες για τη σύνταξη αυτών των σχολίων.</para>
-
- <para>
- The GTK-Doc scanner can handle the majority of C headers fine. In the
- case of receiving warnings from the scanner that look like a special
- case, one can hint GTK-Doc to skip over them.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-]]></programlisting>
- </example>
- </para>
-
- <note>
- <title>Περιορισμοί</title>
- <para>Σημειώστε, ότι το GTK-Doc υποστηρίζει το <code>#ifndef(__GTK_DOC_IGNORE__)</code>, αλλά όχι το <code>#if !defined(__GTK_DOC_IGNORE__)</code> ή άλλους συνδυασμούς.</para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>Σχόλια τεκμηρίωσης</title>
-
- <para>Ένα σχόλιο πολλαπλών γραμμών που διαθέτει ένα επιπλέον «*» στην αρχή αποτελεί ένα μπλοκ τεκμηρίωσης που λαμβάνεται υπόψη από τα εργαλεία του GTK-Doc. <example><title>Μπλοκ σχολίου GTK-Doc</title>
- <programlisting>
-/**
- * identifier:
- * documentation ...
- */
-</programlisting>
- </example></para>
-
- <para>Το 'αναγνωριστικό' είναι μία γραμμή που περιέχει το όνομα του στοιχείου στο οποίο αναφέρεται το σχόλιο. Η σύνταξή του εξαρτάται από τον τύπο του στοιχείου. (ΜΕΛΛΟΝΤΙΚΑ: να προστεθεί πίνακας με τα αναγνωριστικά)</para>
-
- <para>Η ομάδα 'τεκμηρίωσης' επίσης διαφέρει ανάλογα με τον τύπο συμβόλου. Για τους τύπους συμβόλων που δέχονται παραμέτρους όπως συναρτήσεις ή μακροεντολές προηγείται η περιγραφή των παραμέτρων και ακολουθεί μια κενή γραμμή (μόνο '*'). Ακολουθεί η λεπτομερής περιγραφή. Όλες οι γραμμές (εκτός από τις λίστες προγράμματος και τις ενότητες CDATA) που περιέχουν μόνο ένα ' *' (διάστημα-αστερίσκο) μετατρέπονται σε αλλαγές παραγράφου. Αν δεν επιθυμείτε αλλαγή παραγράφου, αλλάξτε το σε ' * ' (διάστημα-αστερίσκος-διάστημα-διάστημα). Αυτό είναι χρήσιμο σε προδιαμορφωμένο κείμενο (λίστες κώδικα).</para>
-
- <tip>
- <para>Όταν τεκμηριώνετε κώδικα, περιγράψτε δύο πλευρές: <itemizedlist>
- <listitem>
- <para>Τι είναι: Το όνομα της κλάσης ή της συνάρτησης μπορεί μερικές φορές να είναι παραπλανητικό για ανθρώπους που δεν έχουν τεχνογνωσία στο θέμα.</para>
- </listitem>
- <listitem>
- <para>Τι κάνει: Αναφέρει τις κοινές χρήσεις και τις βάζει σε σχέση με άλλο API.</para>
- </listitem>
- </itemizedlist></para>
- </tip>
-
- <para>Ένα πλεονέκτημα της χρήσης υπερκειμένου αντί για απλό κείμενο, είναι η δυνατότητα προσθήκης συνδέσμων στο έγγραφο. Ωστόσο, η συγγραφή της σωστής επισήμανσης για έναν σύνδεσμο μπορεί να είναι αρκετά κουραστική διαδικασία. Το GTK-Doc σας βοηθάει, παρέχοντάς σας μια σειρά από χρήσιμες συντομεύσεις. <itemizedlist>
- <listitem>
- <para>Χρησιμοποιήστε το function() για να αναφερθείτε σε συναρτήσεις ή μακροεντολές που δέχονται ορίσματα.</para>
- </listitem>
- <listitem>
- <para>Χρησιμοποιήστε το @param για να αναφερθείτε σε παραμέτρους. Επίσης, χρησιμοποιήστε αυτή τη γραφή για να αναφερθείτε σε παραμέτρους άλλων συναρτήσεων, σχετικών με την περιγραφόμενη.</para>
- </listitem>
- <listitem>
- <para>Χρησιμοποιήστε το %constant για να αναφερθείτε σε σταθερές, π.χ. %G_TRAVERSE_LEAFS.</para>
- </listitem>
- <listitem>
- <para>Χρησιμοποιήστε το #symbol για να αναφερθείτε σε άλλους τύπους συμβόλων, π.χ. δομές, αριθμήσεις και μακροεντολές που δε δέχονται ορίσματα.</para>
- </listitem>
- <listitem>
- <para>Χρησιμοποιήστε το #Object::signal για να αναφερθείτε σε ένα σήμα GObject.</para>
- </listitem>
- <listitem>
- <para>Χρησιμοποιήστε το #Object::property για να αναφερθείτε σε μία ιδιότητα GObject.</para>
- </listitem>
- <listitem>
- <para>Χρησιμοποιήστε το #Struct.field για να αναφερθείτε σε ένα πεδίο μέσα σε μια δομή και #GObjectClass.foo_bar() για να αναφερθείτε σε μια vmethod.</para>
- </listitem>
- </itemizedlist></para>
-
- <tip>
- <para>Αν θέλετε να χρησιμοποιήσετε τους ειδικούς χαρακτήρες «<», «>», «()», «@», «%» ή «#» στην τεκμηρίωση, χωρίς να φοβάστε ότι θα τους αλλάξει το GTK-Doc, μπορείτε να χρησιμοποιήσετε τις οντότητες XML «&lt;», «&gt;», «&lpar;», «&rpar;», «&commat;», «&percnt;» και «&num;», αντίστοιχα, ή να χρησιμοποιήσετε την ανάποδη κάθετο «\» ως χαρακτήρα διαφυγής.</para>
- </tip>
-
- <para>Το DocBook μπορεί να κάνει παραπάνω από απλούς συνδέσμους. Μπορεί κάποιος να έχει και λίστες, παραδείγματα, κεφαλίδες και εικόνες. Από την έκδοση 1.20 και μετά, ο προτιμώμενος τρόπος είναι με τη χρήση ενός υποσυνόλου της βασικής σύνταξης για μορφοποίηση κειμένου που ονομάζεται <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>. Σε παλιότερες εκδόσεις GTK-Doc οποιαδήποτε τεκμηρίωση που περιλαμβάνει Markdown θα αποδίδεται ως έχει. Για παράδειγμα, οι καταχωρήσεις της λίστας θα εμφανίζονται σαν γραμμές που αρχίζουν με μια παύλα.</para>
-
- <para>Αν και τώρα προτιμάται η Markdown μπορεί κάποιος να αναμείξει και τις δύο. Ένας περιορισμός εδώ είναι ότι κάποιος μπορεί να χρησιμοποιήσει το docbook xml μέσα στο markdown, αλλά το markdown μέσα στο docbook xml δεν υποστηρίζεται.</para>
-
- <para>Σε παλιότερες εκδόσεις του GTK-Doc, αν χρειάζεστε υποστήριξη για πρόσθετη μορφοποίηση, θα πρέπει να ενεργοποιήσετε τη χρήση των ετικετών docbook XML μέσα στα doc-comments θέτοντας το <option>--xml-mode</option> (ή το <option>--sgml-mode</option>) στη μεταβλητή <symbol>MKDB_OPTIONS</symbol> μέσα στο <filename>Makefile.am</filename>.</para>
-
- <para>
- <example><title>Μπλοκ σχολίου GTK-Doc χρησιμοποιώντας Markdown</title>
- <programlisting>
-/**
- * ταυτοποιητής:
- *
- * παράγραφος τεκμηρίωσης ...
- *
- * # Δευτερεύουσα επικεφαλίδα #
- *
- * ## Δεύτερη δευτερεύουσα επικεφαλίδα
- *
- * # Δευτερεύουσα επικεφαλίδα με μια άγκυρα συνδέσμου # {#επικεφαλίδα-δύο}
- *
- * περισσότερη τεκμηρίωση:
- *
- * - στοιχείο 1 καταλόγου
- *
- * Παράγραφος μέσα σε ένα στοιχείο καταλόγου.
- *
- * - στοιχείο καταλόγου 2
- *
- * 1. αριθμημένο στοιχείο καταλόγου
- *
- * 2. άλλο αριθμημένο στοιχείο καταλόγου
- *
- * Μια άλλη παράγραφος. [Ένας σύνδεσμος στην ιστοσελίδα GNOME](http://www.gnome.org/)
- *
- * 
- *
- * [Ένας σύνδεσμος στην από πάνω άγκυρα επικεφαλίδας][επικεφαλίδα-δύο]
- *
- * Ένα παράδειγμα γλώσσας C:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-</programlisting>
- </example>
- </para>
-
- <para>Μπορείτε να βρείτε περισσότερα παραδείγματα για το ποιες ετικέτες markdown υποστηρίζονται στη διεύθυνση <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">GTK+ Documentation Markdown Syntax Reference</ulink>.</para>
-
- <tip>
- <para>
- As already mentioned earlier GTK-Doc is for documenting public API. Thus
- one cannot write documentation for static symbols. Nevertheless it is good
- to comment those symbols too. This helps other developers to understand
- your code.
- Therefore we recommend to comment these using normal comments (without the
- 2nd '*' in the first line).
- If later the function needs to be made public, all one needs to do is to
- add another '*' in the comment block and insert the symbol name at the
- right place inside the sections file.
- </para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>Τεκμηρίωση ενοτήτων</title>
-
- <para>Κάθε ενότητα της τεκμηρίωσης περιέχει πληροφορίες για μια κλάση ή ένα άρθρωμα. Για να εισάγετε το συστατικό μπορείτε να γράψετε ένα μπλοκ σχολίου ενότητας. Η σύντομη αυτή περιγραφή χρησιμοποιείται και για τον πίνακα περιεχομένων. Όλα τα πεδία @fields είναι προαιρετικά.</para>
-
- <para>
- <example><title>Μπλοκ σχολίου ενότητας</title>
- <programlisting>
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-</programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<name></term>
- <listitem>
- <para>
- The name links the section documentation to the respective part in
- the <filename><package>-sections.txt</filename> file. The
- name given here should match the <FILE> tag in the
- <filename><package>-sections.txt</filename> file.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>Περιγραφή της ενότητας σε μια γραμμή, η οποία θα εμφανίζεται, στη συνέχεια, μετά από τους συνδέσμους του πίνακα περιεχομένων και στην αρχή της σελίδας της ενότητας.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>Ο τίτλος της ενότητας από προεπιλογή έχει όνομα <name> από τη δήλωση SECTION. Μπορεί να παρακαμφθεί με το πεδίο @title.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>Παρακάμπτει τη χρήση του τίτλου ως αναγνωριστικό της ενότητας. Για αντικείμενα GOBject το <title> χρησιμοποιείται ως section_id και για άλλες ενότητες είναι <MODULE>-<title>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>Λίστα συμβόλων σχετικών με αυτή την ενότητα.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>Άτυπη περιγραφή του επιπέδου σταθερότητας του συγκεκριμένου API. Σας συνιστούμε τη χρήση ενός από τους ακόλουθους όρους: <itemizedlist>
- <listitem>
- <para>Σταθερή - Μια σταθερή διεπαφή επιτρέπει σε τρίτους να αναπτύσσουν εφαρμογές για τις διεπαφές αυτές, να τις δημοσιεύουν και να είναι βέβαιοι ότι οι εφαρμογές θα τρέχουν σε όλες τις ελάσσονες εκδόσεις του προϊόντος (οι οποίες θα είναι μεταγενέστερες της διεπαφής και θα ανήκουν στην ίδια μείζονα έκδοση). Ακόμη και όταν πρόκειται για μείζονες νέες εκδόσεις, οι ασυμβατότητες αναμένεται να είναι σπάνιες και να οφείλονται σε σοβαρούς λόγους.</para>
- </listitem>
- <listitem>
- <para>Ασταθής - Ασταθείς είναι οι πειραματικές ή μεταβατικές διεπαφές. Συνήθως χρησιμοποιούνται για να παρέχουν σε τρίτους πρώιμη πρόσβαση σε νέες ή διαρκώς εξελισσόμενες τεχνολογίες, ή ως ενδιάμεσες λύσεις για προβλήματα για τα οποία αναμένεται μια γενικότερη λύση. Δεν υφίσταται καμία εγγύηση συμβατότητας μεταξύ μιας ελάσσονας έκδοσης και της επόμενης.</para>
- </listitem>
- <listitem>
- <para>Ιδιωτική - Διεπαφή που μπορεί να χρησιμοποιηθεί εντός της στοίβας του GNOME, αλλά δε διαθέτει τεκμηρίωση που να απευθύνεται στους τελικούς χρήστες. Τέτοιου είδους συναρτήσεις μπορούν να χρησιμοποιούνται μόνο στο πλαίσιο σαφώς καθορισμένων και τεκμηριωμένων διαδικασιών.</para>
- </listitem>
- <listitem>
- <para>Εσωτερική - Μια διεπαφή που είναι εσωτερική σε ένα άρθρωμα και δεν απαιτεί την ύπαρξη τεκμηρίωσης για τον τελικό χρήστη. Οι συναρτήσεις που δεν περιέχουν τεκμηρίωση εκλαμβάνονται ως εσωτερικές.</para>
- </listitem>
- </itemizedlist></para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>Αρχεία <literal>#include</literal> που εμφανίζονται στη συνοπτική παρουσίαση των ενοτήτων (λίστα αρχείων που χωρίζονται με κόμματα), αντικαθιστώντας την καθολική τιμή στο <link linkend="metafiles_sections">αρχείο ενότητας</link> ή στη γραμμή εντολών. Πρόκειται για προαιρετικό στοιχείο.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>Η εικόνα που θα εμφανίζεται στο πάνω μέρος της σελίδας αναφοράς για αυτή την ενότητα. Αυτή συχνά θα είναι κάποιου είδους διάγραμμα για την απεικόνιση μια κλάσης ή ενός διαγράμματος της σχέσης της με άλλες κλάσεις. Αυτή η καταχώρηση είναι προαιρετική.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>Για να μη χρειαστεί να κάνετε εκ νέου μεταγλώττιση μετά από αλλαγές στην τεκμηρίωση, σας προτείνουμε να ενσωματώνετε την τεκμηρίωση των ενοτήτων στο αρχείο του πηγαίου κώδικα, όπου αυτό είναι δυνατό.</para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>Τεκμηρίωση συμβόλων</title>
-
- <para>Κάθε σύμβολο (συνάρτηση, μακροεντολή, δομή, αρίθμηση, σήμα, ιδιότητα) τεκμηριώνεται σε ξεχωριστή ομάδα. Η καταλληλότερη θέση για τις ομάδες είναι δίπλα στους ορισμούς των συμβόλων, γιατί διευκολύνει το έργο συγχρονισμού. Επομένως, η τεκμηρίωση των συναρτήσεων συνήθως βρίσκεται στο αρχείο του πηγαίου κώδικα, ενώ των μακροεντολών, δομών και αριθμήσεων στο αρχείο κεφαλίδας.</para>
-
- <sect2><title>Γενικές ετικέτες</title>
-
- <para>Μπορείτε να προσθέσετε πληροφορίες εκδόσεων σε όλα τα στοιχεία της τεκμηρίωσης για να πείτε πότε εισήχθηκε ένα API, ή πότε καταργήθηκε.</para>
-
- <variablelist><title>Εκδόσεις Ετικετών</title>
- <varlistentry><term>Από:</term>
- <listitem>
- <para>Περιγραφή οπό ποια έκδοση του κώδικα και μετά είναι διαθέσιμο το API.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Παρωχημένη:</term>
- <listitem>
- <para>Παράγραφος που επισημαίνει ότι θα πρέπει να σταματήσει η χρήση της συνάρτησης. Η περιγραφή θα πρέπει να παραπέμπει τον αναγνώστη στο νέο API.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Μπορείτε επίσης να προσθέσετε πληροφορίες σταθερότητας σε όλα τα στοιχεία της τεκμηρίωσης για να δείξετε αν η σταθερότητα API είναι εγγυημένη για αυτά για όλες τις μελλοντικές δευτερεύουσες εκδόσεις του έργου.</para>
-
- <para>Το επίπεδο προεπιλεγμένης σταθερότητας για όλα τα στοιχεία τεκμηρίωσης μπορούν να οριστούν μεταφέροντας το όρισμα <option>--default-stability</option> στην <application>gtkdoc-mkdb</application> με μια άπω τις παρακάτω τιμές.</para>
-
- <variablelist><title>Ετικέτες σταθερότητας</title>
- <varlistentry><term>Σταθερότητα: σταθερό</term>
- <listitem>
- <para>Σημείωση του στοιχείου ως σταθερού. Αυτό είναι για δημόσια APIs που είναι βέβαια ότι παραμένουν σταθερά για όλες τις μελλοντικές δευτερεύουσες εκδόσεις του έργου.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Σταθερότητα: ασταθές</term>
- <listitem>
- <para>Σημείωση του στοιχείου ως ασταθούς. Αυτό είναι για τα δημόσια APIs που εκδίδονται ως μια προεπισκόπηση πριν να σταθεροποιηθούν.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Σταθερότητα: προσωπική</term>
- <listitem>
- <para>Σημείωση του στοιχείου ως προσωπικό. Αυτό είναι για διεπαφές που μπορούν να χρησιμοποιηθούν με σφικτά συνδυασμένες ενότητες, αλλά όχι από ελεύθερα τρίτα μέρη.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>Γενικές ετικέτες</title>
- <programlisting>
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Σχόλια</title>
-
- <para>Οι ομάδες τεκμηρίωσης μπορούν να περιέχουν ετικέτες σχολιασμού. Αυτές οι ετικέτες θα αποδοθούν με συμβουλές οθόνης που περιγράφουν το νόημά τους. Οι ετικέτες χρησιμοποιούνται από το gobject-introspection για τη δημιουργία των συνδέσεων γλώσσας. Ένας λεπτομερής κατάλογος των υποστηριζόμενων ετικετών μπορεί να βρεθεί στο <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">η βίκι</ulink>.</para>
-
- <example><title>Σχόλια</title>
- <programlisting>
-/**
- * foo_get_bar: (σχόλιο)
- * @foo: (σχόλιο): some foo
- *
- * Ανακτά @foo's bar.
- *
- * Επιστρέφει: (σχόλιο): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (σχόλιο) (ένα άλλο σχόλιο)
- * (και ένα άλλο σχόλιο)
- * @foo: (σχόλιο) (ένα άλλο σχόλιο): some foo
- *
- * Ορίζει γραμμή στο @foo.
- */
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Ομάδα σχολίων συνάρτησης</title>
-
- <para>Παρακαλούμε να θυμηθείτε να: <itemizedlist>
- <listitem>
- <para>Τεκμηριώστε κατά πόσο τα επιστρεφόμενα αντικείμενα, λίστες, συμβολοσειρές, κ.λπ, θα πρέπει να ελευθερώνονται, να μην ελευθερώνονται ή να απορρίπτονται.</para>
- </listitem>
- <listitem>
- <para>Τεκμηριώσετε κατά πόσο οι παράμετροι μπορούν να είναι μηδενικές (NULL) και τι συμβαίνει αν είναι.</para>
- </listitem>
- <listitem>
- <para>Αναφέρετε ενδιαφέρουσες προ-καταστάσεις και μετα-καταστάσεις όπου χρειάζεται.</para>
- </listitem>
- </itemizedlist></para>
-
- <para>Το Gtk-doc θεωρεί ότι όλα τα σύμβολα (μακροεντολές, συναρτήσεις, κτλ.) που ξεκινούν με '_' είναι ιδιωτικά και τα μεταχειρίζεται σαν στατικές συναρτήσεις.</para>
-
- <example><title>Ομάδα σχολίων συνάρτησης</title>
- <programlisting>
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-</programlisting>
- </example>
-
- <variablelist><title>Ετικέτες συναρτήσεων</title>
- <varlistentry><term>Επιστροφές:</term>
- <listitem>
- <para>Παράγραφος που περιγράφει το επιστρεφόμενο αποτέλεσμα.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>Σε περίπτωση που η συνάρτηση μπορεί να δεχθεί μεταβλητό αριθμό ορισμάτων (variadic), πρέπει να χρησιμοποιήσετε αυτή την ετικέτα (η ετικέτα @Varargs: λειτουργεί επίσης, για ιστορικούς λόγους).</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>Ομάδα σχολίων ιδιότητας</title>
-
- <example><title>Ομάδα σχολίων ιδιότητας</title>
- <programlisting>
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Ομάδα σχολίων σήματος</title>
-
- <para>Παρακαλούμε να θυμηθείτε να: <itemizedlist>
- <listitem>
- <para>Τεκμηριώστε πότε εκπέμπεται το σήμα και κατά πόσο εκπέμπεται πριν ή μετά από άλλα σήματα.</para>
- </listitem>
- <listitem>
- <para>Τεκμηριώστε τι μπορεί να κάνει μια εφαρμογή στον διαχειριστή σημάτων.</para>
- </listitem>
- </itemizedlist></para>
-
- <example><title>Ομάδα σχολίων σήματος</title>
- <programlisting><![CDATA[
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Ομάδα σχολίων δομής</title>
- <example><title>Ομάδα σχολίων δομής</title>
- <programlisting>
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-</programlisting>
- </example>
-
- <para>Χρησιμοποιήστε το <code>/*< private >*/</code> πριν από πεδία ιδιωτικών δομών που θέλετε να αποκρύψετε. Χρησιμοποιήστε το <code>/*< public >*/</code>για την αντίστροφη συμπεριφορά.</para>
-
- <para>Αν το πρώτο πεδίο είναι "g_iface", "parent_instance" ή "parent_class" θα θεωρηθεί αυτόματα ιδιωτικό και δεν θα χρειαστεί να αναφερθεί στην περιοχή των σχολίων.</para>
-
- <para>Οι ομάδες σχολίων μιας δομής μπορούν επίσης να χρησιμοποιηθούν για GObjects και για GObjectClasses. Είναι συνήθως καλή ιδέα να προσθέτετε μία ομάδα σχολίου για μια κλάση, εάν έχει vmethods (γιατί έτσι μπορούν να τεκμηριωθούν). Για το ίδιο το GObject μπορείτε να χρησιμοποιήσετε τα σχετικά έγγραφα τμημάτων, έχοντας μία ξεχωριστή ομάδα για το στιγμιότυπο δομής θα ήταν χρήσιμο εάν το στιγμιότυπο έχει δημόσια πεδία. Ένα μειονέκτημα εδώ είναι ότι θα δημιουργηθούν δύο καταχωρήσεις δεικτών για το ίδιο όνομα (για την δομή και για το τμήμα).</para>
-
- </sect2>
-
- <sect2><title>Ομάδα σχολίων Enum</title>
- <example><title>Ομάδα σχολίων Enum</title>
- <programlisting>
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-</programlisting>
- </example>
-
- <para>Χρησιμοποιήστε το <code>/*< private >*/</code> πριν από ιδιωτικές τιμές enum που θέλετε να αποκρύψετε. Χρησιμοποιήστε το <code>/*< public >*/</code> για την αντίστροφη συμπεριφορά.</para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Inline program documentation</title>
- <para>
- You can document programs and their commandline interface using inline
- documentation.
- </para>
-
- <variablelist>
- <title>Tags</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>
- Defines the start of a program documentation.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>
- Defines a short description of the program. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>
- Defines the arguments, or list of arguments that the program can take.
- (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>
- See Also manual page section. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>
- Argument(s) passed to the program and their description. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>
- A longer description of the program.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Επιστροφές:</term>
- <listitem>
- <para>
- Specify what value(s) the program returns. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Example of program documentation.</title>
- <example><title>Program documentation block</title>
- <programlisting><![CDATA[
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-]]></programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>Χρήσιμες ετικέτες DocBook</title>
-
- <para>Ακολουθούν ορισμένες ετικέτες DocBook, ιδιαίτερα χρήσιμες για την τεκμηρίωση του κώδικα.</para>
-
- <para>Για να συνδεθείτε με μια άλλη ενότητα στην τεκμηρίωση GTK: <informalexample>
- <programlisting>
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-</programlisting>
- </informalexample> Ο προορισμός είναι το αναγνωριστικό του SGML/XML στο πρώτο στοιχείο της σελίδας στην οποία παραπέμπει ο σύνδεσμος. Για τις περισσότερες σελίδες είναι το ("gtk", "gdk", glib"), ακολουθούμενο από τον τίτλο της σελίδας ("Πίνακες Hash"). Για τα γραφικά συστατικά είναι το όνομα της κλάσης. Τα διαστήματα και τα «_» μετατρέπονται σε «-» για να υπάρχει συμμόρφωση με το SGML/XML.</para>
-
- <para>Αναφορά σε εξωτερική συνάρτηση, π.χ. τυποποιημένη συνάρτηση C: <informalexample>
- <programlisting>
-<function>...</function>
-</programlisting>
- </informalexample></para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>Συμπερίληψη λιστών με κουκκίδες: <informalexample>
- <programlisting>
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-</programlisting>
- </informalexample></para>
-
- <para>Συμπερίληψη σημειώσεων που ξεχωρίζουν από το υπόλοιπο κείμενο: <informalexample>
- <programlisting>
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-</programlisting>
- </informalexample></para>
-
- <para>Για να αναφερθείτε σε έναν τύπο: <informalexample>
- <programlisting>
-<type>unsigned char</type>
-</programlisting>
- </informalexample></para>
-
- <para>Για να αναφερθείτε σε μια εξωτερική δομή (που δεν περιγράφεται στην τεκμηρίωση GTK): <informalexample>
- <programlisting>
-<structname>XFontStruct</structname>
-</programlisting>
- </informalexample></para>
-
- <para>Για να αναφερθείτε σε ένα πεδίο μιας δομής: <informalexample>
- <programlisting>
-<structfield>len</structfield>
-</programlisting>
- </informalexample></para>
-
- <para>Για να αναφερθείτε σε ένα όνομα κλάσης, θα μπορούσατε να χρησιμοποιήσετε το : <informalexample>
- <programlisting>
-<classname>GtkWidget</classname>
-</programlisting>
- </informalexample>, αλλά μάλλον θα χρησιμοποιήσετε το #GtkWidget (για αυτόματη δημιουργία συνδέσμου προς τη σελίδα GtkWidget, δείτε <link linkend="documenting_syntax">τις συντομεύσεις</link>).</para>
-
- <para>Χρήση έντονων χαρακτήρων: <informalexample>
- <programlisting>
-<emphasis>This is important</emphasis>
-</programlisting>
- </informalexample></para>
-
- <para>Για ονόματα αρχείων χρησιμοποιήστε: <informalexample>
- <programlisting>
-<filename>/home/user/documents</filename>
-</programlisting>
- </informalexample></para>
-
- <para>Για να αναφερθείτε σε κλειδιά χρησιμοποιήστε: <informalexample>
- <programlisting>
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-</programlisting>
- </informalexample></para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Συμπλήρωση των επιπλέον αρχείων</title>
-
- <para>Υπάρχουν ορισμένα επιπλέον αρχεία που πρέπει να ενημερώνονται παράλληλα με τα σχόλια εντός του πηγαίου κώδικα: <filename><package>.types</filename>, <filename><package>-docs.xml</filename> (στο παρελθόν .sgml), <filename><package>-sections.txt</filename>.</para>
-
- <sect1 id="metafiles_types">
- <title>Επεξεργασία του αρχείου types</title>
-
- <para>Αν η βιβλιοθήκη ή η εφαρμογή σας περιέχει GObjects, θα θέλετε να εμφανίζονται στην τεκμηρίωση τα σήματα, τα ορίσματα/παράμετροι καθώς και η θέση τους στην ιεραρχία. Για να το πετύχετε, απλά καταγράψτε τις συναρτήσεις <function>xxx_get_type</function> μαζί με την συμπερίληψή τους στο αρχείο <filename><package>.types</filename>.</para>
-
- <para>
- <example><title>Example <package>.types file</title>
- <programlisting>
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-</programlisting>
- </example>
- </para>
-
- <para>Από την έκδοση 1.8 και μετά το <application>gtkdoc-scan</application> μπορεί να παράγει αυτόματα αυτή τη λίστα. Απλά προσθέστε την επιλογή "--rebuild-types" στο SCAN_OPTIONS του <filename>Makefile.am</filename>. Αν προτιμήσετε αυτή την προσέγγιση, θα πρέπει να μη συμπεριλάβετε το αρχείο types ούτε στη διανομή ούτε στον έλεγχο εκδόσεων.</para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>Επεξεργασία κύριου εγγράφου (master)</title>
-
- <para>Το GTK-Doc παράγει τεκμηρίωση σε μορφή SGML/XML DocBook. Κατά την επεξεργασία των σχολίων εντός του πηγαίου κώδικα, τα εργαλεία του GTK-Doc παράγουν μία σελίδα τεκμηρίωσης ανά κλάση ή άρθρωμα, η οποία αποθηκεύεται ως ξεχωριστό αρχείο. Το κύριο έγγραφο συμπεριλαμβάνει αυτά τα αρχεία και τα ταξινομεί.</para>
-
- <para>Αν και το GTK-Doc παράγει αυτόματα ένα πρότυπο κύριο έγγραφο για σας, οι επόμενες εκτελέσεις δεν θα το ξαναθίξουν. Αυτό σημαίνει ότι μπορείτε να δομήσετε την τεκμηρίωση ελεύθερα. Αυτό περιλαμβάνει την ομαδοποίηση των σελίδων και την προσθήκη πρόσθετων σελίδων. Το GTK-Doc διαθέτει πλέον μια σουίτα για δοκιμές, στην οποία το κύριο έγγραφο αναδημιουργείται από την αρχή. Είναι καλό να το κοιτάτε κάπου-κάπου για να δείτε αν υπάρχουν κάποια νέα καλούδια που εισήχθησαν εκεί.</para>
-
- <tip>
- <para>Μη δημιουργείτε εγχειρίδια ως νέα έγγραφα. Απλά προσθέστε επιπλέον κεφάλαια. Το όφελος της ενσωμάτωσης απευθείας του εγχειριδίου για μια βιβλιοθήκη στην τεκμηρίωση API είναι ότι έτσι διευκολύνεται η διαδικασία δημιουργίας συνδέσμων από το εγχειρίδιο προς την τεκμηρίωση των συμβόλων. Επίσης, έτσι καθίσταται πιθανότερη η ενημέρωση του εγχειριδίου μαζί με τη βιβλιοθήκη.</para>
- </tip>
-
- <para>Ποιες είναι λοιπόν οι αλλαγές που πρέπει να γίνουν στο κύριο έγγραφο; Πρόκειται για λίγες μόνο αλλαγές σε ορισμένα placeholders (κείμενα εντός αγκυλών) που πρέπει να διευκρινήσετε.</para>
-
- <para>
- <example><title>Κεφαλίδα κύριου εγγράφου</title>
- <programlisting>
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-</programlisting>
- </example>
- </para>
-
- <para>Επιπλέον κάποια στοιχεία επιλογής δημιουργούνται με μορφή σχολίου. Μπορείτε να τα ελέγξετε και να τα ενεργοποιήσετε όπως θέλετε.</para>
-
- <para>
- <example><title>Προαιρετικό τμήμα στο κύριο έγγραφο</title>
- <programlisting><![CDATA[
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-]]></programlisting>
- </example>
- </para>
-
- <para>Τέλος, χρειάζεται να προσθέσετε νέα ενότητα όποτε εισάγετε μία. Το εργαλείο <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> θα σας θυμίσει τα νεοδημιουργούμενα αρχεία xml που δεν περιλαμβάνονται ακόμα στο έγγραφο.</para>
-
- <para>
- <example><title>Συμπερίληψη των δημιουργούμενων ενοτήτων</title>
- <programlisting>
- <chapter>
- <title>my library</title>
- <xi:include href="xml/object.xml"/>
- ...
-</programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>Επεξεργασία αρχείου ενοτήτων</title>
-
- <para>Το αρχείο ενοτήτων χρησιμεύει στην οργάνωση της τεκμηρίωσης που παράγεται από το GTK-Doc. Εδώ διευκρινίζεται σε ποιο άρθρωμα ή κλάση ανήκει κάθε σύμβολο και αποφασίζεται η ορατότητά του (αν θα είναι δημόσιο ή ιδιωτικό).</para>
-
- <para>Το αρχείο ενοτήτων είναι ένα αρχείο απλού κειμένου με ετικέτες οριοθετημένων περιοχών. Οι κενές γραμμές αγνοούνται, ενώ οι γραμμές που ξεκινούν με '#' αντιμετωπίζονται ως γραμμές σχολίων.</para>
-
- <note>
- <para>Ενώ οι ετικέτες δείχνουν πως είναι ένα αρχείο xml, στην πραγματικότητα δεν είναι. Παρακαλούμε μην κλείνετε τις ετικέτες όπως <SUBSECTION>.</para>
- </note>
-
- <para>
- <example><title>Συμπερίληψη των δημιουργούμενων ενοτήτων</title>
- <programlisting>
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-</programlisting>
- </example>
- </para>
-
- <para>Η ετικέτα <FILE> ... </FILE> χρησιμοποιείται για να δηλώσει το όνομα του αρχείου, χωρίς οποιοδήποτε επίθημα. Παραδείγματος χάρη, η χρήση του '<FILE>gnome-config</FILE>' θα καταλήξει στην ενότητα δηλώσεων που εξάγονται στο αρχείο προτύπου <filename>tmpl/gnome-config.sgml</filename>, το οποίο θα μετατραπεί στο αρχείο DocBook XML <filename>xml/gnome-config.sgml</filename> ή στο αρχείο DocBook XML <filename>xml/gnome-config.xml</filename>. (Το όνομα του αρχείου HTML βασίζεται στο όνομα του αρθρώματος και τον τίτλο της ενότητας, ή για τα GObjects βασίζεται στο όνομα κλάσης GObjects που μετατράπηκε σε πεζά γράμματα).</para>
-
- <para>Η ετικέτα <TITLE> ... </TITLE> χρησιμοποιείται για να ορίσει τους τίτλους των ενοτήτων. Χρησιμεύει μόνο πριν τη δημιουργία των προτύπων, καθώς ο τίτλος που περιέχεται στα αρχεία προτύπων αντικαθιστά αυτούς τους τίτλους. Επίσης, αν χρησιμοποιείται το σχόλιο SECTION στον πηγαίο κώδικα, αυτό είναι παρωχημένο.</para>
-
- <para>Μπορείτε να ομαδοποιήσετε στοιχεία στην ενότητα χρησιμοποιώντας την ετικέτα <SUBSECTION>. Με την τωρινή της μορφή, εμφανίζει μία κενή γραμμή μεταξύ υποενοτήτων στη συνοπτική παρουσίαση. Μπορείτε επίσης να χρησιμοποιήσετε την <SUBSECTION Standard> για κλασικές δηλώσεις GObject (π.χ. συναρτήσεις όπως η g_object_get_type και μακροεντολές όπως οι G_OBJECT(), G_IS_OBJECT(), κτλ.). Προς το παρόν αυτές οι δηλώσεις μένουν εκτός τεκμηρίωσης. Μπορείτε να χρησιμοποιήσετε την ετικέτα <SUBSECTION Private> για ιδιωτικές δηλώσεις που δεν πρόκειται να εμφανιστούν στην τεκμηρίωση (έτσι αποφεύγετε τις προειδοποιήσεις για δηλώσεις που δεν χρησιμοποιούνται). Αν η βιβλιοθήκη σας περιέχει ιδιωτικούς τύπους, για τους οποίους δεν επιθυμείτε να εμφανίζονται στην ιεραρχία αντικειμένων και στη λίστα υλοποιημένων ή απαιτούμενων διεπαφών, προσθέσετε τους σε μία ιδιωτική υποενότητα. Αν θα τοποθετήσετε κλάσεις GObject και GObjectClass σε δημόσιες ή κλασσικές ενότητες εξαρτάται από το αν έχετε δημόσιες καταχωρήσεις (μεταβλητές,vmethods).</para>
-
- <para>Μπορείτε, επίσης, να χρησιμοποιήσετε την ετικέτα <INCLUDE> ... </INCLUDE> για τα αρχεία #include που περιλαμβάνονται στις ενότητες συνοπτικής παρουσίασης. Περιέχει μία λίστα με αρχεία #include, χωρισμένα με κόμματα και χωρίς τα '<' και '>'. Αν δεν τη χρησιμοποιήσετε στο εσωτερικό κάποιας ενότητας, θα αφορά όλες τις ενότητες μέχρι το τέλος του αρχείου. Αν τη χρησιμοποιήσετε στο εσωτερικό μιας ενότητας, τότε θα αφορά μόνο τη συγκεκριμένη ενότητα. </para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>Έλεγχος αποτελέσματος</title>
-
- <para>Κατά την εκτέλεση του GTK-Doc παράγονται αρχεία αναφορών που τοποθετούνται στον κατάλογο της τεκμηρίωσης. Πρόκειται για τα αρχεία: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> και <filename><package>-unused.txt</filename>. Είναι αρχεία απλού κειμένου, εύκολα στην ανάγνωση και επεξεργασία.</para>
-
- <para>Το αρχείο <filename><package>-undocumented.txt</filename> ξεκινά με μία περίληψη της κάλυψης της τεκμηρίωσης. Ακολουθούν δύο ενότητες που χωρίζονται μεταξύ τους με κενές γραμμές. Η πρώτη ενότητα αναφέρει τα σύμβολα που δε διαθέτουν τεκμηρίωση ή είναι ημιτελή. Η δεύτερη καταγράφει τα ίδια στοιχεία για την τεκμηρίωση των ενοτήτων. Ημιτελείς θεωρούνται οι καταχωρήσεις για τις οποίες υπάρχει τεκμηρίωση, αλλά στις οποίες π.χ. προστέθηκε μια νέα παράμετρος.</para>
-
- <para>Το αρχείο <filename><package>-undeclared.txt</filename> περιέχει σύμβολα που αναφέρονται στο αρχείο <filename><package>-sections.txt</filename>, αλλά δε βρέθηκαν στον πηγαίο κώδικα. Θα πρέπει να ελέγξετε αν έχουν αφαιρεθεί ή αν περιέχουν συντακτικά λάθη.</para>
-
- <para>Το αρχείο <filename><package>-unused.txt</filename> περιέχει ονόματα συμβόλων για τα οποία η σάρωση του GTK-Doc βρήκε τεκμηρίωση, αλλά δεν γνωρίζει πού να την τοποθετήσει. Aυτό σημαίνει ότι τα σύμβολα δεν έχουν προστεθεί ακόμη στο αρχείο <filename><package>-sections.txt</filename>.</para>
-
- <tip>
- <para>Ενεργοποιήστε ή προσθέστε τη γραμμή <option>TESTS=($GTKDOC_CHECK)</option> στο Makefile.am. Αν έχετε εγκατεστημένη την έκδοση GTK-Doc 1.9 ή μεταγενέστερη, θα πραγματοποιεί διάφορους ελέγχους κατά την εκτέλεση του <command>make check</command>.</para>
- </tip>
-
- <para>Μπορείτε επίσης να δείτε τα αρχεία που παράγονται από το σαρωτή του πηγαίου κώδικα: <filename><package>-decl-list.txt</filename> και <filename><package>-decl.txt</filename>. Το πρώτο μπορεί να συγκριθεί με το αρχείο της ενότητας, αν αυτό συντηρείται χειροκίνητα. Το δεύτερο περιέχει όλες τις δηλώσεις από τις κεφαλίδες. Αν ένα σύμβολο λείπει μπορείτε να ελέγξετε αν περιέχεται σε αυτό το αρχείο.</para>
-
- <para>Αν το έργο βασίζεται στο GObject, μπορείτε επίσης να δείτε τα αρχεία που παράγονται από το σαρωτή αντικειμένων: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> και <filename><package>.signals.txt</filename>. Αν υπάρχουν σύμβολα που λείπουν από οποιοδήποτε από αυτά, μπορείτε να ζητήσετε από το gtkdoc να κρατήσει το ενδιάμεσο αρχείο σάρωσης για περαιτέρω ανάλυση, εκτελώντας το ως μια εντολή <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.</para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Εκσυγχρονίζοντας την τεκμηρίωση</title>
-
- <para>Το GTK-Doc κυκλοφορεί εδώ και αρκετό καιρό. Σε αυτό το κεφάλαιο θα παραθέσουμε τις νέες λειτουργίες μαζί με την έκδοση στην οποία είναι διαθέσιμες.</para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>Όταν χρησιμοποιείτε το xml αντί για το sgml, μπορείτε πράγματι να ονομάσετε το κύριο έγγραφο <filename><package>-docs.xml</filename>.</para>
-
- <para>Αυτή η έκδοση υποστηρίζει <option>SCAN_OPTIONS=--rebuild-sections</option> στο <filename>Makefile.am</filename>. Αν αυτό ενεργοποιηθεί, το <filename><package>-sections.txt</filename> αυτοδημιουργείται και μπορεί να αφαιρεθεί από το vcs. Αυτό λειτουργεί καλά μόνο για έργα που έχουν μια πολύ κανονική δομή (π.χ. το κάθε ζεύγος .{c,h} θα δημιουργεί μια νέα ενότητα). Αν κάποιος οργανώσει ένα έργο κοντά σε αυτό, τότε η ενημέρωση μιας ενότητας αρχείων που συντηρούνται χειρονακτικά μπορεί να είναι τόσο απλή όσο και το να εκτελούμε <code>meld <package>-decl-list.txt <package>-sections.txt</code>.</para>
-
- <para>
- Version 1.8 already introduced the syntax for documenting sections in
- the sources instead of the separate files under <filename class="directory">tmpl</filename>.
- This version adds options to switch the whole doc module to not use the
- extra tmpl build step at all, by using <option>--flavour no-tmpl</option>
- in <filename>configure.ac</filename>. If you don't have a <filename class="directory">tmpl</filename>
- checked into your source control system and haven't yet switched, just
- add the flag to <filename>configure.ac</filename> and you are done.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>Αυτή η έκδοση υποστηρίζει τα <option>SCAN_OPTIONS=--rebuild-types</option> στο <filename>Makefile.am</filename>. Αν αυτό ενεργοποιηθεί, το <filename><package>.types</filename> αυτοδημιουργείται και μπορεί να αφαιρεθεί από το vcs. Όταν χρησιμοποιείτε αυτή τη λειτουργία είναι σημαντικό να ρυθμίσετε και το <varname>IGNORE_HFILES</varname> στο <filename>Makefile.am</filename> για τον κώδικα που δομείται υπό όρους.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>Αυτή η έκδοση περιλαμβάνει ένα νέο εργαλείο που λέγεται gtkdoc-check. Αυτό το εργαλείο μπορέι να εκτελεί ένα σύνολο ελέγχων στην τεκμηρίωσή σας. Ενεργοποιείται προσθέτοντας αυτές τις γραμμές στο τέλος του <filename>Makefile.am</filename>. <example><title>Ενεργοποίηση του gtkdoc-check</title>
- <programlisting>
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>Η έκδοση 1.18 έφερε μια αρχική υποστήριξη για το markdown. Η χρήση markdown στα σχόλια του doc είναι λιγότερο ενοχλητική από το να γράφει κανείς docbook xml. Αυτή η έκδοση επιφέρει μεγάλες βελτιώσεις σε αυτό και προσθέτει περισσότερα στυλ. Η ενότητα που εξηγεί τη <link linkend="documenting_syntax">σύνταξη σχολίων</link> έχει όλες τις λεπτομέρειες.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>
- The makefiles shipped with this version generate an entity file at <filename>xml/gtkdocentities.ent</filename>,
- containing entities for e.g. package_name and package_version. You can
- use this e.g. in the main xml file to avoid hardcoding the version
- number. Below is an example that shows how the entity file is included
- in the master template and how the entities are used.
- The entities can also be used in all
- generated files, GTK-Doc will use the same xml header in generated xml
- files.
- <example><title>Use pre-generated entities</title>
- <programlisting><![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-]]></programlisting>
- </example>
- </para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Τεκμηρίωση άλλων διεπαφών</title>
-
- <para>Μέχρ τώρα, χρησιμοποιούσαμε το GTK-Doc για να καταγράφουμε το API του κώδικα. Οι επόμενες συνεδρίες περιέχουν προτάσεις για το πώς τα εργαλεία μπορούν να χρησιμοποιηθούν για να καταγράφετε και άλλες διεπαφές.</para>
-
- <sect1 id="commandline-interfaces">
- <title>Επιλογές γραμμής εντολών και σελίδες τεκμηρίωσης man</title>
-
- <para>Δεδομένου ότι κάποιος μπορεί να παραγάγει σελίδες man για ένα docbook refentry επίσης, θα ήταν καλή ιδέα να χρησιμοποιηθεί και για αυτόν τον σκοπό. Με αυτόν τον τρόπο η διεπαφή γίνεται μέρος της αναφοράς και αποκτά δωρεάν την σελίδα-man.</para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Τεκμηρίωση του εργαλείου</title>
-
- <para>Δημιουργήστε ένα refentry αρχείο ανά εργαλείο. Ακολουθώντας <link linkend="settingup_docfiles"> το παράδειγμά μας </link> θα το ονομάσουμε <filename>meep/docs/reference/meeper/meep.xml</filename>. Για τις ετικέτες xml που πρέπει να χρησιμοποιηθούν και μπορούν να εξετάσουν το παραγόμενο αρχείο στον υποκατάλογο xml καθώς επίσης και τα παραδείγματα π.χ. στο glib.</para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Προσθήκη του έξτρα ελέγχου διαμόρφωσης</title>
-
- <para>
- <example><title>Επιπλέον έλεγχοι ρυθμίσεων</title>
- <programlisting>
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-</programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Προσθήκη των επιπλέον κανόνων makefile</title>
-
- <para>
- <example><title>Επιπλέον έλεγχοι ρυθμίσεων</title>
- <programlisting>
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-</programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>Διεπαφές DBus</title>
-
- <para>(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)</para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Συχνές ερωτήσεις</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>Ερώτηση</segtitle>
- <segtitle>Απάντηση</segtitle>
- <seglistitem>
- <seg>Δεν υπάρχει ιεραρχία κλάσεων.</seg>
- <seg>Η συνάρτηση αντικειμένου <function>xxx_get_type()</function> δεν έχει εισαχθεί στο αρχείο <filename><package>.types</filename></seg>
- </seglistitem>
- <seglistitem>
- <seg>Εξακολουθεί να μην υπάρχει ιεραρχία κλάσεων.</seg>
- <seg>Ελλιπής ή λανθασμένη ονομασία στο αρχείο <filename><package>-sections.txt</filename> (δείτε την <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">αιτιολόγηση</ulink>).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Στο καλό του, πάλι δεν έχω ιεραρχία κλάσεων.</seg>
- <seg>Ελέγξτε αν το όνομα του αντικειμένου (δηλαδή το όνομα του συγκεκριμένου παραδείγματος της δομής, π.χ. <type>GtkWidget</type>) περιλαμβάνεται στην κανονική ενότητα (δεν πρέπει να βρίσκεται εντός υποενότητας Standard ή Private).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Δεν υπάρχει ευρετήριο συμβόλων.</seg>
- <seg>Το <filename><package>-docs.{xml,sgml}</filename> περιέχει ένα ευρετήριο το οποίο περιλαμβάνει με xi:includes το παραγόμενο ευρετήριο;</seg>
- </seglistitem>
- <seglistitem>
- <seg>Δεν υπάρχουν σύνδεσμοι μεταξύ των συμβόλων και των κατάλληλων ενοτήτων της τεκμηρίωσης.</seg>
- <seg>Το doc-comment χρησιμοποιεί σωστά τις επισημάνσεις (έχουν προστεθεί #,% ή ()); Ελέγξτε αν το gtkdoc-fixxref προειδοποιεί για ανεπίλυτα xrefs.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Μια νέα κλάση δεν εμφανίζεται στην τεκμηρίωση.</seg>
- <seg>Συμπεριλαμβάνεται η νέα σελίδα xi:included από το <filename><package>-docs.{xml,sgml}</filename>;</seg>
- </seglistitem>
- <seglistitem>
- <seg>Ένα νέο σύμβολο δεν εμφανίζεται στην τεκμηρίωση.</seg>
- <seg>Το doc-comment είναι κανονικά μορφοποιημένο; Ελέγξτε για συντακτικά λάθη στην αρχή του σχολίου. Ελέγξτε αν το gtkdoc-fixxref προειδοποιεί για ανεπίλυτα xref. Ελέγξτε αν το σύμβολο είναι σωστά καταχωρημένο στο <filename><package>-sections.txt</filename> σε μια δημόσια υποενότητα.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Λείπει ένας τύπος από την ιεραρχία κλάσεων.</seg>
- <seg>Αν ο τύπος υπάρχει στο <filename><package>.hierarchy</filename> αλλά όχι στο <filename>xml/tree_index.sgml</filename> τότε ελέγξτε ξανά ότι ο τύπος είναι σωστά τοποθετημένος στο <filename><package>-sections.txt</filename>. Αν ο τύπος του παραδείγματος (π.χ. <type>GtkWidget</type>) δεν είναι καταχωρημένος, ή είναι κατά λάθος σημειωμένος ως ιδιωτικός, τότε δε θα εμφανιστεί.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Λαμβάνω συνδέσμους foldoc για όλες τις σημειώσεις gobject.</seg>
- <seg>Ελέγξτε ότι το <filename>xml/annotation-glossary.xml</filename> είναι xi:included από το <filename><package>-docs.{xml,sgml}</filename>.</seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Μια παράμετρος περιγράφεται σε σχόλιο του πηγαίου κώδικα, αλλά δεν υπάρχει</seg>
- <seg>Ελέγξτε αν το πρωτότυπο στην κεφαλίδα περιέχει διαφορετικό όνομα για την παράμετρο από αυτό που αναφέρεται στον κώδικα.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>Πολλαπλά "Αναγνωριστικά" για τον προορισμό συνδέσμου: XYZ</seg>
- <seg>Το σύμβολο XYZ εμφανίζεται δύο φορές στο αρχείο <filename><package>-sections.txt</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Βρέθηκε το όνομα τύπου του στοιχείου στην ονοματοθεσία '', αλλά δεν αντιστοιχεί σε κανένα πρότυπο.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Εργαλεία σχετικά με το gtk-doc</title>
-
- <para>GtkDocPlugin - ένα πρόσθετο ενσωμάτωσης <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>, που προσθέτει έγγραφα API σε ιστοσελίδες trac και ενσωματώνεται με την αναζήτηση trac.</para>
- <para>Gtkdoc-depscan - ένα εργαλείο (μέρος του gtk-doc) για έλεγχο του χρησιμοποιούμενου API, επειδή οι ετικέτες στο API καθορίζουν την ελάχιστη απαιτούμενη έκδοση.</para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Έκδοση 1.1, Μάρτιος 2000</releaseinfo>
- <copyright><year>2000</year><holder>Ίδρυμα Ελεύθερου Λογισμικού, Inc.</holder></copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address> Επιτρέπεται σε όλους η αντιγραφή και διανομή ακριβούς αντιγράφου του κειμένου αυτής της άδειας αλλά απαγορεύεται η αλλοίωση του περιεχομένου του.</para>
- </legalnotice>
- </appendixinfo>
- <title>Άδεια Ελεύθερης Τεκμηρίωσης GNU (GFDL)</title>
-
- <sect1 id="fdl-preamble">
- <title>0. ΠΡΟΟΙΜΙΟ</title>
- <para>Σκοπός της παρούσας Άδειας είναι η δημιουργία εγχειριδίων, συγγραμμάτων ή άλλων εγγράφων που είναι <quote>ελεύθερα</quote> υπό την έννοια ότι παρέχουν σε όλους πραγματική ελευθερία αντιγραφής και αναδιανομής τους, με ή χωρίς τροποποιήσεις, για εμπορικούς ή μη εμπορικούς σκοπούς. Δευτερευόντως, η παρούσα Άδεια παρέχει έναν τρόπο για να αναγνωρίζεται το έργο του συγγραφέα και του εκδότη ενός έργου, χωρίς να μπορούν να θεωρηθούν υπεύθυνοι για τροποποιήσεις που έγιναν από τρίτους.</para>
-
- <para>Η παρούσα Άδεια είναι μια άδεια τύπου <quote>copyleft</quote>, το οποίο σημαίνει ότι τα παράγωγα έργα του εγγράφου θα πρέπει να είναι και αυτά ελεύθερα υπό την ίδια έννοια. Πρόκειται για άδεια συμπληρωματική της Γενικής Άδειας Δημόσιας Χρήσης GNU, που είναι άδεια copyleft σχεδιασμένη για ελεύθερο λογισμικό.</para>
-
- <para>Σχεδιάσαμε αυτήν την Άδεια για χρήση με εγχειρίδια ελεύθερου λογισμικού, γιατί το ελεύθερο λογισμικό χρειάζεται και ελεύθερη τεκμηρίωση: τα ελεύθερα προγράμματα πρέπει να συνοδεύονται από εγχειρίδια που παρέχουν τις ίδιες ελευθερίες που παρέχει και το λογισμικό. Ωστόσο, αυτή η Άδεια δεν περιορίζεται στα εγχειρίδια λογισμικού· μπορεί να χρησιμοποιηθεί για οποιοδήποτε έργο κειμένου, ανεξάρτητα από το θέμα του ή από το αν εκδίδεται σε έντυπη μορφή. Συνιστούμε αυτή την Άδεια, κυρίως, για διδακτικό υλικό ή έργα αναφοράς.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. ΙΣΧΥΣ ΚΑΙ ΟΡΙΣΜΟΙ</title>
- <para id="fdl-document">Η Άδεια αυτή εφαρμόζεται σε κάθε εγχειρίδιο ή άλλο έργο που περιέχει ένδειξη του δικαιούχου δικαιωμάτων πνευματικής ιδιοκτησίας, ότι επιτρέπεται η διανομή του υπό τους όρους αυτής της Άδειας. Ως <quote>Έγγραφο</quote>, κατωτέρω, αναφέρεται κάθε τέτοιο εγχειρίδιο. Ως κάτοχος της άδειας χρήσης θεωρείται κάθε άτομο, και αναφέρεται ως <quote>εσείς</quote>.</para>
-
- <para id="fdl-modified">Ως <quote>Τροποποιημένη Έκδοση</quote> του Εγγράφου θεωρείται κάθε έργο που περιέχει το Έγγραφο ή μέρος αυτού, είτε ως ακριβές αντίγραφο, είτε τροποποιημένο και/είτε μεταφρασμένο σε άλλη γλώσσα.</para>
-
- <para id="fdl-secondary">Ως <quote>Δευτερεύουσα Ενότητα</quote> θεωρείται κάθε παράρτημα ή αρχική ενότητα του <link linkend="fdl-document">Εγγράφου</link> που αναφέρεται αποκλειστικά στη σχέση των εκδοτών ή συγγραφέων του Εγγράφου με το συνολικό θέμα του Εγγράφου (ή σχετικά ζητήματα), και που δεν περιέχει οτιδήποτε μπορεί να θεωρηθεί ότι εντάσσεται άμεσα στο συνολικό αυτό θέμα. (Επί παραδείγματι, αν το Έγγραφο αποτελεί, εν μέρει, σύγγραμμα μαθηματικών, η Δευτερεύουσα Ενότητα δεν επιτρέπεται να επεξηγεί μαθηματικές έννοιες.) Η σχέση μπορεί να αποτελεί ιστορική σύνδεση με το θέμα ή σχετικά ζητήματα, ή νομική, εμπορική, φιλοσοφική, ηθική ή πολιτική θέση επί του θέματος ή σχετικών ζητημάτων.</para>
-
- <para id="fdl-invariant"><quote>Αμετάβλητες Ενότητες</quote> είναι ορισμένες <link linkend="fdl-secondary">Δευτερεύουσες Ενότητες</link> των οποίων οι τίτλοι αναφέρονται ρητώς ως τίτλοι Αμετάβλητων Ενοτήτων στην ένδειξη όπου αναφέρεται ότι το <link linkend="fdl-document">Έγγραφο</link> δημοσιεύεται υπό τους όρους αυτής της Άδειας.</para>
-
- <para id="fdl-cover-texts">Τα <quote>Κείμενα Εξωφύλλου</quote> είναι σύντομα αποσπάσματα κειμένου που αναφέρονται ρητώς ως Κείμενα Εμπροσθοφύλλου ή Κείμενα Οπισθοφύλλου στην ένδειξη όπου αναφέρεται ότι το <link linkend="fdl-document">Έγγραφο</link> δημοσιεύεται υπό τους όρους αυτής της Άδειας.</para>
-
- <para id="fdl-transparent">Ως <quote>Διαφανές</quote> αντίγραφο του <link linkend="fdl-document">Εγγράφου</link> θεωρείται κάθε αντίγραφο σε μορφή αναγνώσιμη από μηχανή, όταν συντρέχουν οι εξής προϋποθέσεις: Οι τεχνικές προδιαγραφές τις μορφής αυτής είναι διαθέσιμες για δημόσια χρήση· τα περιεχόμενα του αντιγράφου μπορούν να προβληθούν και να τύχουν επεξεργασίας άμεσα και απλά, με χρήση γενόσημων επεξεργαστών κειμένου ή ( για εικόνες αποτελούμενες από εικονοστοιχεία) γενόσημων προγραμμάτων ζωγραφικής ή (για σχέδια) ευρέως διαθέσιμων επεξεργαστών σχεδίων· το αντίγραφο είναι κατάλληλο για είσοδο σε μορφοποιητές κειμένου ή για αυτόματη μετάφραση σε ποικίλες μορφές κατάλληλες για είσοδο σε μορφοποιητές κειμένου. Δεν θεωρείται Διαφανές ένα αντίγραφο σε Διαφανή, κατά τα λοιπά, μορφή αρχείου, του οποίου η επισήμανση έχει σχεδιαστεί κατά τρόπο που να αποτρέπει ή να αποθαρρύνει τη μελλοντική τροποποίηση του αντιγράφου από τους αναγνώστες. Το αντίγραφο που δεν είναι <quote>Διαφανές</quote> ονομάζεται <quote>Αδιαφανές</quote>.</para>
-
- <para>Παραδείγματα μορφών κατάλληλων για τη δημιουργία Διαφανών αντιγράφων είναι η απλή ASCII χωρίς επισήμανση, η μορφή εισόδου Texinfo, η μορφή εισόδου LaTeX, η SGML ή XML που χρησιμοποιούν δημοσίως διαθέσιμη DTD, και η HTML που συμμορφώνεται με πρότυπα και έχει σχεδιαστεί για τροποποίηση από τον άνθρωπο. Στις Αδιαφανείς μορφές συμπεριλαμβάνονται η PostScript, η PDF, οι ιδιοταγείς μορφές που αναγιγνώσκονται μόνο από ιδιοταγείς επεξεργαστές κειμένου, η SGML ή XML των οποίων η DTD και/ή τα εργαλεία επεξεργασίας δεν είναι δημοσίως διαθέσιμα, και η HTML με αποκλειστικό προορισμό την έξοδο που παράγουν μηχανοκίνητα ορισμένοι επεξεργαστές κειμένου.</para>
-
- <para id="fdl-title-page">Ως <quote>Σελίδα Τίτλου</quote> θεωρείται, για τα έντυπα βιβλία, η σελίδα τίτλου αυτή καθαυτή, καθώς και τυχόν επόμενες σελίδες που απαιτούνται για την ευανάγνωστη συμπερίληψη του υλικού που οφείλει να εμφανίζεται στη σελίδα τίτλου σύμφωνα με την παρούσα Άδεια. Για τα έργα σε μορφές που δεν περιλαμβάνουν σελίδα τίτλου αυτή καθαυτή, ως <quote>Σελίδα Τίτλου</quote> θεωρείται το κείμενο που βρίσκεται κοντά στην εμφανέστερη εμφάνιση του τίτλου του έργου και το οποίο προηγείται του σώματος του κειμένου.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. ΑΚΡΙΒΗ ΑΝΤΙΓΡΑΦΑ</title>
- <para>Σας χορηγείται άδεια αντιγραφής και διανομής του <link linkend="fdl-document">Εγγράφου</link> σε οποιοδήποτε μέσο, για εμπορικό ή μη εμπορικό σκοπό, με την προϋπόθεση ότι σε κάθε αντίγραφο θα συμπεριλαμβάνετε την παρούσα Άδεια, τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας και την ένδειξη άδειας χρήσης που αναφέρει ότι για το έγγραφο ισχύει η παρούσα Άδεια, και με την προϋπόθεση ότι δεν θα προσθέσετε κανένα επιπρόσθετο όρο πέρα από τους όρους της Άδειας. Δεν σας επιτρέπεται να χρησιμοποιήσετε τεχνικά μέτρα για την παρεμπόδιση ή τον έλεγχο της ανάγνωσης ή περαιτέρω αντιγραφής των αντιγράφων που δημιουργείτε ή διανέμετε. Ωστόσο, μπορείτε να αποδεχτείτε αποζημίωση σε αντάλλαγμα των αντιγράφων. Αν διανέμετε επαρκή αριθμό αντιγράφων, θα πρέπει να συμμορφωθείτε και με τους όρους της <link linkend="fdl-section3">ενότητας 3</link>.</para>
-
- <para>Επίσης, μπορείτε να δανείζετε αντίγραφα σύμφωνα με τους ως άνω όρους και να προβάλλετε δημοσίως τα αντίγραφα.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. ΑΝΤΙΓΡΑΦΗ ΣΕ ΜΕΓΑΛΕΣ ΠΟΣΟΤΗΤΕΣ</title>
- <para>Αν εκδώσετε περισσότερα από 100 στον αριθμό έντυπα αντίγραφα του <link linkend="fdl-document">Εγγράφου</link>, και η ένδειξη άδειας χρήσης του Εγγράφου προϋποθέτει την ύπαρξη <link linkend="fdl-cover-texts">Κειμένων Εξωφύλλου</link>, θα πρέπει να εσωκλείσετε τα αντίγραφα σε εξώφυλλα που θα περιέχουν, με καθαρό και ευανάγνωστο τρόπο, όλα τα ακόλουθα κείμενα εξωφύλλου: Κείμενα Εμπροσθοφύλλου στο εμπροσθόφυλλο και Κείμενα Οπισθοφύλλου στο οπισθόφυλλο. Επίσης, και τα δύο εξώφυλλα θα πρέπει να αναφέρουν, καθαρά και ευανάγνωστα, εσάς ως εκδότη των αντιγράφων. Στο εμπροσθόφυλλο θα πρέπει να αναφέρεται ο πλήρης τίτλος του Εγγράφου, και όλες οι λέξεις του τίτλου θα πρέπει να είναι εξίσου προβεβλημένες και εμφανείς. Επιτρέπεται να προσθέσετε επιπρόσθετο υλικό στα εξώφυλλα. Η παραγωγή αντιγράφων που διαφέρουν μόνο ως προς τα εξώφυλλα, εφόσον διατηρείται ο τίτλος του <link linkend="fdl-document">Εγγράφου</link> και τηρούνται οι παρούσες προϋποθέσεις, μπορεί να θεωρηθεί, κατά τα λοιπά, ως παραγωγή ακριβών αντιγράφων.</para>
-
- <para>Αν τα απαιτούμενα κείμενα ενός ή και των δύο εξωφύλλων είναι υπερβολικά μεγάλα για να παραμείνουν ευανάγνωστα αν συμπεριληφθούν σε μία σελίδα, θα πρέπει να τοποθετήσετε τα πρώτα εξώφυλλα του καταλόγου (όσα χωρούν κανονικά) στο εξώφυλλο αυτό καθ' αυτό, και να τοποθετήσετε τα υπόλοιπα στις γειτονικές σελίδες.</para>
-
- <para>Αν εκδώσετε περισσότερα από 100 στον αριθμό <link linkend="fdl-transparent">Αδιαφανή</link> αντίγραφα του <link linkend="fdl-document">Εγγράφου</link>, είτε θα πρέπει να συμπεριλάβετε ένα <link linkend="fdl-transparent">Διαφανές</link> αντίγραφο (σε μορφή αναγνώσιμη από μηχανή) σε κάθε Αδιαφανές αντίγραφο, είτε θα πρέπει να αναφέρετε — μαζί ή σε κάθε Αδιαφανές αντίγραφο — μια δημοσίως προσβάσιμη τοποθεσία δικτύου υπολογιστών από την οποία θα μπορεί το ευρύ κοινό που χρησιμοποιεί δίκτυα να λάβει ανώνυμα, δωρεάν, και με χρήση πρωτοκόλλων δικτύου δημοσίων προτύπων, ένα ολοκληρωμένο Διαφανές αντίγραφο του Εγγράφου, χωρίς προσθήκες. Αν επιλέξετε τη δεύτερη επιλογή, όταν ξεκινήσετε τη διανομή των Αδιαφανών αντιγράφων, θα πρέπει να λάβετε λελογισμένα μέτρα για να διασφαλίσετε ότι το Διαφανές αντίγραφο θα παραμείνει προσβάσιμο στην ως άνωθεν τοποθεσία για τουλάχιστον ένα έτος μετά την τελευταία δημόσια διανομή Αδιαφανούς αντιγράφου αυτής της έκδοσης (είτε πρόκειται για άμεση διανομή είτε για διανομή μέσω των πρακτόρων ή λιανοπωλητών σας).</para>
-
- <para>Σας ζητείται, αλλά δεν απαιτείται, να επικοινωνήσετε εγκαίρως με τους συγγραφείς του <link linkend="fdl-document">Εγγράφου</link>, πριν αναδιανείμετε μεγάλο αριθμό αντιγράφων, ώστε να έχουν τη δυνατότητα να σας παράσχουν αναθεωρημένη έκδοση του Εγγράφου.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. ΤΡΟΠΟΠΟΙΗΣΕΙΣ</title>
- <para>Σας χορηγείται άδεια αντιγραφής και διανομής <link linkend="fdl-modified">Τροποποιημένων Εκδόσεων</link> του <link linkend="fdl-document">Εγγράφου</link> υπό τους όρους των ενοτήτων <link linkend="fdl-section2">2</link> και <link linkend="fdl-section3">3</link> ανωτέρω, με την προϋπόθεση ότι θα δημοσιεύσετε την Τροποποιημένη Έκδοση υπό την παρούσα Άδεια ως έχει, όπου ως Έγγραφο θα νοείται η Τροποποιημένη Έκδοση. Άρα, θα χορηγείται άδεια διανομής και τροποποίησης της Τροποποιημένης Έκδοσης σε οποιονδήποτε κατέχει αντίγραφό της. Επιπροσθέτως, στην Τροποποιημένη Έκδοση θα πρέπει να κάνετε τα εξής:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>Α</title>
- <para>Στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link> (και τα εξώφυλλα, αν υφίστανται), χρησιμοποιήστε τίτλο διακριτό από τον τίτλο του <link linkend="fdl-document">Εγγράφου</link> και των προηγούμενων εκδόσεών του (τυχόν προηγούμενες εκδόσεις οφείλουν να αναφέρονται στην ενότητα Ιστορικού του Εγγράφου). Μπορείτε να χρησιμοποιήσετε τον ίδιο τίτλο με τον τίτλο προηγούμενης έκδοσης, αν λάβετε άδεια από τον αρχικό εκδότη της προηγούμενης έκδοσης.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Β</title>
- <para>Αναφέρετε στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link>, υπό την ιδιότητα του συγγραφέα, όλα τα άτομα ή τους φορείς που ευθύνονται για τη συγγραφή ή την τροποποίηση της <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link>, μαζί με τουλάχιστον πέντε από τους κύριους συγγραφείς του <link linkend="fdl-document">Εγγράφου</link> ( ή όλους τους κύριους συγγραφείς, αν είναι λιγότεροι από πέντε).</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Γ</title>
- <para>Αναφέρετε στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link>, υπό την ιδιότητα του εκδότη, το όνομα του εκδότη της <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Δ</title>
- <para>Διατηρήστε όλες τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας του <link linkend="fdl-document">Εγγράφου</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Ε</title>
- <para>Προσθέστε την κατάλληλη ένδειξη δικαιωμάτων πνευματικής ιδιοκτησίας για τις τροποποιήσεις σας στις υπόλοιπες ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>ΣΤ</title>
- <para>Συμπεριλάβετε, αμέσως μετά τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας, μια ένδειξη άδειας χρήσης που θα χορηγεί δημόσια άδεια χρήσης της <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link> υπό τους όρους της παρούσας Άδειας. Η μορφή της ένδειξης αυτής παρατίθεται στο Συμπλήρωμα που ακολουθεί.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Ζ</title>
- <para>Διατηρήστε σε αυτή την ένδειξη άδειας χρήσης τους πλήρεις καταλόγους <link linkend="fdl-invariant">Αμετάβλητων Ενοτήτων</link> και απαιτούμενων <link linkend="fdl-cover-texts">Κειμένων Εξωφύλλου</link> που παρατίθενται στην ένδειξη άδειας χρήσης του <link linkend="fdl-document">Εγγράφου</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Η</title>
- <para>Συμπεριλάβετε αντίγραφο, χωρίς τροποποιήσεις, της παρούσας Άδειας.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Θ</title>
- <para>Διατηρήστε την ενότητα με τίτλο <quote>Ιστορικό</quote>, καθώς και τον τίτλο της, και προσθέστε μία εγγραφή που θα αναφέρει τουλάχιστον τον τίτλο, το έτος, τους νέους συγγραφείς και τον εκδότη της <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link> όπως αυτά αναφέρονται στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link>. Αν δεν υπάρχει ενότητα με τίτλο <quote>Ιστορικό</quote> στο <link linkend="fdl-document">Έγγραφο</link>, δημιουργήστε αυτήν την ενότητα, αναγράφοντας τον τίτλο, το έτος, τους νέους συγγραφείς και τον εκδότη του Εγγράφου, όπως αυτά αναφέρονται στη Σελίδα Τίτλου, και προσθέτοντας μία εγγραφή που θα περιγράφει την Τροποποιημένη Έκδοση σύμφωνα με την προηγούμενη πρόταση.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Ι</title>
- <para>Διατηρήστε την τοποθεσία δικτύου που ενδεχομένως παρέχεται στο <link linkend="fdl-document">Έγγραφο</link> για δημόσια πρόσβαση σε <link linkend="fdl-transparent">Περατό</link> αντίγραφο του Εγγράφου, καθώς και τυχόν άλλες τοποθεσίες δικτύου που παρέχονται στο έγγραφο και αφορούν προηγούμενες εκδόσεις του. Οι τοποθεσίες αυτές μπορούν να τοποθετηθούν στην ενότητα <quote>Ιστορικό</quote>. Μπορείτε να παραλείψετε τοποθεσίες δικτύου για έργα που εκδόθηκαν τουλάχιστον τέσσερα έτη πριν από το ίδιο το Έγγραφο, ή αν ο αρχικός εκδότης της αντίστοιχης έκδοσης σας δώσει την άδεια.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>ΙΑ</title>
- <para>Αν υπάρχει ενότητα με τίτλο <quote>Ευχαριστίες</quote> ή <quote>Αφιέρωση</quote>, διατηρήστε τον τίτλο της ενότητας, και διατηρήστε στο σώμα της ενότητας την ουσία και το ύφος των ευχαριστιών και/ή αφιερώσεων που συμπεριλαμβάνονται σε αυτή.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>ΙΒ</title>
- <para>Διατηρήστε όλες τις <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> του <link linkend="fdl-document">Εγγράφου</link>, χωρίς καμία τροποποίηση στο κείμενο και τον τίτλο τους. Η αρίθμηση των ενοτήτων, —ή άλλο ισοδύναμό της—, δεν θεωρείται τμήμα του τίτλου των ενοτήτων.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>ΙΓ</title>
- <para>Διαγράψτε τυχόν ενότητες με τίτλο <quote>Έγκριση</quote>. Αυτού του είδους οι ενότητες δεν επιτρέπεται να συμπεριληφθούν στην <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>ΙΔ</title>
- <para>Μην αλλάζετε τον τίτλο καμίας προϋπάρχουσας ενότητα σε <quote>Έγκριση</quote> ή σε τίτλο που να συγκρούεται με τον τίτλο οποιασδήποτε <link linkend="fdl-invariant">Αμετάβλητης Ενότητας</link>.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>Αν η <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link> περιλαμβάνει νέες αρχικές ενότητες ή παραρτήματα, που εμπίπτουν στον ορισμό των <link linkend="fdl-modified">Δευτερευουσών Ενοτήτων</link>, και δεν περιέχουν υλικό που να είναι προϊόν αντιγραφής του Εγγράφου, μπορείτε, εφόσον το επιθυμείτε, να ορίσετε ορισμένες ή όλες αυτές τις ενότητες ως αμετάβλητες. Για να το πράξετε, προσθέστε τους τίτλους αυτών των ενοτήτων στον κατάλογο <link linkend="fdl-secondary">Αμετάβλητων Ενοτήτων</link> στην ένδειξη άδειας χρήσης της Τροποποιημένης Έκδοσης. Οι τίτλοι αυτοί θα πρέπει να είναι διακριτοί από τους υπόλοιπους τίτλους ενοτήτων..</para>
-
- <para>Μπορείτε να προσθέσετε ενότητα με τίτλο <quote>Έγκριση</quote>, με την προϋπόθεση ότι περιλαμβάνει αποκλειστικά εγκρίσεις της δικής σας <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link> από διάφορους φορείς, —επί παραδείγματι, δηλώσεις αξιολόγησης ομοτίμων ή δηλώσεις ότι το κείμενο έχει εγκριθεί από έναν οργανισμό ως έγκυρος ορισμός ενός προτύπου.</para>
-
- <para>Μπορείτε να προσθέσετε κείμενο μέχρι και πέντε λέξεις ως <link linkend="fdl-cover-texts">Κείμενο Εμπροσθοφύλλου</link>, καθώς και κείμενο μέχρι και 25 λέξεις ως <link linkend="fdl-cover-texts">Κείμενο Οπισθοφύλλου</link>, στο τέλος του καταλόγου <link linkend="fdl-cover-texts">Κειμένων Εξωφύλλου</link> της <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link>. Κάθε μεμονωμένος φορέας επιτρέπεται να προσθέτει μόνο ένα Κείμενο Εμπροσθοφύλλου και ένα Κείμενο Οπισθοφύλλου (ο ίδιος ή εξ ονόματος του ίδιου). Αν το <link linkend="fdl-document">Έγγραφο</link> περιέχει ήδη κείμενο εξωφύλλου για το ίδιο εξώφυλλο, —που είχατε προσθέσει προηγουμένως είτε εξ ονόματός σας είτε εξ ονόματος του φορέα που εκπροσωπείτε—, δεν σας επιτρέπεται να προσθέσετε επιπλέον εξώφυλλο· σας επιτρέπεται ωστόσο να αντικαταστήσετε το προηγούμενο, με ρητή άδεια από τον εκδότη που είχε προσθέσει το προηγούμενο εξώφυλλο.</para>
-
- <para>Μέσω της παρούσας άδειας, ο/οι συγγραφείς και ο/οι εκδότες του <link linkend="fdl-document">Εγγράφου</link> δεν χορηγούν άδεια χρήσης των ονομάτων τους για διαφημιστικούς σκοπούς ή για την έγκριση, —ρητή ή υπονοούμενη—, οποιασδήποτε <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link>.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. ΣΥΝΔΥΑΣΜΟΣ ΕΓΓΡΑΦΩΝ</title>
- <para>Μπορείτε να συνδυάσετε το <link linkend="fdl-document">Έγγραφο</link> με άλλα έγγραφα που υπόκεινται στους όρους της παρούσας Άδειας, σύμφωνα με τους ανωτέρω όρους της <link linkend="fdl-section4">ενότητας 4</link> για τις τροποποιημένες εκδόσεις, με την προϋπόθεση ότι ο συνδυασμός θα περιλαμβάνει όλες τις <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> όλων των πρωτότυπων εγγράφων, χωρίς τροποποιήσεις, και ότι θα αναφέρονται ως Αμετάβλητες Ενότητες του συνδυασμένου έργου στην ένδειξη άδειας χρήσης του.</para>
-
- <para>Το συνδυασμένο έργο οφείλει να περιέχει ένα μόνο αντίγραφο της παρούσας Άδειας, και επιτρέπεται η αντικατάσταση πολλαπλών ταυτόσημων <link linkend="fdl-invariant">Αμετάβλητων Ενοτήτων</link> από ένα μόνο αντίγραφό τους. Αν υφίστανται πολλαπλές Αμετάβλητες Ενότητες με τον ίδιο τίτλο αλλά διαφορετικό περιεχόμενο, φροντίστε να κατασταθεί μοναδικός ο τίτλος κάθε ενότητας, προσθέτοντας στο τέλος του τίτλου, εντός παρενθέσεων, το όνομα του αρχικού συγγραφέα ή εκδότη της ενότητας εφόσον τα γνωρίζετε, ή, εναλλακτικά, ένα μοναδικό αριθμό. Φροντίστε να κάνετε τις ίδιες αλλαγές στους τίτλους των ενοτήτων που αναγράφονται στον κατάλογο Αμετάβλητων Ενοτήτων στην ένδειξη άδειας χρήσης του συνδυασμένου έργου.</para>
-
- <para>Στο συνδυασμό θα πρέπει να συνδυάσετε όλες τις ενότητες με τίτλο <quote>Ιστορικό</quote> που ενδεχομένως διαθέτουν τα πρωτότυπα έγγραφα, δημιουργώντας μία μοναδική ενότητα με τίτλο <quote>Ιστορικό</quote>. Κατά τον ίδιο τρόπο θα πρέπει να συνδυάσετε και όλες τις ενότητες με τίτλο <quote>Ευχαριστίες</quote> ή όλες τις ενότητες με τίτλο <quote>Αφιέρωση</quote>. Θα πρέπει να διαγράψετε όλες τις ενότητες με τίτλο <quote>Έγκριση</quote>.</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. ΣΥΛΛΟΓΗ ΕΓΓΡΑΦΩΝ</title>
- <para>Μπορείτε να δημιουργήσετε συλλογή που θα περιλαμβάνει το παρόν <link linkend="fdl-document">Έγγραφο</link> μαζί με άλλα έγγραφα που υπόκεινται στους όρους της παρούσας Άδειας, και να συμπεριλάβετε στη συλλογή ένα μόνο αντίγραφο της παρούσας Άδειας, που θα αντικαθιστά τα μεμονωμένα αντίγραφά της στα διάφορα έγγραφα, με την προϋπόθεση ότι, κατά τα λοιπά, θα συμμορφωθείτε με τους κανόνες της παρούσας Άδειας για την παραγωγή πιστών αντιγράφων καθενός από αυτά τα έγγραφα.</para>
-
- <para>Μπορείτε να εξάγετε ένα μεμονωμένο έγγραφο από μια συλλογή τέτοιου είδους, και να το διανείμετε ξεχωριστά υπό τους όρους της παρούσας Άδειας, με την προϋπόθεση ότι θα προσθέσετε αντίγραφο της παρούσας Άδειας στο εξαχθέν έγγραφο, και ότι, κατά τα λοιπά, θα συμμορφωθείτε με τους κανόνες της παρούσας Άδειας για την παραγωγή ακριβών αντιγράφων αυτού του εγγράφου.</para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. ΣΥΡΡΑΦΗ ΜΕ ΑΝΕΞΑΡΤΗΤΑ ΕΡΓΑ</title>
- <para>Αν το <link linkend="fdl-document">Εγγράφο</link> ή τα παράγωγά του συμπεριληφθούν, μαζί με άλλα ξεχωριστά και ανεξάρτητα έγγραφα ή έργα, σε τόμο ενός μέσου αποθήκευσης ή διανομής, ο τόμος αυτός, στο σύνολό του, δεν θεωρείται <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link> του εγγράφου, με την προϋπόθεση ότι δεν διεκδικούνται δικαιώματα πνευματικής ιδιοκτησίας για αυτόν. Ο εν λόγω τόμος ονομάζεται <quote>συρραφή</quote> και η παρούσα άδεια δεν ισχύει για τα υπόλοιπα αυθύπαρκτα έργα που συμπεριλαμβάνονται σε αυτόν, πέραν του Έγγραφο, απλώς και μόνο επειδή ανήκουν σε αυτή τη συρραφή, εκτός εάν αποτελούν και αυτά παράγωγα έργα του Εγγράφου. Αν για αυτά τα αντίγραφα του Εγγράφου ισχύουν οι όροι για τα <link linkend="fdl-cover-texts">Κείμενα Εξωφύλλου</link> της <link linkend="fdl-section3">ενότητας 3</link>, τότε, αν το Έγγραφο αντιστοιχεί σε λιγότερο από το ένα τέταρτο του συνόλου της συρραφής, τα Κείμενα Εξωφύλλου του Εγγράφου επιτρέπεται να τοποθετηθούν σε εξώφυλλα εντός της συρραφής που εσωκλείουν μόνο το Έγγραφο. Ειδάλλως, θα πρέπει να τοποθετηθούν σε εξώφυλλα που εσωκλείουν ολόκληρη τη συρραφή.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. ΜΕΤΑΦΡΑΣΗ</title>
- <para>Η μετάφραση θεωρείται μορφή τροποποίησης, άρα μπορείτε να διανέμετε μεταφράσεις του <link linkend="fdl-document">Εγγράφου</link> υπό τους όρους της <link linkend="fdl-section4">ενότητας 4</link>. Η αντικατάσταση των <link linkend="fdl-invariant">Αμετάβλητων Ενοτήτων</link> από μεταφράσεις απαιτεί ειδική άδεια από τους κατόχους των δικαιωμάτων πνευματικής ιδιοκτησίας, αλλά επιτρέπεται η συμπερίληψη στο Έγγραφο μεταφράσεων ορισμένων ή όλων των Αμετάβλητων Ενοτήτων, επιπλέον των πρωτότυπων εκδόσεων αυτών των Αμετάβλητων Ενοτήτων. Μπορείτε να προσθέσετε μεταφράσεις της παρούσας Άδειας, με την προϋπόθεση ότι θα συμπεριλάβετε και την πρωτότυπη Αγγλική έκδοση της Άδειας. Σε περίπτωση ασυμφωνίας μεταξύ μετάφρασης και πρωτότυπης Αγγλικής έκδοσης της Άδειας, ισχύει η πρωτότυπη Αγγλική έκδοση.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. ΚΑΤΑΡΓΗΣΗ</title>
- <para>Δεν σας επιτρέπεται η αντιγραφή, τροποποίηση, περαιτέρω παραχώρηση άδειας εκμετάλλευσης ή διανομή του <link linkend="fdl-document">Εγγράφου</link> παρά μόνο με τον τρόπο που ρητά προβλέπεται από αυτήν την Άδεια. Κάθε άλλη απόπειρα αντιγραφής, τροποποίησης, περαιτέρω παραχώρησης άδειας εκμετάλλευσης ή διανομής του Εγγράφου είναι άκυρη και αυτομάτως καταργεί τα δικαιώματα που σας παραχωρεί η παρούσα Άδεια. Ωστόσο, τα μέρη στα οποία παρείχατε αντίγραφα ή δικαιώματα υπό τους όρους της παρούσας Άδειας, δεν θα απωλέσουν τα δικαιώματα χρήσης τους, εφόσον εξακολουθούν να συμμορφώνονται πλήρως με τους όρους της Άδειας.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. ΜΕΛΛΟΝΤΙΚΕΣ ΑΝΑΘΕΩΡΗΣΕΙΣ ΤΗΣ ΠΑΡΟΥΣΑΣ ΑΔΕΙΑΣ</title>
- <para>Το <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Ίδρυμα Ελεύθερου Λογισμικού</ulink> έχει το δικαίωμα να δημοσιεύει περιστασιακά αναθεωρημένες ή/και νέες εκδόσεις της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL). Αυτές οι νέες εκδόσεις θα είναι συναφείς στο πνεύμα με την παρούσα έκδοση, όμως ενδέχεται να διαφέρουν στις λεπτομέρειες, καθώς επιλαμβάνονται νέων προβλημάτων και ζητημάτων. Βλέπε <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>Σε κάθε έκδοση δίνεται ένας διακριτικός αριθμός έκδοσης. Εάν στο <link linkend="fdl-document">Έγγραφο</link> καθορίζεται ότι ισχύει ένας συγκεκριμένος αριθμός έκδοσης της παρούσας Άδειας ή <quote>οποιαδήποτε μεταγενέστερη έκδοση</quote>, μπορείτε να επιλέξετε μεταξύ των όρων και προϋποθέσεων είτε αυτής της έκδοσης, είτε οποιασδήποτε μεταγενέστερης έκδοσης έχει δημοσιευτεί (όχι με μορφή σχεδίου) από το Ίδρυμα Ελεύθερου Λογισμικού. Εάν στο Πρόγραμμα δεν καθορίζεται αριθμός έκδοσης της Άδειας, μπορείτε να επιλέξετε οποιαδήποτε έκδοση έχει δημοσιευθεί (όχι με μορφή σχεδίου) από το Ίδρυμα Ελεύθερου Λογισμικού (FSF).</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Συμπλήρωμα</title>
- <para>Για να χρησιμοποιήσετε την παρούσα Άδεια σε έγγραφο το οποίο συγγράψατε, θα πρέπει να συμπεριλάβετε ένα αντίγραφο της Άδειας στο έγγραφο και να τοποθετήσετε τις ακόλουθες ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας και άδειας χρήσης αμέσως μετά τη σελίδα τίτλου: </para>
-
- <blockquote>
- <para>Copyright © ΕΤΟΣ ΤΟ ΟΝΟΜΑ ΣΑΣ.</para>
- <para>Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης του παρόντος εγγράφου υπό τους όρους της έκδοσης 1.1 της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), ή οποιασδήποτε μεταγενέστερης έκδοσής αυτής από το Ίδρυμα Ελεύθερου Λογισμικού (FSF)· οι <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> είναι οι ΚΑΤΑΛΟΓΟΣ ΤΙΤΛΩΝ, τα <link linkend="fdl-cover-texts">Κείμενα εμπροσθοφύλλου</link> είναι τα ΚΑΤΑΛΟΓΟΣ, και τα <link linkend="fdl-cover-texts">Κείμενα Οπισθοφύλλου</link> είναι τα ΚΑΤΑΛΟΓΟΣ. Αντίγραφο της άδειας συμπεριλαμβάνεται στην ενότητα με τίτλο <quote>GNU Free Documentation License</quote>.</para>
- </blockquote>
-
- <para>Αν δεν περιέχονται <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link>, γράψτε <quote>χωρίς Αμετάβλητες Ενότητες</quote>, αντί να απαριθμήσετε τις αμετάβλητες ενότητες. Αν δεν περιέχονται <link linkend="fdl-cover-texts">Κείμενα Εμπροσθοφύλλου</link>, γράψτε <quote>χωρίς Κείμενα Εμπροσθοφύλλου</quote> αντί για <quote>τα Κείμενα Εμπροσθοφύλλου είναι τα ΚΑΤΑΛΟΓΟΣ</quote>· ομοίως για τα <link linkend="fdl-cover-texts">Κείμενα Οπισθοφύλλου</link>.</para>
-
- <para>Αν το έγγραφό σας περιέχει μη ασήμαντα παραδείγματα πηγαίου κώδικα, συνιστούμε την παράλληλη δημοσίευσή τους υπό τους όρους της άδειας ελεύθερου λογισμικού της αρεσκείας σας, ώστε να επιτρέψετε τη χρήση τους σε ελεύθερο λογισμικό. Παράδειγμα τέτοιας άδειας αποτελεί η <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">Γενική Άδεια Δημόσιας Χρήσης GNU</ulink>.</para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Version 1.1, March 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation Licence</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>We have designed this Licence in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this Licence is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this Licence principally for works whose purpose is instruction or reference.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.</para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>You may also lend copies, under the same conditions stated above, and you may publicly display copies.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.</para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Include an unaltered copy of this Licence.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENCE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>To use this Licence in a document you have written, include a copy of the Licence in the document and put the following copyright and licence notices just after the title page:</para>
-
- <blockquote>
- <para>Copyright YEAR YOUR NAME.</para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="en-GB">
- <bookinfo>
- <title>GTK-Doc Manual</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>User manual for developers with instructions on GTK-Doc usage.</para></abstract>
- <authorgroup>
- <author>
- <firstname>Chris</firstname>
- <surname>Lyttle</surname>
- <affiliation>
- <address>
- <email>chris@wilddev.net</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Dan</firstname>
- <surname>Mueth</surname>
- <affiliation>
- <address>
- <email>d-mueth@uchicago.edu</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Stefan</firstname>
- <surname>Sauer (Kost)</surname>
- <affiliation>
- <address>
- <email>ensonic@users.sf.net</email>
- </address>
- </affiliation>
- </author>
- </authorgroup>
- <publisher role="maintainer">
- <publishername>GTK-Doc project</publishername>
- <address><email>gtk-doc-list@gnome.org</email></address>
- </publisher>
- <copyright>
- <year>2000, 2005</year>
- <holder>Dan Mueth and Chris Lyttle</holder>
- </copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation Licence</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the licence is <link linkend="fdl">included</link>.</para>
- <para>Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps.</para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.28</revnumber>
- <date>24 Mar 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.27</revnumber>
- <date>07 Dec 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>fine tuning of the python port</revremark>
- </revision>
- <revision>
- <revnumber>1.26</revnumber>
- <date>11 Aug 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>port all tools from perl/bash to python</revremark>
- </revision>
- <revision>
- <revnumber>1.25</revnumber>
- <date>21 March 2016</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, test cleanups</revremark>
- </revision>
- <revision>
- <revnumber>1.24</revnumber>
- <date>29 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.23</revnumber>
- <date>17 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.22</revnumber>
- <date>07 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.21</revnumber>
- <date>17 Jul 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.20</revnumber>
- <date>16 Feb 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, markdown support, style improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.19</revnumber>
- <date>05 Jun 2013</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.18</revnumber>
- <date>14 Sep 2011</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, speedups, markdown support</revremark>
- </revision>
- <revision>
- <revnumber>1.17</revnumber>
- <date>26 Feb 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>urgent bug fix update</revremark>
- </revision>
- <revision>
- <revnumber>1.16</revnumber>
- <date>14 Jan 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes, layout improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.15</revnumber>
- <date>21 May 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bug and regression fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.14</revnumber>
- <date>28 March 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes and performance improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.13</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>broken tarball update</revremark>
- </revision>
- <revision>
- <revnumber>1.12</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>new tool features and bugfixes</revremark>
- </revision>
- <revision>
- <revnumber>1.11</revnumber>
- <date>16 November 2008</date>
- <authorinitials>mal</authorinitials>
- <revremark>GNOME doc-utils migration</revremark>
- </revision>
- </revhistory>
-
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>Introduction</title>
-
- <para>This chapter introduces GTK-Doc and gives an overview of what it is and how it is used.</para>
-
- <sect1 id="whatisgtkdoc">
- <title>What is GTK-Doc?</title>
-
- <para>GTK-Doc is used to document C code. It is typically used to document the public API of libraries, such as the GTK+ and GNOME libraries, but it can also be used to document application code.</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>How Does GTK-Doc Work?</title>
-
- <para>GTK-Doc works by using documentation of functions placed inside the source files in specially-formatted comment blocks, or documentation added to the template files which GTK-Doc uses (though note that GTK-Doc will only document functions that are declared in header files; it won't produce output for static functions).</para>
-
- <para>
- GTK-Doc consists of a number of python scripts, each performing a different step
- in the process.
- </para>
-
- <para>There are 5 main steps in the process:</para>
-
- <orderedlist>
-
- <listitem>
- <para>
- <guilabel>Writing the documentation.</guilabel>
-
- The author fills in the source files with the documentation for each
- function, macro, structs or unions, etc.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Gathering information about the code.</guilabel>
-
- <application>gtkdoc-scan</application> scans the header files of the
- code looking for declarations of functions, macros, enums, structs, and unions.
- It creates the file <filename><module>-decl-list.txt</filename> containing a list of the
- declarations, placing them into sections according to which header file they
- are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
- The author can rearrange the sections, and the order of the
- declarations within them, to produce the final desired order.
- The second file it generates is <filename><module>-decl.txt</filename>.
- This file contains the full declarations found by the scanner. If for
- some reason one would like some symbols to show up in the docs, where
- the full declaration cannot be found by the scanner or the declaration
- should appear differently, one can place entities similar to the ones in
- <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
- </para>
- <para>
- <application>gtkdoc-scangobj</application> can also be used to dynamically query a library about
- any GObject subclasses it exports. It saves information about each
- object's position in the class hierarchy and about any GObject properties
- and signals it provides.
- </para>
- <para>
- <application>gtkdoc-scanobj</application> should not be used anymore.
- It was needed in the past when GObject was still GtkObject inside gtk+.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Generating the XML and HTML/PDF.</guilabel>
-
- <application>gtkdoc-mkdb</application> turns the template files into
- XML files in the <filename class="directory">xml/</filename> subdirectory.
- If the source code contains documentation on functions, using the
- special comment blocks, it gets merged in here. If there are no tmpl files used
- it only reads docs from sources and introspection data.
- </para>
- <para>
- <application>gtkdoc-mkhtml</application> turns the XML files into HTML
- files in the <filename class="directory">html/</filename> subdirectory.
- Likewise <application>gtkdoc-mkpdf</application> turns the XML files into a PDF
- document called <filename><package>.pdf</filename>.
- </para>
- <para>
- Files in <filename class="directory">xml/</filename> and
- <filename class="directory">html/</filename> directories are always
- overwritten. One should never edit them directly.
- </para>
- </listitem>
-
- <listitem>
- <para><guilabel>Fixing up cross-references between documents.</guilabel> After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any cross-references between separate documents. For example, the GTK+ documentation contains many cross-references to types documented in the GLib manual. When creating the source tarball for distribution, <application>gtkdoc-rebase</application> turns all external links into web-links. When installing distributed (pre-generated) docs the same application will try to turn links back to local links (where those docs are installed).</para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>Getting GTK-Doc</title>
-
- <sect2 id="requirements">
- <title>Requirements</title>
- <para>
- <guilabel>python 2/3</guilabel> - the main scripts are written in python.
- </para>
- <para>
- <guilabel>xsltproc</guilabel> - the xslt processor from libxslt
- <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink>
- </para>
- <para>
- <guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets
- <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>
- </para>
- <para>
- One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> or
- <guilabel>vim</guilabel> - optional - used for syntax highlighting of examples
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>About GTK-Doc</title>
-
- <para>
- Historically GTK-Doc was used to generate template files from the sources
- code. These template files could be used by developers to enter the
- API documentation. This approach was rather inconvenient because it
- required to keep the generated files under version control.
- Since GTK-Doc 1.9 it became possible to place all API information
- into source comments, which made the template support obsolete.
- In version 1.26 template support has been removed.
- </para>
-
- <para>(FIXME)</para>
-
- <para>
- (authors, web pages, mailing list, license, future plans,
- comparison with other similar systems.)
- </para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>About this Manual</title>
-
- <para>(FIXME)</para>
-
- <para>(who it is meant for, where you can get it, licence)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Project Setup</title>
-
- <para>
- This Chapter describes the steps that are necessary to integrate GTK-Doc
- into your project. The integration of GTK-Doc into a project includes the
- following steps:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Preparation of the directory structure and creating required
- configuration files for your GTK-Doc documentation (see
- <link linkend="settingup_docfiles">
- Setting up a skeleton documentation</link>).
- </para>
- </listitem>
- <listitem>
- <para>
- Adjusting the build system to build your documentation using the
- GTK-Doc tools. Multiple build systems are supported, in
- this manual we describe how to integrate GTK-Doc with
- <link linkend="settingup_autotools">Autotools</link>,
- <link linkend="settingup_cmake">CMake</link>, and
- <link linkend="settingup_plain_makefiles">plain Makefiles</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adding GTK-Doc specific files to version control and deciding which
- files to ignore (see <link linkend="settingup_vcs">
- Integration with version control systems</link>).
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The following sections assume we work on a project called
- <code>meep</code>.
- This project contains two packages (or modules),
- a library called <code>libmeep</code> and an end-user app
- called <code>meeper</code>.
- </para>
-
- <sect1 id="settingup_docfiles">
- <title>Setting up a skeleton documentation</title>
-
- <para>
- A common convention is to place documentation into a folder called
- <code>docs</code> inside your top-level project directory.
- We usually distinguish between <emphasis>reference
- documentation</emphasis> intended for developers and an
- <emphasis>user manual</emphasis> intended for end-users.
- Again the convention is to have separate folders for both.
- We usually place the reference documentation in a folder named
- <code>reference</code> and the end-user manual in a folder named
- <code>help</code> as.
-
- According to the above convention the documentation for our
- <code>libmeep</code> package would be placed into:
- <code>docs/reference/libmeep</code>.
-
- For packages with just one library or application
- the documentation could also be placed directly into
- <code>docs/reference</code>.
-
- It is not mandatory to use the above convention, but if you
- choose to use a different directory structure you must adjust
- your build system configuration to match your directory
- structure.
- </para>
-
- <para>
- In the following sections we will assume a directory structure
- for our <emphasis>meep</emphasis> project that uses the above
- conventions.
-
- <example>
- <title>Example directory structure of <emphasis>meep</emphasis>
- project</title>
- <programlisting><![CDATA[
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integration with Autotools</title>
- <para>
- Integration of GTK-Doc into an autotools-based build system requires the
- following steps:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Ensure that <application>gtkdocize</application> is run once before
- the <filename>configure</filename> script. If an
- <filename>autogen.sh</filename> script is present, adjust it to
- check for GTK-Doc and add a call to
- <application>gtkdocize</application>.
- </para>
-
- <para>
- The main purpose of <application>gtkdocize</application> is to
- make the <filename>gtk-doc.make</filename> Makefile and the
- <filename>gtk-doc.m4</filename> macro definition file available
- to the build system, either by copying or linking it
- into the project.
- </para>
- </listitem>
- <listitem>
- <para>
- Add the necessary <application>autoconf</application> macros to
- <filename>configure.ac</filename> to enable GTK-Doc in your build
- system to allow configuration of GTK-Doc via the generated
- <filename>configure</filename> script.
- </para>
- <para>
- Among others with registers the <code>--enable-gtk-doc</code>
- option with the <filename>configure</filename> script.
- </para>
- </listitem>
- <listitem>
- <para>
- Create an <application>automake</application> script for each
- application or library in your project. In the example used in this
- documentation this step applies to both <code>meeper</code> and
- <code>libmeep</code>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the following sections, we will perform the above steps in reverse
- order. We start with the <application>automake</application> scripts
- and work our way up to <filename>configure.ac</filename> and
- <filename>autogen.sh</filename>.
- Then we show how enable Gtk-Doc in the build system and
- how to build the documentation.
- </para>
-
- <sect2 id="settingup_automake">
- <title>Integration with automake</title>
-
- <para>
- First copy the <filename>Makefile.am</filename> from the
- <filename class="directory">examples</filename> sub-directory of the
- <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">
- gtkdoc-sources</ulink>
- to your project's reference documentation directory (e.g.
- <filename class="directory">docs/reference/<package></filename>).
- A local copy should be available under e.g.
- <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>.
- If you have multiple packages repeat this for each one.
- </para>
-
- <note>
- <simpara>
- Do not forget to add each <filename>Makefile.am</filename>
- to the <function>AC_CONFIG_FILES</function> macro in
- <filename>configure.ac</filename>. For
- <filename>docs/reference/libmeep/Makefile.am</filename> you will
- need to add the entry
- <filename>docs/reference/libmeep/Makefile</filename>
- to <function>AC_CONFIG_FILES</function>.
- </simpara>
- </note>
-
- <example>
- <title>
- Example directory structure with <filename>Makefiles.am</filename>
- </title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>
- Next, you need to customize the copied Makefiles
- and provide values for the various parameters in each
- <filename>Makefile.am</filename>.
-
- All settings have a comment above them that describes their purpose
- and how to customize the setting.
-
- Most settings are used to supply extra flags to the respective tools
- to which they apply. Every tool
- has a variable of the form <option><TOOLNAME>_OPTIONS</option>
- (e.g. the tool <application>gtkdoc-mkhtml</application> has
- an option named <code>MKHTML_OPTIONS</code>).
-
- All the tools support <option>--help</option> to list the supported
- options.
- </para>
-
- <para>
- The following list explains the most relevant options. Check the
- example <filename>Makefile.am</filename> for additional options.
-
- <itemizedlist>
- <listitem>
- <para>
- <option>DOC_MODULE</option> is used to provide the name of the
- package that is being documentated (e.g. <code>meeper</code>, or
- <code>libmeep</code>).
- </para>
- </listitem>
- <listitem>
- <para>
- <option>DOC_SOURCE_DIR</option>
- is used to specify the location
- of source directory which GTK-Doc searches for your API
- documentation. This will usually be
- <code>
- DOC_SOURCE_DIR=$(top_srcdir)/src
- </code>
- or a sub-directory of that directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HFILE_GLOB</option>
- and
- <option>CFILE_GLOB</option>
- are used for dependencies. Each option take a file-glob (e.g.
- <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>).
- The documentation will be rebuilt if any of the matched files
- change.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>EXTRA_HFILES</option>
- allows to specify extra header files
- to include when scanning for API documentation, which are not
- found under <code>DOC_SOURCE_DIR</code> (e.g. <code>
- EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>IGNORE_HFILES</option>
- allows to specify header files
- or directories to ignore when scanning for API documentation.
- Use the basename of the file or directory (e.g. <code>
- IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HTML_IMAGES</option>
- allows to specify images files which
- will be copied into the <filename>html/</filename> directory of
- the generated documentation.
- If your API documentation includes any images they need to be
- added to this
- option (e.g. <code>
- HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>content_files</option>
- allows to specify extra files
- that are included by
- <code>$(DOC_MAIN_SGML_FILE)</code>
- (e.g. <code>
- content_files=running.xml building.xml changes-2.0.xml</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>expand_content_files</option>
- allows to specify files
- where <emphasis>gtk-doc abbreviations</emphasis> such as
- <code>#GtkWidget</code>
- are expanded (e.g. <code>
- expand_content_files=running.xml</code>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>Integration with autoconf</title>
-
- <para>
- Integration with <application>autoconf</application> is very simple
- and includes one required step and an additional optional
- (but recommended) step.
-
- The first step is to add the <function>GTK_DOC_CHECK</function> macro
- to your <filename>configure.ac</filename> script. This registers
- several configure options to enable GTK-Doc and allows you
- to set default arguments for <application>gtkdocize</application>.
- </para>
-
- <warning>
- <simpara>
- Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented.
- The macro must start at the beginning of the line and should not
- start with whitespace.
- </simpara>
- </warning>
-
- <para>
- The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code>
- to your <filename>configure.ac</filename>. This is not required
- but helps <application>gtkdocize</application> to automatically copy
- the macro definition (e.g <filename>gtk-doc.m4</filename>) which
- contains the <function>GTK_DOC_CHECK</function> macro to your
- project's macro directory. Without this, the GTK_DOC_CHECK macro
- might not be found and you would need to explicitly tell the
- <application>aclocal</application> tool where to find the macro
- definition file.
- </para>
-
- <para>
- <example><title>Minimal integration with autoconf</title>
- <programlisting><![CDATA[
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The above example works, but will require all developers to have
- gtk-doc installed. A better way is to make building the documentation
- optional as shown in the next example:
-
- <example>
- <title>Integration with optional gtk-doc dependency</title>
- <programlisting><![CDATA[
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The first argument is used to check for the Gtk-Doc version at
- configure time. The 2nd, optional argument is used by
- <application>gtkdocize</application>.
- The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure
- switches:
- </para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=PATH : path to installed docs</para></listitem>
- <listitem><para>--enable-gtk-doc : use gtk-doc to build documentation [default=no]</para></listitem>
- <listitem><para>--enable-gtk-doc-html : build documentation in html format [default=yes]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : build documentation in pdf format [default=no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>
- GTK-Doc is disabled by default! Remember to pass the option
- <option>'--enable-gtk-doc'</option> to the next
- <filename>configure</filename> run. Otherwise pregenerated documentation is installed
- (which makes sense for users but not for developers).
- </para>
- </important>
-
- <para>
- After all changes to <filename>configure.ac</filename> are made,
- update the <filename>configure</filename> file. This can be done by
- re-running <code>autogen.sh</code>.
- </para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>Integration with autogen</title>
-
- <para>
- Most projects will have an <filename>autogen.sh</filename> script to
- setup the build infrastructure after the project was checked out from
- a version control system (such as git or svn). GTK-Doc comes with a
- script called <application>gtkdocize</application> which can be used
- to copy the necessary files needed by Gtk-Doc to the source directory.
- </para>
-
- <para>
- It should be run before autoreconf, autoheader, automake or autoconf.
- </para>
-
- <para>
- <example><title>Running gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-gtkdocize || exit 1
-]]></programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Conditionally run gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-]]></programlisting>
- </example>
- </para>
-
- <para>
- When running <application>gtkdocize</application> it copies
- <filename>gtk-doc.make</filename> to your project root (or any
- directory specified by the <option>--docdir</option> option).
- </para>
-
- <para>
- <application>gtkdocize</application> checks your
- <filename>configure.ac</filename> script for
- the <function>GTK_DOC_CHECK</function> macro.
- The <function>GTK_DOC_CHECK</function> macro can be used to pass
- extra arguments to the <application>gtkdocize</application> script.
- the 2nd parameter in the <function>GTK_DOC_CHECK</function> macro.
- </para>
-
- <para>
- Alternatively, additional arguments can also be passed to
- <application>gtkdocize</application> via the
- <function>GTKDOCIZE_FLAGS</function> environment variable, or by
- directly specifying them to <application>gtkdocize</application>
- in <filename>autogen.sh</filename>.
- </para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Executing GTK-Doc from the Build System</title>
-
- <para>After the previous steps it is time to run the build. First we need to rerun <filename>autogen.sh</filename>. If this script runs <filename>configure</filename> for you, then give it the <option>--enable-gtk-doc</option> option. Otherwise manually run <filename>configure</filename> with this option afterwards.</para>
- <para>
- The first make run generates several additional files in the doc-directories.
- The important ones are:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
- <para>
- <example><title>Running the doc build</title>
- <programlisting><![CDATA[
-./autogen.sh --enable-gtk-doc
-make
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Now you can point your browser to
- <filename>docs/reference/<package>/index.html</filename>.
- With this initial setup you will only see a very simple document.
- The next chapter will teach you how to add API documentation to your
- code via special comment blocks. The Chapter afterwards introduces
- <link linkend="metafiles">additional files</link> and shows how to
- edit the <link linkend="metafiles_master">master template</link> to
- add additional chapters and sections to your documentation files.
- </para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integration with CMake build systems</title>
-
- <para>
- GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module
- (and the corresponding <filename>GtkDocConfigVersion.cmake</filename>
- module). This provides a <literal>gtk_doc_add_module</literal>
- command that you can set in your <filename>CMakeLists.txt</filename>
- file.
- </para>
-
- <para>
- The following example shows how to use this command.
- <example><title>Example of using GTK-Doc from CMake</title>
- <programlisting><![CDATA[
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integration with plain makefiles or other build systems</title>
-
- <para>
- In the case one does not want to use automake and therefore
- <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
- in the right order in own makefiles (or other build tools).
- </para>
-
- <para>
- <example><title>Documentation build steps</title>
- <programlisting><![CDATA[
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-]]></programlisting>
- </example>
- </para>
-
- <para>
- One will need to look at the <filename>Makefile.am</filename> and
- <filename>gtk-doc.mak</filename> to pick the extra options needed.
- </para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>Integration with version control systems</title>
-
- <para>
- As a rule of thumb, it's the files you edit which should go under
- version control. For typical projects it's these files:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>,
- <filename>Makefile.am</filename>.
- </para>
- <para>
- Files in the <filename>xml/</filename> and <filename>html/</filename>
- directories should not go under version control. Neither should any of
- the <filename>.stamp</filename> files.
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>Documenting the code</title>
-
- <para>
- GTK-Doc uses source code comment with a special syntax for code documentation.
- Further it retrieves information about your project structure from other
- sources. During the next section you will find all information about the
- syntax of the comments.
- </para>
-
- <para>
- The GTK-Doc scanner can handle the majority of C headers fine. In the
- case of receiving warnings from the scanner that look like a special
- case, one can hint GTK-Doc to skip over them.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-]]></programlisting>
- </example>
- </para>
-
- <note>
- <title>Limitations</title>
- <para>
- Note, that GTK-Doc's supports
- <code>#ifndef(__GTK_DOC_IGNORE__)</code> but not
- <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations.
- </para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>Documentation comments</title>
-
- <para>
- A multiline comment that starts with an additional '*' marks a
- documentation block that will be processed by the GTK-Doc tools.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-/**
- * identifier:
- * documentation ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>The 'identifier' is one line with the name of the item to which the comment is related. The syntax differs a little depending on the item. (TODO add table showing identifiers)</para>
-
- <para>
- The 'documentation' block is also different for each symbol type. Symbol
- types that get parameters such as functions or macros have the parameter
- description first followed by a blank line (just a '*').
- Afterwards follows the detailed description. All lines (outside program
- listings and CDATA sections) just containing a ' *' (blank-asterisk) are
- converted to paragraph breaks.
- If you don't want a paragraph break, change that into ' * '
- (blank-asterisk-blank-blank). This is useful in preformatted text (code
- listings).
- </para>
-
- <tip>
- <para>
- When documenting code, describe two aspects:
- <itemizedlist>
- <listitem>
- <para>
- What it is: The name for a class or function can sometimes
- be misleading for people coming from a different background.
- </para>
- </listitem>
- <listitem>
- <para>
- What it does: Tell about common uses. Put it in relation
- with the other API.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </tip>
-
- <para>
- One advantage of hyper-text over plain-text is the ability to have links
- in the document. Writing the correct markup for a link can be tedious
- though. GTK-Doc comes to help by providing several useful abbreviations.
- <itemizedlist>
- <listitem>
- <para>
- Use function() to refer to functions or macros which take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use @param to refer to parameters. Also use this when referring to
- parameters of other functions, related to the one being described.
- </para>
- </listitem>
- <listitem>
- <para>
- Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #symbol to refer to other types of symbol, e.g. structs and
- enums and macros which don't take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object::signal to refer to a GObject signal.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object:property to refer to a GObject property.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Struct.field to refer to a field inside a structure and
- #GObjectClass.foo_bar() to refer to a vmethod.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <tip>
- <para>
- If you need to use the special characters '<', '>', '()', '@',
- '%', or '#' in your documentation without GTK-Doc changing them you
- can use the XML entities "&lt;", "&gt;", "&lpar;",
- "&rpar;", "&commat;", "&percnt;" and "&num;"
- respectively or escape them with a backslash '\'.
- </para>
- </tip>
-
- <para>
- DocBook can do more than just links. One can also have lists,
- examples, headings, and images. As of version 1.20, the
- preferred way is to use a subset of the basic text formatting
- syntax called
- <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>.
- On older GTK-Doc versions any documentation that includes
- Markdown will be rendered as is. For example, list items will
- appear as lines starting with a dash.
- </para>
-
- <para>
- While markdown is now preferred one can mix both. One limitation here is
- that one can use docbook xml within markdown, but markdown within
- docbook xml is not supported.
- </para>
-
- <para>
- In older GTK-Doc releases, if you need support for additional
- formatting, you would need to enable the usage of docbook
- XML tags inside doc-comments by putting <option>--xml-mode</option>
- (or <option>--sgml-mode</option>) in the variable
- <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
- </para>
-
- <para>
- <example><title>GTK-Doc comment block using Markdown</title>
- <programlisting><
- *
- * 
- *
- * [A link to the heading anchor above][heading-two]
- *
- * A C-language example:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- More examples of what markdown tags are supported can be found in the
- <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">GTK+ Documentation Markdown Syntax Reference</ulink>.
- </para>
-
- <tip>
- <para>
- As already mentioned earlier GTK-Doc is for documenting public API. Thus
- one cannot write documentation for static symbols. Nevertheless it is good
- to comment those symbols too. This helps other developers to understand
- your code.
- Therefore we recommend to comment these using normal comments (without the
- 2nd '*' in the first line).
- If later the function needs to be made public, all one needs to do is to
- add another '*' in the comment block and insert the symbol name at the
- right place inside the sections file.
- </para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>Documenting sections</title>
-
- <para>
- Each section of the documentation contains information about one class
- or module. To introduce the component one can write a section block.
- The short description is also used inside the table of contents.
- All the @fields are optional.
- </para>
-
- <para>
- <example><title>Section comment block</title>
- <programlisting><![CDATA[
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<name></term>
- <listitem>
- <para>
- The name links the section documentation to the respective part in
- the <filename><package>-sections.txt</filename> file. The
- name given here should match the <FILE> tag in the
- <filename><package>-sections.txt</filename> file.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>A one line description of the section that later will appear after the links in the TOC and at the top of the section page.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>
- The section title defaults to <name> from the SECTION
- declaration. It can be overridden with the @title field.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>
- Overrides the use of title as a section identifier. For GObjects
- the <title> is used as a section_id and for other sections
- it is <MODULE>-<title>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>
- A list of symbols that are related to this section.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>
- An informal description of the stability level this API has.
- We recommend the use of one of these terms:
- <itemizedlist>
- <listitem>
- <para>
- Stable
- - The intention of a Stable interface is to enable arbitrary
- third parties to develop applications to these interfaces,
- release them, and have confidence that they will run on all
- minor releases of the product (after the one in which the
- interface was introduced, and within the same major release).
- Even at a major release, incompatible changes are expected
- to be rare, and to have strong justifications.
- </para>
- </listitem>
- <listitem>
- <para>
- Unstable
- - Unstable interfaces are experimental or transitional.
- They are typically used to give outside developers early
- access to new or rapidly changing technology, or to provide
- an interim solution to a problem where a more general
- solution is anticipated.
- No claims are made about either source or binary
- compatibility from one minor release to the next.
- </para>
- </listitem>
- <listitem>
- <para>
- Private
- - An interface that can be used within the GNOME stack
- itself, but that is not documented for end-users. Such
- functions should only be used in specified and documented
- ways.
- </para>
- </listitem>
- <listitem>
- <para>
- Internal
- - An interface that is internal to a module and does not
- require end-user documentation. Functions that are
- undocumented are assumed to be Internal.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>The <literal>#include</literal> files to show in the section synopsis (a comma-separated list), overriding the global value from the <link linkend="metafiles_sections">section file</link> or command line. This item is optional.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>
- The image to display at the top of the reference page for this
- section. This will often be some sort of a diagram to illustrate
- the visual appearance of a class or a diagram of its relationship
- to other classes. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>To avoid unnecessary recompilation after doc-changes put the section docs into the C source where possible.</para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>Documenting symbols</title>
-
- <para>
- Each symbol (function, macro, struct, enum, signal and property) is
- documented in a separate block. The block is best placed close to the
- definition of the symbols so that it is easy to keep them in sync.
- Thus functions are usually documented in the c-source and macros,
- structs and enums in the header file.
- </para>
-
- <sect2><title>General tags</title>
-
- <para>
- You can add versioning information to all documentation elements to tell
- when an API was introduced, or when it was deprecated.
- </para>
-
- <variablelist><title>Versioning Tags</title>
- <varlistentry><term>Since:</term>
- <listitem>
- <para>Description since which version of the code the API is available.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Deprecated:</term>
- <listitem>
- <para>Paragraph denoting that this function should no be used any more. The description should point the reader to the new API.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- You can also add stability information to all documentation elements
- to indicate whether API stability is guaranteed for them for all
- future minor releases of the project.
- </para>
-
- <para>
- The default stability level for all documentation elements can be set
- by passing the <option>--default-stability</option> argument to
- <application>gtkdoc-mkdb</application> with one of the values below.
- </para>
-
- <variablelist><title>Stability Tags</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>
- Mark the element as stable. This is for public APIs which are
- guaranteed to remain stable for all future minor releases of the
- project.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>
- Mark the element as unstable. This is for public APIs which are
- released as a preview before being stabilised.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>
- Mark the element as private. This is for interfaces which can be
- used by tightly coupled modules, but not by arbitrary third
- parties.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>General tags</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Annotations</title>
-
- <para>
- Documentation blocks can contain annotation-tags. These tags will be
- rendered with tooltips describing their meaning. The tags are used by
- gobject-introspection to generate language bindings. A detailed list
- of the supported tags can be found on
- <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">the wiki</ulink>.
- </para>
-
- <example><title>Annotations</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: (annotation): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (another annotation)
- * (and another annotation)
- * @foo: (annotation) (another annotation): some foo
- *
- * Sets bar on @foo.
- */
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Function comment block</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document whether returned objects, lists, strings, etc, should be
- freed/unrefed/released.
- </para>
- </listitem>
- <listitem>
- <para>
- Document whether parameters can be NULL, and what happens if they are.
- </para>
- </listitem>
- <listitem>
- <para>
- Mention interesting pre-conditions and post-conditions where appropriate.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <para>GTK-Doc assumes all symbols (macros, functions) starting with <literal>_</literal> are private. They are treated like static functions.</para>
-
- <example><title>Function comment block</title>
- <programlisting><![CDATA[
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-]]></programlisting>
- </example>
-
- <variablelist><title>Function tags</title>
- <varlistentry><term>Returns:</term>
- <listitem>
- <para>Paragraph describing the returned result.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>
- In case the function has variadic arguments, you should use this
- tag (@Varargs: does also work for historic reasons).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>Property comment block</title>
-
- <example><title>Property comment block</title>
- <programlisting><![CDATA[
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Signal comment block</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document when the signal is emitted and whether it is emitted before
- or after other signals.
- </para>
- </listitem>
- <listitem>
- <para>
- Document what an application might do in the signal handler.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <example><title>Signal comment block</title>
- <programlisting><![CDATA[
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Struct comment block</title>
- <example><title>Struct comment block</title>
- <programlisting><![CDATA[
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private struct fields
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- <para>
- If the first field is "g_iface", "parent_instance" or "parent_class"
- it will be considered private automatically and doesn't need to be
- mentioned in the comment block.
- </para>
-
- <para>
- Struct comment blocks can also be used for GObjects and GObjectClasses.
- It is usually a good idea to add a comment block for a class, if it has
- vmethods (as this is how they can be documented). For the GObject
- itself one can use the related section docs, having a separate block
- for the instance struct would be useful if the instance has public
- fields. One disadvantage here is that this creates two index entries
- of the same name (the structure and the section).
- </para>
-
- </sect2>
-
- <sect2><title>Enum comment block</title>
- <example><title>Enum comment block</title>
- <programlisting><![CDATA[
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private enum values
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Inline program documentation</title>
- <para>
- You can document programs and their commandline interface using inline
- documentation.
- </para>
-
- <variablelist>
- <title>Tags</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>
- Defines the start of a program documentation.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>
- Defines a short description of the program. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>
- Defines the arguments, or list of arguments that the program can take.
- (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>
- See Also manual page section. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>
- Argument(s) passed to the program and their description. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>
- A longer description of the program.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Returns:</term>
- <listitem>
- <para>
- Specify what value(s) the program returns. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Example of program documentation.</title>
- <example><title>Program documentation block</title>
- <programlisting><![CDATA[
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-]]></programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>Useful DocBook tags</title>
-
- <para>Here are some DocBook tags which are most useful when documenting the code.</para>
-
- <para>
- To link to another section in the GTK docs:
-
- <informalexample>
- <programlisting><![CDATA[
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-]]></programlisting>
- </informalexample>
- The linkend is the SGML/XML id on the top item of the page you want to link to.
- For most pages this is currently the part ("gtk", "gdk", "glib") and then
- the page title ("Hash Tables"). For widgets it is just the class name.
- Spaces and underscores are converted to '-' to conform to SGML/XML.
- </para>
-
- <para>
- To refer to an external function, e.g. a standard C function:
- <informalexample>
- <programlisting><![CDATA[
-<function>...</function>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include bulleted lists:
- <informalexample>
- <programlisting><![CDATA[
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include a note which stands out from the text:
- <informalexample>
- <programlisting><![CDATA[
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a type:
- <informalexample>
- <programlisting><![CDATA[
-<type>unsigned char</type>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to an external structure (not one described in the GTK docs):
- <informalexample>
- <programlisting><![CDATA[
-<structname>XFontStruct</structname>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a field of a structure:
- <informalexample>
- <programlisting><![CDATA[
-<structfield>len</structfield>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a class name, we could possibly use:
- <informalexample>
- <programlisting><![CDATA[
-<classname>GtkWidget</classname>
-]]></programlisting>
- </informalexample>
- but you'll probably be using #GtkWidget instead (to automatically create
- a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
- </para>
-
- <para>
- To emphasize text:
- <informalexample>
- <programlisting><![CDATA[
-<emphasis>This is important</emphasis>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- For filenames use:
- <informalexample>
- <programlisting><![CDATA[
-<filename>/home/user/documents</filename>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to keys use:
- <informalexample>
- <programlisting><![CDATA[
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-]]></programlisting>
- </informalexample>
- </para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Filling the extra files</title>
-
- <para>
- There are a couple of extra files, that need to be maintained along with
- the inline source code comments:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
-
- <sect1 id="metafiles_types">
- <title>Editing the types file</title>
-
- <para>
- If your library or application includes GObjects, you want
- their signals, arguments/parameters and position in the hierarchy to be
- shown in the documentation. All you need to do, is to list the
- <function>xxx_get_type</function> functions together with their include
- inside the <filename><package>.types</filename> file.
- </para>
-
- <para>
- <example><title>Example <package>.types file</title>
- <programlisting><![CDATA[
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
- Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
- use this approach you should not dist the types file nor have it under version control.
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>Editing the master document</title>
-
- <para>
- GTK-Doc produces documentation in DocBook SGML/XML. When processing the
- inline source comments, the GTK-Doc tools generate one documentation
- page per class or module as a separate file. The master document
- includes them and place them in an order.
- </para>
-
- <para>
- While GTK-Doc creates a template master document for you, later runs will
- not touch it again. This means that one can freely structure the
- documentation. That includes grouping pages and adding extra pages.
- GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
- Its a good idea to look at this from time to time to see if there are
- some new goodies introduced there.
- </para>
-
- <tip>
- <para>Do not create tutorials as extra documents. Just write extra chapters. The benefit of directly embedding the tutorial for your library into the API documentation is that it is easy to link for the tutorial to symbol documentation. Also, chances are higher that the tutorial gets updates along with the library.</para>
- </tip>
-
- <para>So what are the things to change inside the master document? There are some placeholders (text in square brackets) there which you should take care of.</para>
-
- <para>
- <example><title>Master document header</title>
- <programlisting><![CDATA[
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- In addition a few option elements are created in commented form. You can
- review these and enable them as you like.
- </para>
-
- <para>
- <example><title>Optional part in the master document</title>
- <programlisting><![CDATA[
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Finally you need to add new section whenever you introduce one. The
- <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> tool will
- remind you of newly generated xml files that are not yet included into
- the doc.
- </para>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
- <chapter>
- <title>my library</title>
- <xi:include href="xml/object.xml"/>
- ...
-]]></programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>Editing the section file</title>
-
- <para>
- The section file is used to organise the documentation output by
- GTK-Doc. Here one specifies which symbol belongs to which module or
- class and control the visibility (public or private).
- </para>
-
- <para>
- The section file is a plain text file with tags delimiting sections.
- Blank lines are ignored and lines starting with a '#' are treated as
- comment lines.
- </para>
-
- <note>
- <para>
- While the tags make the file look like xml, it is not. Please do not
- close tags like <SUBSECTION>.
- </para>
- </note>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The <FILE> ... </FILE> tag is used to specify the file name,
- without any suffix. For example, using '<FILE>gnome-config</FILE>'
- will result in the section declarations being output in the template
- file <filename>tmpl/gnome-config.sgml</filename>, which will be
- converted into the DocBook XML file <filename>xml/gnome-config.sgml</filename>
- or the DocBook XML file <filename>xml/gnome-config.xml</filename>.
- (The name of the HTML file is based on the module name and the section
- title, or for GObjects it is based on the GObjects class name converted
- to lower case).
- </para>
-
- <para>
- The <TITLE> ... </TITLE> tag is used to specify the title of
- the section. It is only useful before the templates (if used) are
- initially created, since the title set in the template file overrides
- this. Also if one uses SECTION comment in the sources, this is obsolete.
- </para>
-
- <para>
- You can group items in the section by using the <SUBSECTION> tag.
- Currently it outputs a blank line between subsections in the synopsis
- section.
- You can also use <SUBSECTION Standard> for standard GObject
- declarations (e.g. the functions like g_object_get_type and macros like
- G_OBJECT(), G_IS_OBJECT() etc.).
- Currently these are left out of the documentation.
- You can also use <SUBSECTION Private> for private declarations
- which will not be output (it is a handy way to avoid warning messages
- about unused declarations).
- If your library contains private types which you don't want to appear in
- the object hierarchy and the list of implemented or required interfaces,
- add them to a Private subsection.
- Whether you would place GObject and GObjectClass like structs in public
- or Standard section depends if they have public entries (variables,
- vmethods).
- </para>
-
- <para>You can also use <INCLUDE> ... </INCLUDE> to specify the <literal>#include</literal> files which are shown in the synopsis sections. It contains a comma-separated list of <literal>#include</literal> files, without the angle brackets. If you set it outside of any sections, it acts for all sections until the end of the file. If you set it within a section, it only applies to that section.</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>Controlling the result</title>
-
- <para>
- A GTK-Doc run generates report files inside the documentation directory.
- The generated files are named:
- <filename><package>-undocumented.txt</filename>,
- <filename><package>-undeclared.txt</filename> and
- <filename><package>-unused.txt</filename>.
- All those are plain text files that can be viewed and postprocessed easily.
- </para>
-
- <para>The <filename><replaceable>package</replaceable>-undocumented.txt</filename> file starts with the documentation coverage summary. Below are two sections divided by blank lines. The first section lists undocumented or incomplete symbols. The second section does the same for section docs. Incomplete entries are those, which have documentation, but where e.g. a new parameter has been added.</para>
-
- <para>
- The <filename><package>-undeclared.txt</filename> file lists symbols
- given in the <filename><package>-sections.txt</filename> but not
- found in the sources. Check if they have been removed or if they are
- misspelled.
- </para>
-
- <para>
- The <filename><package>-unused.txt</filename> file lists symbol
- names, where the GTK-Doc scanner has found documentation, but does not
- know where to put it. This means that the symbol has not yet been added to
- the <filename><package>-sections.txt</filename> file.
- </para>
-
- <tip>
- <para>
- Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
- If at least GTK-Doc 1.9 is installed, this will run sanity checks during
- <command>make check</command> run.
- </para>
- </tip>
-
- <para>
- One can also look at the files produced by the source code scanner:
- <filename><package>-decl-list.txt</filename> and
- <filename><package>-decl.txt</filename>. The first one can be
- compared with the section file if that is manually maintained. The second
- lists all declarations from the headers. If a symbol is missing one could
- check if this file contains it.
- </para>
-
- <para>
- If the project is GObject based, one can also look into the files produced
- by the object scanner:
- <filename><package>.args.txt</filename>,
- <filename><package>.hierarchy.txt</filename>,
- <filename><package>.interfaces.txt</filename>,
- <filename><package>.prerequisites.txt</filename> and
- <filename><package>.signals.txt</filename>. If there are missing
- symbols in any of those, one can ask GTK-Doc to keep the intermediate
- scanner file for further analysis, by running it as
- <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
- </para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernizing the documentation</title>
-
- <para>
- GTK-Doc has been around for quite some time. In this section we list new
- features together with the version since when it is available.
- </para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>
- When using xml instead of sgml, one can actually name the master
- document <filename><package>-docs.xml</filename>.
- </para>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-sections</option>
- in <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>-sections.txt</filename> is autogenerated and
- can be removed from the vcs. This only works nicely for projects that
- have a very regular structure (e.g. each .{c,h} pair will create new
- section). If one organize a project close to that updating a manually
- maintained section file can be as simple as running
- <code>meld <package>-decl-list.txt <package>-sections.txt</code>.
- </para>
-
- <para>
- Version 1.8 already introduced the syntax for documenting sections in
- the sources instead of the separate files under <filename class="directory">tmpl</filename>.
- This version adds options to switch the whole doc module to not use the
- extra tmpl build step at all, by using <option>--flavour no-tmpl</option>
- in <filename>configure.ac</filename>. If you don't have a <filename class="directory">tmpl</filename>
- checked into your source control system and haven't yet switched, just
- add the flag to <filename>configure.ac</filename> and you are done.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in
- <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>.types</filename> is autogenerated and can be
- removed from the vcs. When using this feature it is important to also
- setup the <varname>IGNORE_HFILES</varname> in
- <filename>Makefile.am</filename> for code that is build conditionally.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>
- This version includes a new tool called gtkdoc-check. This tool can run
- a set of sanity checks on your documentation. It is enabled by adding
- these lines to the end of <filename>Makefile.am</filename>.
- <example><title>Enable gtkdoc-check</title>
- <programlisting><![CDATA[
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>
- Version 1.18 brought some initial markdown support. Using markdown in
- doc comments is less intrusive than writing docbook xml. This version
- improves a lot on this and add a lot more styles. The section that
- explains the <link linkend="documenting_syntax">comment syntax</link>
- has all the details.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>
- The makefiles shipped with this version generate an entity file at <filename>xml/gtkdocentities.ent</filename>,
- containing entities for e.g. package_name and package_version. You can
- use this e.g. in the main xml file to avoid hardcoding the version
- number. Below is an example that shows how the entity file is included
- in the master template and how the entities are used.
- The entities can also be used in all
- generated files, GTK-Doc will use the same xml header in generated xml
- files.
- <example><title>Use pre-generated entities</title>
- <programlisting><![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-]]></programlisting>
- </example>
- </para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Documenting other interfaces</title>
-
- <para>
- So far we have been using GTK-Doc to document the API of code. The next
- sections contain suggestions how the tools can be used to document other
- interfaces too.
- </para>
-
- <sect1 id="commandline-interfaces">
- <title>Command line options and man pages</title>
-
- <para>
- As one can generate man pages for a docbook refentry as well, it sounds
- like a good idea to use it for that purpose. This way the interface is
- part of the reference and one gets the man-page for free.
- </para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Document the tool</title>
-
- <para>
- Create one refentry file per tool. Following
- <link linkend="settingup_docfiles">our example</link> we would call it
- <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
- tags that should be used and can look at generated file in the xml
- subdirectory as well as examples e.g. in glib.
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Adding the extra configure check</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-]]></programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Adding the extra makefile rules</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-]]></programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>DBus interfaces</title>
-
- <para>
- (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
-http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Frequently asked questions</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>Question</segtitle>
- <segtitle>Answer</segtitle>
- <seglistitem>
- <seg>No class hierarchy.</seg>
- <seg>
- The objects <function>xxx_get_type()</function> function has not been
- entered into the <filename><package>.types</filename> file.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Still no class hierarchy.</seg>
- <seg>
- Missing or wrong naming in <filename><package>-sections.txt</filename>
- file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explanation</ulink>).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Damn, I still have no class hierarchy.</seg>
- <seg>
- Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
- part of the normal section (don't put this into Standard or Private
- subsections).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>No symbol index.</seg>
- <seg>
- Does the <filename><package>-docs.{xml,sgml}</filename> contain a
- index that xi:includes the generated index?
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Symbols are not linked to their doc-section.</seg>
- <seg>
- Is the doc-comment using the correct markup (added #,% or ())?
- Check if the gtkdoc-fixxref warns about unresolvable xrefs.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new class does not appear in the docs.</seg>
- <seg>
- Is the new page xi:included from
- <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new symbol does not appear in the docs.</seg>
- <seg>
- Is the doc-comment properly formatted. Check for spelling mistakes in
- the begin of the comment. Check if the gtkdoc-fixxref warns about
- unresolvable xrefs. Check if the symbol is correctly listed in the
- <filename><package>-sections.txt</filename> in a public subsection.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A type is missing from the class hierarchy.</seg>
- <seg>
- If the type is listed in <filename><package>.hierarchy</filename>
- but not in <filename>xml/tree_index.sgml</filename> then double check
- that the type is correctly placed in the <filename><package>-sections.txt</filename>.
- If the type instance (e.g. <type>GtkWidget</type>) is not listed or
- incidentally marked private it will not be shown.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>I get foldoc links for all gobject annotations.</seg>
- <seg>
- Check that <filename>xml/annotation-glossary.xml</filename> is
- xi:included from <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parameter described in source code comment block but does not exist</seg>
- <seg>Check if the prototype in the header has different parameter names to the source.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>multiple "IDs" for constraint linkend: XYZ</seg>
- <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Tools related to gtk-doc</title>
-
- <para>
- GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
- integration plugin, that adds API docs to a trac site and integrates with
- the trac search.
- </para>
- <para>
- Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
- tags in the API to determine the minimum required version.
- </para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Version 1.1, March 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation Licence</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>The purpose of this Licence is to make a manual, textbook, or other written document <quote>free</quote> in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this Licence preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.</para>
-
- <para>This Licence is a kind of <quote>copyleft</quote>, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public Licence, which is a copyleft licence designed for free software.</para>
-
- <para>We have designed this Licence in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this Licence is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this Licence principally for works whose purpose is instruction or reference.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">This Licence applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this Licence. The <quote>Document</quote>, below, refers to any such manual or work. Any member of the public is a licencee, and is addressed as <quote>you</quote>.</para>
-
- <para id="fdl-modified">A <quote>Modified Version</quote> of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.</para>
-
- <para id="fdl-secondary">A <quote>Secondary Section</quote> is a named appendix or a front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.</para>
-
- <para id="fdl-invariant">The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles are designated, as being those of Invariant Sections, in the notice that says that the <link linkend="fdl-document">Document</link> is released under this Licence.</para>
-
- <para id="fdl-cover-texts">The <quote>Cover Texts</quote> are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the <link linkend="fdl-document">Document</link> is released under this Licence.</para>
-
- <para id="fdl-transparent">A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not <quote>Transparent</quote> is called <quote>Opaque</quote>.</para>
-
- <para>Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.</para>
-
- <para id="fdl-title-page">The <quote>Title Page</quote> means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this Licence requires to appear in the title page. For works in formats which do not have any title page as such, <quote>Title Page</quote> means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either commercially or noncommercially, provided that this Licence, the copyright notices, and the licence notice saying this Licence applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this Licence. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in <link linkend="fdl-section3">section 3</link>.</para>
-
- <para>You may also lend copies, under the same conditions stated above, and you may publicly display copies.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100, and the Document's licence notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the <link linkend="fdl-document">Document</link> and satisfy these conditions, can be treated as verbatim copying in other respects.</para>
-
- <para>If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.</para>
-
- <para>If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100, you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.</para>
-
- <para>It is requested, but not required, that you contact the authors of the <link linkend="fdl-document">Document</link> well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release the Modified Version under precisely this Licence, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>Use in the <link linkend="fdl-title-page">Title Page</link> (and on the covers, if any) a title distinct from that of the <link linkend="fdl-document">Document</link>, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>List on the <link linkend="fdl-title-page">Title Page</link>, as authors, one or more persons or entities responsible for authorship of the modifications in the <link linkend="fdl-modified">Modified Version</link>, together with at least five of the principal authors of the <link linkend="fdl-document">Document</link> (all of its principal authors, if it has less than five).</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>State on the <link linkend="fdl-title-page">Title Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the publisher.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>Include, immediately after the copyright notices, a licence notice giving the public permission to use the <link linkend="fdl-modified">Modified Version</link> under the terms of this Licence, in the form shown in the Addendum below.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>Preserve in that licence notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and required <link linkend="fdl-cover-texts">Cover Texts</link> given in the <link linkend="fdl-document">Document's</link> licence notice.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Include an unaltered copy of this Licence.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access to a <link linkend="fdl-transparent">Transparent</link> copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the <quote>History</quote> section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>In any section entitled <quote>Acknowledgements</quote> or <quote>Dedications</quote>, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>Preserve all the <link linkend="fdl-invariant">Invariant Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>Delete any section entitled <quote>Endorsements</quote>. Such a section may not be included in the <link linkend="fdl-modified">Modified Version</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>Do not retitle any existing section as <quote>Endorsements</quote> or to conflict in title with any <link linkend="fdl-invariant">Invariant Section</link>.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>If the <link linkend="fdl-modified">Modified Version</link> includes new front-matter sections or appendices that qualify as <link linkend="fdl-secondary">Secondary Sections</link> and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the Modified Version's licence notice. These titles must be distinct from any other section titles.</para>
-
- <para>You may add a section entitled <quote>Endorsements</quote>, provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various parties--for example, statements of peer review or that the text has been approved by an organisation as the authoritative definition of a standard.</para>
-
- <para>You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of the list of <link linkend="fdl-cover-texts">Cover Texts</link> in the <link linkend="fdl-modified">Modified Version</link>. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the <link linkend="fdl-document">Document</link> already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.</para>
-
- <para>The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this Licence give permission to use their names for publicity for or to assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>You may combine the <link linkend="fdl-document">Document</link> with other documents released under this Licence, under the terms defined in <link linkend="fdl-section4">section 4</link> above for modified versions, provided that you include in the combination all of the <link linkend="fdl-invariant">Invariant Sections</link> of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its licence notice.</para>
-
- <para>The combined work need only contain one copy of this Licence, and multiple identical <link linkend="fdl-invariant">Invariant Sections</link> may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the licence notice of the combined work.</para>
-
- <para>In the combination, you must combine any sections entitled <quote>History</quote> in the various original documents, forming one section entitled <quote>History</quote>; likewise combine any sections entitled <quote>Acknowledgements</quote>, and any sections entitled <quote>Dedications</quote>. You must delete all sections entitled <quote>Endorsements.</quote></para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents released under this Licence, and replace the individual copies of this Licence in the various documents with a single copy that is included in the collection, provided that you follow the rules of this Licence for verbatim copying of each of the documents in all other respects.</para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a <link linkend="fdl-modified">Modified Version</link> of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an <quote>aggregate</quote>, and this Licence does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>Translation is considered a kind of modification, so you may distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this Licence provided that you also include the original English version of this Licence. In case of a disagreement between the translation and the original English version of this Licence, the original English version will prevail.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>You may not copy, modify, sublicence, or distribute the <link linkend="fdl-document">Document</link> except as expressly provided for under this Licence. Any other attempt to copy, modify, sublicence or distribute the Document is void, and will automatically terminate your rights under this Licence. However, parties who have received copies, or rights, from you under this Licence will not have their licences terminated so long as such parties remain in full compliance.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENCE</title>
- <para>The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation Licence from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>Each version of the Licence is given a distinguishing version number. If the <link linkend="fdl-document">Document</link> specifies that a particular numbered version of this Licence <quote>or any later version</quote> applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this Licence, you may choose any version ever published (not as a draft) by the Free Software Foundation.</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>To use this Licence in a document you have written, include a copy of the Licence in the document and put the following copyright and licence notices just after the title page:</para>
-
- <blockquote>
- <para>Copyright YEAR YOUR NAME.</para>
- <para>Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation Licence, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST, and with the <link linkend="fdl-cover-texts">Back-Cover Texts</link> being LIST. A copy of the licence is included in the section entitled <quote>GNU Free Documentation Licence</quote>.</para>
- </blockquote>
-
- <para>If you have no <link linkend="fdl-invariant">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.</para>
-
- <para>If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software licence, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public Licence</ulink>, to permit their use in free software.</para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
# Jorge Gonzalez <jorgegonz@svn.gnome.org>, 2009.\r
# Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.\r
# \r
-# Daniel Mustieles <daniel.mustieles@gmail.com>, 2019.
+# \r
+# Daniel Mustieles <daniel.mustieles@gmail.com>, 2019-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gtk-doc-help.master\n"
-"POT-Creation-Date: 2019-05-09 19:30+0000\n"
-"PO-Revision-Date: 2019-07-02 12:04+0200\n"
+"POT-Creation-Date: 2020-02-01 19:18+0000\n"
+"PO-Revision-Date: 2020-02-12 12:11+0100\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
-"Language-Team: es <gnome-es-list@gnome.org>\n"
-"Language: es\n"
+"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
+"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Gtranslator 3.32.0\n"
+"X-Generator: Gtranslator 3.34.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
msgctxt "_"
msgid "translator-credits"
msgstr ""
-"Daniel Mustieles <daniel.mustieles@gmail.com>, 2009 - 2019\n"
+"Daniel Mustieles <daniel.mustieles@gmail.com>, 2009 - 2020\n"
"Jorge González <jorgegonz@svn.gnome.org>, 2009 - 2011\n"
"Francisco Javier F. Serrador <serrrador@svn.gnome.org>, 2009, 2010"
#. (itstool) path: bookinfo/copyright
#: C/index.docbook:52
-#| msgid "<year>2007-2015</year> <holder>Stefan Sauer (Kost)</holder>"
msgid "<year>2007-2019</year> <holder>Stefan Sauer (Kost)</holder>"
msgstr "<year>2007-2019</year> <holder>Stefan Sauer (Kost)</holder>"
#. (itstool) path: revhistory/revision
#: C/index.docbook:83
-#| msgid ""
-#| "<revnumber>1.29.1</revnumber> <date>28 Aug 2018</date> "
-#| "<authorinitials>ss</authorinitials> <revremark>development</revremark>"
msgid ""
-"<revnumber>1.30.1</revnumber> <date>09 May 2019</date> <authorinitials>ss</"
-"authorinitials> <revremark>development</revremark>"
+"<revnumber>1.32.1</revnumber> <date>15 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>dev version</revremark>"
msgstr ""
-"<revnumber>1.30.1</revnumber> <date>9 de mayo de 2019</date> "
+"<revnumber>1.32.1</revnumber> <date>15 de agosto de 2019</date> "
"<authorinitials>ss</authorinitials> <revremark>desarrollo</revremark>"
#. (itstool) path: revhistory/revision
#: C/index.docbook:89
-#| msgid ""
-#| "<revnumber>1.23</revnumber> <date>17 May 2015</date> <authorinitials>ss</"
-#| "authorinitials> <revremark>bug fix</revremark>"
+msgid ""
+"<revnumber>1.32</revnumber> <date>15 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>hotfix release</revremark>"
+msgstr ""
+"<revnumber>1.32</revnumber> <date>15 de agosto de 2019</date> "
+"<authorinitials>ss</authorinitials> <revremark>correcciones de errores</"
+"revremark>"
+
+#. (itstool) path: revhistory/revision
+#: C/index.docbook:95
+msgid ""
+"<revnumber>1.31</revnumber> <date>05 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>refactorings and more test coverage</revremark>"
+msgstr ""
+"<revnumber>1.31</revnumber> <date>5 de agosto de 2019</date> "
+"<authorinitials>ss</authorinitials> <revremark>cobertura para más pruebas</"
+"revremark>"
+
+#. (itstool) path: revhistory/revision
+#: C/index.docbook:101
msgid ""
"<revnumber>1.30</revnumber> <date>08 May 2019</date> <authorinitials>ss</"
"authorinitials> <revremark>more test coverage</revremark>"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:95
-#| msgid ""
-#| "<revnumber>1.28</revnumber> <date>24 Mar 2018</date> <authorinitials>ss</"
-#| "authorinitials> <revremark>bug fixes</revremark>"
+#: C/index.docbook:107
msgid ""
"<revnumber>1.29</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes</revremark>"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:101
+#: C/index.docbook:113
msgid ""
"<revnumber>1.28</revnumber> <date>24 Mar 2018</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes</revremark>"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:107
+#: C/index.docbook:119
msgid ""
"<revnumber>1.27</revnumber> <date>07 Dec 2017</date> <authorinitials>ss</"
"authorinitials> <revremark>fine tuning of the python port</revremark>"
"python</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:113
+#: C/index.docbook:125
msgid ""
"<revnumber>1.26</revnumber> <date>11 Aug 2017</date> <authorinitials>ss</"
"authorinitials> <revremark>port all tools from perl/bash to python</"
"de perl/bash a python</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:119
+#: C/index.docbook:131
msgid ""
"<revnumber>1.25</revnumber> <date>21 March 2016</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, test cleanups</revremark>"
"limpieza</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:125
+#: C/index.docbook:137
msgid ""
"<revnumber>1.24</revnumber> <date>29 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fix</revremark>"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:131
+#: C/index.docbook:143
msgid ""
"<revnumber>1.23</revnumber> <date>17 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fix</revremark>"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:137
+#: C/index.docbook:149
msgid ""
"<revnumber>1.22</revnumber> <date>07 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, dropping deprecated features</"
"eliminadas funcionalidades obsoletas</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:143
+#: C/index.docbook:155
msgid ""
"<revnumber>1.21</revnumber> <date>17 Jul 2014</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, dropping deprecated features</"
"eliminadas funcionalidades obsoletas</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:149
+#: C/index.docbook:161
msgid ""
"<revnumber>1.20</revnumber> <date>16 Feb 2014</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, markdown support, style improvements</"
"de marcado, mejoras en los estilos</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:155
+#: C/index.docbook:167
msgid ""
"<revnumber>1.19</revnumber> <date>05 Jun 2013</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes</revremark>"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:161
+#: C/index.docbook:173
msgid ""
"<revnumber>1.18</revnumber> <date>14 Sep 2011</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, speedups, markdown support</revremark>"
"mejoras en la velocidad y soporte de marcado</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:167
+#: C/index.docbook:179
msgid ""
"<revnumber>1.17</revnumber> <date>26 Feb 2011</date> <authorinitials>sk</"
"authorinitials> <revremark>urgent bug fix update</revremark>"
"corrección de error</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:173
+#: C/index.docbook:185
msgid ""
"<revnumber>1.16</revnumber> <date>14 Jan 2011</date> <authorinitials>sk</"
"authorinitials> <revremark>bugfixes, layout improvements</revremark>"
"mejoras en la distribución</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:179
+#: C/index.docbook:191
msgid ""
"<revnumber>1.15</revnumber> <date>21 May 2010</date> <authorinitials>sk</"
"authorinitials> <revremark>bug and regression fixes</revremark>"
"regresiones</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:185
+#: C/index.docbook:197
msgid ""
"<revnumber>1.14</revnumber> <date>28 March 2010</date> <authorinitials>sk</"
"authorinitials> <revremark>bugfixes and performance improvements</revremark>"
"mejoras en el rendimiento</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:191
+#: C/index.docbook:203
msgid ""
"<revnumber>1.13</revnumber> <date>18 December 2009</date> "
"<authorinitials>sk</authorinitials> <revremark>broken tarball update</"
"roto</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:197
+#: C/index.docbook:209
msgid ""
"<revnumber>1.12</revnumber> <date>18 December 2009</date> "
"<authorinitials>sk</authorinitials> <revremark>new tool features and "
"nuevas características</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:203
+#: C/index.docbook:215
msgid ""
"<revnumber>1.11</revnumber> <date>16 November 2008</date> "
"<authorinitials>mal</authorinitials> <revremark>GNOME doc-utils migration</"
"revremark>"
#. (itstool) path: chapter/title
-#: C/index.docbook:216
+#: C/index.docbook:228
msgid "Introduction"
msgstr "Introducción"
#. (itstool) path: chapter/para
-#: C/index.docbook:218
+#: C/index.docbook:230
msgid ""
"This chapter introduces GTK-Doc and gives an overview of what it is and how "
"it is used."
"es y cómo usarlo."
#. (itstool) path: sect1/title
-#: C/index.docbook:224
+#: C/index.docbook:236
msgid "What is GTK-Doc?"
msgstr "¿Qué es GTK-Doc?"
#. (itstool) path: sect1/para
-#: C/index.docbook:226
+#: C/index.docbook:238
msgid ""
"GTK-Doc is used to document C code. It is typically used to document the "
"public API of libraries, such as the GTK+ and GNOME libraries. But it can "
"Pero también se puede usar para documentar código de aplicaciones."
#. (itstool) path: sect1/title
-#: C/index.docbook:234
+#: C/index.docbook:246
msgid "How Does GTK-Doc Work?"
msgstr "¿Cómo funciona GTK-Doc?"
#. (itstool) path: sect1/para
-#: C/index.docbook:236
+#: C/index.docbook:248
msgid ""
"GTK-Doc works by using documentation of functions placed inside the source "
"files in specially-formatted comment blocks, or documentation added to the "
"archivos de cabecera; no produce salida para funciones estáticas)."
#. (itstool) path: sect1/para
-#: C/index.docbook:243
+#: C/index.docbook:255
msgid ""
"GTK-Doc consists of a number of python scripts, each performing a different "
"step in the process."
"diferente en el proceso."
#. (itstool) path: sect1/para
-#: C/index.docbook:248
+#: C/index.docbook:260
msgid "There are 5 main steps in the process:"
msgstr "Existen 5 pasos importantes en el proceso:"
#. (itstool) path: listitem/para
-#: C/index.docbook:255
-#| msgid ""
-#| "<guilabel>Writing the documentation.</guilabel> The author fills in the "
-#| "source files with the documentation for each function, macro, union etc. "
-#| "(In the past information was entered in generated template files, which "
-#| "is not recommended anymore)."
+#: C/index.docbook:267
msgid ""
"<guilabel>Writing the documentation.</guilabel> The author fills in the "
"source files with the documentation for each function, macro, structs or "
"etc."
#. (itstool) path: listitem/para
-#: C/index.docbook:264
+#: C/index.docbook:276
msgid ""
"<guilabel>Gathering information about the code.</guilabel> "
"<application>gtkdoc-scan</application> scans the header files of the code "
"txt</filename> dentro de <filename><module>-overrides.txt</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:281
+#: C/index.docbook:293
msgid ""
"<application>gtkdoc-scangobj</application> can also be used to dynamically "
"query a library about any GObject subclasses it exports. It saves "
"que proporciona."
#. (itstool) path: listitem/para
-#: C/index.docbook:287
+#: C/index.docbook:299
msgid ""
"<application>gtkdoc-scanobj</application> should not be used anymore. It was "
"needed in the past when GObject was still GtkObject inside gtk+."
"necesitó en el pasado, cuando GObject todavía era GtkObject dentro de GTK+."
#. (itstool) path: listitem/para
-#: C/index.docbook:294
+#: C/index.docbook:306
msgid ""
"<guilabel>Generating the XML and HTML/PDF.</guilabel> <application>gtkdoc-"
"mkdb</application> turns the template files into XML files in the <filename "
"obtiene los documentos de los fuentes y los datos obtenidos en introspección."
#. (itstool) path: listitem/para
-#: C/index.docbook:303
+#: C/index.docbook:315
msgid ""
"<application>gtkdoc-mkhtml</application> turns the XML files into HTML files "
"in the <filename class=\"directory\">html/</filename> subdirectory. Likewise "
"paquete>.pdf</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:309
+#: C/index.docbook:321
msgid ""
"Files in <filename class=\"directory\">xml/</filename> and <filename class="
"\"directory\">html/</filename> directories are always overwritten. One "
"Nunca se deben editar directamente."
#. (itstool) path: listitem/para
-#: C/index.docbook:317
+#: C/index.docbook:329
msgid ""
"<guilabel>Fixing up cross-references between documents.</guilabel> After "
"installing the HTML files, <application>gtkdoc-fixxref</application> can be "
"esa documentación está instalada)."
#. (itstool) path: sect1/title
-#: C/index.docbook:335
+#: C/index.docbook:347
msgid "Getting GTK-Doc"
msgstr "Obtener GTK-Doc"
#. (itstool) path: sect2/title
-#: C/index.docbook:338
+#: C/index.docbook:350
msgid "Requirements"
msgstr "Requerimientos"
#. (itstool) path: sect2/para
-#: C/index.docbook:339
+#: C/index.docbook:351
msgid ""
"<guilabel>python 2/3</guilabel> - the main scripts are written in python."
msgstr ""
"python."
#. (itstool) path: sect2/para
-#: C/index.docbook:342
+#: C/index.docbook:354
msgid ""
"<guilabel>xsltproc</guilabel> - the xslt processor from libxslt <ulink url="
"\"http://xmlsoft.org/XSLT/\" type=\"http\">xmlsoft.org/XSLT/</ulink>"
"\"http://xmlsoft.org/XSLT/\" type=\"http\">xmlsoft.org/XSLT/</ulink>"
#. (itstool) path: sect2/para
-#: C/index.docbook:346
+#: C/index.docbook:358
msgid ""
"<guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets <ulink url="
"\"http://sourceforge.net/projects/docbook/files/docbook-xsl/\" type=\"http"
"\"http\">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>"
#. (itstool) path: sect2/para
-#: C/index.docbook:350
+#: C/index.docbook:362
msgid ""
"One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> "
"or <guilabel>vim</guilabel> - optional - used for syntax highlighting of "
"los ejemplos."
#. (itstool) path: sect1/title
-#: C/index.docbook:358
+#: C/index.docbook:370
msgid "About GTK-Doc"
msgstr "Acerca de GTK-Doc"
#. (itstool) path: sect1/para
-#: C/index.docbook:360
+#: C/index.docbook:372
msgid ""
"Historically GTK-Doc was used to generate template files from the sources "
"code. These template files could be used by developers to enter the API "
"possible to place all API information into source comments, which made the "
"template support obsolete. In version 1.26 template support has been removed."
msgstr ""
+"Históricamente, GTK-Doc se utilizaba para generar archivos de plantilla a "
+"partir del código fuente. Los desarrolladores pueden usar estos archivos de "
+"plantilla para introducir la documentación de la API. Este enfoque era "
+"bastante incómodo porque requería mantener los archivos generados bajo "
+"control de versiones. Desde GTK-Doc 1.9 se hizo posible colocar toda la "
+"información de la API en los comentarios de origen, lo que dejó obsoleto el "
+"soporte de la plantilla. En la versión 1.26 se ha eliminado el soporte de "
+"plantillas."
#. (itstool) path: sect1/para
-#: C/index.docbook:370 C/index.docbook:384
+#: C/index.docbook:382 C/index.docbook:396
msgid "(FIXME)"
msgstr "(ARRÉGLAME)"
#. (itstool) path: sect1/para
-#: C/index.docbook:374
+#: C/index.docbook:386
msgid ""
"(authors, web pages, mailing list, license, future plans, comparison with "
"other similar systems.)"
"comparación con otros sistemas similares.)"
#. (itstool) path: sect1/title
-#: C/index.docbook:382
+#: C/index.docbook:394
msgid "About this Manual"
msgstr "Acerca de este manual"
#. (itstool) path: sect1/para
-#: C/index.docbook:388
+#: C/index.docbook:400
msgid "(who it is meant for, where you can get it, license)"
msgstr "(a quién está dirigido, dónde puede obtenerse, licencia)"
#. (itstool) path: chapter/title
-#: C/index.docbook:397
+#: C/index.docbook:409
msgid "Project Setup"
msgstr "Configuración del proyecto"
#. (itstool) path: chapter/para
-#: C/index.docbook:399
+#: C/index.docbook:411
msgid ""
"This Chapter describes the steps that are necessary to integrate GTK-Doc "
"into your project. The integration of GTK-Doc into a project includes the "
"following steps:"
msgstr ""
+"Este capítulo describe los pasos para integrar GTK-Doc en su proyecto. La "
+"integración de GTK-Doc incluye:"
#. (itstool) path: listitem/para
-#: C/index.docbook:407
+#: C/index.docbook:419
msgid ""
"Preparation of the directory structure and creating required configuration "
"files for your GTK-Doc documentation (see <link linkend=\"settingup_docfiles"
"\"> Setting up a skeleton documentation</link>)."
msgstr ""
+"Preparación de la estructura de carpetas y crear los archivos de "
+"configuración necesarios para su documentación GTK-Doc (consulte <link "
+"linkend=\"settingup_docfiles\"> Configurar el esqueleto de la documentación</"
+"link>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:415
+#: C/index.docbook:427
msgid ""
"Adjusting the build system to build your documentation using the GTK-Doc "
"tools. Multiple build systems are supported, in this manual we describe how "
"link>, <link linkend=\"settingup_cmake\">CMake</link>, and <link linkend="
"\"settingup_plain_makefiles\">plain Makefiles</link>."
msgstr ""
+"Ajustar el sistema de construcción para construir su documentación usando "
+"las herramientas de GTK-Doc. Hay varios sistemas de construcción soportados, "
+"en este manual se describe cómo integrar GTK-Doc con <link linkend="
+"\"settingup_autotools\">Autotools</link>, <link linkend=\"settingup_cmake"
+"\">CMake</link>, y <link linkend=\"settingup_plain_makefiles\">archivos "
+"Makefile</link>."
#. (itstool) path: listitem/para
-#: C/index.docbook:425
+#: C/index.docbook:437
msgid ""
"Adding GTK-Doc specific files to version control and deciding which files to "
"ignore (see <link linkend=\"settingup_vcs\"> Integration with version "
"control systems</link>)."
msgstr ""
+"Añadir archivos específicos de GTK-Doc al control de versiones y decidir qué "
+"archivos ignorar (consulte <link linkend=\"settingup_vcs\">Integración con "
+"sistemas de control de versiones</link>)."
#. (itstool) path: chapter/para
-#: C/index.docbook:433
+#: C/index.docbook:445
msgid ""
"The following sections assume we work on a project called <code>meep</code>. "
"This project contains two packages (or modules), a library called "
"llamada <code>meeper</code>."
#. (itstool) path: sect1/title
-#: C/index.docbook:442
+#: C/index.docbook:454
msgid "Setting up a skeleton documentation"
msgstr "Configurar el esquema de la documentación"
#. (itstool) path: sect1/para
-#: C/index.docbook:444
+#: C/index.docbook:456
msgid ""
"A common convention is to place documentation into a folder called "
"<code>docs</code> inside your top-level project directory. We usually "
"you must adjust your build system configuration to match your directory "
"structure."
msgstr ""
+"Un convenio común es colocar la documentación en una carpeta llamada "
+"<code>docs</code> dentro de su carpeta de proyecto de nivel superior. "
+"Normalmente se distingue entre <emphasis>documentación de referencia</"
+"emphasis> destinada a desarrolladores y un <emphasis>manual de usuario</"
+"emphasis> destinado a usuarios finales. Nuevamente, el convenio es tener "
+"carpetas separadas para ambos. Por lo general, colocamos la documentación de "
+"referencia en una carpeta llamada <code>reference</code> y el manual del "
+"usuario final en una carpeta llamada <code>help</code> como. De acuerdo con "
+"el convenio anterior, la documentación de nuestro paquete <code>libmeep</"
+"code> se colocaría en: <code>docs/reference/libmeep</code>. Para paquetes "
+"con una sola biblioteca o aplicación, la documentación también se puede "
+"colocar directamente en <code>docs/reference </code>. No es obligatorio usar "
+"el convenio anterior, pero si elige usar una estructura de carpetas "
+"diferente, debe ajustar la configuración del sistema de compilación para que "
+"coincida con la estructura de su carpeta."
#. (itstool) path: example/title
-#: C/index.docbook:475
+#: C/index.docbook:487
msgid "Example directory structure of <emphasis>meep</emphasis> project"
msgstr ""
"Ejemplo de estructura de carpetas para el proyecto <emphasis>meep</emphasis>"
#. (itstool) path: example/programlisting
-#: C/index.docbook:477
+#: C/index.docbook:489
#, no-wrap
msgid ""
"\n"
" meeper/\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:469
+#: C/index.docbook:481
msgid ""
"In the following sections we will assume a directory structure for our "
"<emphasis>meep</emphasis> project that uses the above conventions. <_:"
"example-1/>"
msgstr ""
+"En las siguientes secciones se asumirá que la estructura de carpetas de "
+"nuestro proyecto <emphasis>meep</emphasis> usa los convenios anteriores. <_:"
+"example-1/>"
#. (itstool) path: sect1/title
-#: C/index.docbook:494
+#: C/index.docbook:506
msgid "Integration with Autotools"
msgstr "Integración con Autotools"
#. (itstool) path: sect1/para
-#: C/index.docbook:495
+#: C/index.docbook:507
msgid ""
"Integration of GTK-Doc into an autotools-based build system requires the "
"following steps:"
msgstr ""
+"La integración de GTK-Doc en un sistema de construcción basado en autotools "
+"requiere los siguientes pasos:"
#. (itstool) path: listitem/para
-#: C/index.docbook:501
+#: C/index.docbook:513
msgid ""
"Ensure that <application>gtkdocize</application> is run once before the "
"<filename>configure</filename> script. If an <filename>autogen.sh</filename> "
"script is present, adjust it to check for GTK-Doc and add a call to "
"<application>gtkdocize</application>."
msgstr ""
+"Asegúrese de que <application>gtkdocize</application> se ejecuta antes del "
+"script <filename>configure</filename>. Si existe un script <filename>autogen."
+"sh</filename> ajústelo para que compruebe que existe GTK-Doc y añada una "
+"llamada a <application>gtkdocize</application>."
#. (itstool) path: listitem/para
-#: C/index.docbook:509
+#: C/index.docbook:521
msgid ""
"The main purpose of <application>gtkdocize</application> is to make the "
"<filename>gtk-doc.make</filename> Makefile and the <filename>gtk-doc.m4</"
"filename> macro definition file available to the build system, either by "
"copying or linking it into the project."
msgstr ""
+"El propósito principal de <application>gtkdocize</application> es hacer que "
+"el Makefile <filename>gtk-doc.make</filename> y el archivo de definición de "
+"macros <filename>gtk-doc.m4</filename> estén disponibles para el sistema de "
+"construcción, bien copiándolos o enlazándolos en el proyecto."
#. (itstool) path: listitem/para
-#: C/index.docbook:518
+#: C/index.docbook:530
msgid ""
"Add the necessary <application>autoconf</application> macros to "
"<filename>configure.ac</filename> to enable GTK-Doc in your build system to "
"<filename>configure</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:524
+#: C/index.docbook:536
msgid ""
"Among others with registers the <code>--enable-gtk-doc</code> option with "
"the <filename>configure</filename> script."
msgstr ""
+"Entre otras la que registra la opción <code>--enable-gtk-doc</code> en el "
+"script <filename>configure</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:530
+#: C/index.docbook:542
msgid ""
"Create an <application>automake</application> script for each application or "
"library in your project. In the example used in this documentation this step "
"applies to both <code>meeper</code> and <code>libmeep</code>."
msgstr ""
+"Cree un script <application>automake</application> para cada aplicación o "
+"biblioteca de su proyecto. En el ejemplo usado en esta documentación este "
+"paso se aplica a <code>meeper</code> y a <code>libmeep</code>."
#. (itstool) path: sect1/para
-#: C/index.docbook:539
+#: C/index.docbook:551
msgid ""
"In the following sections, we will perform the above steps in reverse order. "
"We start with the <application>automake</application> scripts and work our "
"filename>. Then we show how enable Gtk-Doc in the build system and how to "
"build the documentation."
msgstr ""
+"En las siguientes secciones, se realizan los pasos anteriores en orden "
+"inverso. Comienza con los scripts <application>automake</application> y "
+"avanza hasta <filename>configure.ac</filename> y <filename> autogen.sh </"
+"filename>. Luego se muestra cómo activar Gtk-Doc en el sistema de "
+"compilación y cómo compilar la documentación."
#. (itstool) path: sect2/title
-#: C/index.docbook:549
+#: C/index.docbook:561
msgid "Integration with automake"
msgstr "Integración con automake"
#. (itstool) path: sect2/para
-#: C/index.docbook:551
+#: C/index.docbook:563
msgid ""
"First copy the <filename>Makefile.am</filename> from the <filename class="
"\"directory\">examples</filename> sub-directory of the <ulink url=\"https://"
"documentación, repítalo para cada uno de ellos."
#. (itstool) path: note/simpara
-#: C/index.docbook:564
+#: C/index.docbook:576
msgid ""
"Do not forget to add each <filename>Makefile.am</filename> to the "
"<function>AC_CONFIG_FILES</function> macro in <filename>configure.ac</"
"<function>AC_CONFIG_FILES</function>."
#. (itstool) path: example/title
-#: C/index.docbook:576
+#: C/index.docbook:588
msgid "Example directory structure with <filename>Makefiles.am</filename>"
msgstr ""
+"Ejemplo de estructura de carpetas con <filename>Makefiles.am</filename>"
#. (itstool) path: example/programlisting
-#: C/index.docbook:579
+#: C/index.docbook:591
#, no-wrap
msgid ""
"\n"
" meeper/\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:595
-#, fuzzy
-#| msgid ""
-#| "The next step is to edit the settings inside the <filename>Makefile.am</"
-#| "filename>. All the settings have a comment above that describes their "
-#| "purpose. Most settings are extra flags passed to the respective tools. "
-#| "Every tool has a variable of the form <option><TOOLNAME>_OPTIONS</"
-#| "option>. All the tools support <option>--help</option> to list the "
-#| "supported parameters."
+#: C/index.docbook:607
msgid ""
"Next, you need to customize the copied Makefiles and provide values for the "
"various parameters in each <filename>Makefile.am</filename>. All settings "
"application> has an option named <code>MKHTML_OPTIONS</code>). All the tools "
"support <option>--help</option> to list the supported options."
msgstr ""
-"El siguiente paso es editar la configuración dentro de <filename>Makefile."
-"am</filename>. Todos los ajustes tienen un comentario encima que describe su "
-"propósito. Muchos ajustes son opciones adicionales pasadas a las respectivas "
-"herramientas. Cada herramienta tiene una variable de la forma <option><"
-"NOMBRE_DE_LA_HERRAMIENTA>_OPCIONES</option>. Todas las herramientas "
-"soportan <option>--help</option> para listar los parámetros que soportan."
+"A continuación, debe personalizar los Makefiles copiados y proporcionar "
+"valores para los distintos parámetros en cada <filename>Makefile.am</"
+"filename>. Todas las configuraciones tienen un comentario sobre ellas que "
+"describe su propósito y cómo personalizar la configuración. La mayoría de "
+"las configuraciones se utilizan para proporcionar indicadores adicionales a "
+"las herramientas respectivas a las que se aplican. Cada herramienta tiene "
+"una variable de la forma <option> <TOOLNAME>_OPTIONS </option> (por "
+"ejemplo, la herramienta <application>gtkdoc-mkhtml</application> tiene una "
+"opción llamada <code>MKHTML_OPTIONS</code>). Todas las herramientas admiten "
+"<option>--help</option> para enumerar las opciones admitidas."
#. (itstool) path: listitem/para
-#: C/index.docbook:619
+#: C/index.docbook:631
msgid ""
"<option>DOC_MODULE</option> is used to provide the name of the package that "
"is being documentated (e.g. <code>meeper</code>, or <code>libmeep</code>)."
"que se está documentando (ej. <code>meeper</code>, o <code>libmeep</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:626
+#: C/index.docbook:638
msgid ""
"<option>DOC_SOURCE_DIR</option> is used to specify the location of source "
"directory which GTK-Doc searches for your API documentation. This will "
"usually be <code> DOC_SOURCE_DIR=$(top_srcdir)/src </code> or a sub-"
"directory of that directory."
msgstr ""
+"<option>DOC_SOURCE_DIR</option> se utiliza para especificar la ubicación de "
+"la carpeta de origen en el que GTK-Doc busca la documentación de su API. "
+"Esto generalmente será <code>DOC_SOURCE_DIR=$(top_srcdir)/src</code> o una "
+"subcarpeta de ese carpeta."
#. (itstool) path: listitem/para
-#: C/index.docbook:639
+#: C/index.docbook:651
msgid ""
"<option>HFILE_GLOB</option> and <option>CFILE_GLOB</option> are used for "
"dependencies. Each option take a file-glob (e.g. <code>HFILE_GLOB="
"$(top_srcdir)/src/*.c</code>). The documentation will be rebuilt if any of "
"the matched files change."
msgstr ""
+"<option>HFILE_GLOB</option> y <option>CFILE_GLOB</option> se usan para "
+"dependencias. Cada opción toma un archivo glob (por ejemplo, "
+"<code>HFILE_GLOB=$(top_srcdir)/src/*.C</code>). La documentación se "
+"reconstruirá si alguno de los archivos coincidentes cambia."
#. (itstool) path: listitem/para
-#: C/index.docbook:651
+#: C/index.docbook:663
msgid ""
"<option>EXTRA_HFILES</option> allows to specify extra header files to "
"include when scanning for API documentation, which are not found under "
"contrib/extra.h</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:661
+#: C/index.docbook:673
msgid ""
"<option>IGNORE_HFILES</option> allows to specify header files or directories "
"to ignore when scanning for API documentation. Use the basename of the file "
"private_code_folder</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:671
+#: C/index.docbook:683
msgid ""
"<option>HTML_IMAGES</option> allows to specify images files which will be "
"copied into the <filename>html/</filename> directory of the generated "
"added to this option (e.g. <code> HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/"
"stock_about_24.png</code>)."
msgstr ""
+"<option>HTML_IMAGES</option> permite especificar archivos de imágenes que se "
+"copiarán en la carpeta <filename>html/</filename> de la documentación "
+"generada. Si su documentación de la API incluye imágenes, deben agregarse a "
+"esta opción (por ejemplo, <code>HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/"
+"stock_about_24.png</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:684
+#: C/index.docbook:696
msgid ""
"<option>content_files</option> allows to specify extra files that are "
"included by <code>$(DOC_MAIN_SGML_FILE)</code> (e.g. <code> "
"content_files=running.xml building.xml changes-2.0.xml</code>)."
msgstr ""
+"<option>content_files</option> permite especificar archivos adicionales que "
+"están incluidos en <code>$(DOC_MAIN_SGML_FILE)</code> (por ejemplo, "
+"<code>content_files=running.xml building.xml changes-2.0.xml</code>)"
#. (itstool) path: listitem/para
-#: C/index.docbook:695
+#: C/index.docbook:707
msgid ""
"<option>expand_content_files</option> allows to specify files where "
"<emphasis>gtk-doc abbreviations</emphasis> such as <code>#GtkWidget</code> "
"are expanded (e.g. <code> expand_content_files=running.xml</code>)."
msgstr ""
+"<option>expand_content_files</option> permite especificar archivos donde "
+"<emphasis>gtk-doc abbreviations</emphasis> como <code>#GtkWidget</code> se "
+"expanden (por ejemplo, <code>expand_content_files=running.xml</code>)."
#. (itstool) path: sect2/para
-#: C/index.docbook:613
+#: C/index.docbook:625
msgid ""
"The following list explains the most relevant options. Check the example "
"<filename>Makefile.am</filename> for additional options. <_:itemizedlist-1/>"
msgstr ""
+"La siguiente lista explica las opciones más relevantes. Consulte el ejemplo "
+"<filename>Makefile.am</filename> para obtener opciones adicionales. <_:"
+"itemizedlist-1/>"
#. (itstool) path: sect2/title
-#: C/index.docbook:710
+#: C/index.docbook:722
msgid "Integration with autoconf"
msgstr "Integración con autoconf"
#. (itstool) path: sect2/para
-#: C/index.docbook:712
+#: C/index.docbook:724
msgid ""
"Integration with <application>autoconf</application> is very simple and "
"includes one required step and an additional optional (but recommended) "
"configure options to enable GTK-Doc and allows you to set default arguments "
"for <application>gtkdocize</application>."
msgstr ""
+"La integración con <application>autoconf</application> es muy simple e "
+"incluye un paso requerido y un paso opcional adicional (pero recomendado). "
+"El primer paso es agregar la macro <function>GTK_DOC_CHECK</function> a su "
+"script <filename>configure.ac</filename>. Esto registra varias opciones de "
+"configuración para habilitar GTK-Doc y le permite establecer argumentos "
+"predeterminados para <application>gtkdocize</application>."
#. (itstool) path: warning/simpara
-#: C/index.docbook:724
+#: C/index.docbook:736
msgid ""
"Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented. The "
"macro must start at the beginning of the line and should not start with "
"whitespace."
msgstr ""
+"Asegúrese de que la macro <code>GTK_DOC_CHECK</code> no esté sangrada. La "
+"macro debe comenzar al principio de la línea y no debe comenzar con espacios "
+"en blanco."
#. (itstool) path: sect2/para
-#: C/index.docbook:731
+#: C/index.docbook:743
msgid ""
"The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code> to your "
"<filename>configure.ac</filename>. This is not required but helps "
"to explicitly tell the <application>aclocal</application> tool where to find "
"the macro definition file."
msgstr ""
+"El segundo paso es agregar el <code>AC_CONFIG_MACRO_DIR (m4)</code> a su "
+"<filename>configure.ac</filename>. Esto no es obligatorio, pero ayuda a "
+"<application>gtkdocize</application> a copiar automáticamente la definición "
+"de macro (Ej., <filename>gtk-doc.m4</filename>) que contiene la macro "
+"<function>GTK_DOC_CHECK</function> en la carpeta de macros de su proyecto. "
+"Sin esto, es posible que no se encuentre la macro GTK_DOC_CHECK y "
+"necesitaría decirle explícitamente a la herramienta <application>aclocal</"
+"application> dónde encontrar el archivo de definición de macro."
#. (itstool) path: example/title
-#: C/index.docbook:744
+#: C/index.docbook:756
msgid "Minimal integration with autoconf"
msgstr "Integración mínima con autoconf"
#. (itstool) path: example/programlisting
-#: C/index.docbook:745
+#: C/index.docbook:757
#, no-wrap
msgid ""
"\n"
"GTK_DOC_CHECK([1.28])\n"
#. (itstool) path: example/title
-#: C/index.docbook:760
+#: C/index.docbook:772
msgid "Integration with optional gtk-doc dependency"
msgstr "Integración con dependencias opcionales de gtk-doc"
#. (itstool) path: example/programlisting
-#: C/index.docbook:761
+#: C/index.docbook:773
#, no-wrap
msgid ""
"\n"
"])\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:754
+#: C/index.docbook:766
msgid ""
"The above example works, but will require all developers to have gtk-doc "
"installed. A better way is to make building the documentation optional as "
"shown in the next example: <_:example-1/>"
msgstr ""
+"El ejemplo anterior funciona, pero requerirá que todos los desarrolladores "
+"tengan instalado gtk-doc. Una mejor manera es hacer que la creación de la "
+"documentación sea opcional como se muestra en el siguiente ejemplo: <_:"
+"example-1/>"
#. (itstool) path: sect2/para
-#: C/index.docbook:774
-#, fuzzy
-#| msgid ""
-#| "The first argument is used to check for the gtkdocversion at configure "
-#| "time. The 2nd, optional argument is used by <application>gtkdocize</"
-#| "application>. The <symbol>GTK_DOC_CHECK</symbol> macro also adds several "
-#| "configure switches:"
+#: C/index.docbook:786
msgid ""
"The first argument is used to check for the Gtk-Doc version at configure "
"time. The 2nd, optional argument is used by <application>gtkdocize</"
"application>. The <symbol>GTK_DOC_CHECK</symbol> macro also adds several "
"configure switches:"
msgstr ""
-"El primer argumento se usa para comprobar gtkdocversion durante la "
-"configuración. El segundo, y opcional, argumento lo usa "
+"El primer argumento se utiliza para verificar la versión de Gtk-Doc en el "
+"momento de la configuración. El segundo argumento opcional es usado por "
"<application>gtkdocize</application>. La macro <symbol>GTK_DOC_CHECK</"
-"symbol> también añade diversas opciones de configuración:"
+"symbol> también agrega varios modificadores de configuración:"
#. (itstool) path: listitem/para
-#: C/index.docbook:783
+#: C/index.docbook:795
msgid "--with-html-dir=PATH : path to installed docs"
msgstr "--with-html-dir=RUTA: ruta a los documentos instalados"
#. (itstool) path: listitem/para
-#: C/index.docbook:784
+#: C/index.docbook:796
msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
msgstr ""
"--enable-gtk-doc: usar gtk-doc para construir la documentación "
"[predeterminado=no]"
#. (itstool) path: listitem/para
-#: C/index.docbook:785
+#: C/index.docbook:797
msgid ""
"--enable-gtk-doc-html : build documentation in html format [default=yes]"
msgstr ""
"[predeterminado=sí]"
#. (itstool) path: listitem/para
-#: C/index.docbook:786
+#: C/index.docbook:798
msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
msgstr ""
"--enable-gtk-doc: usar gtk-doc para construir la documentación "
"[predeterminado=no]"
#. (itstool) path: important/para
-#: C/index.docbook:790
+#: C/index.docbook:802
msgid ""
"GTK-Doc is disabled by default! Remember to pass the option <option>'--"
"enable-gtk-doc'</option> to the next <filename>configure</filename> run. "
"desarrolladores)."
#. (itstool) path: sect2/para
-#: C/index.docbook:798
-#, fuzzy
-#| msgid ""
-#| "After all changes to <filename>configure.ac</filename> are made, update "
-#| "the <filename>configure</filename> file. This can be done by re-running "
-#| "<code>autoreconf -i</code> or <code>autogen.sh</code>."
+#: C/index.docbook:810
msgid ""
"After all changes to <filename>configure.ac</filename> are made, update the "
"<filename>configure</filename> file. This can be done by re-running "
msgstr ""
"Después de hacer los cambios en el <filename>configure.ac</filename> "
"actualice el archivo <filename>configure</filename>. Esto se puede hacer "
-"volviendo a ejecutar <code>autoreconf -i</code> o <code>autogen.sh</code>."
+"volviendo a ejecutar <code>autogen.sh</code>."
#. (itstool) path: sect2/title
-#: C/index.docbook:806
+#: C/index.docbook:818
msgid "Integration with autogen"
msgstr "Integración con autogen"
#. (itstool) path: sect2/para
-#: C/index.docbook:808
-#, fuzzy
-#| msgid ""
-#| "Most projects will have an <filename>autogen.sh</filename> script to "
-#| "setup the build infrastructure after a checkout from version control "
-#| "system (such as cvs/svn/git). GTK-Doc comes with a tool called "
-#| "<application>gtkdocize</application> which can be used in such a script. "
-#| "It should be run before autoheader, automake or autoconf."
+#: C/index.docbook:820
msgid ""
"Most projects will have an <filename>autogen.sh</filename> script to setup "
"the build infrastructure after the project was checked out from a version "
"<application>gtkdocize</application> which can be used to copy the necessary "
"files needed by Gtk-Doc to the source directory."
msgstr ""
-"La mayoría de los proyectos tienen un script <filename>autogen.sh</filename> "
-"para configurar la infraestructura de construcción después de hacer un "
-"«checkout» desde los sistemas de control de versiones (tales como cvs/svn/"
-"git). GTK-Doc tiene una herramienta llamada <filename>gtkdocize</filename> "
-"que se puede usar en tal script. Se debería ejecutar antes que autoheader, "
-"automake o autoconf."
+"La mayoría de los proyectos tendrán un script <filename>autogen.sh</"
+"filename> para configurar la infraestructura de compilación después de que "
+"el proyecto se haya extraído de un sistema de control de versiones (como git "
+"o svn). GTK-Doc viene con un script llamado <application>gtkdocize</"
+"application> que puede usarse para copiar los archivos necesarios que "
+"necesita Gtk-Doc en la carpeta fuente."
#. (itstool) path: sect2/para
-#: C/index.docbook:816
+#: C/index.docbook:828
msgid "It should be run before autoreconf, autoheader, automake or autoconf."
-msgstr ""
+msgstr "Se debe ejecutar antes de autoreconf, autoheader, automake o autoconf."
#. (itstool) path: example/title
-#: C/index.docbook:821
+#: C/index.docbook:833
msgid "Running gtkdocize from autogen.sh"
msgstr "Ejecutar gtkdocize desde autogen.sh"
#. (itstool) path: example/programlisting
-#: C/index.docbook:822
+#: C/index.docbook:834
#, no-wrap
msgid ""
"\n"
"gtkdocize || exit 1\n"
#. (itstool) path: example/title
-#: C/index.docbook:830
+#: C/index.docbook:842
msgid "Conditionally run gtkdocize from autogen.sh"
msgstr "Condicionalmente, ejecutar gtkdocize desde autogen.sh"
#. (itstool) path: example/programlisting
-#: C/index.docbook:831
+#: C/index.docbook:843
#, no-wrap
msgid ""
"\n"
"fi\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:842
-#, fuzzy
-#| msgid ""
-#| "When running <application>gtkdocize</application> it copies <filename>gtk-"
-#| "doc.make</filename> to your project root (or any directory specified by "
-#| "the <option>--docdir</option> option). It also checks you configure "
-#| "script for the <function>GTK_DOC_CHECK</function> invocation. This macro "
-#| "can be used to pass extra parameters to <application>gtkdocize</"
-#| "application>."
+#: C/index.docbook:854
msgid ""
"When running <application>gtkdocize</application> it copies <filename>gtk-"
"doc.make</filename> to your project root (or any directory specified by the "
msgstr ""
"Al ejecutar <filename>gtkdocize</filename> copia <filename>gtk-doc.make</"
"filename> a la raíz de su proyecto (o cualquier carpeta especificada por la "
-"opción <option>--docdir</option>). También comprueba su script de "
-"configuración para la invocación de <function>GTK_DOC_CHECK</function>. Esta "
-"macro se puede usar para pasar parámetros adicionales a "
-"<application>gtkdocize</application>."
+"opción <option>--docdir</option>)."
#. (itstool) path: sect2/para
-#: C/index.docbook:848
-#, fuzzy
-#| msgid ""
-#| "When running <application>gtkdocize</application> it copies <filename>gtk-"
-#| "doc.make</filename> to your project root (or any directory specified by "
-#| "the <option>--docdir</option> option). It also checks you configure "
-#| "script for the <function>GTK_DOC_CHECK</function> invocation. This macro "
-#| "can be used to pass extra parameters to <application>gtkdocize</"
-#| "application>."
+#: C/index.docbook:860
msgid ""
"<application>gtkdocize</application> checks your <filename>configure.ac</"
"filename> script for the <function>GTK_DOC_CHECK</function> macro. The "
"to the <application>gtkdocize</application> script. the 2nd parameter in the "
"<function>GTK_DOC_CHECK</function> macro."
msgstr ""
-"Al ejecutar <filename>gtkdocize</filename> copia <filename>gtk-doc.make</"
-"filename> a la raíz de su proyecto (o cualquier carpeta especificada por la "
-"opción <option>--docdir</option>). También comprueba su script de "
-"configuración para la invocación de <function>GTK_DOC_CHECK</function>. Esta "
-"macro se puede usar para pasar parámetros adicionales a "
-"<application>gtkdocize</application>."
+"<application>gtkdocize</application> comprueba su script <filename> "
+"configure.ac </filename> para la macro <function> GTK_DOC_CHECK</function>. "
+"La macro <function> GTK_DOC_CHECK </function> se puede usar para pasar "
+"argumentos adicionales al script <application>gtkdocize</application>. el "
+"segundo parámetro en la macro <function>GTK_DOC_CHECK</function>."
#. (itstool) path: sect2/para
-#: C/index.docbook:857
+#: C/index.docbook:869
msgid ""
"Alternatively, additional arguments can also be passed to "
"<application>gtkdocize</application> via the <function>GTKDOCIZE_FLAGS</"
"function> environment variable, or by directly specifying them to "
"<application>gtkdocize</application> in <filename>autogen.sh</filename>."
msgstr ""
+"Alternativamente, también se pueden pasar argumentos adicionales a "
+"<application>gtkdocize</application> a través de la variable de entorno "
+"<function>GTKDOCIZE_FLAGS</function>, o especificándolos directamente a "
+"<application>gtkdocize</application> en <filename>autogen.sh</filename>."
#. (itstool) path: sect2/title
-#: C/index.docbook:868
+#: C/index.docbook:880
msgid "Executing GTK-Doc from the Build System"
msgstr "Ejecutar GTH-Doc desde el sistema de construcción"
#. (itstool) path: sect2/para
-#: C/index.docbook:870
+#: C/index.docbook:882
msgid ""
"After the previous steps it's time to run the build. First we need to rerun "
"<filename>autogen.sh</filename>. If this script runs configure for you, then "
"<filename>configure</filename> con esta opción."
#. (itstool) path: sect2/para
-#: C/index.docbook:877
+#: C/index.docbook:889
msgid ""
"The first make run generates several additional files in the doc-"
"directories. The important ones are: <filename><package>.types</"
"pasado), <filename><paquete>-sections.txt</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:885
+#: C/index.docbook:897
msgid "Running the doc build"
msgstr "Ejecutar la construcción de la documentación"
#. (itstool) path: example/programlisting
-#: C/index.docbook:886
+#: C/index.docbook:898
#, no-wrap
msgid ""
"\n"
"make\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:893
+#: C/index.docbook:905
msgid ""
"Now you can point your browser to <filename>docs/reference/<package>/"
"index.html</filename>. With this initial setup you will only see a very "
"template</link> to add additional chapters and sections to your "
"documentation files."
msgstr ""
+"Ahora puede apuntar su navegador a <filename>docs/reference/<package>/"
+"index.html</filename>. Con esta configuración inicial, solo verá un "
+"documento muy simple. El siguiente capítulo le enseñará cómo agregar "
+"documentación API a su código a través de bloques de comentarios especiales. "
+"Posteriormente, el Capítulo presenta <link linkend=\"metafiles\">archivos "
+"adicionales</link> y muestra cómo editar la plantilla maestra <link linkend="
+"\"metafiles_master\"></link> para agregar capítulos y secciones adicionales "
+"a sus archivos de documentación."
#. (itstool) path: sect1/title
-#: C/index.docbook:909
+#: C/index.docbook:921
msgid "Integration with CMake build systems"
msgstr "Integración con sistemas de construcción CMake"
#. (itstool) path: sect1/para
-#: C/index.docbook:911
+#: C/index.docbook:923
msgid ""
"GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module (and "
"the corresponding <filename>GtkDocConfigVersion.cmake</filename> module). "
"filename>."
#. (itstool) path: example/title
-#: C/index.docbook:921
+#: C/index.docbook:933
msgid "Example of using GTK-Doc from CMake"
msgstr "Ejeplo de uso de GTK-Doc desde CMake"
#. (itstool) path: example/programlisting
-#: C/index.docbook:922
+#: C/index.docbook:934
#, no-wrap
msgid ""
"\n"
" DESTINATION ${CMAKE_INSTALL_DOCDIR})\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:919
+#: C/index.docbook:931
msgid "The following example shows how to use this command. <_:example-1/>"
msgstr "El siguiente ejemplo muestra cómo usar este comando. <_:example-1/>"
#. (itstool) path: sect1/title
-#: C/index.docbook:946
+#: C/index.docbook:958
msgid "Integration with plain makefiles or other build systems"
msgstr "Integración con makefiles u otros sistemas de construcción"
#. (itstool) path: sect1/para
-#: C/index.docbook:948
+#: C/index.docbook:960
msgid ""
"In the case one does not want to use automake and therefore <filename>gtk-"
"doc.mak</filename> one will need to call the gtkdoc tools in the right order "
"makefiles propios (o en otras herramientas de construcción)."
#. (itstool) path: example/title
-#: C/index.docbook:955
+#: C/index.docbook:967
msgid "Documentation build steps"
msgstr "Pasos de construcción de la documentación"
#. (itstool) path: example/programlisting
-#: C/index.docbook:956
+#: C/index.docbook:968
#, no-wrap
msgid ""
"\n"
"gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:970
+#: C/index.docbook:982
msgid ""
"One will need to look at the <filename>Makefile.am</filename> and "
"<filename>gtk-doc.mak</filename> to pick the extra options needed."
"doc.mak</filename> para elegir las opciones adicionales necesarias."
#. (itstool) path: sect1/title
-#: C/index.docbook:977
+#: C/index.docbook:989
msgid "Integration with version control systems"
msgstr "Integración con los sistemas de control de versiones"
#. (itstool) path: sect1/para
-#: C/index.docbook:979
+#: C/index.docbook:991
msgid ""
"As a rule of thumb, it's the files you edit which should go under version "
"control. For typical projects it's these files: <filename><package>."
"txt</filename>, <filename>Makefile.am</filename>."
#. (itstool) path: sect1/para
-#: C/index.docbook:987
+#: C/index.docbook:999
msgid ""
"Files in the <filename>xml/</filename> and <filename>html/</filename> "
"directories should not go under version control. Neither should any of the "
"los archivos <filename>.stamp</filename>."
#. (itstool) path: chapter/title
-#: C/index.docbook:997
+#: C/index.docbook:1009
msgid "Documenting the code"
msgstr "Documentar el código"
#. (itstool) path: chapter/para
-#: C/index.docbook:999
+#: C/index.docbook:1011
msgid ""
"GTK-Doc uses source code comment with a special syntax for code "
"documentation. Further it retrieves information about your project structure "
"acerca de la sintaxis de los comentarios."
#. (itstool) path: example/title
-#: C/index.docbook:1010 C/index.docbook:1036
+#: C/index.docbook:1022 C/index.docbook:1048
msgid "GTK-Doc comment block"
msgstr "Bloque de comentario de GTK-Doc"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1011
+#: C/index.docbook:1023
#, no-wrap
msgid ""
"\n"
"#endif\n"
#. (itstool) path: chapter/para
-#: C/index.docbook:1006
-#, fuzzy
-#| msgid ""
-#| "The scanner can handle the majority of C headers fine. In the case of "
-#| "receiving warnings from the scanner that look like a special case, one "
-#| "can hint GTK-Doc to skip over them. <_:example-1/>"
+#: C/index.docbook:1018
msgid ""
"The GTK-Doc scanner can handle the majority of C headers fine. In the case "
"of receiving warnings from the scanner that look like a special case, one "
"can hint GTK-Doc to skip over them. <_:example-1/>"
msgstr ""
-"El analizador puede manejar bien la mayoría de cabeceras de C. En el caso de "
-"recibir avisos del analizador que parecen casos especiales, puede sugerir a "
-"GTK-Doc que los omita. <_:example-1/>"
+"El escáner GTK-Doc puede manejar bien la mayoría de los encabezados C. En el "
+"caso de recibir advertencias del escáner que se vean como un caso especial, "
+"uno puede indicarle a GTK-Doc que las omita. <_:example-1/>"
#. (itstool) path: note/title
-#: C/index.docbook:1020
+#: C/index.docbook:1032
msgid "Limitations"
msgstr "Limitaciones"
#. (itstool) path: note/para
-#: C/index.docbook:1021
+#: C/index.docbook:1033
msgid ""
"Note, that GTK-Doc's supports <code>#ifndef(__GTK_DOC_IGNORE__)</code> but "
"not <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations."
"pero <code>#if !defined(__GTK_DOC_IGNORE__)</code> u otras combinaciones."
#. (itstool) path: sect1/title
-#: C/index.docbook:1031
+#: C/index.docbook:1043
msgid "Documentation comments"
msgstr "Comentarios de la documentación"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1037
+#: C/index.docbook:1049
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1033
+#: C/index.docbook:1045
msgid ""
"A multiline comment that starts with an additional '*' marks a documentation "
"block that will be processed by the GTK-Doc tools. <_:example-1/>"
"bloque de documentación que GTK-Doc tools procesarán. <_:example-1/>"
#. (itstool) path: sect1/para
-#: C/index.docbook:1046
+#: C/index.docbook:1058
msgid ""
"The 'identifier' is one line with the name of the item the comment is "
"related to. The syntax differs a little depending on the item. (TODO add "
"hacer: añadir una tabla mostrando los identificadores)"
#. (itstool) path: sect1/para
-#: C/index.docbook:1052
+#: C/index.docbook:1064
msgid ""
"The 'documentation' block is also different for each symbol type. Symbol "
"types that get parameters such as functions or macros have the parameter "
"espacio). Esto es útil para texto preformateado (listados de código)."
#. (itstool) path: listitem/para
-#: C/index.docbook:1069
+#: C/index.docbook:1081
msgid ""
"What it is: The name for a class or function can sometimes be misleading for "
"people coming from a different background."
"personas que provengan de otros entornos."
#. (itstool) path: listitem/para
-#: C/index.docbook:1075
+#: C/index.docbook:1087
msgid ""
"What it does: Tell about common uses. Put it in relation with the other API."
msgstr "Qué hace: indique los usos comunes, en relación con las otras API."
#. (itstool) path: tip/para
-#: C/index.docbook:1065
+#: C/index.docbook:1077
msgid "When documenting code, describe two aspects: <_:itemizedlist-1/>"
msgstr "Al documentar código, describa dos aspectos: <_:itemizedlist-1/>"
#. (itstool) path: listitem/para
-#: C/index.docbook:1090
+#: C/index.docbook:1102
msgid "Use function() to refer to functions or macros which take arguments."
msgstr ""
"Use función() para referirse a funciones o macros que toman argumentos."
#. (itstool) path: listitem/para
-#: C/index.docbook:1095
+#: C/index.docbook:1107
msgid ""
"Use @param to refer to parameters. Also use this when referring to "
"parameters of other functions, related to the one being described."
"parámetros de otras funciones, relacionados al que se describe."
#. (itstool) path: listitem/para
-#: C/index.docbook:1101
+#: C/index.docbook:1113
msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
msgstr "Use %constant para referirse a una constante, ej: %G_TRAVERSE_LEAFS."
#. (itstool) path: listitem/para
-#: C/index.docbook:1106
+#: C/index.docbook:1118
msgid ""
"Use #symbol to refer to other types of symbol, e.g. structs and enums and "
"macros which don't take arguments."
"estructuras, enumeraciones y macros que no toman argumentos."
#. (itstool) path: listitem/para
-#: C/index.docbook:1112
+#: C/index.docbook:1124
msgid "Use #Object::signal to refer to a GObject signal."
msgstr "Use #Object::signal para referirse a una señal de GObject."
#. (itstool) path: listitem/para
-#: C/index.docbook:1117
+#: C/index.docbook:1129
msgid "Use #Object:property to refer to a GObject property."
msgstr "Use #Object:property para referirse a una propiedad de GObject."
#. (itstool) path: listitem/para
-#: C/index.docbook:1122
+#: C/index.docbook:1134
msgid ""
"Use #Struct.field to refer to a field inside a structure and #GObjectClass."
"foo_bar() to refer to a vmethod."
"#GObjectClass.foo_bar() para referirse a un vmethod."
#. (itstool) path: sect1/para
-#: C/index.docbook:1084
+#: C/index.docbook:1096
msgid ""
"One advantage of hyper-text over plain-text is the ability to have links in "
"the document. Writing the correct markup for a link can be tedious though. "
"itemizedlist-1/>"
#. (itstool) path: tip/para
-#: C/index.docbook:1131
+#: C/index.docbook:1143
msgid ""
"If you need to use the special characters '<', '>', '()', '@', '%', or "
"'#' in your documentation without GTK-Doc changing them you can use the XML "
"doble «\\»."
#. (itstool) path: sect1/para
-#: C/index.docbook:1140
+#: C/index.docbook:1152
msgid ""
"DocBook can do more than just links. One can also have lists, examples, "
"headings, and images. As of version 1.20, the preferred way is to use a "
"elementos de una lista aparecerán como líneas que empiezan con un guión."
#. (itstool) path: sect1/para
-#: C/index.docbook:1151
+#: C/index.docbook:1163
msgid ""
"While markdown is now preferred one can mix both. One limitation here is "
"that one can use docbook xml within markdown, but markdown within docbook "
"xml no está soportado."
#. (itstool) path: sect1/para
-#: C/index.docbook:1157
+#: C/index.docbook:1169
msgid ""
"In older GTK-Doc releases, if you need support for additional formatting, "
"you would need to enable the usage of docbook XML tags inside doc-comments "
"<filename>Makefile.am</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:1166
+#: C/index.docbook:1178
msgid "GTK-Doc comment block using Markdown"
msgstr "Bloque de comentario de GTK-Doc usando marcado"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1167
+#: C/index.docbook:1179
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1206
+#: C/index.docbook:1218
msgid ""
"More examples of what markdown tags are supported can be found in the <ulink "
"url=\"https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown"
"GTK+</ulink>."
#. (itstool) path: tip/para
-#: C/index.docbook:1212
-#, fuzzy
-#| msgid ""
-#| "As already mentioned earlier GTK-Doc is for documenting public API. Thus "
-#| "one cannot write documentation for static symbols. Nevertheless it is "
-#| "good to comment those symbols too. This helps other to understand you "
-#| "code. Therefore we recommend to comment these using normal comments "
-#| "(without the 2nd '*' in the first line). If later the function needs to "
-#| "be made public, all one needs to do is to add another '*' in the comment "
-#| "block and insert the symbol name at the right place inside the sections "
-#| "file."
+#: C/index.docbook:1224
msgid ""
"As already mentioned earlier GTK-Doc is for documenting public API. Thus one "
"cannot write documentation for static symbols. Nevertheless it is good to "
"public, all one needs to do is to add another '*' in the comment block and "
"insert the symbol name at the right place inside the sections file."
msgstr ""
-"Tal y como se ha mencionado antes, la documentación anterior de GTK-Doc es "
-"para documentar la API pública .Por ello, no se puede escribir documentación "
-"para los símbolos estáticos. No obstante es una buena práctica comentar los "
-"símbolos. Esto ayuda a que otros entiendan su código. Por ello se recomienda "
+"Como ya se mencionó anteriormente, GTK-Doc es para documentar API públicas. "
+"Por lo tanto, no se puede escribir documentación para símbolos estáticos. "
+"Sin embargo, también es bueno comentar esos símbolos. Esto ayuda a otros "
+"desarrolladores a comprender su código. Por lo tanto, recomendamos "
"comentarlos usando comentarios normales (sin el segundo «*» en la primera "
-"línea). Si la función, posteriormente, se debe hacer pública, todo lo que el "
-"programador debe hacer es añadir otro «*» en el bloque de comentario e "
-"introducir el nombre del símbolo en la parte derecha dentro del archivo de "
-"secciones."
+"línea). Si luego la función necesita hacerse pública, todo lo que se debe "
+"hacer es agregar otro «*» en el bloque de comentarios e insertar el nombre "
+"del símbolo en el lugar correcto dentro del archivo de secciones."
#. (itstool) path: sect1/title
-#: C/index.docbook:1227
+#: C/index.docbook:1239
msgid "Documenting sections"
msgstr "Documentar secciones"
#. (itstool) path: sect1/para
-#: C/index.docbook:1229
+#: C/index.docbook:1241
msgid ""
"Each section of the documentation contains information about one class or "
"module. To introduce the component one can write a section block. The short "
"los campos @ son opcionales."
#. (itstool) path: example/title
-#: C/index.docbook:1237
+#: C/index.docbook:1249
msgid "Section comment block"
msgstr "Bloque de comentarios en una sección"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1238
+#: C/index.docbook:1250
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1257
+#: C/index.docbook:1269
msgid "SECTION:<name>"
msgstr "SECCIÓN <nombre>"
#. (itstool) path: listitem/para
-#: C/index.docbook:1259
+#: C/index.docbook:1271
msgid ""
"The name links the section documentation to the respective part in the "
"<filename><package>-sections.txt</filename> file. The name given here "
"archivo <filename><paquete>-sections.txt</filename>."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1268
+#: C/index.docbook:1280
msgid "@short_description"
msgstr "@short_description"
#. (itstool) path: listitem/para
-#: C/index.docbook:1270
+#: C/index.docbook:1282
msgid ""
"A one line description of the section, that later will appear after the "
"links in the TOC and at the top of the section page."
"TOC y en la página de la sección."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1277
+#: C/index.docbook:1289
msgid "@title"
msgstr "@title"
#. (itstool) path: listitem/para
-#: C/index.docbook:1279
+#: C/index.docbook:1291
msgid ""
"The section title defaults to <name> from the SECTION declaration. It "
"can be overridden with the @title field."
"declaración SECTION. Se puede sobrescribir con el campo @title."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1286
+#: C/index.docbook:1298
msgid "@section_id"
msgstr "@section_id"
#. (itstool) path: listitem/para
-#: C/index.docbook:1288
+#: C/index.docbook:1300
msgid ""
"Overrides the use of title as a section identifier. For GObjects the <"
"title> is used as a section_id and for other sections it is <"
"para otra sección es <MÓDULO>-<title>."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1296
+#: C/index.docbook:1308
msgid "@see_also"
msgstr "@see_also"
#. (itstool) path: listitem/para
-#: C/index.docbook:1298
+#: C/index.docbook:1310
msgid "A list of symbols that are related to this section."
msgstr "Una lista de símbolos relacionados con esta sección."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1304
+#: C/index.docbook:1316
msgid "@stability"
msgstr "@stability"
#. (itstool) path: listitem/para
-#: C/index.docbook:1311
+#: C/index.docbook:1323
msgid ""
"Stable - The intention of a Stable interface is to enable arbitrary third "
"parties to develop applications to these interfaces, release them, and have "
"de haberlos habrá buenas razones para ello."
#. (itstool) path: listitem/para
-#: C/index.docbook:1323
+#: C/index.docbook:1335
msgid ""
"Unstable - Unstable interfaces are experimental or transitional. They are "
"typically used to give outside developers early access to new or rapidly "
"publicación menor a la siguiente."
#. (itstool) path: listitem/para
-#: C/index.docbook:1335
+#: C/index.docbook:1347
msgid ""
"Private - An interface that can be used within the GNOME stack itself, but "
"that is not documented for end-users. Such functions should only be used in "
"deberían usar de formas especificadas y documentadas."
#. (itstool) path: listitem/para
-#: C/index.docbook:1344
+#: C/index.docbook:1356
msgid ""
"Internal - An interface that is internal to a module and does not require "
"end-user documentation. Functions that are undocumented are assumed to be "
"son internas."
#. (itstool) path: listitem/para
-#: C/index.docbook:1306
+#: C/index.docbook:1318
msgid ""
"An informal description of the stability level this API has. We recommend "
"the use of one of these terms: <_:itemizedlist-1/>"
"recomienda el uso de uno de estos términos: <_:itemizedlist-1/>"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1356
+#: C/index.docbook:1368
msgid "@include"
msgstr "@include"
#. (itstool) path: listitem/para
-#: C/index.docbook:1358
+#: C/index.docbook:1370
msgid ""
"The <literal>#include</literal> files to show in the section synopsis (a "
"comma separated list), overriding the global value from the <link linkend="
"línea de comandos. Este elemento es opcional."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1367
+#: C/index.docbook:1379
msgid "@image"
msgstr "@image"
#. (itstool) path: listitem/para
-#: C/index.docbook:1369
+#: C/index.docbook:1381
msgid ""
"The image to display at the top of the reference page for this section. This "
"will often be some sort of a diagram to illustrate the visual appearance of "
"Este elemento es opcional."
#. (itstool) path: tip/para
-#: C/index.docbook:1380
+#: C/index.docbook:1392
msgid ""
"To avoid unnecessary recompilation after doc-changes put the section docs "
"into the c-source where possible."
"sea posible."
#. (itstool) path: sect1/title
-#: C/index.docbook:1389
+#: C/index.docbook:1401
msgid "Documenting symbols"
msgstr "Documentar símbolos"
#. (itstool) path: sect1/para
-#: C/index.docbook:1391
+#: C/index.docbook:1403
msgid ""
"Each symbol (function, macro, struct, enum, signal and property) is "
"documented in a separate block. The block is best placed close to the "
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1399 C/index.docbook:1465
+#: C/index.docbook:1411 C/index.docbook:1477
msgid "General tags"
msgstr "Etiquetas generales"
#. (itstool) path: sect2/para
-#: C/index.docbook:1401
+#: C/index.docbook:1413
msgid ""
"You can add versioning information to all documentation elements to tell "
"when an API was introduced, or when it was deprecated."
"obsoleta."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1406
+#: C/index.docbook:1418
msgid "Versioning Tags"
msgstr "Versionado de etiquetas"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1407
+#: C/index.docbook:1419
msgid "Since:"
msgstr "Desde:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1409
+#: C/index.docbook:1421
msgid "Description since which version of the code the API is available."
msgstr "Descripción desde qué versión del código está disponible la API."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1414
+#: C/index.docbook:1426
msgid "Deprecated:"
msgstr "Obsoleto:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1416
+#: C/index.docbook:1428
msgid ""
"Paragraph denoting that this function should no be used anymore. The "
"description should point the reader to the new API."
"debería informar al lector de la nueva API."
#. (itstool) path: sect2/para
-#: C/index.docbook:1424
+#: C/index.docbook:1436
msgid ""
"You can also add stability information to all documentation elements to "
"indicate whether API stability is guaranteed for them for all future minor "
"todas las versiones menores futuras del proyecto."
#. (itstool) path: sect2/para
-#: C/index.docbook:1430
+#: C/index.docbook:1442
msgid ""
"The default stability level for all documentation elements can be set by "
"passing the <option>--default-stability</option> argument to "
"siguientes valores."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1436
+#: C/index.docbook:1448
msgid "Stability Tags"
msgstr "Etiquetas de estabilidad"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1437
+#: C/index.docbook:1449
msgid "Stability: Stable"
msgstr "Estabilidad: estable"
#. (itstool) path: listitem/para
-#: C/index.docbook:1439
+#: C/index.docbook:1451
msgid ""
"Mark the element as stable. This is for public APIs which are guaranteed to "
"remain stable for all future minor releases of the project."
"proyecto."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1446
+#: C/index.docbook:1458
msgid "Stability: Unstable"
msgstr "Estabilidad: inestable"
#. (itstool) path: listitem/para
-#: C/index.docbook:1448
+#: C/index.docbook:1460
msgid ""
"Mark the element as unstable. This is for public APIs which are released as "
"a preview before being stabilised."
"publican como versión previa antes de estabilizarse."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1454
+#: C/index.docbook:1466
msgid "Stability: Private"
msgstr "Estabilidad: privado"
#. (itstool) path: listitem/para
-#: C/index.docbook:1456
+#: C/index.docbook:1468
msgid ""
"Mark the element as private. This is for interfaces which can be used by "
"tightly coupled modules, but not by arbitrary third parties."
"en módulos fuertemente acoplados, pero no en terceras partes aleatorias."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1466
+#: C/index.docbook:1478
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1486 C/index.docbook:1496
+#: C/index.docbook:1498 C/index.docbook:1508
msgid "Annotations"
msgstr "Anotaciones"
#. (itstool) path: sect2/para
-#: C/index.docbook:1488
+#: C/index.docbook:1500
msgid ""
"Documentation blocks can contain annotation-tags. These tags will be "
"rendered with tooltips describing their meaning. The tags are used by "
"type=\"http\">el wiki</ulink>."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1497
+#: C/index.docbook:1509
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1518 C/index.docbook:1547
+#: C/index.docbook:1530 C/index.docbook:1559
msgid "Function comment block"
msgstr "Bloque de comentario de función"
#. (itstool) path: listitem/para
-#: C/index.docbook:1524
+#: C/index.docbook:1536
msgid ""
"Document whether returned objects, lists, strings, etc, should be freed/"
"unrefed/released."
"debería liberarse/desreferenciarse/etc."
#. (itstool) path: listitem/para
-#: C/index.docbook:1530
+#: C/index.docbook:1542
msgid "Document whether parameters can be NULL, and what happens if they are."
msgstr ""
"El documento, dependiendo de si sus parámetros pueden ser nulos, y qué "
"sucede si lo son."
#. (itstool) path: listitem/para
-#: C/index.docbook:1535
+#: C/index.docbook:1547
msgid ""
"Mention interesting pre-conditions and post-conditions where appropriate."
msgstr ""
"Mencionar precondiciones y postcondiciones interesantes donde sea apropiado."
#. (itstool) path: sect2/para
-#: C/index.docbook:1520 C/index.docbook:1606
+#: C/index.docbook:1532 C/index.docbook:1618
msgid "Please remember to: <_:itemizedlist-1/>"
msgstr "Recuerde: <_:itemizedlist-1/>"
#. (itstool) path: sect2/para
-#: C/index.docbook:1542
+#: C/index.docbook:1554
msgid ""
"Gtk-doc assumes all symbols (macros, functions) starting with '_' are "
"private. They are treated like static functions."
"«_» son privados. Se tratan como funciones estáticas."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1548
+#: C/index.docbook:1560
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: variablelist/title
-#: C/index.docbook:1569
+#: C/index.docbook:1581
msgid "Function tags"
msgstr "Etiquetas de funciones"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1570 C/index.docbook:1777
+#: C/index.docbook:1582 C/index.docbook:1789
msgid "Returns:"
msgstr "Devuelve:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1572
+#: C/index.docbook:1584
msgid "Paragraph describing the returned result."
msgstr "Párrafo que describe el resultado devuelto."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1577
+#: C/index.docbook:1589
msgid "@...:"
msgstr "@...:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1579
+#: C/index.docbook:1591
msgid ""
"In case the function has variadic arguments, you should use this tag "
"(@Varargs: does also work for historic reasons)."
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1589 C/index.docbook:1591
+#: C/index.docbook:1601 C/index.docbook:1603
msgid "Property comment block"
msgstr "Bloque de comentario de propiedad"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1592
+#: C/index.docbook:1604
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1604 C/index.docbook:1623
+#: C/index.docbook:1616 C/index.docbook:1635
msgid "Signal comment block"
msgstr "Bloque de comentario de señal"
#. (itstool) path: listitem/para
-#: C/index.docbook:1610
+#: C/index.docbook:1622
msgid ""
"Document when the signal is emitted and whether it is emitted before or "
"after other signals."
"otras señales."
#. (itstool) path: listitem/para
-#: C/index.docbook:1616
+#: C/index.docbook:1628
msgid "Document what an application might do in the signal handler."
msgstr "Documentar qué aplicación debe gestionar las señales."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1624
+#: C/index.docbook:1636
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1641 C/index.docbook:1642
+#: C/index.docbook:1653 C/index.docbook:1654
msgid "Struct comment block"
msgstr "Bloque de comentario de estructura"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1643
+#: C/index.docbook:1655
#, no-wrap
msgid ""
"\n"
"} FooWidget;\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:1658
+#: C/index.docbook:1670
msgid ""
"Use <code>/*< private >*/</code> before the private struct fields you "
"want to hide. Use <code>/*< public >*/</code> for the reverse "
"revertir el comportamiento anterior."
#. (itstool) path: sect2/para
-#: C/index.docbook:1664
+#: C/index.docbook:1676
msgid ""
"If the first field is \"g_iface\", \"parent_instance\" or \"parent_class\" "
"it will be considered private automatically and doesn't need to be mentioned "
"bloque de comentario."
#. (itstool) path: sect2/para
-#: C/index.docbook:1670
+#: C/index.docbook:1682
msgid ""
"Struct comment blocks can also be used for GObjects and GObjectClasses. It "
"is usually a good idea to add a comment block for a class, if it has "
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1682 C/index.docbook:1683
+#: C/index.docbook:1694 C/index.docbook:1695
msgid "Enum comment block"
msgstr "Enumerar bloques de comentarios"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1684
+#: C/index.docbook:1696
#, no-wrap
msgid ""
"\n"
"} Something;\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:1701
+#: C/index.docbook:1713
msgid ""
"Use <code>/*< private >*/</code> before the private enum values you "
"want to hide. Use <code>/*< public >*/</code> for the reverse "
"comportamiento anterior."
#. (itstool) path: sect1/title
-#: C/index.docbook:1712
+#: C/index.docbook:1724
msgid "Inline program documentation"
msgstr "Documentación en línea del programa"
#. (itstool) path: sect1/para
-#: C/index.docbook:1713
+#: C/index.docbook:1725
msgid ""
"You can document programs and their commandline interface using inline "
"documentation."
"documentación en línea."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1719
+#: C/index.docbook:1731
msgid "Tags"
msgstr "Etiquetas"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1721
+#: C/index.docbook:1733
msgid "PROGRAM"
msgstr "PROGRAM"
#. (itstool) path: listitem/para
-#: C/index.docbook:1724
+#: C/index.docbook:1736
msgid "Defines the start of a program documentation."
msgstr "Define el inicio de la documentación de un programa."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1731
+#: C/index.docbook:1743
msgid "@short_description:"
msgstr "@short_description:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1733
+#: C/index.docbook:1745
msgid "Defines a short description of the program. (Optional)"
msgstr "Define una descripción corta del programa. (Opcional)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1740
+#: C/index.docbook:1752
msgid "@synopsis:"
msgstr "@synopsis:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1742
+#: C/index.docbook:1754
msgid ""
"Defines the arguments, or list of arguments that the program can take. "
"(Optional)"
"(Opcional)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1750
+#: C/index.docbook:1762
msgid "@see_also:"
msgstr "@see_also:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1752
+#: C/index.docbook:1764
msgid "See Also manual page section. (Optional)"
msgstr "Página del manual Ver también. (Opcional)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1759
+#: C/index.docbook:1771
msgid "@arg:"
msgstr "@arg:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1761
+#: C/index.docbook:1773
msgid "Argument(s) passed to the program and their description. (Optional)"
msgstr "Argumentos pasados al programa y su descripción. (Opcional)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1768
+#: C/index.docbook:1780
msgid "Description:"
msgstr "Description:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1770
+#: C/index.docbook:1782
msgid "A longer description of the program."
msgstr "Una descripción más larga del programa."
#. (itstool) path: listitem/para
-#: C/index.docbook:1779
-#, fuzzy
-#| msgid "Specificy what value(s) the program returns. (Optional)"
+#: C/index.docbook:1791
msgid "Specify what value(s) the program returns. (Optional)"
msgstr "Especifique qué valores devuelve el programa. (Opcional)"
#. (itstool) path: sect2/title
-#: C/index.docbook:1788
+#: C/index.docbook:1800
msgid "Example of program documentation."
msgstr "Ejemplo de documentación de un programa."
#. (itstool) path: example/title
-#: C/index.docbook:1789
+#: C/index.docbook:1801
msgid "Program documentation block"
msgstr "Bloque de documentación del programa"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1790
+#: C/index.docbook:1802
#, no-wrap
msgid ""
"\n"
"}\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:1816
+#: C/index.docbook:1828
msgid "Useful DocBook tags"
msgstr "Etiquetas DocBook útiles"
#. (itstool) path: sect1/para
-#: C/index.docbook:1818
+#: C/index.docbook:1830
msgid ""
"Here are some DocBook tags which are most useful when documenting the code."
msgstr ""
"Aquí están varias etiquetas de DocBook muy útiles al documentar código."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1827
+#: C/index.docbook:1839
#, no-wrap
msgid ""
"\n"
"<link linkend=\"glib-Hash-Tables\">Hash Tables</link>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1823
+#: C/index.docbook:1835
msgid ""
"To link to another section in the GTK docs: <_:informalexample-1/> The "
"linkend is the SGML/XML id on the top item of the page you want to link to. "
"ajustarse a SGML/XML."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1840
+#: C/index.docbook:1852
#, no-wrap
msgid ""
"\n"
"<function>...</function>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1837
+#: C/index.docbook:1849
msgid ""
"To refer to an external function, e.g. a standard C function: <_:"
"informalexample-1/>"
"informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1849
+#: C/index.docbook:1861
#, no-wrap
-#| msgid ""
-#| "\n"
-#| "<example>\n"
-#| " <title>Using a GHashTable.</title>\n"
-#| " <programlisting>\n"
-#| " ...\n"
-#| " </programlisting>\n"
-#| "</example>\n"
msgid ""
"\n"
"<example>\n"
"</example>\n"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1860
+#: C/index.docbook:1872
#, no-wrap
-#| msgid ""
-#| "\n"
-#| "<informalexample>\n"
-#| " <programlisting>\n"
-#| " ...\n"
-#| " </programlisting>\n"
-#| "</informalexample>\n"
msgid ""
"\n"
"<informalexample>\n"
"</informalexample>\n"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1872
+#: C/index.docbook:1884
#, no-wrap
msgid ""
"\n"
"]|\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1846
-#, fuzzy
-#| msgid ""
-#| "To include example code: <_:informalexample-1/> or possibly this, for "
-#| "very short code fragments which don't need a title: <_:informalexample-2/"
-#| "> For the latter GTK-Doc also supports an abbreviation: |[ ... ]|"
+#: C/index.docbook:1858
msgid ""
"To include example code: <_:informalexample-1/> or possibly this, for very "
"short code fragments which don't need a title: <_:informalexample-2/> In "
"syntax highlighting engine (pygments for html output). For the latter GTK-"
"Doc also supports an abbreviation: <_:informalexample-3/>"
msgstr ""
-"Para incluir un código de ejemplo: <_:informalexample-1/> o posiblemente "
-"este, para fragmentos de código muy cortos que no necesitan título: <_:"
-"informalexample-2/>. El último GTK-Doc también soporta abreviación: |[ ... ]|"
+"Para incluir código de ejemplo: <_:informalexample-1/> o posiblemente esto, "
+"para fragmentos de código muy cortos que no necesitan un título: <_:"
+"informalexample-2/> En ambos casos, el atributo de lenguaje es opcional y se "
+"utiliza como una pista para el motor de resaltado de sintaxis (pygments para "
+"salida html). Para este último, GTK-Doc también admite una abreviatura: <_:"
+"informalexample-3/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1883
+#: C/index.docbook:1895
#, no-wrap
msgid ""
"\n"
"</itemizedlist>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1880
+#: C/index.docbook:1892
msgid "To include bulleted lists: <_:informalexample-1/>"
msgstr "Para incluir listas de topos: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1903
+#: C/index.docbook:1915
#, no-wrap
msgid ""
"\n"
"</note>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1900
+#: C/index.docbook:1912
msgid ""
"To include a note which stands out from the text: <_:informalexample-1/>"
msgstr "Para incluir una nota que sobresale del texto: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1916
+#: C/index.docbook:1928
#, no-wrap
msgid ""
"\n"
"<type>unsigned char</type>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1913
+#: C/index.docbook:1925
msgid "To refer to a type: <_:informalexample-1/>"
msgstr "Para referirse a un tipo: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1925
+#: C/index.docbook:1937
#, no-wrap
msgid ""
"\n"
"<structname>XFontStruct</structname>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1922
+#: C/index.docbook:1934
msgid ""
"To refer to an external structure (not one described in the GTK docs): <_:"
"informalexample-1/>"
"de GTK): <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1934
+#: C/index.docbook:1946
#, no-wrap
msgid ""
"\n"
"<structfield>len</structfield>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1931
+#: C/index.docbook:1943
msgid "To refer to a field of a structure: <_:informalexample-1/>"
msgstr "Para referirse a un campo o a una estructura: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1943
+#: C/index.docbook:1955
#, no-wrap
msgid ""
"\n"
"<classname>GtkWidget</classname>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1940
+#: C/index.docbook:1952
msgid ""
"To refer to a class name, we could possibly use: <_:informalexample-1/> but "
"you'll probably be using #GtkWidget instead (to automatically create a link "
"\"documenting_syntax\">abreviaciones</link>)."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1954
+#: C/index.docbook:1966
#, no-wrap
msgid ""
"\n"
"<emphasis>This is important</emphasis>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1951
+#: C/index.docbook:1963
msgid "To emphasize text: <_:informalexample-1/>"
msgstr "Para enfatizar un texto: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1963
+#: C/index.docbook:1975
#, no-wrap
msgid ""
"\n"
"<filename>/home/user/documents</filename>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1960
+#: C/index.docbook:1972
msgid "For filenames use: <_:informalexample-1/>"
msgstr "Para uso de nombres de archivo: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1972
+#: C/index.docbook:1984
#, no-wrap
msgid ""
"\n"
"<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1969
+#: C/index.docbook:1981
msgid "To refer to keys use: <_:informalexample-1/>"
msgstr "Para referirse a claves: <_:informalexample-1/>"
#. (itstool) path: chapter/title
-#: C/index.docbook:1982
+#: C/index.docbook:1994
msgid "Filling the extra files"
msgstr "Rellenar campos adicionales"
#. (itstool) path: chapter/para
-#: C/index.docbook:1984
+#: C/index.docbook:1996
msgid ""
"There are a couple of extra files, that need to be maintained along with the "
"inline source code comments: <filename><package>.types</filename>, "
"pasado) y <filename><paquete>-sections.txt</filename>."
#. (itstool) path: sect1/title
-#: C/index.docbook:1993
+#: C/index.docbook:2005
msgid "Editing the types file"
msgstr "Editar los tipos de archivo"
#. (itstool) path: sect1/para
-#: C/index.docbook:1995
+#: C/index.docbook:2007
msgid ""
"If your library or application includes GObjects, you want their signals, "
"arguments/parameters and position in the hierarchy to be shown in the "
"<filename><paquete>.types</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:2004
+#: C/index.docbook:2016
msgid "Example <package>.types file"
msgstr "Ejemplo de archivo <paquete>.tipos"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2005
+#: C/index.docbook:2017
#, no-wrap
msgid ""
"\n"
"gtk_arrow_get_type\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2016
+#: C/index.docbook:2028
msgid ""
"Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this "
"list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in "
"los tipos de archivo ni tenerlos bajo el control de versiones."
#. (itstool) path: sect1/title
-#: C/index.docbook:2025
+#: C/index.docbook:2037
msgid "Editing the master document"
msgstr "Editar la sección maestra del documento"
#. (itstool) path: sect1/para
-#: C/index.docbook:2027
+#: C/index.docbook:2039
msgid ""
"GTK-Doc produces documentation in DocBook SGML/XML. When processing the "
"inline source comments, the GTK-Doc tools generate one documentation page "
"documento maestro las incluye y ordena."
#. (itstool) path: sect1/para
-#: C/index.docbook:2034
+#: C/index.docbook:2046
msgid ""
"While GTK-Doc creates a template master document for you, later runs will "
"not touch it again. This means that one can freely structure the "
"vez en cuando para ver si se han introducido algunas mejoras."
#. (itstool) path: tip/para
-#: C/index.docbook:2044
+#: C/index.docbook:2056
msgid ""
"Do not create tutorials as extra documents. Just write extra chapters. The "
"benefit of directly embedding the tutorial for your library into the API "
"el tutorial junto con la biblioteca son mayores."
#. (itstool) path: sect1/para
-#: C/index.docbook:2053
+#: C/index.docbook:2065
msgid ""
"So what are the things to change inside the master document? For a start is "
"only a little. There are some placeholders (text in square brackets) there "
"que habría que encargarse."
#. (itstool) path: example/title
-#: C/index.docbook:2060
+#: C/index.docbook:2072
msgid "Master document header"
msgstr "Cabecera del documento maestro"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2061
+#: C/index.docbook:2073
#, no-wrap
msgid ""
"\n"
" <title>[Insert title here]</title>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2077
+#: C/index.docbook:2089
msgid ""
"In addition a few option elements are created in commented form. You can "
"review these and enable them as you like."
"Puede revisarlos y activarlos como quiera."
#. (itstool) path: example/title
-#: C/index.docbook:2083
+#: C/index.docbook:2095
msgid "Optional part in the master document"
msgstr "Parte opcional en el documento maestro"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2084
+#: C/index.docbook:2096
#, no-wrap
msgid ""
"\n"
" --> \n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2092
+#: C/index.docbook:2104
msgid ""
"Finally you need to add new section whenever you introduce one. The <link "
"linkend=\"modernizing-gtk-doc-1-16\">gtkdoc-check</link> tool will remind "
"todavía en la documentación."
#. (itstool) path: example/title
-#: C/index.docbook:2100 C/index.docbook:2135
+#: C/index.docbook:2112 C/index.docbook:2147
msgid "Including generated sections"
msgstr "Incluir secciones generadas"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2101
+#: C/index.docbook:2113
#, no-wrap
msgid ""
"\n"
" ...\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:2113
+#: C/index.docbook:2125
msgid "Editing the section file"
msgstr "Editar el archivo de sección"
#. (itstool) path: sect1/para
-#: C/index.docbook:2115
+#: C/index.docbook:2127
msgid ""
"The section file is used to organise the documentation output by GTK-Doc. "
"Here one specifies which symbol belongs to which module or class and control "
"y el control de la visibilidad (pública o privada)."
#. (itstool) path: sect1/para
-#: C/index.docbook:2121
+#: C/index.docbook:2133
msgid ""
"The section file is a plain text file with tags delimiting sections. Blank "
"lines are ignored and lines starting with a '#' are treated as comment lines."
"comiencen con «#» se tratan como comentarios."
#. (itstool) path: note/para
-#: C/index.docbook:2128
+#: C/index.docbook:2140
msgid ""
"While the tags make the file look like xml, it is not. Please do not close "
"tags like <SUBSECTION>."
"etiquetas del tipo <SUBSECTION>."
#. (itstool) path: example/programlisting
-#: C/index.docbook:2136
+#: C/index.docbook:2148
#, no-wrap
msgid ""
"\n"
"</SECTION>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2153
+#: C/index.docbook:2165
msgid ""
"The <FILE> ... </FILE> tag is used to specify the file name, "
"without any suffix. For example, using '<FILE>gnome-config</"
"clase de GObject convertido a minúscula.)"
#. (itstool) path: sect1/para
-#: C/index.docbook:2165
+#: C/index.docbook:2177
msgid ""
"The <TITLE> ... </TITLE> tag is used to specify the title of the "
"section. It is only useful before the templates (if used) are initially "
"obsoleto."
#. (itstool) path: sect1/para
-#: C/index.docbook:2172
+#: C/index.docbook:2184
msgid ""
"You can group items in the section by using the <SUBSECTION> tag. "
"Currently it outputs a blank line between subsections in the synopsis "
"públicas (variables, vmethods)."
#. (itstool) path: sect1/para
-#: C/index.docbook:2191
+#: C/index.docbook:2203
msgid ""
"You can also use <INCLUDE> ... </INCLUDE> to specify the "
"#include files which are shown in the synopsis sections. It contains a comma-"
"a esa sección."
#. (itstool) path: chapter/title
-#: C/index.docbook:2205
+#: C/index.docbook:2217
msgid "Controlling the result"
msgstr "Controlar el resultado"
#. (itstool) path: chapter/para
-#: C/index.docbook:2207
+#: C/index.docbook:2219
msgid ""
"A GTK-Doc run generates report files inside the documentation directory. The "
"generated files are named: <filename><package>-undocumented.txt</"
"archivos de texto plano y se pueden ver y posprocesar fácilmente."
#. (itstool) path: chapter/para
-#: C/index.docbook:2216
+#: C/index.docbook:2228
msgid ""
"The <filename><package>-undocumented.txt</filename> file starts with "
"the documentation coverage summary. Below are two sections divided by blank "
"documentación pero dónde; p.e. se ha añadido un parámetro nuevo."
#. (itstool) path: chapter/para
-#: C/index.docbook:2225
+#: C/index.docbook:2237
msgid ""
"The <filename><package>-undeclared.txt</filename> file lists symbols "
"given in the <filename><package>-sections.txt</filename> but not found "
"eliminado o no se han escrito correctamente."
#. (itstool) path: chapter/para
-#: C/index.docbook:2232
+#: C/index.docbook:2244
msgid ""
"The <filename><package>-unused.txt</filename> file lists symbol names, "
"where the GTK-Doc scanner has found documentation, but does not know where "
"todavía al archivo <filename><paquete>-sections.txt</filename>."
#. (itstool) path: tip/para
-#: C/index.docbook:2240
+#: C/index.docbook:2252
msgid ""
"Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile."
"am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during "
"de integridad durante la ejecución de make check."
#. (itstool) path: chapter/para
-#: C/index.docbook:2247
+#: C/index.docbook:2259
msgid ""
"One can also look at the files produced by the source code scanner: "
"<filename><package>-decl-list.txt</filename> and <filename><"
"si este archivo lo contiene."
#. (itstool) path: chapter/para
-#: C/index.docbook:2256
+#: C/index.docbook:2268
msgid ""
"If the project is GObject based, one can also look into the files produced "
"by the object scanner: <filename><package>.args.txt</filename>, "
"ejecutándolo como <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
#. (itstool) path: chapter/title
-#: C/index.docbook:2271
+#: C/index.docbook:2283
msgid "Modernizing the documentation"
msgstr "Modernizar la documentación"
#. (itstool) path: chapter/para
-#: C/index.docbook:2273
+#: C/index.docbook:2285
msgid ""
"GTK-Doc has been around for quite some time. In this section we list new "
"features together with the version since when it is available."
"características nuevas junto con la versión desde la que están disponibles."
#. (itstool) path: sect1/title
-#: C/index.docbook:2279
+#: C/index.docbook:2291
msgid "GTK-Doc 1.9"
msgstr "GTK-Doc 1.9"
#. (itstool) path: sect1/para
-#: C/index.docbook:2281
+#: C/index.docbook:2293
msgid ""
"When using xml instead of sgml, one can actually name the master document "
"<filename><package>-docs.xml</filename>."
"maestro <filename><paquete>-docs.xml</filename>."
#. (itstool) path: sect1/para
-#: C/index.docbook:2286
+#: C/index.docbook:2298
msgid ""
"This version supports <option>SCAN_OPTIONS=--rebuild-sections</option> in "
"<filename>Makefile.am</filename>. When this is enabled, the <filename><"
"paquete>-decl-list.txt <paquete>-sections.txt</code>."
#. (itstool) path: sect1/para
-#: C/index.docbook:2297
+#: C/index.docbook:2309
msgid ""
"Version 1.8 already introduced the syntax for documenting sections in the "
"sources instead of the separate files under <filename class=\"directory"
"<filename>configure.ac</filename> y lo tendrá hecho."
#. (itstool) path: sect1/title
-#: C/index.docbook:2309
+#: C/index.docbook:2321
msgid "GTK-Doc 1.10"
msgstr "GTK-Doc 1.10"
#. (itstool) path: sect1/para
-#: C/index.docbook:2311
+#: C/index.docbook:2323
msgid ""
"This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in "
"<filename>Makefile.am</filename>. When this is enabled, the <filename><"
"condicional."
#. (itstool) path: sect1/title
-#: C/index.docbook:2322
+#: C/index.docbook:2334
msgid "GTK-Doc 1.16"
msgstr "GTK-Doc 1.16"
#. (itstool) path: example/title
-#: C/index.docbook:2328
+#: C/index.docbook:2340
msgid "Enable gtkdoc-check"
msgstr "Activar gtkdoc-check"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2329
+#: C/index.docbook:2341
#, no-wrap
msgid ""
"\n"
"endif\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2324
+#: C/index.docbook:2336
msgid ""
"This version includes a new tool called gtkdoc-check. This tool can run a "
"set of sanity checks on your documentation. It is enabled by adding these "
"archivo <filename>Makefile.am</filename>. <_:example-1/>"
#. (itstool) path: sect1/title
-#: C/index.docbook:2342
+#: C/index.docbook:2354
msgid "GTK-Doc 1.20"
msgstr "GTK-Doc 1.20"
#. (itstool) path: sect1/para
-#: C/index.docbook:2344
+#: C/index.docbook:2356
msgid ""
"Version 1.18 brought some initial markdown support. Using markdown in doc "
"comments is less intrusive than writing docbook xml. This version improves a "
"comentarios</link> contiene todos los detalles."
#. (itstool) path: sect1/title
-#: C/index.docbook:2354
+#: C/index.docbook:2366
msgid "GTK-Doc 1.25"
msgstr "GTK-Doc 1.25"
#. (itstool) path: example/title
-#: C/index.docbook:2365
+#: C/index.docbook:2377
msgid "Use pre-generated entities"
msgstr "Usar entidades generadas previamenet"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2366
+#: C/index.docbook:2378
#, no-wrap
msgid ""
"\n"
" </bookinfo>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2356
-#, fuzzy
-#| msgid ""
-#| "The makefiles shipped with this version generate an entity file at "
-#| "<filename>xml/gtkdocentities.ent</filename>, containing entities for e.g. "
-#| "package_name and package_version. You can use this e.g. in the main xml "
-#| "file to avoid hardcoding the version number. Below is an example that "
-#| "shows how the entity file is included and how the entities are used. The "
-#| "entities can also be used in all generated files, GTK-Doc will use the "
-#| "same xml header in generated xml files. <_:example-1/>"
+#: C/index.docbook:2368
msgid ""
"The makefiles shipped with this version generate an entity file at "
"<filename>xml/gtkdocentities.ent</filename>, containing entities for e.g. "
"used. The entities can also be used in all generated files, GTK-Doc will use "
"the same xml header in generated xml files. <_:example-1/>"
msgstr ""
-"El makefile distribuído con esta versión genera un archivo de entidad en "
-"<filename>xml/gtkdocentities.ent</filename>, que contiene las entidades "
-"para, por ejemplo nombre_paquete y versión_paquete. Puede usar este ejemplo "
-"en el archivo main.xml para evitar escribir a mano el número de versión. A "
-"continuación se muestra un ejemplo que muestra cómo se incluye el archivo de "
-"entidad y cómo se usan las entidades. Las entidades también se pueden usar "
-"en todos los archivos generados, GTK-Doc usará la misma cabecera XML en los "
-"archivos XML generados. <_:example-1/>"
+"Los makefiles distribuidos con esta versión generan un archivo de entidad en "
+"<filename>xml/gtkdocentities.ent</filename>, que contiene entidades para, "
+"por ejemplo, nombre_paquete y versión_paquete. Puedes usar esto, por "
+"ejemplo, en el archivo xml principal para evitar codificar el número de "
+"versión. A continuación se muestra un ejemplo que muestra cómo se incluye el "
+"archivo de entidad en la plantilla maestra y cómo se utilizan las entidades. "
+"Las entidades también se pueden usar en todos los archivos generados, GTK-"
+"Doc usará el mismo encabezado xml en los archivos xml generados. <_:"
+"example-1/>"
#. (itstool) path: chapter/title
-#: C/index.docbook:2391
+#: C/index.docbook:2403
msgid "Documenting other interfaces"
msgstr "Documentar otras interfaces"
#. (itstool) path: chapter/para
-#: C/index.docbook:2393
+#: C/index.docbook:2405
msgid ""
"So far we have been using GTK-Doc to document the API of code. The next "
"sections contain suggestions how the tools can be used to document other "
"herramientas para documentar otras interfaces."
#. (itstool) path: sect1/title
-#: C/index.docbook:2400
+#: C/index.docbook:2412
msgid "Command line options and man pages"
msgstr "Opciones de la línea de comandos y páginas man"
#. (itstool) path: sect1/para
-#: C/index.docbook:2402
+#: C/index.docbook:2414
msgid ""
"As one can generate man pages for a docbook refentry as well, it sounds like "
"a good idea to use it for that purpose. This way the interface is part of "
"interfaz es parte de la referencia y se obtienen las páginas man sin trabajo."
#. (itstool) path: sect2/title
-#: C/index.docbook:2409
+#: C/index.docbook:2421
msgid "Document the tool"
msgstr "Documentar la herramienta"
#. (itstool) path: sect2/para
-#: C/index.docbook:2411
+#: C/index.docbook:2423
msgid ""
"Create one refentry file per tool. Following <link linkend="
"\"settingup_docfiles\">our example</link> we would call it <filename>meep/"
"así como los ejemplos en, por ejemplo, glib."
#. (itstool) path: sect2/title
-#: C/index.docbook:2421
+#: C/index.docbook:2433
msgid "Adding the extra configure check"
msgstr "Añadir la comprobación de configuración adicional"
#. (itstool) path: example/title
-#: C/index.docbook:2424 C/index.docbook:2442
+#: C/index.docbook:2436 C/index.docbook:2454
msgid "Extra configure checks"
msgstr "Comprobaciones de configuración adicionales"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2425
+#: C/index.docbook:2437
#, no-wrap
msgid ""
"\n"
"AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)\n"
#. (itstool) path: sect2/title
-#: C/index.docbook:2439
+#: C/index.docbook:2451
msgid "Adding the extra makefile rules"
msgstr "Añadir reglas de makefile adicionales"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2443
+#: C/index.docbook:2455
#, no-wrap
msgid ""
"\n"
"EXTRA_DIST += meep.xml\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:2465
+#: C/index.docbook:2477
msgid "DBus interfaces"
msgstr "Interfaces de DBus"
#. (itstool) path: sect1/para
-#: C/index.docbook:2467
+#: C/index.docbook:2479
msgid ""
"(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://"
"cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
"cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
#. (itstool) path: chapter/title
-#: C/index.docbook:2476
+#: C/index.docbook:2488
msgid "Frequently asked questions"
msgstr "Preguntas más frecuentes"
#. (itstool) path: segmentedlist/segtitle
-#: C/index.docbook:2480
+#: C/index.docbook:2492
msgid "Question"
msgstr "Pregunta"
#. (itstool) path: segmentedlist/segtitle
-#: C/index.docbook:2481
+#: C/index.docbook:2493
msgid "Answer"
msgstr "Respuesta"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2483
+#: C/index.docbook:2495
msgid "No class hierarchy."
msgstr "Sin jerarquía de clases."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2484
+#: C/index.docbook:2496
msgid ""
"The objects <function>xxx_get_type()</function> function has not been "
"entered into the <filename><package>.types</filename> file."
"introducido en el archivo <filename><package>.types</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2490
+#: C/index.docbook:2502
msgid "Still no class hierarchy."
msgstr "Aún sin jerarquía de clases."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2491
+#: C/index.docbook:2503
msgid ""
"Missing or wrong naming in <filename><package>-sections.txt</filename> "
"file (see <ulink url=\"http://mail.gnome.org/archives/gtk-doc-list/2003-"
"doc-list/2003-October/msg00006.html\">explicación</ulink>)."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2497
+#: C/index.docbook:2509
msgid "Damn, I have still no class hierarchy."
msgstr "Maldición, aún no hay una jerarquía de clases."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2498
+#: C/index.docbook:2510
msgid ""
"Is the object name (name of the instance struct, e.g. <type>GtkWidget</"
"type>) part of the normal section (don't put this into Standard or Private "
"Estándar o Privado)."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2505
+#: C/index.docbook:2517
msgid "No symbol index."
msgstr "Sin índice de símbolos."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2506
+#: C/index.docbook:2518
msgid ""
"Does the <filename><package>-docs.{xml,sgml}</filename> contain a "
"index that xi:includes the generated index?"
"«xi:includes» el índice generado?"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2512
+#: C/index.docbook:2524
msgid "Symbols are not linked to their doc-section."
msgstr "Los símbolos no se enlazan con su sección en el documento."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2513
+#: C/index.docbook:2525
msgid ""
"Is the doc-comment using the correct markup (added #,% or ())? Check if the "
"gtkdoc-fixxref warns about unresolvable xrefs."
"si gtk-doc-fixxref avisa de alguna referencia xref sin resolver."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2519
+#: C/index.docbook:2531
msgid "A new class does not appear in the docs."
msgstr "Una clase nueva no aparece en la documentación."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2520
+#: C/index.docbook:2532
msgid ""
"Is the new page xi:included from <filename><package>-docs.{xml,sgml}</"
"filename>."
"sgml}</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2526
+#: C/index.docbook:2538
msgid "A new symbol does not appear in the docs."
msgstr "Un símbolo nuevo no aparece en la documentación."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2527
+#: C/index.docbook:2539
msgid ""
"Is the doc-comment properly formatted. Check for spelling mistakes in the "
"begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable "
"txt</filename> en una subsección pública."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2535
+#: C/index.docbook:2547
msgid "A type is missing from the class hierarchy."
msgstr "Falta un tipo en la clase de jerarquías"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2536
+#: C/index.docbook:2548
msgid ""
"If the type is listed in <filename><package>.hierarchy</filename> but "
"not in <filename>xml/tree_index.sgml</filename> then double check that the "
"privada."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2545
+#: C/index.docbook:2557
msgid "I get foldoc links for all gobject annotations."
msgstr ""
"Obtengo enlaces de seguimiento de documentos para todas las anotaciones "
"gobject."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2546
+#: C/index.docbook:2558
msgid ""
"Check that <filename>xml/annotation-glossary.xml</filename> is xi:included "
"from <filename><package>-docs.{xml,sgml}</filename>."
"included» desde <filename><package>-docs.{xml,sgml}</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2554
+#: C/index.docbook:2566
msgid "Parameter described in source code comment block but does not exist"
msgstr ""
"Parámetro descrito en el bloque de comentarios del código fuente pero no "
"existe"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2555
+#: C/index.docbook:2567
msgid ""
"Check if the prototype in the header has different parameter names as in the "
"source."
"diferentes de la fuente."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2560
+#: C/index.docbook:2572
msgid "multiple \"IDs\" for constraint linkend: XYZ"
msgstr "múltiples «ID» para la restricción enlazada: XYZ"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2561
+#: C/index.docbook:2573
msgid ""
"Symbol XYZ appears twice in <filename><package>-sections.txt</"
"filename> file."
"sections.txt</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2564
+#: C/index.docbook:2576
msgid ""
"Element typename in namespace '' encountered in para, but no template "
"matches."
"coincide."
#. (itstool) path: chapter/title
-#: C/index.docbook:2571
+#: C/index.docbook:2583
msgid "Tools related to gtk-doc"
msgstr "Herramientas relacionadas con GTK-Doc"
#. (itstool) path: chapter/para
-#: C/index.docbook:2573
+#: C/index.docbook:2585
msgid ""
"GtkDocPlugin - a <ulink url=\"http://trac-hacks.org/wiki/GtkDocPlugin\">Trac "
"GTK-Doc</ulink> integration plugin, that adds API docs to a trac site and "
"a un sitio «trac» y se integra con la búsqueda de «trac»."
#. (itstool) path: chapter/para
-#: C/index.docbook:2578
+#: C/index.docbook:2590
msgid ""
"Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since "
"tags in the API to determine the minimum required version."
"libre que usted elija, como la <_:ulink-1/>, para permitir su uso en "
"software libre."
+#~| msgid ""
+#~| "<revnumber>1.29.1</revnumber> <date>28 Aug 2018</date> "
+#~| "<authorinitials>ss</authorinitials> <revremark>development</revremark>"
#~ msgid ""
-#~ "<revnumber>1.29</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
-#~ "authorinitials> <revremark>development</revremark>"
+#~ "<revnumber>1.30.1</revnumber> <date>09 May 2019</date> "
+#~ "<authorinitials>ss</authorinitials> <revremark>development</revremark>"
#~ msgstr ""
-#~ "<revnumber>1.29</revnumber> <date>28 de agosto de 2018</date> "
+#~ "<revnumber>1.30.1</revnumber> <date>9 de mayo de 2019</date> "
#~ "<authorinitials>ss</authorinitials> <revremark>desarrollo</revremark>"
#~ msgid "Setting up your project"
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Versión 1.1, marzo de 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>. Se permite la copia y distribución de copias literales de este documento, pero no se permite su modificación.</para>
- </legalnotice>
- </appendixinfo>
- <title>Licencia de documentación libre de GNU</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREÁMBULO</title>
- <para>El propósito de esta Licencia es permitir que un manual, libro de texto, u otro documento escrito sea <quote>libre</quote> en el sentido de libertad: asegurar a todo el mundo la libertad efectiva de copiarlo y redistribuirlo, con o sin modificaciones, de manera comercial o no. En segundo término, esta Licencia proporciona al autor y al editor una manera de obtener reconocimiento por su trabajo, sin que se le considere responsable de las modificaciones realizadas por otros.</para>
-
- <para>Esta Licencia es de tipo <quote>copyleft</quote>, lo que significa que los trabajos derivados del documento deben a su vez ser libres en el mismo sentido. Complementa la Licencia Pública General de GNU, que es una licencia tipo copyleft diseñada para el software libre.</para>
-
- <para>Hemos diseñado esta Licencia para usarla en manuales de software libre, ya que el software libre necesita documentación libre: Un programa libre debe venir con los manuales que ofrezcan la mismas libertades que da el software. Pero esta licencia no se limita a manuales de software; puede ser usada para cualquier trabajo textual, sin tener en cuenta su temática o si se publica como libro impreso. Recomendamos esta licencia principalmente para trabajos cuyo fin sea instructivo o de referencia.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APLICABILIDAD Y DEFINICIONES</title>
- <para id="fdl-document">Esta Licencia se aplica a cualquier manual u otro trabajo que contenga un aviso colocado por el poseedor del copyright diciendo que puede distribuirse bajo los términos de esta Licencia. El <quote>Documento</quote>, abajo, se refiere a cualquier manual o trabajo. Cualquier miembro del público es un licenciatario, y será referido como <quote>usted</quote>.</para>
-
- <para id="fdl-modified">Una <quote>Versión modificada</quote> del Documento significa cualquier trabajo que contenga el Documento o una porción del mismo, ya sea una copia literal o con modificaciones y/o traducciones a otro idioma.</para>
-
- <para id="fdl-secondary">Una <quote>Sección secundaria</quote> es un apéndice con título o una sección preliminar del Documento que trata exclusivamente de la relación entre los autores o editores y el tema general del <link linkend="fdl-document">Documento</link> que trata exclusivamente con la relación entre los editores o autores del Documento con el asunto general del Documento (o asuntos relacionados) y no contiene nada que pueda considerarse dentro del tema principal. (Por ejemplo, si el Documento es en parte un libro de texto de matemáticas, una Sección Secundaria no explicará nada de matemáticas.) La relación puede ser una conexión histórica con el asunto o temas relacionados, o una opinión legal, comercial, filosófica, ética o política acerca de ellos.</para>
-
- <para id="fdl-invariant">Las <quote>Secciones invariantes</quote> son ciertas <link linkend="fdl-secondary">Secciones secundarias</link> cuyos títulos son designados como Secciones Invariantes en la nota que indica que el <link linkend="fdl-document">Documento</link> se publica bajo esta Licencia.</para>
-
- <para id="fdl-cover-texts"> Los <quote>Textos de cubierta</quote> son ciertos pasajes cortos de texto que se listan como Textos de Cubierta Delantera o Textos de Cubierta Trasera en la nota que indica que el <link linkend="fdl-document">Documento</link> se publica bajo esta Licencia.</para>
-
- <para id="fdl-transparent">Una copia <quote>Transparente</quote> del <link linkend="fdl-document">Documento</link>, significa una copia para lectura en máquina, representada en un formato cuya especificación está disponible al público en general, cuyo contenido puede ser visto y editados directamente con editores de texto genéricos o (para imágenes compuestas por píxeles) con programas genéricos de manipulación de imágenes o (para dibujos) con algún editor de dibujos ampliamente disponible, y que sea adecuado como entrada para formateadores de texto o para su traducción automática a formatos adecuados para formateadores de texto. Una copia hecha en un formato definido como Transparente, pero cuyo marcaje o ausencia de él haya sido diseñado para impedir o dificultar modificaciones posteriores por parte de los lectores no es Transparente. Una copia que no es <quote>Transparente</quote> se denomina <quote>Opacas</quote></para>
-
- <para>Como ejemplos de formatos adecuados para copias Transparentes están ASCII puro sin marcaje, formato de entrada de Texinfo, formato de entrada de LaTeX, SGML o XML usando una DTD disponible públicamente, y HTML, PostScript o PDF simples, que sigan los estándares y diseños para que los modifiquen personas.Los formatos Opacos incluyen formatos propietarios que pueden ser leídos y editados únicamente en procesadores de textos propietarios, SGML o XML para los cuáles las DTD y/o herramientas de procesamiento no estén ampliamente disponibles, y HTML, PostScript o PDF generados por algunos procesadores de textos sólo como salida.</para>
-
- <para id="fdl-title-page">La <quote>Portada</quote> significa, en un libro impreso, la página de título, más las páginas siguientes que sean necesarias para mantener legiblemente el material que esta Licencia requiere en la portada. Para trabajos en formatos que no tienen página de portada como tal, <quote>Portada</quote> significa el texto cercano a la aparición más prominente del título del trabajo,precediendo el comienzo del cuerpo del texto.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. COPIA LITERAL</title>
- <para>Usted puede copiar y distribuir el <link linkend="fdl-document">Documento</link> en cualquier soporte, sea en forma comercial o no, siempre y cuando proporcione esta Licencia, las notas de copyright y la nota que indica que esta Licencia se aplica al Documento reproduciéndola en todas las copias y que usted no añada ninguna otra condición a las expuestas en esta Licencia. Usted no puede usar medidas técnicas para obstruir o controlar la lectura o copia posterior de las copias que usted haga o distribuya. Sin embargo, usted puede aceptar compensación a cambio de las copias. Si distribuye un número suficientemente grande de copias también deberá seguir las condiciones de la <link linkend="fdl-section3">sección 3</link>.</para>
-
- <para>Usted también puede prestar copias, bajo las mismas condiciones establecidas anteriormente, y puede exhibir copias públicamente.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPIAR EN CANTIDAD</title>
- <para> Si publica copias impresas del <link linkend="fdl-document">Documento</link> que sobrepasen las 100, y la nota de licencia del Documento exige <link linkend="fdl-cover-texts">Textos de cubierta</link>, debe incluirlas copias con cubiertas que lleven en forma clara y legible todos esos Textos de Cubierta: Textos de Cubierta Delantera en la cubierta delantera y Textos de Cubierta Trasera en la cubierta trasera. Ambas cubiertas deben identificarlo a Usted clara y legiblemente como editor de tales copias. La cubierta debe mostrar el título completo con todas las palabras igualmente prominentes y visibles. Además puede añadir otro material en las cubiertas. Las copias con cambios limitados a las cubiertas, siempre que conserven el título del <link linkend="fdl-document">Documento</link> y satisfagan estas condiciones, pueden considerarse como copias literales en todos los aspectos.</para>
-
- <para> Si los textos requeridos para la cubierta son muy voluminosos para que ajusten legiblemente, debe colocar los primeros (tantos como sea razonable colocar) en la verdadera cubierta y situar el resto en páginas adyacentes.</para>
-
- <para>Si Usted publica o distribuye copias <link linkend="fdl-transparent">Opacas</link> del <link linkend="fdl-document">Documento</link> cuya cantidad exceda las 100, debe incluir una copia <link linkend="fdl-transparent">Transparente</link>, que pueda ser leída por una máquina, con cada copia Opaca, o bien mostrar, en cada copia Opaca, una dirección de red donde cualquier usuario de la misma tenga acceso por medio de protocolos públicos y estandarizados a una copia Transparente del Documento completa, sin material adicional. Si usted hace uso de la última opción, deberá tomar las medidas necesarias, cuando comience la distribución de las copias Opacas en cantidad, para asegurar que esta copia Transparente permanecerá accesible en el sitio establecido por lo menos un año después de la última vez que distribuya una copia Opaca de esa edición al público (directamente o a través de sus agentes o distribuidores).</para>
-
- <para>Se solicita, aunque no es requisito, que se ponga en contacto con los autores del <link linkend="fdl-document">Documento</link> antes de redistribuir gran número de copias, para darles la oportunidad de que le proporcionen una versión actualizada del Documento.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICACIONES</title>
- <para>Puede copiar y distribuir una <link linkend="fdl-modified">Versión modificada</link> del <link linkend="fdl-document">Documento</link> bajo las condiciones de las secciones <link linkend="fdl-section2">2</link> y <link linkend="fdl-section3">3</link> anteriores, siempre que Usted libere la Versión Modificada bajo esta misma Licencia, con la Versión Modificada haciendo el rol del Documento, por lo tanto dando Licencia de distribución y modificación de la Versión Modificada a quienquiera posea una copia de la misma. Además, debe hacer lo siguiente en la Versión Modificada:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>Usar en la <link linkend="fdl-title-page">Portada</link> (y en las cubiertas, si hay alguna) un título distinto al del <link linkend="fdl-document">Documento</link> y de sus versiones anteriores (que deberían, si hay alguna, estar listadas en la sección de Historia del Documento). Puede usar el mismo título de versiones anteriores al original siempre y cuando quien las publicó originalmente otorgue permiso.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>Listar en la <link linkend="fdl-title-page">Portada</link>, como autores, una o más personas o entidades responsables de la autoría de las modificaciones de la <link linkend="fdl-modified">Versión modificada</link>, junto con por lo menos cinco de los autores principales del <link linkend="fdl-document">Documento</link> (todos sus autores principales, si hay menos de cinco), a menos que le eximan de tal requisito.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>Mostrar en la <link linkend="fdl-title-page">Portada</link> como editor el nombre del editor de la <link linkend="fdl-modified">Versión modificada</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>Conservar todas las notas de copyright del <link linkend="fdl-document">Documento</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Añadir una nota de copyright apropiada a sus modificaciones, adyacente a las otras notas de copyright.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>Incluir, inmediatamente después de los avisos de copyright, una nota de licencia dando el permiso público para usar la <link linkend="fdl-modified">Versión modificada</link>. bajo los términos de esta Licencia, de la forma mostrada en el Adenda de más abajo.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>Incluir, inmediatamente después de ese aviso de licencia, la lista completa de <link linkend="fdl-invariant">Secciones invariantes</link> y de los <link linkend="fdl-cover-texts">Textos de cubierta</link> que sean requeridos en el aviso de Licencia del <link linkend="fdl-document">Documento</link> original.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Incluir una copia sin modificación de esta Licencia.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>Conservar la sección titulada <quote>Historia</quote>, conservar su Título y añadirle un elemento que declare al menos el título, el año, los nuevos autores y el editor de la <link linkend="fdl-modified">Versión modificada</link>, tal como figuran en la <link linkend="fdl-title-page">Portada</link>. Si no hay una sección titulada <quote>Historia</quote> en el <link linkend="fdl-document">Documento</link>, crear una estableciendo el título, el año, los autores y el editor del Documento, tal como figuran en su Portada, añadiendo además un elemento describiendo la Versión Modificada, como se estableció en la sentencia anterior.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>Conservar la dirección en red, si la hay, dada en el <link linkend="fdl-document">Documento</link> para el acceso público a una copia <link linkend="fdl-transparent">Transparente</link> del mismo, así como las otras direcciones de red dadas en el Documento para versiones anteriores en las que estuviese basado. Pueden ubicarse en la sección <quote>Historia</quote>. Se puede omitir la ubicación en red de un trabajo que haya sido publicado por lo menos cuatro años antes que el Documento mismo, o si el editor original de dicha versión da permiso.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>En cualquier sección titulada <quote>Agradecimientos</quote> o <quote>Dedicatorias</quote>, conservar el título de la sección y conservar en ella toda la sustancia y el tono de los agradecimientos y/o dedicatorias incluidas por cada contribuyente.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>Conservar todas las <link linkend="fdl-invariant">Secciones invariantes</link> del <link linkend="fdl-document">Documento</link>, sin alterar su texto ni sus títulos. Los números de sección o equivalentes no se consideran parte de los títulos de la sección.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>Elimine cualquier sección titulada <quote>Aprobaciones</quote>. Tales secciones no pueden estar incluidas en las <link linkend="fdl-modified">Versión modificada</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>No cambiar el título de ninguna sección existente a <quote>Aprobaciones</quote> ni a uno que entre en conflicto con el de alguna <link linkend="fdl-invariant">Sección invariante</link>.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>Si la <link linkend="fdl-modified">Versión modificada</link> incluye secciones o apéndices nuevos que cualifiquen como <link linkend="fdl-secondary">Secciones secundarias</link> y no contienen ningún material copiado del Documento, puede opcionalmente designar algunas o todas esas secciones como invariantes. Para hacerlo, añada sus títulos a la lista de <link linkend="fdl-invariant">Secciones invariantes</link> en el aviso de licencia de la Versión Modificada. Tales títulos deben ser distintos de cualquier otro título de sección.</para>
-
- <para>Puede añadir una sección titulada <quote>Aprobaciones</quote>, siempre que contenga únicamente aprobaciones de su <link linkend="fdl-modified">Versión modificada</link> por otras fuentes --por ejemplo, observaciones de compañeros o que el texto ha sido aprobado por una organización como definición oficial de un estándar.</para>
-
- <para>Puede añadir un pasaje de hasta cinco palabras como <link linkend="fdl-cover-texts">Texto de cubierta delantera</link> y un pasaje de hasta 25 palabras como <link linkend="fdl-cover-texts">Texto de cubierta trasera</link> al final de la lista de <link linkend="fdl-cover-texts">Textos de cubierta</link> en la <link linkend="fdl-modified">Versión modificada</link>. Una entidad sólo puede añadir (o hacer que se añada) un pasaje al Texto de Cubierta Delantera y uno al de Cubierta Trasera. Si el <link linkend="fdl-document">Documento</link> ya incluye un textos de cubiertas añadidos previamente por usted o por acuerdo previo con la entidad que usted representa, usted no puede añadir otro; pero puede reemplazar el anterior, con permiso explícito del editor anterior que agregó el texto anterior.</para>
-
- <para>Con esta Licencia ni los autores ni los editores del <link linkend="fdl-document">Documento</link> dan permiso para usar sus nombres para publicidad ni para asegurar o implicar aprobación de cualquier <link linkend="fdl-modified">Versión modificada</link>.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINAR DOCUMENTOS</title>
- <para>Usted puede combinar el <link linkend="fdl-document">Documento</link> con otros documentos liberados bajo esta Licencia, bajo los términos definidos en la sección <link linkend="fdl-section4">sección 4</link> más arriba para versiones modificadas, siempre que incluya en la combinación todas las <link linkend="fdl-invariant">Secciones invariantes</link> de todos los documentos originales, sin modificaciones, y las liste todas como Secciones Invariantes de su trabajo combinado en su aviso de licencia.</para>
-
- <para>El trabajo combinado necesita contener solamente una copia de esta Licencia, y múltiples <link linkend="fdl-invariant">Secciones invariantes</link> idénticas pueden reemplazarse por una sola copia. Si hay múltiples Secciones Invariantes con el mismo nombre pero con contenidos diferentes, haga el título de cada una de estas secciones único añadiéndolo al final de este, entre paréntesis, el nombre del autor o de quien editó originalmente esa sección, si es conocido, o si no, un número único. Haga el mismo ajuste a los títulos de sección en la lista de Secciones Invariantes en la nota de licencia del trabajo combinado.</para>
-
- <para>En la combinación, debe combinar cualquier sección titulada <quote>Historia</quote> de los distintos documentos originales, formando una sección titulada <quote>Historia</quote>; de la misma forma, combine cualquier sección titulada <quote>Agradecimientos</quote> y cualquier sección titulada <quote>Dedicatorias</quote>. Debe eliminar todas las secciones tituladas <quote>Aprobaciones.</quote>.</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLECCIONES DE DOCUMENTOS</title>
- <para>Puede hacer una colección que conste del <link linkend="fdl-document">Documento</link> y de otros documentos publicados bajo esta Licencia, y reemplazar las copias individuales de esta Licencia en todos los documentos por una sola copia que esté incluida en la colección, siempre que siga las reglas de esta Licencia para cada copia literal de cada uno de los documentos en cualquiera de los demás aspectos.</para>
-
- <para>Puede extraer un solo documento de una de tales colecciones y distribuirlo individualmente bajo esta Licencia, siempre que inserte una copia de esta Licencia en el documento extraído, y siga esta Licencia en todos los demás aspectos relativos a la copia literal de dicho documento.</para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGREGACIÓN CON TRABAJOS INDEPENDIENTES</title>
- <para>Una recopilación que conste del <link linkend="fdl-document">Documento</link> o sus derivados y de otros documentos o trabajos separados e independientes, en cualquier soporte de almacenamiento o distribución, no cuenta como un todo como un <link linkend="fdl-modified">Versión modificada</link> del Documento, siempre que no se reclame ningún derecho de copyright por la compilación. Dicha compilación se denomina un <quote>agregado</quote>, y esta Licencia no se aplica a otros trabajos autocontenidos incluidos con el Documento. teniendo en cuenta que son compilados, si no son los mismos trabajos derivados del Documento. Si el requisito de <link linkend="fdl-cover-texts">Texto de cubierta</link> de la <link linkend="fdl-section3">sección 3</link> es aplicable a estas copias del Documento, entonces si el Documento es menor que un cuarto del agregado completo, los Textos de Cubierta del Documento pueden colocarse en cubiertas que enmarquen solamente el Documento dentro del agregado. En caso contrario deben aparecer en cubiertas impresas enmarcando todo el agregado.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRADUCCIÓN</title>
- <para>La traducción se considera un tipo de modificación, así que puede distribuir traducciones del <link linkend="fdl-document">Documento</link> bajo los términos de la <link linkend="fdl-section4">sección 4</link>. Reemplazar las <link linkend="fdl-invariant">Secciones invariantes</link> con traducciones requiere permiso especial de los mantenedores de la propietarios del copyright, pero puede incluir traducciones de algunos o todas las Secciones invariantes. Puede incluir una traducción de esta licencia proporcionada que además incluya la versión original de esta Sección invariante en adición de esta licencia. En caso de desacuerdo prevalecerá la versión original en inglés.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINACIÓN</title>
- <para> Usted no puede copiar, modificar, sublicenciar o distribuir el <link linkend="fdl-document">Documento</link> salvo por lo permitido expresamente por esta Licencia. Cualquier otro intento de copia, modificación, sublicenciamiento o distribución del Documento es nulo, y dará por terminados automáticamente sus derechos bajo esa Licencia. Sin embargo, los terceros que hayan recibido copias, o derechos, de usted bajo esta Licencia no verán terminadas sus licencias, siempre que permanezcan en total conformidad con ella.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURAS REVISIONES DE ESTA LICENCIA</title>
- <para>La <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> puede publicar versiones nuevas y revisadas de la Licencia de Documentación Libre GNU de vez en cuando. Dichas versiones nuevas serán similares en espíritu a la presente versión, pero pueden diferir en detalles para solucionar nuevos problemas o preocupaciones. Consulte <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>Cada versión de la licencia tiene un número de versión. Si la <link linkend="fdl-document">Documento</link> especifica que el número particular de versión de esta Licencia <quote>o cualquier versión posterior</quote> aplicado sobre él, tiene la opción de seguir los términos y condiciones de cualquiera de esas versiones especificadas o de cualquiera de las versiones publicadas (no como borrador) por la Free Software Foundation. Si el Documento no especifica un número de versión de la licencia, puede elegir cualquier versión publicada (no como borrador) por la Free Software Foundation.</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>Para usar esta licencia en un documento que ha escrito, incluya una copia de la Licencia en el documento y ponga el siguiente copyright y las notas justo después del título de la página.</para>
-
- <blockquote>
- <para>Copyright 2009-2016 Daniel Mustieles
-Copyright 2009-2010 Jorge González González
-Copyright 2009-2010 Francisco Javier Fernández Serrador</para>
- <para>Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de GNU, Versión 1.1 o cualquier otra versión posterior publicada por la Free Software Foundation; con las <link linkend="fdl-invariant">Secciones invariantes</link> siendo su LISTE SUS TÍTULOS, con <link linkend="fdl-cover-texts">Textos de cubierta delantera</link> siendo LISTA, y con los <link linkend="fdl-cover-texts">Textos de cubierta trasera</link> siendo LISTA. Una copia de la licencia está incluida en la sección titulada <quote>Licencia de documentación libre de GNU</quote>.</para>
- </blockquote>
-
- <para>Si no tiene <link linkend="fdl-invariant">Secciones invariantes</link>, escriba <quote>sin secciones invariantes</quote> en lugar de indicar los que son invariantes. Si no tiene <link linkend="fdl-cover-texts">Textos de cubierta delantera</link>, escriba <quote>sin textos de cubierta delantera</quote> en lugar de <quote>Textos de cubierta LISTADOS</quote>; lo mismo para <link linkend="fdl-cover-texts">Textos de cubierta trasera</link>.</para>
-
- <para>Si su documento contiene ejemplos de código de programa no triviales, recomendamos liberar estos ejemplos en paralelo bajo la licencia de software libre que usted elija, como la <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">Licencia Pública General GNU</ulink>, para permitir su uso en software libre.</para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="es">
- <bookinfo>
- <title>Manual de GTK-Doc</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>Manual del usuario para desarrolladores con instrucciones del uso de GTK-Doc.</para></abstract>
- <authorgroup>
- <author><firstname>Chris</firstname> <surname>Lyttle</surname> <affiliation> <address> <email>chris@wilddev.net</email> </address> </affiliation></author>
- <author><firstname>Dan</firstname> <surname>Mueth</surname> <affiliation> <address> <email>d-mueth@uchicago.edu</email> </address> </affiliation></author>
- <author><firstname>Stefan</firstname> <surname>Sauer (Kost)</surname> <affiliation> <address> <email>ensonic@users.sf.net</email> </address> </affiliation></author>
- </authorgroup>
- <publisher role="maintainer"><publishername>Proyecto GTK-Doc</publishername> <address><email>gtk-doc-list@gnome.org</email></address></publisher>
- <copyright><year>2000, 2005</year> <holder>Dan Mueth and Chris Lyttle</holder></copyright>
- <copyright><year>2007-2019</year> <holder>Stefan Sauer (Kost)</holder></copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>Se concede autorización para copiar, distribuir o modificar este documento según los términos de la <citetitle>GNU Free Documentation License</citetitle>, Versión 1.1, o cualquier otra versión posterior publicada por Free Software Foundation sin secciones invariables, textos de portada ni textos de contraportada. Se <link linkend="fdl">incluye</link> una copia de la licencia.</para>
- <para>Muchos de los nombres usados por compañías para distinguir sus productos y servicios se mencionan como marcas comerciales. Donde aparezcan dichos nombres en cualquier documentación GNOME, y para que los miembros del proyecto de documentación las reconozcan dichas marcas comerciales, dichos nombres se imprimen en mayúsculas o iniciales mayúsculas.</para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision><revnumber>1.30</revnumber> <date>8 de mayo de 2019</date> <authorinitials>ss</authorinitials> <revremark>cobertura para más pruebas</revremark></revision>
- <revision><revnumber>1.29</revnumber> <date>28 de agosto de 2018</date> <authorinitials>ss</authorinitials> <revremark>correcciones de errores</revremark></revision>
- <revision><revnumber>1.28</revnumber> <date>24 de marzo de 2018</date> <authorinitials>ss</authorinitials> <revremark>correcciones de errores</revremark></revision>
- <revision><revnumber>1.27</revnumber> <date>07 de diciembre de 2017</date> <authorinitials>ss</authorinitials> <revremark>ajustes para la migración a python</revremark></revision>
- <revision><revnumber>1.26</revnumber> <date>11 de agosto de 2017</date> <authorinitials>ss</authorinitials> <revremark>portar todas las herramientas de perl/bash a python</revremark></revision>
- <revision><revnumber>1.25</revnumber> <date>21 de marzo de 2016</date> <authorinitials>ss</authorinitials> <revremark>correcciones de errores, limpieza</revremark></revision>
- <revision><revnumber>1.24</revnumber> <date>29 de mayo de 2015</date> <authorinitials>ss</authorinitials> <revremark>correcciones de errores</revremark></revision>
- <revision><revnumber>1.23</revnumber> <date>17 de mayo de 2015</date> <authorinitials>ss</authorinitials> <revremark>correcciones de errores</revremark></revision>
- <revision><revnumber>1.22</revnumber> <date>7 de mayo de 2015</date> <authorinitials>ss</authorinitials> <revremark>correcciones de errores, eliminadas funcionalidades obsoletas</revremark></revision>
- <revision><revnumber>1.21</revnumber> <date>17 de julio de 2014</date> <authorinitials>ss</authorinitials> <revremark>correcciones de errores, eliminadas funcionalidades obsoletas</revremark></revision>
- <revision><revnumber>1.20</revnumber> <date>16 de febrero de 2014</date> <authorinitials>ss</authorinitials> <revremark>errores corregidos, soporte de marcado, mejoras en los estilos</revremark></revision>
- <revision><revnumber>1.19</revnumber> <date>05 de junio de 2013</date> <authorinitials>ss</authorinitials> <revremark>correcciones de errores</revremark></revision>
- <revision><revnumber>1.18</revnumber> <date>14 de septiembre de 2011</date> <authorinitials>ss</authorinitials> <revremark>correcciones de errores, mejoras en la velocidad y soporte de marcado</revremark></revision>
- <revision><revnumber>1.17</revnumber> <date>26 de febrero de 2011</date> <authorinitials>sk</authorinitials> <revremark>actualización urgente de corrección de error</revremark></revision>
- <revision><revnumber>1.16</revnumber> <date>14 de enero de 2011</date> <authorinitials>sk</authorinitials> <revremark>correcciones de errores y mejoras en la distribución</revremark></revision>
- <revision><revnumber>1.15</revnumber> <date>21 de mayo de 2010</date> <authorinitials>sk</authorinitials> <revremark>correcciones de errores y regresiones</revremark></revision>
- <revision><revnumber>1.14</revnumber> <date>28 de marzo de 2010</date> <authorinitials>sk</authorinitials> <revremark>correcciones de errores y mejoras en el rendimiento</revremark></revision>
- <revision><revnumber>1.13</revnumber> <date>18 de diciembre de 2009</date> <authorinitials>sk</authorinitials> <revremark>actualización del tarball roto</revremark></revision>
- <revision><revnumber>1.12</revnumber> <date>18 de diciembre de 2009</date> <authorinitials>sk</authorinitials> <revremark>correcciones de errores y nuevas características</revremark></revision>
- <revision><revnumber>1.11</revnumber> <date>16 de noviembre de 2008</date> <authorinitials>mal</authorinitials> <revremark>Migración a GNOME doc-utils</revremark></revision>
- </revhistory>
-
-
- <othercredit class="translator">
- <personname>
- <firstname>Daniel Mustieles</firstname>
- </personname>
- <email>daniel.mustieles@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2009 - 2019</year>
-
- <holder>Daniel Mustieles</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Jorge González</firstname>
- </personname>
- <email>jorgegonz@svn.gnome.org</email>
- </othercredit>
- <copyright>
-
- <year>2009 - 2011</year>
-
- <holder>Jorge González</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Francisco Javier F. Serrador</firstname>
- </personname>
- <email>serrrador@svn.gnome.org</email>
- </othercredit>
- <copyright>
-
- <year>2009</year>
-
- <year>2010</year>
-
- <holder>Francisco Javier F. Serrador</holder>
- </copyright>
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>Introducción</title>
-
- <para>Este capítulo introduce GTK-Doc y proporciona una visión general de lo que es y cómo usarlo.</para>
-
- <sect1 id="whatisgtkdoc">
- <title>¿Qué es GTK-Doc?</title>
-
- <para>GTK-Doc se usa para documentar código C. Generalmente se usa para documentar la API pública de bibliotecas, tales como las bibliotecas GTK+ y de GNOME. Pero también se puede usar para documentar código de aplicaciones.</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>¿Cómo funciona GTK-Doc?</title>
-
- <para>GTK-Doc funciona usando documentación de las funciones ubicadas dentro de los archivos de fuentes en bloques de comentarios especialmente formateados, o documentación añadida a los archivos de plantillas que GTK-Doc usa (aunque debe notar que GTK-Doc sólo documentará las funciones declaradas en los archivos de cabecera; no produce salida para funciones estáticas).</para>
-
- <para>GTK-Doc consiste en un número de scripts en python, cada uno realiza un paso diferente en el proceso.</para>
-
- <para>Existen 5 pasos importantes en el proceso:</para>
-
- <orderedlist>
-
- <listitem>
- <para><guilabel>Escribir la documentación.</guilabel> El autor rellena los archivos de fuentes con la documentación para cada función, macro, unión, etc.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Obtener información acerca del código</guilabel>. <application>gtkdoc-scan</application> analiza los archivos de cabecera del código buscando declaraciones de funciones, macros, enumeraciones, estructuras y uniones. Crea el archivo <filename><module>-decl-list.txt</filename> que contiene una lista de las declaraciones, ubicándolas en secciones de acuerdo con el archivo de cabecera en el que están. Durante la primera ejecución este archivo se copia en <filename><module>-sections.txt</filename>. El autor puede reordenar las secciones y el orden de las declaraciones en ellas, para producir la salida que quiere. El segundo archivo que genera es <filename><module>-decl.txt</filename>. Este archivo contiene las declaraciones completas que encontró el análisis. Si por alguna razón quisiese que algunos símbolos apareciesen en los documentos, donde el análisis no puede encontrar la declaración completa o la declaración debería aparecer de forma diferente, puede introducir entradas de forma similar a las que hay en <filename><module>-decl.txt</filename> dentro de <filename><module>-overrides.txt</filename>.</para>
- <para><application>gtkdoc-scangobj</application> también se puede usar para consultar dinámicamente una biblioteca sobre cualquiera de las subclases GObject que exporta. Guarda información sobre la posición de cada objeto en la jerarquía de clases y sobre cualquier propiedad de GObject y las señales que proporciona.</para>
- <para><application>gtkdoc-scanobj</application> no se debería usar más. Se necesitó en el pasado, cuando GObject todavía era GtkObject dentro de GTK+.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Generar el XML y el HTML/PDF.</guilabel><application>gtkdoc-mkdb</application> convierte los archivos de plantilla en archivos SGML o XML en la subcarpeta <filename class="directory">xml/</filename>. Si el código fuente contiene documentación de funciones, usando los bloques especiales de comentarios, entonces se mezclarán aquí. Si no se usan archivos tmpl sólo obtiene los documentos de los fuentes y los datos obtenidos en introspección.</para>
- <para><application>gtkdoc-mkhtml</application> convierte los archivos XML en archivos HTML en la subcarpeta <filename class="directory">html/</filename>. De la misma forma <application>gtkdoc-mkpdf</application> convierte los archivos XML en un documento PDF llamado <filename><paquete>.pdf</filename>.</para>
- <para>Los archivos en las carpetas <filename class="directory">xml/</filename> y <filename class="directory">html/</filename> y siempre se sobrescriben. Nunca se deben editar directamente.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Arreglar referencias cruzadas entre documentos.</guilabel> Después de instalar los archivos HTML se puede ejecutar <application>gtkdoc-fixxref</application> para arreglar cualquier referencia cruzada entre documentos separados. Por ejemplo, la documentación GTK+ contiene muchas referencias cruzadas a tipos documentados en el manual de GLib. Al crear los archivadores «tarball» para su distribución, <application>gtkdoc-rebase</application> convierte todos los enlaces externos en enlaces web. Al instalar la documentación distribuida (pregenerada) la misma aplicación intentará convertir de nuevo los enlaces, esta vez a enlaces locales (donde esa documentación está instalada).</para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>Obtener GTK-Doc</title>
-
- <sect2 id="requirements">
- <title>Requerimientos</title>
- <para><guilabel>python 2/3</guilabel> - los scripts principales están escritos en python.</para>
- <para><guilabel>xsltproc</guilabel>: el procesador xslt de libxslt <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink></para>
- <para><guilabel>docbook-xsl</guilabel>: las hojas de estilo XLS de docbook <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink></para>
- <para>Una de <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> o <guilabel>vim</guilabel>: opcional, usada para el resaltado de sintaxis de los ejemplos.</para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>Acerca de GTK-Doc</title>
-
- <para>
- Historically GTK-Doc was used to generate template files from the sources
- code. These template files could be used by developers to enter the
- API documentation. This approach was rather inconvenient because it
- required to keep the generated files under version control.
- Since GTK-Doc 1.9 it became possible to place all API information
- into source comments, which made the template support obsolete.
- In version 1.26 template support has been removed.
- </para>
-
- <para>(ARRÉGLAME)</para>
-
- <para>(autores, páginas web, listas de correo, licencias, planes futuros, comparación con otros sistemas similares.)</para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>Acerca de este manual</title>
-
- <para>(ARRÉGLAME)</para>
-
- <para>(a quién está dirigido, dónde puede obtenerse, licencia)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Configuración del proyecto</title>
-
- <para>
- This Chapter describes the steps that are necessary to integrate GTK-Doc
- into your project. The integration of GTK-Doc into a project includes the
- following steps:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Preparation of the directory structure and creating required
- configuration files for your GTK-Doc documentation (see
- <link linkend="settingup_docfiles">
- Setting up a skeleton documentation</link>).
- </para>
- </listitem>
- <listitem>
- <para>
- Adjusting the build system to build your documentation using the
- GTK-Doc tools. Multiple build systems are supported, in
- this manual we describe how to integrate GTK-Doc with
- <link linkend="settingup_autotools">Autotools</link>,
- <link linkend="settingup_cmake">CMake</link>, and
- <link linkend="settingup_plain_makefiles">plain Makefiles</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adding GTK-Doc specific files to version control and deciding which
- files to ignore (see <link linkend="settingup_vcs">
- Integration with version control systems</link>).
- </para>
- </listitem>
- </itemizedlist>
-
- <para>La siguiente sección asume que se trabaja con un proyecto llamado <code>meep</code>. Este proyecto contiene dos paquetes (o módulos), una biblioteca llamada <code>libmeep</code> y una aplicación de usuario final llamada <code>meeper</code>.</para>
-
- <sect1 id="settingup_docfiles">
- <title>Configurar el esquema de la documentación</title>
-
- <para>
- A common convention is to place documentation into a folder called
- <code>docs</code> inside your top-level project directory.
- We usually distinguish between <emphasis>reference
- documentation</emphasis> intended for developers and an
- <emphasis>user manual</emphasis> intended for end-users.
- Again the convention is to have separate folders for both.
- We usually place the reference documentation in a folder named
- <code>reference</code> and the end-user manual in a folder named
- <code>help</code> as.
-
- According to the above convention the documentation for our
- <code>libmeep</code> package would be placed into:
- <code>docs/reference/libmeep</code>.
-
- For packages with just one library or application
- the documentation could also be placed directly into
- <code>docs/reference</code>.
-
- It is not mandatory to use the above convention, but if you
- choose to use a different directory structure you must adjust
- your build system configuration to match your directory
- structure.
- </para>
-
- <para>
- In the following sections we will assume a directory structure
- for our <emphasis>meep</emphasis> project that uses the above
- conventions.
-
- <example>
- <title>Example directory structure of <emphasis>meep</emphasis>
- project</title>
- <programlisting><![CDATA[
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integración con Autotools</title>
- <para>
- Integration of GTK-Doc into an autotools-based build system requires the
- following steps:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Ensure that <application>gtkdocize</application> is run once before
- the <filename>configure</filename> script. If an
- <filename>autogen.sh</filename> script is present, adjust it to
- check for GTK-Doc and add a call to
- <application>gtkdocize</application>.
- </para>
-
- <para>
- The main purpose of <application>gtkdocize</application> is to
- make the <filename>gtk-doc.make</filename> Makefile and the
- <filename>gtk-doc.m4</filename> macro definition file available
- to the build system, either by copying or linking it
- into the project.
- </para>
- </listitem>
- <listitem>
- <para>Añada las macros de <application>autoconf</application> necesarias a <filename>configure.ac</filename> para activar GTK-Doc en su sistema de construcción y permitir la configuración de GTK-Doc generada en el script <filename>configure</filename>.</para>
- <para>
- Among others with registers the <code>--enable-gtk-doc</code>
- option with the <filename>configure</filename> script.
- </para>
- </listitem>
- <listitem>
- <para>
- Create an <application>automake</application> script for each
- application or library in your project. In the example used in this
- documentation this step applies to both <code>meeper</code> and
- <code>libmeep</code>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the following sections, we will perform the above steps in reverse
- order. We start with the <application>automake</application> scripts
- and work our way up to <filename>configure.ac</filename> and
- <filename>autogen.sh</filename>.
- Then we show how enable Gtk-Doc in the build system and
- how to build the documentation.
- </para>
-
- <sect2 id="settingup_automake">
- <title>Integración con automake</title>
-
- <para>Primero copie el archivo <filename>Makefile.am</filename> de la subcarpeta <filename class="directory">examples</filename> de <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am"> gtkdoc-sources</ulink> a la carpeta de documentación de la API de su proyecto (<filename class="directory">./docs/reference/<paquete></filename>). Debería haber una copia local disponible en <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>. Si tiene varios paquetes de documentación, repítalo para cada uno de ellos.</para>
-
- <note>
- <simpara>No olvide añadir cada <filename>Makefile.am</filename> a la macro <function>AC_CONFIG_FILES</function> en <filename>configure.ac</filename>. Para <filename>docs/reference/libmeep/Makefile.am</filename> deberá añadir la entrada <filename>docs/reference/libmeep/Makefile</filename> a <function>AC_CONFIG_FILES</function>.</simpara>
- </note>
-
- <example>
- <title>
- Example directory structure with <filename>Makefiles.am</filename>
- </title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>
- Next, you need to customize the copied Makefiles
- and provide values for the various parameters in each
- <filename>Makefile.am</filename>.
-
- All settings have a comment above them that describes their purpose
- and how to customize the setting.
-
- Most settings are used to supply extra flags to the respective tools
- to which they apply. Every tool
- has a variable of the form <option><TOOLNAME>_OPTIONS</option>
- (e.g. the tool <application>gtkdoc-mkhtml</application> has
- an option named <code>MKHTML_OPTIONS</code>).
-
- All the tools support <option>--help</option> to list the supported
- options.
- </para>
-
- <para>
- The following list explains the most relevant options. Check the
- example <filename>Makefile.am</filename> for additional options.
-
- <itemizedlist>
- <listitem>
- <para>
- <option>DOC_MODULE</option> is used to provide the name of the
- package that is being documentated (e.g. <code>meeper</code>, or
- <code>libmeep</code>).
- </para>
- </listitem>
- <listitem>
- <para>
- <option>DOC_SOURCE_DIR</option>
- is used to specify the location
- of source directory which GTK-Doc searches for your API
- documentation. This will usually be
- <code>
- DOC_SOURCE_DIR=$(top_srcdir)/src
- </code>
- or a sub-directory of that directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HFILE_GLOB</option>
- and
- <option>CFILE_GLOB</option>
- are used for dependencies. Each option take a file-glob (e.g.
- <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>).
- The documentation will be rebuilt if any of the matched files
- change.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>EXTRA_HFILES</option>
- allows to specify extra header files
- to include when scanning for API documentation, which are not
- found under <code>DOC_SOURCE_DIR</code> (e.g. <code>
- EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>IGNORE_HFILES</option>
- allows to specify header files
- or directories to ignore when scanning for API documentation.
- Use the basename of the file or directory (e.g. <code>
- IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HTML_IMAGES</option>
- allows to specify images files which
- will be copied into the <filename>html/</filename> directory of
- the generated documentation.
- If your API documentation includes any images they need to be
- added to this
- option (e.g. <code>
- HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>content_files</option>
- allows to specify extra files
- that are included by
- <code>$(DOC_MAIN_SGML_FILE)</code>
- (e.g. <code>
- content_files=running.xml building.xml changes-2.0.xml</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>expand_content_files</option>
- allows to specify files
- where <emphasis>gtk-doc abbreviations</emphasis> such as
- <code>#GtkWidget</code>
- are expanded (e.g. <code>
- expand_content_files=running.xml</code>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>Integración con autoconf</title>
-
- <para>
- Integration with <application>autoconf</application> is very simple
- and includes one required step and an additional optional
- (but recommended) step.
-
- The first step is to add the <function>GTK_DOC_CHECK</function> macro
- to your <filename>configure.ac</filename> script. This registers
- several configure options to enable GTK-Doc and allows you
- to set default arguments for <application>gtkdocize</application>.
- </para>
-
- <warning>
- <simpara>
- Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented.
- The macro must start at the beginning of the line and should not
- start with whitespace.
- </simpara>
- </warning>
-
- <para>
- The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code>
- to your <filename>configure.ac</filename>. This is not required
- but helps <application>gtkdocize</application> to automatically copy
- the macro definition (e.g <filename>gtk-doc.m4</filename>) which
- contains the <function>GTK_DOC_CHECK</function> macro to your
- project's macro directory. Without this, the GTK_DOC_CHECK macro
- might not be found and you would need to explicitly tell the
- <application>aclocal</application> tool where to find the macro
- definition file.
- </para>
-
- <para>
- <example><title>Integración mínima con autoconf</title>
- <programlisting>
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-</programlisting>
- </example>
- </para>
-
- <para>
- The above example works, but will require all developers to have
- gtk-doc installed. A better way is to make building the documentation
- optional as shown in the next example:
-
- <example>
- <title>Integration with optional gtk-doc dependency</title>
- <programlisting><![CDATA[
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The first argument is used to check for the Gtk-Doc version at
- configure time. The 2nd, optional argument is used by
- <application>gtkdocize</application>.
- The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure
- switches:
- </para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=RUTA: ruta a los documentos instalados</para></listitem>
- <listitem><para>--enable-gtk-doc: usar gtk-doc para construir la documentación [predeterminado=no]</para></listitem>
- <listitem><para>--enable-gtk-doc: usar gtk-doc para construir la documentación [predeterminado=sí]</para></listitem>
- <listitem><para>--enable-gtk-doc: usar gtk-doc para construir la documentación [predeterminado=no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>GTK-Doc está desactivado de forma predeterminada. Recuerde pasar la opción <option>«--enable-gtk-doc»</option> en la siguiente ejecución de <filename>configure</filename>. De otra forma, la documentación pregenerada se instala (lo que tiene sentido para usuarios, pero no para desarrolladores).</para>
- </important>
-
- <para>
- After all changes to <filename>configure.ac</filename> are made,
- update the <filename>configure</filename> file. This can be done by
- re-running <code>autogen.sh</code>.
- </para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>Integración con autogen</title>
-
- <para>
- Most projects will have an <filename>autogen.sh</filename> script to
- setup the build infrastructure after the project was checked out from
- a version control system (such as git or svn). GTK-Doc comes with a
- script called <application>gtkdocize</application> which can be used
- to copy the necessary files needed by Gtk-Doc to the source directory.
- </para>
-
- <para>
- It should be run before autoreconf, autoheader, automake or autoconf.
- </para>
-
- <para>
- <example><title>Ejecutar gtkdocize desde autogen.sh</title>
- <programlisting>
-gtkdocize || exit 1
-</programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Condicionalmente, ejecutar gtkdocize desde autogen.sh</title>
- <programlisting>
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-</programlisting>
- </example>
- </para>
-
- <para>
- When running <application>gtkdocize</application> it copies
- <filename>gtk-doc.make</filename> to your project root (or any
- directory specified by the <option>--docdir</option> option).
- </para>
-
- <para>
- <application>gtkdocize</application> checks your
- <filename>configure.ac</filename> script for
- the <function>GTK_DOC_CHECK</function> macro.
- The <function>GTK_DOC_CHECK</function> macro can be used to pass
- extra arguments to the <application>gtkdocize</application> script.
- the 2nd parameter in the <function>GTK_DOC_CHECK</function> macro.
- </para>
-
- <para>
- Alternatively, additional arguments can also be passed to
- <application>gtkdocize</application> via the
- <function>GTKDOCIZE_FLAGS</function> environment variable, or by
- directly specifying them to <application>gtkdocize</application>
- in <filename>autogen.sh</filename>.
- </para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Ejecutar GTH-Doc desde el sistema de construcción</title>
-
- <para>Después de los pasos anteriores es hora de ejecutar el constructor. Primero se debe volver a ejecutar <filename>autogen.sh</filename>. Si este script ejecuta configure automáticamente, entonces debe pasar la opción <option>--enable-gtk-doc</option>. De otra forma, ejecute posteriormente <filename>configure</filename> con esta opción.</para>
- <para>El primer make genera diversas líneas adicionales en las carpetas de documentación. Las importantes son: <filename><paquete>.types</filename>, <filename><paquete>-docs.xml</filename> (.sgml en el pasado), <filename><paquete>-sections.txt</filename>.</para>
- <para>
- <example><title>Ejecutar la construcción de la documentación</title>
- <programlisting>
-./autogen.sh --enable-gtk-doc
-make
-</programlisting>
- </example>
- </para>
-
- <para>
- Now you can point your browser to
- <filename>docs/reference/<package>/index.html</filename>.
- With this initial setup you will only see a very simple document.
- The next chapter will teach you how to add API documentation to your
- code via special comment blocks. The Chapter afterwards introduces
- <link linkend="metafiles">additional files</link> and shows how to
- edit the <link linkend="metafiles_master">master template</link> to
- add additional chapters and sections to your documentation files.
- </para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integración con sistemas de construcción CMake</title>
-
- <para>Ahroa, GTK-Doc proporciona un módulo <filename>GtkDocConfig.cmake</filename> (y el correspondiente módulo <filename>GtkDocConfigVersion.cmake</filename>). Esto proporciona un comando <literal>gtk_doc_add_module</literal> que puede configurar en su archivo <filename>CMakeLists.txt</filename>.</para>
-
- <para>El siguiente ejemplo muestra cómo usar este comando. <example><title>Ejeplo de uso de GTK-Doc desde CMake</title>
- <programlisting>
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integración con makefiles u otros sistemas de construcción</title>
-
- <para>En el caso de que no quiera usar automake y por ello <filename>gtk-doc.mak</filename> deberá llamar a las herramientas gtkdoc en el orden correcto en makefiles propios (o en otras herramientas de construcción).</para>
-
- <para>
- <example><title>Pasos de construcción de la documentación</title>
- <programlisting>
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-</programlisting>
- </example>
- </para>
-
- <para>Deberá mirar en el archivo <filename>Makefile.am</filename> y <filename>gtk-doc.mak</filename> para elegir las opciones adicionales necesarias.</para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>Integración con los sistemas de control de versiones</title>
-
- <para>Como regla principal, son los archivos que edita los que deberían estar bajo el control de versiones. Para proyectos típicos son los archivos: <filename><paquete>.types</filename>, <filename><paquete>-docs.xml</filename> (anteriormente .sgml), <filename><paquete>-sections.txt</filename>, <filename>Makefile.am</filename>.</para>
- <para>Los archivos de las carpetas <filename>xml/</filename> y <filename>html/</filename> No deberían estar bajo control de versiones. Tampoco ninguno de los archivos <filename>.stamp</filename>.</para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>Documentar el código</title>
-
- <para>GTK-Doc usa código fuente comentado con una sintaxis especial para documentar el código. Además obtiene información acerca de la estructura de su proyecto de otras fuentes. En la siguiente sección encontrará información acerca de la sintaxis de los comentarios.</para>
-
- <para>
- The GTK-Doc scanner can handle the majority of C headers fine. In the
- case of receiving warnings from the scanner that look like a special
- case, one can hint GTK-Doc to skip over them.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-]]></programlisting>
- </example>
- </para>
-
- <note>
- <title>Limitaciones</title>
- <para>Tenga en cuenta que GTK-Doc soporta <code>#ifndef(__GTK_DOC_IGNORE__)</code> pero <code>#if !defined(__GTK_DOC_IGNORE__)</code> u otras combinaciones.</para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>Comentarios de la documentación</title>
-
- <para>Un comentario de varias líneas que comienza con un «*» adicional marca un bloque de documentación que GTK-Doc tools procesarán. <example><title>Bloque de comentario de GTK-Doc</title>
- <programlisting>
-/**
- * identifier:
- * documentation ...
- */
-</programlisting>
- </example></para>
-
- <para>El «identificador» es una línea con el nombre del elemento relacionado con el comentario. La sintaxis difiere un poco dependiendo del elemento. (Por hacer: añadir una tabla mostrando los identificadores)</para>
-
- <para>El bloque de «Documentación» también es diferente para cada tipo de símbolo. Los tipos de símbolos que obtienen parámetros tales como funciones o macros, tienen primero las descripciones seguidas por una línea blanca (exactamente un «*»). Después siguen las descripciones detalladas. Todas las líneas (fuera de los programas; listados y CDATA de la secciones) que solo contengan un « *» (asterisco con espacio) se convierten en párrafos. Si no quiere un espaciado de párrafo, cámbielo a un « * » (espacio-asterisco-espacio). Esto es útil para texto preformateado (listados de código).</para>
-
- <tip>
- <para>Al documentar código, describa dos aspectos: <itemizedlist>
- <listitem>
- <para>Qué es: el nombre de la clase o la función puede confundir a veces a personas que provengan de otros entornos.</para>
- </listitem>
- <listitem>
- <para>Qué hace: indique los usos comunes, en relación con las otras API.</para>
- </listitem>
- </itemizedlist></para>
- </tip>
-
- <para>Una ventaja del hipertexto sobre el texto plano es la capacidad de tener enlaces en el documento. Escribir las marcas adecuadas para un enlace puede ser tedioso aunque GTK-Doc le ayuda proporcionando abreviaturas útiles. <itemizedlist>
- <listitem>
- <para>Use función() para referirse a funciones o macros que toman argumentos.</para>
- </listitem>
- <listitem>
- <para>Use @parámetro para referirse a parámetros. Úselo también al referirse a parámetros de otras funciones, relacionados al que se describe.</para>
- </listitem>
- <listitem>
- <para>Use %constant para referirse a una constante, ej: %G_TRAVERSE_LEAFS.</para>
- </listitem>
- <listitem>
- <para>Use #símbolo para referirse a otro tipo de símbolos, como por ejemplo estructuras, enumeraciones y macros que no toman argumentos.</para>
- </listitem>
- <listitem>
- <para>Use #Object::signal para referirse a una señal de GObject.</para>
- </listitem>
- <listitem>
- <para>Use #Object:property para referirse a una propiedad de GObject.</para>
- </listitem>
- <listitem>
- <para>Use #Struct.field para referirse a un campo dentro de una estructura y #GObjectClass.foo_bar() para referirse a un vmethod.</para>
- </listitem>
- </itemizedlist></para>
-
- <tip>
- <para>Si necesita usar los caracteres especiales «<», «>», «()», «@», «%», o «#» en su documentación sin que GTK-Doc los cambie, puede usar las entidades XML «&lt;», «&gt;», «amp;lpar;», «amp;rpar;», «amp;commat;» «&percnt;» y «&num;» respectivamente o escaparlas con una contrabarra doble «\».</para>
- </tip>
-
- <para>DocBook puede crear algo más que enlaces. También se pueden tener listas, ejemplos, cabeceras e imágenes. En la versión 1.20, la manera prefefira de hacer esto es usando un subconjunto de la sintaxis básica de formateado de texto llamada <ulink url="http://daringfireball.net/projects/markdown/">Marcado</ulink>. En versiones anteriores de GTK-Doc, cualquier documentación que incluya marcado se renderizará como tal. Por ejemplo, los elementos de una lista aparecerán como líneas que empiezan con un guión.</para>
-
- <para>Aunque el marcado es el preferido, puede mezclar ambos. Una limitación aquí es que se puede usar docbook xml con marcado, pero el marcado con docbook xml no está soportado.</para>
-
- <para>En versiones anteriores de GTK-Doc, si necesitaba soporte para formato adicional, necesitaba activar el uso de etiquetas XML dentro de comentarios en la documentación poniendo <option>--xml-mode</option> o <option>--sgml-mode</option> en la variable <symbol>MKDB_OPTIONS</symbol> dentro de <filename>Makefile.am</filename>.</para>
-
- <para>
- <example><title>Bloque de comentario de GTK-Doc usando marcado</title>
- <programlisting>
-/**
- * identifier:
- *
- * documentation paragraph ...
- *
- * # Sub Heading #
- *
- * ## Second Sub Heading
- *
- * # Sub Heading With a Link Anchor # {#heading-two}
- *
- * more documentation:
- *
- * - list item 1
- *
- * Paragraph inside a list item.
- *
- * - list item 2
- *
- * 1. numbered list item
- *
- * 2. another numbered list item
- *
- * Another paragraph. [A Link to the GNOME Website](http://www.gnome.org/)
- *
- * 
- *
- * [A link to the heading anchor above][heading-two]
- *
- * A C-language example:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-</programlisting>
- </example>
- </para>
-
- <para>Se pueden encontrar más ejemplos de las etiquetas de marcado soportadas en el <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">Manual de referencia de sintaxis de marcado de documentación de GTK+</ulink>.</para>
-
- <tip>
- <para>
- As already mentioned earlier GTK-Doc is for documenting public API. Thus
- one cannot write documentation for static symbols. Nevertheless it is good
- to comment those symbols too. This helps other developers to understand
- your code.
- Therefore we recommend to comment these using normal comments (without the
- 2nd '*' in the first line).
- If later the function needs to be made public, all one needs to do is to
- add another '*' in the comment block and insert the symbol name at the
- right place inside the sections file.
- </para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>Documentar secciones</title>
-
- <para>Cada sección del documento contiene información acerca de una clase o un módulo. Para introducir el componente puede escribir un bloque de sección. La descripción corta además se usa dentro de la tabla de contenidos. Todos los campos @ son opcionales.</para>
-
- <para>
- <example><title>Bloque de comentarios en una sección</title>
- <programlisting>
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-</programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECCIÓN <nombre></term>
- <listitem>
- <para>El nombre enlaza la sección de la documentación con la parte respectiva en el archivo <filename><paquete>-sections.txt</filename>. El nombre aquí proporcionado debería coincidir con la etiqueta <ARCHIVO> en el archivo <filename><paquete>-sections.txt</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>Una línea descrita en la sección, que después aparece tras los enlaces en el TOC y en la página de la sección.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>De forma predeterminada el título de la sección es <name> de la declaración SECTION. Se puede sobrescribir con el campo @title.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>Sobrescribe el uso del título como el identificador de sección. <title> se usa en GObjects como el identificador de sección (section_id) y para otra sección es <MÓDULO>-<title>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>Una lista de símbolos relacionados con esta sección.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>Esta API tiene una descripción informal del nivel de estabilidad. Se recomienda el uso de uno de estos términos: <itemizedlist>
- <listitem>
- <para>Estable: La intención de una interfaz estable es la de permitir que terceras partes arbitrarias desarrollen aplicaciones para esas interfaces, las liberen, y confíen que que se podrán ejecutar en todas las publicaciones menores del producto (después de que se introdujese la interfaz en una de ellas, y dentro de la misma versión principal de la publicación). Incluso en publicaciones importantes no se espera que existan cambios incompatibles, y de haberlos habrá buenas razones para ello.</para>
- </listitem>
- <listitem>
- <para>Inestable: Las interfaces inestables son experimentales o de transición. Generalmente se usan para dar a los desarrolladores externos acceso a tecnología nueva o cambiante, o para proporcionar una solución a un problema, anticipándose a una solución más general. No se realizan reclamaciones acerca de la compatibilidad del código o del binario desde una publicación menor a la siguiente.</para>
- </listitem>
- <listitem>
- <para>Privada: Una interfaz que se puede usar en la pila de GNOME en si misma, pero que no está documentada para usuarios finales. Tales funciones sólo se deberían usar de formas especificadas y documentadas.</para>
- </listitem>
- <listitem>
- <para>Interna: Una interfaz que es interna a un módulo y no requiere documentación para el usuario final. Se asume que las funciones que están sin documentar son internas.</para>
- </listitem>
- </itemizedlist></para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>Los archivos <literal>#include</literal> para mostrar en la sección del resumen (una lista separada por comas), sobrescribiendo el valor global del <link linkend="metafiles_sections">archivo de secciones</link> o de la línea de comandos. Este elemento es opcional.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>La imagen para mostrar en la parte superior de la página de referencia, para esta sección. Generalmente será un tipo de diagrama para ilustrar la apariencia visual de una clase o diagrama de su relación con otras clases. Este elemento es opcional.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>Para evitar recompilaciones innecesarias después de cambios en la documentación ponga los documentos de sección en el código fuente C cuando sea posible.</para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>Documentar símbolos</title>
-
- <para>Cada símbolo (función, macro, estructura, enum, señal y propiedad) está documentado en un bloque separado. La mejor posición para el bloque es junto a la definición del símbolo de tal forma que sea fácil mantenerlos sincronizados. Por ello las funciones generalmente se documentan en el código C y las macros, estructuras y enum en el archivo de cabecera.</para>
-
- <sect2><title>Etiquetas generales</title>
-
- <para>Puede añadir información de versiones a todos los elementos de la documentación para mostrar cuándo se introdujo una API o cuándo se declaró obsoleta.</para>
-
- <variablelist><title>Versionado de etiquetas</title>
- <varlistentry><term>Desde:</term>
- <listitem>
- <para>Descripción desde qué versión del código está disponible la API.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Obsoleto:</term>
- <listitem>
- <para>Párrafo que denota que esta función no se debería usar más. La descripción debería informar al lector de la nueva API.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>También puede añadir información de estabilidad a todos los elementos de la documentación para indicar si la se garantiza la estabilidad de la API en todas las versiones menores futuras del proyecto.</para>
-
- <para>El nivel de estabilidad predeterminado para todos los elementos de la documentación se puede establecer pasando el argumento <option>--default-stability</option> a <application>gtkdoc-mkdb</application> con uno de los siguientes valores.</para>
-
- <variablelist><title>Etiquetas de estabilidad</title>
- <varlistentry><term>Estabilidad: estable</term>
- <listitem>
- <para>Marcar el elemento como estable. Esto es para API públicas que está garantizado que serán estables para todas las versiones menores futuras del proyecto.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Estabilidad: inestable</term>
- <listitem>
- <para>Marcar el elemento como inestable. Esto es para las API públicas que se publican como versión previa antes de estabilizarse.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Estabilidad: privado</term>
- <listitem>
- <para>Marcar el elemento como privado. Esto es para interfaces que se pueden usar en módulos fuertemente acoplados, pero no en terceras partes aleatorias.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>Etiquetas generales</title>
- <programlisting>
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Anotaciones</title>
-
- <para>Los bloques de documentación pueden contener etiquetas de anotaciones. Estas etiquetas se renderizarán con consejos que describan su significado. Las etiquetas se usan en la introspección de GObject para generar vinculaciones del lenguaje. Puede obtener una lista detallada de las etiquetas soportadas en <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">el wiki</ulink>.</para>
-
- <example><title>Anotaciones</title>
- <programlisting>
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: (annotation): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (another annotation)
- * (and another annotation)
- * @foo: (annotation) (another annotation): some foo
- *
- * Sets bar on @foo.
- */
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Bloque de comentario de función</title>
-
- <para>Recuerde: <itemizedlist>
- <listitem>
- <para>El documento, dependiendo de si devuelve objetos, listas, cadenas, etc. debería liberarse/desreferenciarse/etc.</para>
- </listitem>
- <listitem>
- <para>El documento, dependiendo de si sus parámetros pueden ser nulos, y qué sucede si lo son.</para>
- </listitem>
- <listitem>
- <para>Mencionar precondiciones y postcondiciones interesantes donde sea apropiado.</para>
- </listitem>
- </itemizedlist></para>
-
- <para>GTK-Doc asume que todos los símbolos (macros, funciones) que empiezan por «_» son privados. Se tratan como funciones estáticas.</para>
-
- <example><title>Bloque de comentario de función</title>
- <programlisting>
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-</programlisting>
- </example>
-
- <variablelist><title>Etiquetas de funciones</title>
- <varlistentry><term>Devuelve:</term>
- <listitem>
- <para>Párrafo que describe el resultado devuelto.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>En el caso de que la función tenga argumentos variados debe usar esta etiqueta (@Vargargs: también funciona por razones históricas).</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>Bloque de comentario de propiedad</title>
-
- <example><title>Bloque de comentario de propiedad</title>
- <programlisting>
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Bloque de comentario de señal</title>
-
- <para>Recuerde: <itemizedlist>
- <listitem>
- <para>Documentar cuando la señal se emite e indica si se emite antes o después de otras señales.</para>
- </listitem>
- <listitem>
- <para>Documentar qué aplicación debe gestionar las señales.</para>
- </listitem>
- </itemizedlist></para>
-
- <example><title>Bloque de comentario de señal</title>
- <programlisting>
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Bloque de comentario de estructura</title>
- <example><title>Bloque de comentario de estructura</title>
- <programlisting>
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-</programlisting>
- </example>
-
- <para>Use <code>/*< private >*/</code> antes de campos de estructuras privadas que quiera ocultar. Use <code>/*< public >*/</code> para revertir el comportamiento anterior.</para>
-
- <para>Si el primer campo es «g_iface», «parent_instance» o «parent_class» se considerará como privado automáticamente y no necesita mencionarse en el bloque de comentario.</para>
-
- <para>También se pueden usar bloques de comentario para GObjects y GObjectClasses. Generalmente es buena idea añadir un bloque de comentario para una clase, si tiene «vmethods» (ya que así se pueden documentar). Para el GObject en si, se puede usar la sección relativa a la documentación, tener un bloque separado para la estructura de la instancia sería útil si la instancia tiene campos públicos. Una desventaja aquí es que esto crea dos entradas de índice con el mismo nombre (la estructura y la sección).</para>
-
- </sect2>
-
- <sect2><title>Enumerar bloques de comentarios</title>
- <example><title>Enumerar bloques de comentarios</title>
- <programlisting>
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-</programlisting>
- </example>
-
- <para>Use <code>/*< private >*/</code> antes de enumerar valores privados que quiera ocultar. Use <code>/*< public >*/</code> para revertir el comportamiento anterior.</para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Documentación en línea del programa</title>
- <para>Puede documentar programas y su interfaz de línea de comandos usando la documentación en línea.</para>
-
- <variablelist>
- <title>Etiquetas</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>Define el inicio de la documentación de un programa.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>Define una descripción corta del programa. (Opcional)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>Define el argumento o la lista de argumentos que el programa puede usar. (Opcional)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>Página del manual Ver también. (Opcional)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>Argumentos pasados al programa y su descripción. (Opcional)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>Una descripción más larga del programa.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Devuelve:</term>
- <listitem>
- <para>
- Specify what value(s) the program returns. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Ejemplo de documentación de un programa.</title>
- <example><title>Bloque de documentación del programa</title>
- <programlisting>
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-</programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>Etiquetas DocBook útiles</title>
-
- <para>Aquí están varias etiquetas de DocBook muy útiles al documentar código.</para>
-
- <para>Para enlazar otra sección en GTK docs: <informalexample>
- <programlisting>
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-</programlisting>
- </informalexample>. El enlace es el id SGML en el elemento superior de la página a la que quiere enlazar. Para la mayoría de las páginas esta es la parte («gtk», «gdk», «glib») y después el título de página («Tablas hash»). Para los widgets es simplemente el nombre de la clase. Los espacios y guiones bajos se convierten a «-» para ajustarse a SGML/XML.</para>
-
- <para>Para referirse a una función externa, ej. una función de C estándar: <informalexample>
- <programlisting>
-<function>...</function>
-</programlisting>
- </informalexample></para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>Para incluir listas de topos: <informalexample>
- <programlisting>
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-</programlisting>
- </informalexample></para>
-
- <para>Para incluir una nota que sobresale del texto: <informalexample>
- <programlisting>
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-</programlisting>
- </informalexample></para>
-
- <para>Para referirse a un tipo: <informalexample>
- <programlisting>
-<type>unsigned char</type>
-</programlisting>
- </informalexample></para>
-
- <para>Para referirse a una estructura externa (no una descrita en la documentación de GTK): <informalexample>
- <programlisting>
-<structname>XFontStruct</structname>
-</programlisting>
- </informalexample></para>
-
- <para>Para referirse a un campo o a una estructura: <informalexample>
- <programlisting>
-<structfield>len</structfield>
-</programlisting>
- </informalexample></para>
-
- <para>Para referirse a un nombre de clase, se podría usar: <informalexample>
- <programlisting>
-<classname>GtkWidget</classname>
-</programlisting>
- </informalexample> pero probablemente estará usando #GtkWidget en su lugar (para crear automáticamente un enlace a la página GtkWidget; consulte <link linkend="documenting_syntax">abreviaciones</link>).</para>
-
- <para>Para enfatizar un texto: <informalexample>
- <programlisting>
-<emphasis>This is important</emphasis>
-</programlisting>
- </informalexample></para>
-
- <para>Para uso de nombres de archivo: <informalexample>
- <programlisting>
-<filename>/home/user/documents</filename>
-</programlisting>
- </informalexample></para>
-
- <para>Para referirse a claves: <informalexample>
- <programlisting>
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-</programlisting>
- </informalexample></para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Rellenar campos adicionales</title>
-
- <para>Existen tres archivos adicionales que deben mantenerse junto con los comentarios en línea del código fuente: <filename><paquete>.types</filename>, <filename><paquete>-docs.xml</filename> (.sgml en el pasado) y <filename><paquete>-sections.txt</filename>.</para>
-
- <sect1 id="metafiles_types">
- <title>Editar los tipos de archivo</title>
-
- <para>Si su biblioteca o aplicación incluye GObjects puede querer que sus señales, argumentos y/o parámetros y posición en la jerarquía se muestre en la documentación. Todo lo que debe hacer es listar las funciones <function>xxx_get_type</function> junto con sus «include» en el archivo <filename><paquete>.types</filename>.</para>
-
- <para>
- <example><title>Ejemplo de archivo <paquete>.tipos</title>
- <programlisting>
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-</programlisting>
- </example>
- </para>
-
- <para>Desde GTK-Doc 1.8 <application>gtkdoc-scan</application> puede genera esta lista. Simplemente añada «--rebuild-types» a SCAN_OPTIONS en el <filename>Makefile.am</filename>. Si usa esto no debería ejecutar dist sobre los tipos de archivo ni tenerlos bajo el control de versiones.</para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>Editar la sección maestra del documento</title>
-
- <para>GTK-Doc produce documentación en DocBook SGML/XML. Cuando se procesan los comentarios en las líneas del código, las herramientas de GTK-Doc generan una página de documentación por clase o módulo en un archivo aparte. El documento maestro las incluye y ordena.</para>
-
- <para>Puesto que GTK-Doc crea una documento maestro de plantilla, una posterior ejecución no lo modificará de nuevo. Esto significa que se puede estructurar libremente la documentación. Esto incluye agrupar páginas y añadir páginas adicionales. Ahora GTK-Doc tiene un entorno de pruebas, donde también el documento maestro se vuelve a crear desde cero. Es una buena idea mirarlo de vez en cuando para ver si se han introducido algunas mejoras.</para>
-
- <tip>
- <para>No crear tutoriales como documentos adicionales. Solamente escriba capítulos adicionales. La ventaja de integrar directamente el tutorial para su biblioteca en la documentación de la API es que es fácil para el tutorial enlazar la documentación de símbolos. Además las posibilidades de actualizar el tutorial junto con la biblioteca son mayores.</para>
- </tip>
-
- <para>¿Así que qué es lo que hay que cambiar en el documento maestro? Para empezar es muy poco. Existen algunos «placeholders» (texto entre corchetes) de los que habría que encargarse.</para>
-
- <para>
- <example><title>Cabecera del documento maestro</title>
- <programlisting>
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-</programlisting>
- </example>
- </para>
-
- <para>Se crean además unos pocos elementos de opciones de la manera comentada. Puede revisarlos y activarlos como quiera.</para>
-
- <para>
- <example><title>Parte opcional en el documento maestro</title>
- <programlisting>
- <!-- active esto cuando use anotaciones de introspección de gobject
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-</programlisting>
- </example>
- </para>
-
- <para>Por último, necesita añadir una sección nueva siempre que quiera introducir una. La herramienta <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> le recordará los nuevos archivos xml generados que no estén inclídos todavía en la documentación.</para>
-
- <para>
- <example><title>Incluir secciones generadas</title>
- <programlisting>
- <chapter>
- <title>mi biblioteca</title>
- <xi:include href="xml/object.xml"/>
- ...
-</programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>Editar el archivo de sección</title>
-
- <para>El archivo de sección se usa para organizar la salida de la documentación por GTK-Doc. Aquí se especifica qué símbolos pertenecen a qué módulo o clase y el control de la visibilidad (pública o privada).</para>
-
- <para>El archivo de sección es un archivo de texto plano con etiquetas que delimitan las secciones. Se ignoran las líneas vacías y las líneas que comiencen con «#» se tratan como comentarios.</para>
-
- <note>
- <para>Aunque las etiquetas hacen que el archivo parezca XML, no lo es. No incluya etiquetas del tipo <SUBSECTION>.</para>
- </note>
-
- <para>
- <example><title>Incluir secciones generadas</title>
- <programlisting>
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-</programlisting>
- </example>
- </para>
-
- <para>La etiqueta <FILE> ... </FILE> se usa para especificar el nombre del archivo, sin sufijo. Por ejemplo, usar «<FILE>gnome-config</FILE>» dará como resultado en la sección de declaraciones la salida <filename>tmpl/gnome-config.sgml</filename> en el archivo de plantilla, que se convertirá al archivo DocBook XML <filename>sgml/gnome-config.sgml</filename> o al archivo DocBook XML <filename>xml/gnome-config.xml</filename>. (El nombre del archivo HTML está basado en el nombre del módulo y en el título de la sección, o para GObjects está basado en el nombre de clase de GObject convertido a minúscula.)</para>
-
- <para>La etiqueta <TITLE> ... </TITLE> se usa para especificar el título de una sección. Sólo es útil antes de que las plantillas (si se usan) se creen inicialmente, ya que el título configurado en la plantilla lo sobrescribe. Además, si una usa comentarios SECTION en los fuentes, se queda obsoleto.</para>
-
- <para>Puede agrupar elementos en la sección usando la etiqueta <SUBSECTION>. Actualmente esto genera una línea en blanco entre subsecciones en la sección de resumen. También puede usar <SUBSECTION Standard> para declaraciones estándar de GObject (ej. funciones como g_object_get_type and macros como G_OBJECT(), G_IS_OBJECT() etc.). Actualmente éstas se han dejado fuera de la documentación. También puede usar <SUBSECTION Private> para declaraciones privadas que no producirán ninguna salida (s una manera práctica de evitar mensajes de advertencia sobre declaraciones sin usar). Si sus bibliotecas contienen tipos privados que no quiere que aparezcan en la jerarquía de objetos o en la lista de interfaces implementados o necesarios, añádalos a una subsección Privada. Si ubica GObject y GObjectClass como estructuras en la sección pública o estándar, depende de si tienen entradas públicas (variables, vmethods).</para>
-
- <para>También puede usar <INCLUDE> ... </INCLUDE> para especificar qué archivos #include se muestran en la sección de resumen. Contiene una lista de archivos #include separados por comas, sin las almohadillas. Si lo configura fuera de cualquier sección, actúa para todas las secciones hasta el final del archivo. Si lo configura dentro de una sección, sólo se aplica a esa sección.</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>Controlar el resultado</title>
-
- <para>Una ejecución de GTK-Doc genera archivos de informe dentro de la carpeta de la documentación. Los archivos generados se llaman <filename><paquete>-undocumented.txt</filename>, <filename><paquete>-undeclared.txt</filename> y <filename><paquete>-unused.txt</filename>.Todos son archivos de texto plano y se pueden ver y posprocesar fácilmente.</para>
-
- <para>El archivo <filename><paquete>-undocumented.txt</filename> comienza con el resumen de cobertura de la documentación. Debajo hay dos secciones divididas por líneas vacías. La primera sección lista los símbolos incompletos o indocumentados. La segunda sección hace lo mismo para los documentos de sección. Las entradas incompletas son aquellas que tienen documentación pero dónde; p.e. se ha añadido un parámetro nuevo.</para>
-
- <para>El archivo <filename><paquete>-undeclared.txt</filename> lista símbolos proporcionados en el archivo <filename><paquete>-sections.txt</filename>, pero no encontrados en los fuentes. Compruebe si se han eliminado o no se han escrito correctamente.</para>
-
- <para>El archivo <filename><paquete>-unused.txt</filename> lista nombres de símbolos, donde el analizador de GTK-Doc ha encontrado documentación, pero no sabe dónde ponerla. Esto significa que el símbolo no se ha añadido todavía al archivo <filename><paquete>-sections.txt</filename>.</para>
-
- <tip>
- <para>Activar o añadir la línea <option>TESTS=($GTKDOC_CHECK)</option> en Makefile.am. Si como mínimo está instalado GTK-Doc 1.9, esto ejecutará comprobaciones de integridad durante la ejecución de make check.</para>
- </tip>
-
- <para>También puede mirar los archivos producidos por el analizador del código fuente: <filename><paquete>-decl-list.txt</filename> y <filename><paquete>-decl.txt</filename>. El primero se puede comparar con el archivo de sección si se mantiene manualmente. El segundo lista todas las declaraciones desde las cabeceras. Si falta un símbolo, se puede comprobar si este archivo lo contiene.</para>
-
- <para>Si el proyecto está basado en GObject, también se puede mirar en los archivos producidos por el analizador de objetos: <filename><paquete>.args.txt</filename>, <filename><paquete>.hierarchy.txt</filename>, <filename><paquete>.interfaces.txt</filename>, <filename><paquete>.prerequisites.txt</filename> y <filename><paquete>.signals.txt</filename>. Si faltan símbolos en cualquiera de ellos, puede hacer que GTK-Doc guarde el análisis de archivos para futuros análisis, pero ejecutándolo como <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.</para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernizar la documentación</title>
-
- <para>GTK-Doc ha existido durante mucho tiempo. En esta sección se listan las características nuevas junto con la versión desde la que están disponibles.</para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>Al usar XML en lugar de SGML, actualmente se puede nombrar el documento maestro <filename><paquete>-docs.xml</filename>.</para>
-
- <para>Esta versión soporta <option>SCAN_OPTIONS=--rebuild-sections</option> en <filename>Makefile.am</filename>. Cuando está activada, el archivo <filename><paquete>-sections.txt</filename> se genera automáticamente y se puede quitar del control de versiones. Esto sólo funciona en proyectos que tienen una estructura regular (ej. cada pareja .{c,h} creará una sección nueva). Si se organiza un proyecto parecido a esto, actualizar una sección mantenida manualmente puede ser tan sencillo como ejecutar <code>meld <paquete>-decl-list.txt <paquete>-sections.txt</code>.</para>
-
- <para>La versión 1.18 ya introdujo la sintaxis para documentar secciones en las fuentes en lugar de tener que hacerlo en archivos separados bajo <filename class="directory">tmpl</filename>. Esta versión añade opciones para cambiar todo el módulo «doc» del documento para que no realice el paso de construcción de tmpl adicional, usando <option>--flavour no-tmpl</option> en <filename>configure.ac</filename>. Si no tiene una <filename class="directory">tmpl</filename> marcada en su sistema de control de versiones y todavía no ha cambiado, simplemente añada la opción al archivo <filename>configure.ac</filename> y lo tendrá hecho.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>Esta versión soporta <option>SCAN_OPTIONS=--rebuild-types</option> en <filename>Makefile.am</filename>. Cuando está activado, el archivo <filename><package>.types</filename> se genera automáticamente y se puede eliminar del control de versiones. Al usar esta característica es importante configurar la variable <varname>IGNORE_HFILES</varname> en el <filename>Makefile.am</filename> para el código que se construye de manera condicional.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>Esta versión incluye una herramienta nueva llamada gtkdoc-check. Esta herramienta puede ejecutar una serie de comprobaciones de integridad de la documentación. Se activa añadiendo las siguientes líneas al final del archivo <filename>Makefile.am</filename>. <example><title>Activar gtkdoc-check</title>
- <programlisting>
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>La versión 1.18 incluía soporte para cierto marcado inicial. Usar el marcado en los comentarios del documento es menos intrusivo que escribir el XML del «docbook». Esta versión mejora mucho esto y añade muchos más estilos. La sección que explica la <link linkend="documenting_syntax">sintaxis de los comentarios</link> contiene todos los detalles.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>
- The makefiles shipped with this version generate an entity file at <filename>xml/gtkdocentities.ent</filename>,
- containing entities for e.g. package_name and package_version. You can
- use this e.g. in the main xml file to avoid hardcoding the version
- number. Below is an example that shows how the entity file is included
- in the master template and how the entities are used.
- The entities can also be used in all
- generated files, GTK-Doc will use the same xml header in generated xml
- files.
- <example><title>Use pre-generated entities</title>
- <programlisting><![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-]]></programlisting>
- </example>
- </para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Documentar otras interfaces</title>
-
- <para>Hasta ahora se ha usado GTK-Doc para documentar la API del código. Las siguientes secciones contienen sugerencias acerca de cómo se pueden usar las herramientas para documentar otras interfaces.</para>
-
- <sect1 id="commandline-interfaces">
- <title>Opciones de la línea de comandos y páginas man</title>
-
- <para>Ya que también se pueden generar páginas man para referencias de entrada docbook, parece buena idea usarlas para ese propósito. De esta forma la interfaz es parte de la referencia y se obtienen las páginas man sin trabajo.</para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Documentar la herramienta</title>
-
- <para>Cree un archivo de entrada de referencia para cada herramienta. Siguiendo <link linkend="settingup_docfiles">el ejemplo</link> se llamará <filename>meep/docs/reference/meeper/meep.xml</filename>. Para las etiquetas xml que se deben usar puede mirar al archivo generado en la subcarpeta xml así como los ejemplos en, por ejemplo, glib.</para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Añadir la comprobación de configuración adicional</title>
-
- <para>
- <example><title>Comprobaciones de configuración adicionales</title>
- <programlisting>
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-</programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Añadir reglas de makefile adicionales</title>
-
- <para>
- <example><title>Comprobaciones de configuración adicionales</title>
- <programlisting>
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-</programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>Interfaces de DBus</title>
-
- <para>(ARREGLAR: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)</para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Preguntas más frecuentes</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>Pregunta</segtitle>
- <segtitle>Respuesta</segtitle>
- <seglistitem>
- <seg>Sin jerarquía de clases.</seg>
- <seg>Los objetos de la función <function>xxx_get_type()</function> no se han introducido en el archivo <filename><package>.types</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Aún sin jerarquía de clases.</seg>
- <seg>Nombre incorrecto o ausente en el archivo <filename><package>-sections.txt</filename> (consulte la <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explicación</ulink>).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Maldición, aún no hay una jerarquía de clases.</seg>
- <seg>Es el nombre del objeto (nombre de la estructura de la instancia, ej. <type>GtkWidget</type>) parte de la sección normal (no ponga esto en Estándar o Privado).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Sin índice de símbolos.</seg>
- <seg>¿<filename><package>-docs.{xml,sgml}</filename> contiene un índice que «xi:includes» el índice generado?</seg>
- </seglistitem>
- <seglistitem>
- <seg>Los símbolos no se enlazan con su sección en el documento.</seg>
- <seg>¿Está doc-comment usando el marcado correcto (añadido #,% o ())? Compruebe si gtk-doc-fixxref avisa de alguna referencia xref sin resolver.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Una clase nueva no aparece en la documentación.</seg>
- <seg>Es la página nueva «xi:included» desde <filename><package>-docs.{xml,sgml}</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Un símbolo nuevo no aparece en la documentación.</seg>
- <seg>Comprobar que el doc-comment está formateado correctamente. Compruebe errores de escritura al principio del comentario. Compruebe si gtkdoc-fixxref avisa acerca de referencias xref no solventables. Compruebe si el símbolo está listado correctamente en <filename><package>-sections.txt</filename> en una subsección pública.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Falta un tipo en la clase de jerarquías</seg>
- <seg>Si el tipo está listado en <filename><package>.hierarchy</filename> pero no en <filename>xml/tree_index.sgml</filename>, entonces compruebe dos veces que el tipo está correctamente ubicado en la <filename><package>-sections.txt</filename>. No se mostrará el tipo de instancia (ej. <type>GtkWidget</type>) si no está listada o accidentalmente marcada como privada.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Obtengo enlaces de seguimiento de documentos para todas las anotaciones gobject.</seg>
- <seg>Compruebe que <filename>xml/annotation-glossary.xml</filename> está «xi:included» desde <filename><package>-docs.{xml,sgml}</filename>.</seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parámetro descrito en el bloque de comentarios del código fuente pero no existe</seg>
- <seg>Compruebe si el prototipo en la cabecera tiene nombres de parámetro diferentes de la fuente.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>múltiples «ID» para la restricción enlazada: XYZ</seg>
- <seg>El símbolo XYZ aparece dos veces en el archivo <filename><package>-sections.txt</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Elemento typename en namespace «» encontrado en para, pero ninguna plantilla coincide.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Herramientas relacionadas con GTK-Doc</title>
-
- <para>GtkDocPlugin: un complemento de integración <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink> que añade documentos de la API a un sitio «trac» y se integra con la búsqueda de «trac».</para>
- <para>Gtkdoc-depscan: una herramienta (parte de gtk-doc) para comprobar la API usada contra etiquetas en la API para determinar la versión mínima necesaria.</para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Versión 1.1, marzo de 2000</releaseinfo>
- <copyright><year>2000</year><holder>Free Software Foundation, Inc.</holder></copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>. Se permite la copia y distribución de copias literales de este documento, pero no se permite su modificación.</para>
- </legalnotice>
- </appendixinfo>
- <title>Licencia de documentación libre de GNU</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREÁMBULO</title>
- <para>El propósito de esta Licencia es permitir que un manual, libro de texto, u otro documento escrito sea <quote>libre</quote> en el sentido de libertad: asegurar a todo el mundo la libertad efectiva de copiarlo y redistribuirlo, con o sin modificaciones, de manera comercial o no. En segundo término, esta Licencia proporciona al autor y al editor una manera de obtener reconocimiento por su trabajo, sin que se le considere responsable de las modificaciones realizadas por otros.</para>
-
- <para>Esta Licencia es de tipo <quote>copyleft</quote>, lo que significa que los trabajos derivados del documento deben a su vez ser libres en el mismo sentido. Complementa la Licencia Pública General de GNU, que es una licencia tipo copyleft diseñada para el software libre.</para>
-
- <para>Hemos diseñado esta Licencia para usarla en manuales de software libre, ya que el software libre necesita documentación libre: Un programa libre debe venir con los manuales que ofrezcan la mismas libertades que da el software. Pero esta licencia no se limita a manuales de software; puede ser usada para cualquier trabajo textual, sin tener en cuenta su temática o si se publica como libro impreso. Recomendamos esta licencia principalmente para trabajos cuyo fin sea instructivo o de referencia.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APLICABILIDAD Y DEFINICIONES</title>
- <para id="fdl-document">Esta Licencia se aplica a cualquier manual u otro trabajo que contenga un aviso colocado por el poseedor del copyright diciendo que puede distribuirse bajo los términos de esta Licencia. El <quote>Documento</quote>, abajo, se refiere a cualquier manual o trabajo. Cualquier miembro del público es un licenciatario, y será referido como <quote>Usted</quote>.</para>
-
- <para id="fdl-modified">Una <quote>Versión Modificada</quote> del Documento significa cualquier trabajo que contenga el Documento o una porción del mismo, ya sea una copia literal o con modificaciones y/o traducciones a otro idioma.</para>
-
- <para id="fdl-secondary">Una <quote>Sección Secundaria</quote> es un apéndice con título o una sección preliminar del Documento que trata exclusivamente de la relación entre los autores o editores y el tema general del<link linkend="fdl-document">Documento</link> que trata exclusivamente con la relación entre los editores o autores del Documento con el asunto general del Documento (o asuntos relacionados) y no contiene nada que pueda considerarse dentro del tema principal. (Por ejemplo, si el Documento es en parte un libro de texto de matemáticas, una Sección Secundaria no explicará nada de matemáticas.) La relación puede ser una conexión histórica con el asunto o temas relacionados, o una opinión legal, comercial, filosófica, ética o política acerca de ellos.</para>
-
- <para id="fdl-invariant">Las <quote>Secciones Invariantes</quote> son ciertas <link linkend="fdl-secondary">Secciones Secundarias</link> cuyos títulos son designados como Secciones Invariantes en la nota que indica que el <link linkend="fdl-document">Documento</link> se publica bajo esta Licencia.</para>
-
- <para id="fdl-cover-texts"> Los <quote>Textos de Cubierta</quote> son ciertos pasajes cortos de texto que se listan como Textos de Cubierta Delantera o Textos de Cubierta Trasera en la nota que indica que el <link linkend="fdl-document">Documento</link> se publica bajo esta Licencia.</para>
-
- <para id="fdl-transparent">Una copia <quote>Transparente</quote> del <link linkend="fdl-document">Documento</link>, significa una copia para lectura en máquina, representada en un formato cuya especificación está disponible al público en general, cuyo contenido puede ser visto y editados directamente con editores de texto genéricos o (para imágenes compuestas por píxeles) con programas genéricos de manipulación de imágenes o (para dibujos) con algún editor de dibujos ampliamente disponible, y que sea adecuado como entrada para formateadores de texto o para su traducción automática a formatos adecuados para formateadores de texto. Una copia hecha en un formato definido como Transparente, pero cuyo marcaje o ausencia de él haya sido diseñado para impedir o dificultar modificaciones posteriores por parte de los lectores no es Transparente. Una copia que no es <quote>Transparente</quote> se denomina <quote>Opaca</quote>.</para>
-
- <para>Como ejemplos de formatos adecuados para copias Transparentes están ASCII puro sin marcaje, formato de entrada de Texinfo, formato de entrada de LaTeX, SGML o XML usando una DTD disponible públicamente, y HTML, PostScript o PDF simples, que sigan los estándares y diseños para que los modifiquen personas.Los formatos Opacos incluyen formatos propietarios que pueden ser leídos y editados únicamente en procesadores de textos propietarios, SGML o XML para los cuáles las DTD y/o herramientas de procesamiento no estén ampliamente disponibles, y HTML, PostScript o PDF generados por algunos procesadores de textos sólo como salida.</para>
-
- <para id="fdl-title-page"> La <quote>Portada</quote> significa, en un libro impreso, la página de título, más las páginas siguientes que sean necesarias para mantener legiblemente el material que esta Licencia requiere en la portada. Para trabajos en formatos que no tienen página de portada como tal, <quote>Portada</quote>significa el texto cercano a la aparición más prominente del título del trabajo,precediendo el comienzo del cuerpo del texto.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. COPIA LITERAL</title>
- <para>Usted puede copiar y distribuir el <link linkend="fdl-document">Documento</link> en cualquier soporte, sea en forma comercial o no, siempre y cuando proporcione esta Licencia, las notas de copyright y la nota que indica que esta Licencia se aplica al Documento reproduciéndola en todas las copias y que usted no añada ninguna otra condición a las expuestas en esta Licencia. Usted no puede usar medidas técnicas para obstruir o controlar la lectura o copia posterior de las copias que usted haga o distribuya. Sin embargo, usted puede aceptar compensación a cambio de las copias. Si distribuye un número suficientemente grande de copias también deberá seguir las condiciones de la <link linkend="fdl-section3">sección 3</link>.</para>
-
- <para>Usted también puede prestar copias, bajo las mismas condiciones establecidas anteriormente, y puede exhibir copias públicamente.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPIAR EN CANTIDAD</title>
- <para> Si publica copias impresas del <link linkend="fdl-document">Documento</link> que sobrepasen las 100, y la nota de licencia del Documento exige <link linkend="fdl-cover-texts">Textos de Cubierta</link>, debe incluirlas copias con cubiertas que lleven en forma clara y legible todos esos Textos de Cubierta: Textos de Cubierta Delantera en la cubierta delantera y Textos de Cubierta Trasera en la cubierta trasera. Ambas cubiertas deben identificarlo a Usted clara y legiblemente como editor de tales copias. La cubierta debe mostrar el título completo con todas las palabras igualmente prominentes y visibles. Además puede añadir otro material en las cubiertas. Las copias con cambios limitados a las cubiertas, siempre que conserven el título del <link linkend="fdl-document">Documento</link> y satisfagan estas condiciones, pueden considerarse como copias literales en todos los aspectos.</para>
-
- <para> Si los textos requeridos para la cubierta son muy voluminosos para que ajusten legiblemente, debe colocar los primeros (tantos como sea razonable colocar) en la verdadera cubierta y situar el resto en páginas adyacentes.</para>
-
- <para>Si Usted publica o distribuye copias <link linkend="fdl-transparent">Opacas</link> del <link linkend="fdl-document">Documento</link> cuya cantidad exceda las 100, debe incluir una copia <link linkend="fdl-transparent">Transparente</link>, que pueda ser leída por una máquina, con cada copia Opaca, o bien mostrar, en cada copia Opaca, una dirección de red donde cualquier usuario de la misma tenga acceso por medio de protocolos públicos y estandarizados a una copia Transparente del Documento completa, sin material adicional. Si usted hace uso de la última opción, deberá tomar las medidas necesarias, cuando comience la distribución de las copias Opacas en cantidad, para asegurar que esta copia Transparente permanecerá accesible en el sitio establecido por lo menos un año después de la última vez que distribuya una copia Opaca de esa edición al público (directamente o a través de sus agentes o distribuidores).</para>
-
- <para>Se solicita, aunque no es requisito, que se ponga en contacto con los autores del <link linkend="fdl-document">Documento</link> antes de redistribuir gran número de copias, para darles la oportunidad de que le proporcionen una versión actualizada del Documento.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICACIONES</title>
- <para>Puede copiar y distribuir una <link linkend="fdl-modified">Versión Modificada</link> del <link linkend="fdl-document">Documento</link> bajo las condiciones de las secciones <link linkend="fdl-section2">2</link> y <link linkend="fdl-section3">3</link> anteriores, siempre que Usted libere la Versión Modificada bajo esta misma Licencia, con la Versión Modificada haciendo el rol del Documento, por lo tanto dando Licencia de distribución y modificación de la Versión Modificada a quienquiera posea una copia de la misma. Además, debe hacer lo siguiente en la Versión Modificada:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>Usar en la <link linkend="fdl-title-page">Portada</link> (y en las cubiertas, si hay alguna) un título distinto al del <link linkend="fdl-document">Documento</link> y de sus versiones anteriores (que deberían, si hay alguna, estar listadas en la sección de Historia del Documento). Puede usar el mismo título de versiones anteriores al original siempre y cuando quien las publicó originalmente otorgue permiso.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>Listar en la <link linkend="fdl-title-page">Portada</link>, como autores, una o más personas o entidades responsables de la autoría de las modificaciones de la <link linkend="fdl-modified">Versión Modificada</link>, junto con por lo menos cinco de los autores principales del <link linkend="fdl-document">Documento</link> (todos sus autores principales, si hay menos de cinco), a menos que le eximan de tal requisito.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>Mostrar en la <link linkend="fdl-title-page">Portada</link> como editor el nombre del editor de la <link linkend="fdl-modified">Versión Modificada</link></para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>Conservar todas las notas de copyright del <link linkend="fdl-document">Documento</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Añadir una nota de copyright apropiada a sus modificaciones, adyacente a las otras notas de copyright.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>Incluir, inmediatamente después de los avisos de copyright, una nota de licencia dando el permiso público para usar la <link linkend="fdl-modified">Versión Modificada</link> bajo los términos de esta Licencia, de la forma mostrada en el Adenda de más abajo.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>Incluir, inmediatamente después de ese aviso de licencia, la lista completa de <link linkend="fdl-invariant">Secciones invariantes</link> y de los <link linkend="fdl-cover-texts">Textos de Cubierta</link> que sean requeridos en el aviso de Licencia del <link linkend="fdl-document">Documento</link> original.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Incluir una copia sin modificación de esta Licencia.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>Conservar la sección titulada <quote>Historia</quote>, conservar su Título y añadirle un elemento que declare al menos el título, el año, los nuevos autores y el editor de la <link linkend="fdl-modified">Versión Modificada</link>, tal como figuran en la <link linkend="fdl-title-page">Portada</link>. Si no hay una sección titulada <quote>Historia</quote> en el <link linkend="fdl-document">Documento</link>, crear una estableciendo el título, el año, los autores y el editor del Documento, tal como figuran en su Portada, añadiendo además un elemento describiendo la Versión Modificada, como se estableció en la sentencia anterior.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>Conservar la dirección en red, si la hay, dada en el <link linkend="fdl-document">Documento</link> para el acceso público a una copia <link linkend="fdl-transparent">Transparente</link> del mismo, así como las otras direcciones de red dadas en el Documento para versiones anteriores en las que estuviese basado. Pueden ubicarse en la sección <quote>Historia</quote>. Se puede omitir la ubicación en red de un trabajo que haya sido publicado por lo menos cuatro años antes que el Documento mismo, o si el editor original de dicha versión da permiso.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>En cualquier sección titulada <quote>Agradecimientos</quote> o <quote>Dedicatorias</quote>, conservar el título de la sección y conservar en ella toda la sustancia y el tono de los agradecimientos y/o dedicatorias incluidas por cada contribuyente.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>Conservar todas las <link linkend="fdl-invariant">Secciones Invariantes</link> del <link linkend="fdl-document">Documento</link>, sin alterar su texto ni sus títulos. Los números de sección o equivalentes no se consideran parte de los títulos de la sección.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>Eliminar cualquier sección titulada <quote>Aprobaciones</quote>. Tales secciones no pueden estar incluidas en las <link linkend="fdl-modified">Versiones Modificadas</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>No cambiar el título de ninguna sección existente a <quote>Aprobaciones</quote> ni a uno que entre en conflicto con el de alguna <link linkend="fdl-invariant">Sección Invariante</link>.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para> Si la <link linkend="fdl-modified">Versión Modificada</link> incluye secciones o apéndices nuevos que cualifiquen como <link linkend="fdl-secondary">Secciones Secundarias</link> y no contienen ningún material copiado del Documento, puede opcionalmente designar algunas o todas esas secciones como invariantes. Para hacerlo, añada sus títulos a la lista de <link linkend="fdl-invariant">Secciones Invariantes</link> en el aviso de licencia de la Versión Modificada. Tales títulos deben ser distintos de cualquier otro título de sección.</para>
-
- <para>Puede añadir una sección titulada <quote>Aprobaciones</quote>, siempre que contenga únicamente aprobaciones de su <link linkend="fdl-modified">Versión Modificada</link> por otras fuentes --por ejemplo, observaciones de compañeros o que el texto ha sido aprobado por una organización como definición oficial de un estándar.</para>
-
- <para>Puede añadir un pasaje de hasta cinco palabras como <link linkend="fdl-cover-texts">Texto de Cubierta Delantera</link> y un pasaje de hasta 25 palabras como <link linkend="fdl-cover-texts">Texto de Cubierta Trasera</link> al final de la lista de <link linkend="fdl-cover-texts">Texto de Cubierta</link> en la <link linkend="fdl-modified">Versión Modificada</link>. Una entidad sólo puede añadir (o hacer que se añada) un pasaje al Texto de Cubierta Delantera y uno al de Cubierta Trasera. Si el <link linkend="fdl-document">Documento</link> ya incluye un textos de cubiertas añadidos previamente por usted o por acuerdo previo con la entidad que usted representa, usted no puede añadir otro; pero puede reemplazar el anterior, con permiso explícito del editor anterior que agregó el texto anterior.</para>
-
- <para>Con esta Licencia ni los autores ni los editores del <link linkend="fdl-document">Documento</link> dan permiso para usar sus nombres para publicidad ni para asegurar o implicar aprobación de cualquier <link linkend="fdl-modified">Versión Modificada</link>.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINAR DOCUMENTOS</title>
- <para>Usted puede combinar el <link linkend="fdl-document">Documento</link> con otros documentos liberados bajo esta Licencia, bajo los términos definidos en la sección <link linkend="fdl-section4">section 4</link> más arriba para versiones modificadas, siempre que incluya en la combinación todas las <link linkend="fdl-invariant">Secciones Invariantes</link> de todos los documentos originales, sin modificaciones, y las liste todas como Secciones Invariantes de su trabajo combinado en su aviso de licencia.</para>
-
- <para>El trabajo combinado necesita contener solamente una copia de esta Licencia, y múltiples <link linkend="fdl-invariant">Secciones Invariantes</link> idénticas pueden reemplazarse por una sola copia. Si hay múltiples Secciones Invariantes con el mismo nombre pero con contenidos diferentes, haga el título de cada una de estas secciones único añadiéndolo al final de este, entre paréntesis, el nombre del autor o de quien editó originalmente esa sección, si es conocido, o si no, un número único. Haga el mismo ajuste a los títulos de sección en la lista de Secciones Invariantes en la nota de licencia del trabajo combinado.</para>
-
- <para>En la combinación, debe combinar cualquier sección titulada <quote>Historia</quote> de los distintos documentos originales, formando una sección titulada <quote>Historia</quote>; de la misma forma, combine cualquier sección titulada <quote>Reconocimientos</quote> y cualquier sección titulada <quote>Dedicatorias</quote>. Debe eliminar todas las secciones tituladas <quote>Aprobaciones</quote>.</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLECCIONES DE DOCUMENTOS</title>
- <para>Puede hacer una colección que conste del <link linkend="fdl-document">Documento</link> y de otros documentos publicados bajo esta Licencia, y reemplazar las copias individuales de esta Licencia en todos los documentos por una sola copia que esté incluida en la colección, siempre que siga las reglas de esta Licencia para cada copia literal de cada uno de los documentos en cualquiera de los demás aspectos.</para>
-
- <para>Puede extraer un solo documento de una de tales colecciones y distribuirlo individualmente bajo esta Licencia, siempre que inserte una copia de esta Licencia en el documento extraído, y siga esta Licencia en todos los demás aspectos relativos a la copia literal de dicho documento.</para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGREGACIÓN CON TRABAJOS INDEPENDIENTES</title>
- <para>Una recopilación que conste del <link linkend="fdl-document">Documento</link> o sus derivados y de otros documentos o trabajos separados e independientes, en cualquier soporte de almacenamiento o distribución, no cuenta como un todo como una <link linkend="fdl-modified">Versión Modificada</link> del Documento, siempre que no se reclame ningún derecho de copyright por la compilación. Dicha compilación se denomina un <quote>agregado</quote>, y esta Licencia no se aplica a otros trabajos autocontenidos incluidos con el Documento. teniendo en cuenta que son compilados, si no son los mismos trabajos derivados del Documento. Si el requisito de <link linkend="fdl-cover-texts">Texto de Cubierta</link> de la <link linkend="fdl-section3">sección 3</link> es aplicable a estas copias del Documento, entonces si el Documento es menor que un cuarto del agregado completo, los Textos de Cubierta del Documento pueden colocarse en cubiertas que enmarquen solamente el Documento dentro del agregado. En caso contrario deben aparecer en cubiertas impresas enmarcando todo el agregado.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRADUCCIÓN</title>
- <para>La traducción se considera un tipo de modificación, así que puede distribuir traducciones del <link linkend="fdl-document">Documento</link> bajo los términos de la <link linkend="fdl-section4">sección 4</link>. Reemplazar las <link linkend="fdl-invariant">Secciones invariantes</link> con traducciones requiere permiso especial de los mantenedores de la propietarios del copyright, pero puede incluir traducciones de algunos o todas las Secciones invariantes. Puede incluir una traducción de esta licencia proporcionada que además incluya la versión original de esta Sección invariante en adición de esta licencia. En caso de desacuerdo prevalecerá la versión original en inglés.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINACIÓN</title>
- <para> Usted no puede copiar, modificar, sublicenciar o distribuir el <link linkend="fdl-document">Documento</link> salvo por lo permitido expresamente por esta Licencia. Cualquier otro intento de copia, modificación, sublicenciamiento o distribución del Documento es nulo, y dará por terminados automáticamente sus derechos bajo esa Licencia. Sin embargo, los terceros que hayan recibido copias, o derechos, de usted bajo esta Licencia no verán terminadas sus licencias, siempre que permanezcan en total conformidad con ella.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURAS REVISIONES DE ESTA LICENCIA</title>
- <para>La <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> puede publicar versiones nuevas y revisadas de la Licencia de Documentación Libre GNU de vez en cuando. Dichas versiones nuevas serán similares en espíritu a la presente versión, pero pueden diferir en detalles para solucionar nuevos problemas o preocupaciones. Vea <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>Cada versión de la licencia tiene un número de versión. Si la <link linkend="fdl-document">Documentación</link> especifica que el número particular de versión de esta Licencia <quote>o cualquier posterior versión</quote> aplicado sobre él, tiene la opción de seguir los términos y condiciones de cualquiera de esas versiones especificadas o de cualquiera de las versiones publicadas (no como borrador) por la Free Software Foundation. Si el Documento no especifica un número de versión de la licencia, puede elegir cualquier versión publicada (no como borrador) por la Free Software Foundation.</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>Para usar esta licencia en un documento que ha escrito, incluya una copia de la Licencia en el documento y ponga el siguiente copyright y las notas justo después del título de la página.</para>
-
- <blockquote>
- <para>Copyright 2009-2016 Daniel Mustieles
-Copyright 2009-2010 Jorge González González
-Copyright 2009-2010 Francisco Javier Fernández Serrador</para>
- <para>Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de GNU, Versión 1.1 o cualquier otra versión posterior publicada por la Free Software Foundation; con las <link linkend="fdl-invariant">Secciones Invariantes</link> siendo su LISTE SUS TÍTULOS, con <link linkend="fdl-cover-texts">Textos de Cubierta Delantera</link> siendo LISTA, y con los <link linkend="fdl-cover-texts">Textos de Cubierta Trasera</link> siendo LISTA. Una copia de la licencia está incluida en la sección titulada <quote>GNU Free Documentation License</quote>.</para>
- </blockquote>
-
- <para>Si no tiene <link linkend="fdl-invariant">Secciones Invariantes</link>, escriba <quote>sin Secciones Invariantes</quote> en vez de decir cuáles son invariantes. Si no tiene <link linkend="fdl-cover-texts">Textos de Cubierta Frontal</link>, escriba <quote>sin Textos de Cubierta Frontal</quote>; de la misma manera para <link linkend="fdl-cover-texts">Textos de Cubierta Trasera</link>.</para>
-
- <para>Si su documento contiene ejemplos de código de programa no triviales, recomendamos liberar estos ejemplos en paralelo bajo la licencia de software libre que usted elija, como la <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">Licencia Pública General de GNU (GNU General Public License)</ulink>, para permitir su uso en software libre.</para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Version 1.1, mars 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address> Chacun est libre de copier et de distribuer des copies conformes de cette Licence, mais nul n'est autorisé à la modifier.</para>
- </legalnotice>
- </appendixinfo>
- <title>Licence de Documentation Libre GNU</title>
-
- <sect1 id="fdl-preamble">
- <title>0. Préambule</title>
- <para>L'objet de cette Licence est de rendre tout manuel, livre ou autre document écrit « <quote>libre</quote> » au sens de la liberté d'utilisation, à savoir : assurer à chacun la liberté effective de le copier ou de le redistribuer, avec ou sans modifications, commercialement ou non. En outre, cette Licence garantit à l'auteur et à l'éditeur la reconnaissance de leur travail, sans qu'ils soient pour autant considérés comme responsables des modifications réalisées par des tiers.</para>
-
- <para>Cette Licence est une sorte de <quote>copyleft</quote>, ce qui signifie que les travaux dérivés du document d'origine sont eux-mêmes « libres » selon les mêmes termes. Elle complète la Licence Publique Générale GNU, qui est également une Licence copyleft, conçue pour les logiciels libres.</para>
-
- <para>Nous avons conçu cette Licence pour la documentation des logiciels libres, car les logiciels libres ont besoin d'une documentation elle-même libre : un logiciel libre doit être accompagné d'un manuel garantissant les mêmes libertés que celles accordées par le logiciel lui-même. Mais cette Licence n'est pas limitée aux seuls manuels des logiciels ; elle peut être utilisée pour tous les documents écrits, sans distinction particulière relative au sujet traité ou au mode de publication. Nous recommandons l'usage de cette Licence principalement pour les travaux destinés à des fins d'enseignement ou devant servir de documents de référence.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITÉ ET DÉFINITIONS</title>
- <para id="fdl-document">Cette Licence couvre tout manuel ou tout autre travail écrit contenant une notice de copyright autorisant la redistribution selon les termes de cette Licence. Le mot <quote>Document</quote> se réfère ci-après à un tel manuel ou travail. Toute personne en est par définition concessionnaire et est référencée ci-après par le terme <quote>Vous</quote>.</para>
-
- <para id="fdl-modified">Une <quote>Version modifiée</quote> du Document désigne tout travail en contenant la totalité ou seulement une portion de celui-ci, copiée mot pour mot, modifiée et/ou traduite dans une autre langue.</para>
-
- <para id="fdl-secondary">Une <quote>Section secondaire</quote> désigne une annexe au <link linkend="fdl-document">Document</link>, ou toute information indiquant les rapports entre l'auteur ou l'éditeur et le sujet (ou tout autre sujet connexe) du Document, sans toutefois être en rapport direct avec le sujet lui-même (par exemple, si le Document est un manuel de mathématiques, une Section secondaire ne traitera d'aucune notion mathématique). Cette section peut contenir des informations relatives à l'historique du Document, des sources documentaires, des dispositions légales, commerciales, philosophiques, ou des positions éthiques ou politiques susceptibles de concerner le sujet traité.</para>
-
- <para id="fdl-invariant">Les <quote>Sections inaltérables</quote> sont des <link linkend="fdl-secondary">sections secondaires</link> considérées comme ne pouvant être modifiées et citées comme telles dans la notice légale qui place le <link linkend="fdl-document">Document</link> sous cette Licence.</para>
-
- <para id="fdl-cover-texts">Les <quote>Textes de couverture</quote> sont les textes courts situés sur les pages de couverture avant et arrière, et cités comme tels dans la mention légale de ce <link linkend="fdl-document">Document</link>.</para>
-
- <para id="fdl-transparent">Le terme <quote>Copie transparente</quote> désigne une version numérique du <link linkend="fdl-document">Document</link> représentée dans un format dont les spécifications sont publiquement disponibles et dont le contenu peut être visualisé et édité directement et immédiatement par un éditeur de texte quelconque, ou (pour les images composées de pixels) par un programme de traitement d'images quelconque, ou (pour les dessins) par un éditeur de dessins courant. Ce format doit pouvoir être accepté directement ou être convertible facilement dans des formats utilisables directement par des logiciels de formatage de texte. Une copie publiée dans un quelconque format numérique ouvert mais dont la structure a été conçue dans le but exprès de prévenir les modifications ultérieures du Document ou dans le but d'en décourager les lecteurs n'est pas considérée comme une Copie Transparente. Une copie qui n'est pas <quote>Copie transparente</quote> est considérée, par opposition, comme <quote>Opaque</quote>.</para>
-
- <para>Le format de fichier texte codé en ASCII générique et n'utilisant pas de balises, les formats de fichiers Texinfo ou LaTeX, les formats de fichiers SGML ou XML utilisant une DTD publiquement accessible, ainsi que les formats de fichiers HTML simple et standard, écrits de telle sorte qu'ils sont modifiables sans outil spécifique, sont des exemples de formats acceptables pour la réalisation de Copies Transparentes. Les formats suivants sont opaques : PostScript, PDF, formats de fichiers propriétaires qui ne peuvent être visualisés ou édités que par des traitements de textes propriétaires, SGML et XML utilisant des DTD et/ou des outils de formatage qui ne sont pas disponibles publiquement, et du code HTML généré par une machine à l'aide d'un traitement de texte quelconque et dans le seul but de la génération d'un format de sortie.</para>
-
- <para id="fdl-title-page">La <quote>Page de titre</quote> désigne, pour les ouvrages imprimés, la page de titre elle-même, ainsi que les pages supplémentaires nécessaires pour fournir clairement les informations dont cette Licence impose la présence sur la page de titre. Pour les travaux n'ayant pas de Page de titre comme décrit ci-dessus, la <quote>Page de titre</quote> désigne le texte qui s'apparente le plus au titre du document et situé avant le texte principal.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. COPIES CONFORMES</title>
- <para>Vous pouvez copier et distribuer le <link linkend="fdl-document">Document</link> sur tout type de support, commercialement ou non, à condition que cette Licence, la notice de copyright et la notice de la Licence indiquant que cette Licence s'applique à ce Document soient reproduits dans toutes les copies, et que vous n'y ajoutiez aucune condition restrictive supplémentaire. Vous ne pouvez pas utiliser un quelconque moyen technique visant à empêcher ou à contrôler la lecture ou la reproduction ultérieure des copies que vous avez créées ou distribuées. Toutefois, vous pouvez solliciter une rétribution en échange des copies. Si vous distribuez une grande quantité de copies, référez-vous aux dispositions de la <link linkend="fdl-section3">section 3</link>.</para>
-
- <para>Vous pouvez également prêter des copies, sous les mêmes conditions que celles suscitées, et vous pouvez afficher publiquement des copies de ce Document.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPIES EN NOMBRE</title>
- <para>Si vous publiez des copies imprimées de ce <link linkend="fdl-document">Document</link> à plus de 100 exemplaires et que la Licence du Document indique la présence de <link linkend="fdl-cover-texts">Textes de couverture</link>, vous devez fournir une couverture pour chaque copie, qui présente les Textes de couverture des première et dernière pages de couverture du Document. Les première et dernière pages de couverture doivent également vous identifier clairement et sans ambiguïté comme étant l'éditeur de ces copies. La première page de couverture doit comporter le titre du Document en mots d'importance et de visibilité égales. Vous pouvez ajouter des informations complémentaires sur les pages de couverture. Les copies du Document dont seule la couverture a été modifiée peuvent être considérées comme des copies conformes, à condition que le titre du <link linkend="fdl-document">Document</link> soit préservé et que les conditions indiquées précédemment soient respectées.</para>
-
- <para>Si les textes devant se trouver sur la couverture sont trop importants pour y tenir de manière claire, vous pouvez ne placer que les premiers sur la première page et placer les suivants sur les pages consécutives.</para>
-
- <para>Si vous publiez plus de 100 <link linkend="fdl-transparent">Opaque</link> du <link linkend="fdl-document">Document</link>, vous devez soit fournir une Copie transparente pour chaque Copie opaque, soit préciser ou fournir avec chaque Copie opaque une adresse réseau publiquement accessible d'une <link linkend="fdl-transparent">Copie transparente</link> et complète du Document, sans aucun ajout ou modification, et à laquelle tout le monde peut accéder en téléchargement anonyme et sans frais, selon des protocoles réseau communs et standard. Si vous choisissez cette dernière option, vous devez prendre les dispositions nécessaires, dans la limite du raisonnable, afin de garantir l'accès non restrictif à la Copie transparente durant une année pleine après la diffusion publique de la dernière Copie opaque(directement ou via vos revendeurs).</para>
-
- <para>Nous recommandons, mais ce n'est pas obligatoire, que vous contactiez l'auteur du <link linkend="fdl-document">Document</link> suffisamment tôt avant toute publication d'un grand nombre de copies, afin de lui permettre de vous donner une version à jour du Document.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>Vous pouvez copier et distribuer une <link linkend="fdl-modified">Version modifiée</link> du <link linkend="fdl-document">Document</link> en respectant les conditions des sections <link linkend="fdl-section2">2</link> et <link linkend="fdl-section3">3</link> précédentes, à condition de placer cette Version modifiée sous la présente Licence, dans laquelle le terme « Document » doit être remplacé par les termes « Version modifiée », donnant ainsi l'autorisation de redistribuer et de modifier cette Version modifiée à quiconque en possède une copie. De plus, vous devez effectuer les actions suivantes dans la Version modifiée :</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>Utiliser sur la <link linkend="fdl-title-page">Page de titre</link> (et sur la page de couverture éventuellement présente) un titre distinct de celui du <link linkend="fdl-document">Document</link> d'origine et de toutes ses versions antérieures (qui, si elles existent, doivent être mentionnées dans la section Historique du Document). Vous pouvez utiliser le même titre si l'éditeur d'origine vous en a donné expressément la permission.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>Mentionner sur la <link linkend="fdl-title-page">Page de titre</link> en tant qu'auteurs une ou plusieurs des personnes ou entités responsables des modifications de la <link linkend="fdl-modified">Version modifiée</link>, avec au moins les cinq principaux auteurs du <link linkend="fdl-document">Document</link> (ou tous les auteurs s'il y en a moins de cinq).</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>Préciser sur la <link linkend="fdl-title-page">Page de titre</link> le nom de l'éditeur de la <link linkend="fdl-modified">Version modifiée</link>, en tant qu'éditeur du Document.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>Préserver intégralement toutes les notices de copyright du <link linkend="fdl-document">Document</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Ajouter une notice de copyright adjacente aux autres notices pour vos propres modifications.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>Inclure immédiatement après les notices de copyright une notice donnant à quiconque l'autorisation d'utiliser la <link linkend="fdl-modified">Version modifiée</link> selon les termes de cette Licence, sous la forme présentée dans l'annexe indiquée ci-dessous.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>Préserver dans cette notice la liste complète des <link linkend="fdl-invariant">Sections inaltérables</link> et les <link linkend="fdl-cover-texts">Textes de couverture</link> donnés avec la notice de la Licence du <link linkend="fdl-document">Document</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Inclure une copie non modifiée de cette Licence.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>Préserver la section nommée <quote>Historique</quote> et son titre, et y ajouter une nouvelle entrée décrivant le titre, l'année, les nouveaux auteurs et l'éditeur de la <link linkend="fdl-modified">Version modifiée</link>, tels que décrits sur la <link linkend="fdl-title-page">Page de titre</link>, ainsi qu'un descriptif des modifications apportées depuis la précédente version. S'il n'y a pas de section nommée <quote>Historique</quote> dans le <link linkend="fdl-document">Document</link>, créer une telle section précisant le titre, l'année, les auteurs et l'éditeur du Document tel que précisé sur la Page de titre,et ajouter une entrée décrivant la Version modifiée tel que précisé dans la phrase précédente.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>Conserver l'adresse réseau éventuellement indiquée dans le <link linkend="fdl-document">Document</link> permettant à quiconque d'accéder à une <link linkend="fdl-transparent">Copie transparente</link> du Document, ainsi que les adresses réseau indiquées dans le Document pour les versions précédentes sur lesquelles le Document se base. Ces liens peuvent être placés dans la section <quote>Historique</quote>. Vous pouvez ne pas conserver les liens pour un travail datant de plus de quatre ans avant la version courante ou si l'éditeur d'origine vous en accorde la permission.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>Si une section <quote>Remerciements</quote> ou une section <quote>Dédicaces</quote> sont présentes, les informations et les appréciations concernant les contributeurs et les personnes auxquelles s'adressent ces remerciements doivent être conservées, ainsi que le titre de ces sections.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>Conserver sans modification les <link linkend="fdl-invariant">Sections inaltérables</link> du <link linkend="fdl-document">Document</link>, ni dans leurs textes, ni dans leurs titres. Les numéros de sections ne sont pas considérés comme faisant partie du texte des sections.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>Effacer toute section intitulée <quote>Approbations</quote>. Une telle section ne peut pas être incluse dans une <link linkend="fdl-modified">Version modifiée</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>Ne pas renommer une section existante sous le titre <quote>Approbations</quote> ou sous un autre titre entrant en conflit avec le titre d'une <link linkend="fdl-invariant">Section inaltérable</link>.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>Si la <link linkend="fdl-modified">Version modifiée</link> contient de nouvelles sections préliminaires ou de nouvelles annexes considérées comme des <link linkend="fdl-secondary">sections secondaires</link> et que celles-ci ne contiennent aucun élément copié à partir du Document, vous pouvez à votre convenance en désigner une ou plusieurs comme étant des Sections inaltérables. Pour ce faire, ajoutez leurs titres dans la liste des <link linkend="fdl-invariant">Sections inaltérables</link> au sein de la notice de Licence de la Version modifiée. Ces titres doivent êtres distincts des titres des autres sections.</para>
-
- <para>Vous pouvez ajouter une section nommée <quote>Approbations</quote> à condition que ces approbations ne concernent que les modifications ayant donné naissance à la <link linkend="fdl-modified">Version modifiée</link> (par exemple, comptes rendus de revue du document ou acceptation du texte par une organisation le reconnaissant comme étant la définition d'un standard).</para>
-
- <para>Vous pouvez ajouter un passage comprenant jusqu'à cinq mots en <link linkend="fdl-cover-texts">première page de couverture</link>, et jusqu'à vingt-cinq mots en <link linkend="fdl-cover-texts">dernière page de couverture</link>, à la liste des <link linkend="fdl-cover-texts">Textes de couverture</link> de la <link linkend="fdl-modified">Version modifiée</link>. Il n'est autorisé d'ajouter qu'un seul passage en première et en dernière pages de couverture par personne ou groupe de personnes ou organisation ayant contribué à la modification du Document. Si le <link linkend="fdl-document">Document</link> comporte déjà un passage sur la même couverture, ajouté en votre nom ou au nom de l'organisation au nom de laquelle vous agissez, vous ne pouvez pas ajouter de passage supplémentaire ; mais vous pouvez remplacer un ancien passage si vous avez expressément obtenu l'autorisation de l'éditeur de celui-ci.</para>
-
- <para>Cette Licence ne vous donne pas le droit d'utiliser le nom des auteurs et des éditeurs de ce <link linkend="fdl-document">Document</link> à des fins publicitaires ou pour prétendre à l'approbation d'une <link linkend="fdl-modified">Version modifiée</link>.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. FUSION DE DOCUMENTS</title>
- <para>Vous pouvez fusionner le <link linkend="fdl-document">Document</link> avec d'autres documents soumis à cette Licence, suivant les spécifications de la <link linkend="fdl-section4">section 4</link> pour les Versions modifiées, à condition d'inclure dans le document résultant toutes les <link linkend="fdl-invariant">Sections inaltérables</link> des documents originaux sans modification, et de toutes les lister dans la liste des Sections inaltérables de la notice de Licence du document résultant de la fusion.</para>
-
- <para>Le document résultant de la fusion n'a besoin que d'une seule copie de cette Licence, et les <link linkend="fdl-invariant">Sections inaltérables</link> existant en multiples exemplaires peuvent être remplacées par une copie unique. S'il existe plusieurs Sections inaltérables portant le même nom mais de contenu différent, rendez unique le titre de chaque section en ajoutant, à la fin de celui-ci, entre parenthèses, le nom de l'auteur ou de l'éditeur d'origine, ou, à défaut, un numéro unique. Les mêmes modifications doivent être réalisées dans la liste des Sections inaltérables de la notice de Licence du document final.</para>
-
- <para>Dans le document résultant de la fusion, vous devez rassembler toutes les sections <quote>Historique</quote> des documents d'origine en une seule section <_quote-2/>. De même, vous devez rassembler les sections <quote>Remerciements</quote> et <quote>Dédicaces</quote>. Vous devez supprimer toutes les sections <quote>Approbations</quote>.</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. REGROUPEMENTS DE DOCUMENTS</title>
- <para>Vous pouvez créer un regroupement de documents comprenant le <link linkend="fdl-document">Document</link> d'autres documents soumis à cette Licence, et remplacer les copies individuelles de cette Licence des différents documents par une unique copie incluse dans le regroupement de documents, à condition de respecter pour chacun de ces documents l'ensemble des règles de cette Licence concernant les copies conformes.</para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGRÉGATION AVEC DES TRAVAUX INDÉPENDANTS</title>
- <para>La compilation du <link linkend="fdl-document">Document</link> ou de ses dérivés avec d'autres documents ou travaux séparés et indépendants sur un support de stockage ou sur un média de distribution quelconque ne représente pas une <link linkend="fdl-modified">Version modifiée</link> du Document tant qu'aucun copyright n'est déposé pour cette compilation. Une telle compilation est appelée <quote>agrégat</quote> et cette Licence ne s'applique pas aux autres travaux indépendants compilés avec le Document s'ils ne sont pas eux-mêmes des travaux dérivés du Document. Si les exigences de la <link linkend="fdl-cover-texts">Textes de couverture</link> concernant les <link linkend="fdl-section3">section 3</link> sont applicables à ces copies du Document, et si le Document représente un volume inférieur à un quart du volume total de l'agrégat, les Textes de couverture du Document peuvent être placés sur des pages de couverture qui n'encadrent que le Document au sein de l'agrégat. Dans le cas contraire, ils doivent apparaître sur les pages de couverture de l'agrégat complet.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRADUCTION</title>
- <para>La traduction est considérée comme une forme de modification, vous pouvez donc distribuer les traductions du <link linkend="fdl-document">Document</link> selon les termes de la <link linkend="fdl-section4">section 4</link>. Vous devez obtenir l'autorisation spéciale des auteurs des <link linkend="fdl-invariant">Sections inaltérables</link> pour les remplacer par des traductions, mais vous pouvez inclure les traductions des Sections inaltérables en plus des textes originaux. Vous pouvez inclure une traduction de cette Licence à condition d'inclure également la version originale en anglais. En cas de contradiction entre la traduction et la version originale en anglais, c'est cette dernière qui prévaut.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. RÉVOCATION</title>
- <para>Vous ne pouvez pas copier, modifier, sous-licencier ou distribuer le <link linkend="fdl-document">Document</link> autrement que selon les termes de cette Licence. Tout autre acte de copie, modification, sous-Licence ou distribution du Document est sans objet et vous prive automatiquement des droits que cette Licence vous accorde. En revanche, les personnes qui ont reçu de votre part des copies ou les droits sur le document sous couvert de cette Licence ne voient pas leurs droits révoqués tant qu'elles en respectent les principes.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. RÉVISIONS FUTURES DE CETTE LICENCE</title>
- <para>La <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> peut publier de temps en temps de nouvelles versions révisées de cette Licence. Ces nouvelles versions seront semblables à la présente version dans l'esprit, mais pourront différer sur des points particuliers en fonction de nouvelles questions ou nouveaux problèmes. Voyez <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink> pour plus de détails.</para>
-
- <para>Chaque version de cette Licence est dotée d'un numéro de version distinct. Si un <link linkend="fdl-document">Document</link> spécifie un numéro de version particulier de cette Licence, et porte la mention <quote>ou toute autre version ultérieure</quote>, vous pouvez choisir de suivre les termes de la version spécifiée ou ceux de n'importe quelle version ultérieure publiée par la Free Software Foundation. Si aucun numéro de version n'est spécifié, vous pouvez choisir n'importe quelle version officielle publiée par la Free Software Foundation.</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>Pour utiliser cette Licence avec un document que vous avez écrit, incorporez une copie du texte de cette Licence en anglais et placez le texte ci-dessous juste après la page de titre :</para>
-
- <blockquote>
- <para>Copyright © 2010 Bruno Brouard.</para>
- <para>Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation License, Version 1.1 ou ultérieure publiée par la Free Software Foundation ; avec <link linkend="fdl-invariant">Sections inaltérables</link> suivantes LISTE DES TITRES DES SECTIONS INALTÉRABLES, avec le <link linkend="fdl-cover-texts">texte de première page de couverture</link> suivant TEXTE DE PREMIÈRE PAGE DE COUVERTURE et avec le <link linkend="fdl-cover-texts">texte de dernière page de couverture</link> suivant TEXTE DE DERNIÈRE PAGE DE COUVERTURE. Une copie de cette Licence est incluse dans la section appelée <quote>Licence de Documentation Libre GNU</quote> de ce document.</para>
- </blockquote>
-
- <para>Si votre Document ne comporte pas de <link linkend="fdl-invariant">Sections inaltérables</link> écrivez <quote>pas de section inaltérable</quote> au lieu de la liste des sections inaltérables. Si votre Document ne comporte pas de <link linkend="fdl-cover-texts">texte de première page de couverture</link>, écrivez <quote>pas de texte de première page de couverture</quote> au lieu de <quote>texte de première page de couverture suivant TEXTE DE PREMIÈRE PAGE DE COUVERTURE</quote>; de même pour le <link linkend="fdl-cover-texts">texte de dernière page de couverture</link>.</para>
-
- <para>Si votre Document contient des exemples non triviaux de code programme, nous recommandons de distribuer ces exemples en parallèle sous <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">Licence Publique Générale GNU</ulink>, qui permet leur usage dans les logiciels libres.</para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="fr">
- <bookinfo>
- <title>Manuel de GTK-Doc</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>Manuel utilisateur pour les développeurs contenant les instructions sur l'usage de GTK-Doc.</para></abstract>
- <authorgroup>
- <author><firstname>Chris</firstname> <surname>Lyttle</surname> <affiliation> <address> <email>chris@wilddev.net</email> </address> </affiliation></author>
- <author><firstname>Dan</firstname> <surname>Mueth</surname> <affiliation> <address> <email>d-mueth@uchicago.edu</email> </address> </affiliation></author>
- <author><firstname>Stefan</firstname> <surname>Sauer (Kost)</surname> <affiliation> <address> <email>ensonic@users.sf.net</email> </address> </affiliation></author>
- </authorgroup>
- <publisher role="maintainer"><publishername>Projet GTK-Doc</publishername> <address><email>gtk-doc-list@gnome.org</email></address></publisher>
- <copyright><year>2000, 2005</year> <holder>Dan Mueth et Chris Lyttle</holder></copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la <citetitle>licence de documentation libre GNU</citetitle>, version 1.1 ou ultérieure publiée par la Free Software Foundation sans section inaltérable, sans texte de première page de couverture ni texte de dernière page de couverture. Vous trouverez un exemplaire de cette licence en suivant ce <link linkend="fdl">lien</link>.</para>
- <para>La plupart des noms utilisés par les entreprises pour distinguer leurs produits et services sont des marques déposées. Lorsque ces noms apparaissent dans la documentation GNOME et que les membres du projet de Documentation GNOME sont informés de l'existence de ces marques déposées, soit ces noms entiers, soit leur première lettre est en majuscule.</para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.28</revnumber>
- <date>24 Mar 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.27</revnumber>
- <date>07 Dec 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>fine tuning of the python port</revremark>
- </revision>
- <revision><revnumber>1.26</revnumber> <date>11 Aug 2017</date> <authorinitials>ss</authorinitials> <revremark>portage de tous les outils depuis perl/bash vers python</revremark></revision>
- <revision><revnumber>1.25</revnumber> <date>21 March 2016</date> <authorinitials>ss</authorinitials> <revremark>corrections d'anomalies, nettoyages de test</revremark></revision>
- <revision><revnumber>1.24</revnumber> <date>29 May 2015</date> <authorinitials>ss</authorinitials> <revremark>corrections d'anomalies</revremark></revision>
- <revision><revnumber>1.23</revnumber> <date>17 May 2015</date> <authorinitials>ss</authorinitials> <revremark>corrections d'anomalies
-</revremark></revision>
- <revision><revnumber>1.22</revnumber> <date>07 May 2015</date> <authorinitials>ss</authorinitials> <revremark>corrections d'anomalies, abandon de fonctionnalités obsolètes</revremark></revision>
- <revision><revnumber>1.21</revnumber> <date>17 Jul 2014</date> <authorinitials>ss</authorinitials> <revremark>corrections d'anomalies, abandon de fonctionnalités obsolètes</revremark></revision>
- <revision>
- <revnumber>1.20</revnumber>
- <date>16 Feb 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, markdown support, style improvements</revremark>
- </revision>
- <revision><revnumber>1.19</revnumber> <date>05 Jun 2013</date> <authorinitials>ss</authorinitials> <revremark>corrections d'anomalies</revremark></revision>
- <revision><revnumber>1.18</revnumber> <date>14 Sep 2011</date> <authorinitials>ss</authorinitials> <revremark>correction de bogues, amélioration de la vitesse de traitement, prise en charge de markdown</revremark></revision>
- <revision><revnumber>1.17</revnumber> <date>26 février 2011</date> <authorinitials>sk</authorinitials> <revremark>mise à jour pour une correction de bogue urgente</revremark></revision>
- <revision><revnumber>1.16</revnumber> <date>14 janvier 2011</date> <authorinitials>sk</authorinitials> <revremark>correctifs et améliorations de mise en page</revremark></revision>
- <revision><revnumber>1.15</revnumber> <date>21 mai 2010</date> <authorinitials>sk</authorinitials> <revremark>corrections d'anomalies et de régressions</revremark></revision>
- <revision><revnumber>1.14</revnumber> <date>28 mars 2010</date> <authorinitials>sk</authorinitials> <revremark>correctifs et amélioration de performances</revremark></revision>
- <revision><revnumber>1.13</revnumber> <date>18 décembre 2009</date> <authorinitials>sk</authorinitials> <revremark>mise à jour du tarball brisé</revremark></revision>
- <revision><revnumber>1.12</revnumber> <date>18 décembre 2009</date> <authorinitials>sk</authorinitials> <revremark>nouvelles fonctionnalités aux outils et résolution de bogues</revremark></revision>
- <revision><revnumber>1.11</revnumber> <date>16 novembre 2008</date> <authorinitials>mal</authorinitials> <revremark>Migration à GNOME doc-utils</revremark></revision>
- </revhistory>
-
-
- <othercredit class="translator">
- <personname>
- <firstname>Yannick Tailliez</firstname>
- </personname>
- <email>ytdispatch-libre02@yahoo.com</email>
- </othercredit>
- <copyright>
-
- <year>2009</year>
-
- <holder>Yannick Tailliez</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Frédéric Péters</firstname>
- </personname>
- <email>fpeters@0d.be</email>
- </othercredit>
- <copyright>
-
- <year>2009</year>
-
- <holder>Frédéric Péters</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Bruno Brouard</firstname>
- </personname>
- <email>annoa.b@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2010</year>
-
- <year>2012</year>
-
- <holder>Bruno Brouard</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Claude Paroz</firstname>
- </personname>
- <email>claude@2xlibre.net</email>
- </othercredit>
- <copyright>
-
- <year>2010</year>
-
- <holder>Claude Paroz</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Gérard Baylard</firstname>
- </personname>
- <email>Geodebay@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2010</year>
-
- <holder>Gérard Baylard</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Luc Pionchon</firstname>
- </personname>
- <email>pionchon.luc@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2011</year>
-
- <holder>Luc Pionchon</holder>
- </copyright>
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>Introduction</title>
-
- <para>Ce chapitre présente GTK-Doc et fournit un aperçu de ce que c'est et de la manière de l'utiliser.</para>
-
- <sect1 id="whatisgtkdoc">
- <title>Qu'est-ce que GTK-Doc ?</title>
-
- <para>GTK-Doc est utilisé pour documenter du code C. Il est typiquement utilisé pour documenter les API publiques de bibliothèques, comme les bibliothèques GTK+ et GNOME. Mais il peut aussi être utilisé pour documenter du code d'application.</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>Fonctionnement de GTK-Doc ?</title>
-
- <para>GTK-Doc fonctionne en utilisant la documentation de fonctions placées dans le code source sous la forme de blocs de commentaires avec un formatage spécifique ou la documentation ajoutée aux fichiers prototypes que GTK-Doc utilise (notez cependant que GTK-Doc ne documente que les fonctions déclarées dans des fichiers d'en-tête ; il ne fait rien pour les fonctions statiques).</para>
-
- <para>GTK-Doc consiste en un certain nombre de scripts Python, chacun réalisant une étape du processus.</para>
-
- <para>Il y a 5 étapes principales :</para>
-
- <orderedlist>
-
- <listitem>
- <para>
- <guilabel>Writing the documentation.</guilabel>
-
- The author fills in the source files with the documentation for each
- function, macro, structs or unions, etc.
- </para>
- </listitem>
-
- <listitem>
- <para><guilabel>Collecte des informations sur le code.</guilabel> <application>gtkdoc-scan</application> analyse les fichiers d'en-tête du code à la recherche des déclarations de fonctions, de macros, d'énumérations, de structures et d'unions. Il crée le fichier <filename><module>-decl-list.txt</filename> contenant une liste des déclarations en les plaçant dans des sections en accord avec le fichier d'en-tête d'où elles proviennent. Lors du premier lancement, ce fichier est copié dans <filename><module>-sections.txt</filename>. L'auteur peut réorganiser les sections et l'ordre des déclarations dans celui-ci, pour obtenir l'ordre final souhaité. Le deuxième fichier généré est <filename><module>-decl.txt</filename>. Ce fichier contient les déclarations complètes trouvées lors de l'analyse. Si, pour une raison quelconque, on souhaite voir apparaître dans la documentation des éléments qui n'ont pas été trouvé lors de l'analyse, ou dont la déclaration doit apparaître différemment, il est possible d'ajouter des entrées dans <filename><module>-overrides.txt</filename> similaires à celle de <filename><module>-decl.txt</filename>.</para>
- <para><application>gtkdoc-scanobj</application> peut aussi être utilisé pour interroger de manière dynamique une bibliothèque à propos de n'importe quelle sous-classe de GtkObject qu'elle exporte. Il enregistre les informations sur la position de chaque objet dans la hiérarchie de classe et sur tous les arguments et signaux GTK fournis.</para>
- <para><application>gtkdoc-scanobj</application> ne devrait plus être utilisé. Il était nécessaire par le passé lorsque GObject était encore GtkObject dans gtk+.</para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Generating the XML and HTML/PDF.</guilabel>
-
- <application>gtkdoc-mkdb</application> turns the template files into
- XML files in the <filename class="directory">xml/</filename> subdirectory.
- If the source code contains documentation on functions, using the
- special comment blocks, it gets merged in here. If there are no tmpl files used
- it only reads docs from sources and introspection data.
- </para>
- <para>
- <application>gtkdoc-mkhtml</application> turns the XML files into HTML
- files in the <filename class="directory">html/</filename> subdirectory.
- Likewise <application>gtkdoc-mkpdf</application> turns the XML files into a PDF
- document called <filename><package>.pdf</filename>.
- </para>
- <para>Les fichiers dans les répertoires <filename class="directory">xml/</filename> et <filename class="directory">html/</filename> sont toujours écrasés. Il ne faut pas les modifier directement.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Résolution des références croisées entre les documents.</guilabel> Après installation des fichiers HTML, <application>gtkdoc-fixxref</application> peut être exécuté pour résoudre toutes les références croisées entre les différents documents. Par exemple, la documentation de GTK+ contient beaucoup de références croisées vers des types documentés dans le manuel de GLib. Lors de la création de l'archive des sources pour la distribution, <application>gtkdoc-rebase</application> transforme tous les liens externes en liens Web. Lorsque vous installez la documentation distribuée (pré-générée), la même application va essayer de retransformer les liens en liens locaux (là où ces documentations sont installées).</para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>Obtention de GTK-Doc</title>
-
- <sect2 id="requirements">
- <title>Pré-requis</title>
- <para><guilabel>python 2/3</guilabel> - les principaux scripts sont écrits en Python.</para>
- <para>
- <guilabel>xsltproc</guilabel> - the xslt processor from libxslt
- <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink>
- </para>
- <para>
- <guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets
- <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>
- </para>
- <para>
- One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> or
- <guilabel>vim</guilabel> - optional - used for syntax highlighting of examples
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>À propos de GTK-Doc</title>
-
- <para>
- Historically GTK-Doc was used to generate template files from the sources
- code. These template files could be used by developers to enter the
- API documentation. This approach was rather inconvenient because it
- required to keep the generated files under version control.
- Since GTK-Doc 1.9 it became possible to place all API information
- into source comments, which made the template support obsolete.
- In version 1.26 template support has been removed.
- </para>
-
- <para>(À COMPLETER)</para>
-
- <para>
- (authors, web pages, mailing list, license, future plans,
- comparison with other similar systems.)
- </para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>À propos de ce manuel</title>
-
- <para>(À COMPLETER)</para>
-
- <para>(qui est concerné, où le récupérer, licence)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Project Setup</title>
-
- <para>
- This Chapter describes the steps that are necessary to integrate GTK-Doc
- into your project. The integration of GTK-Doc into a project includes the
- following steps:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Preparation of the directory structure and creating required
- configuration files for your GTK-Doc documentation (see
- <link linkend="settingup_docfiles">
- Setting up a skeleton documentation</link>).
- </para>
- </listitem>
- <listitem>
- <para>
- Adjusting the build system to build your documentation using the
- GTK-Doc tools. Multiple build systems are supported, in
- this manual we describe how to integrate GTK-Doc with
- <link linkend="settingup_autotools">Autotools</link>,
- <link linkend="settingup_cmake">CMake</link>, and
- <link linkend="settingup_plain_makefiles">plain Makefiles</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adding GTK-Doc specific files to version control and deciding which
- files to ignore (see <link linkend="settingup_vcs">
- Integration with version control systems</link>).
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The following sections assume we work on a project called
- <code>meep</code>.
- This project contains two packages (or modules),
- a library called <code>libmeep</code> and an end-user app
- called <code>meeper</code>.
- </para>
-
- <sect1 id="settingup_docfiles">
- <title>Mise en place du squelette de documentation</title>
-
- <para>
- A common convention is to place documentation into a folder called
- <code>docs</code> inside your top-level project directory.
- We usually distinguish between <emphasis>reference
- documentation</emphasis> intended for developers and an
- <emphasis>user manual</emphasis> intended for end-users.
- Again the convention is to have separate folders for both.
- We usually place the reference documentation in a folder named
- <code>reference</code> and the end-user manual in a folder named
- <code>help</code> as.
-
- According to the above convention the documentation for our
- <code>libmeep</code> package would be placed into:
- <code>docs/reference/libmeep</code>.
-
- For packages with just one library or application
- the documentation could also be placed directly into
- <code>docs/reference</code>.
-
- It is not mandatory to use the above convention, but if you
- choose to use a different directory structure you must adjust
- your build system configuration to match your directory
- structure.
- </para>
-
- <para>
- In the following sections we will assume a directory structure
- for our <emphasis>meep</emphasis> project that uses the above
- conventions.
-
- <example>
- <title>Example directory structure of <emphasis>meep</emphasis>
- project</title>
- <programlisting><![CDATA[
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integration with Autotools</title>
- <para>
- Integration of GTK-Doc into an autotools-based build system requires the
- following steps:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Ensure that <application>gtkdocize</application> is run once before
- the <filename>configure</filename> script. If an
- <filename>autogen.sh</filename> script is present, adjust it to
- check for GTK-Doc and add a call to
- <application>gtkdocize</application>.
- </para>
-
- <para>
- The main purpose of <application>gtkdocize</application> is to
- make the <filename>gtk-doc.make</filename> Makefile and the
- <filename>gtk-doc.m4</filename> macro definition file available
- to the build system, either by copying or linking it
- into the project.
- </para>
- </listitem>
- <listitem>
- <para>
- Add the necessary <application>autoconf</application> macros to
- <filename>configure.ac</filename> to enable GTK-Doc in your build
- system to allow configuration of GTK-Doc via the generated
- <filename>configure</filename> script.
- </para>
- <para>
- Among others with registers the <code>--enable-gtk-doc</code>
- option with the <filename>configure</filename> script.
- </para>
- </listitem>
- <listitem>
- <para>
- Create an <application>automake</application> script for each
- application or library in your project. In the example used in this
- documentation this step applies to both <code>meeper</code> and
- <code>libmeep</code>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the following sections, we will perform the above steps in reverse
- order. We start with the <application>automake</application> scripts
- and work our way up to <filename>configure.ac</filename> and
- <filename>autogen.sh</filename>.
- Then we show how enable Gtk-Doc in the build system and
- how to build the documentation.
- </para>
-
- <sect2 id="settingup_automake">
- <title>Intégration avec automake</title>
-
- <para>
- First copy the <filename>Makefile.am</filename> from the
- <filename class="directory">examples</filename> sub-directory of the
- <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">
- gtkdoc-sources</ulink>
- to your project's reference documentation directory (e.g.
- <filename class="directory">docs/reference/<package></filename>).
- A local copy should be available under e.g.
- <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>.
- If you have multiple packages repeat this for each one.
- </para>
-
- <note>
- <simpara>
- Do not forget to add each <filename>Makefile.am</filename>
- to the <function>AC_CONFIG_FILES</function> macro in
- <filename>configure.ac</filename>. For
- <filename>docs/reference/libmeep/Makefile.am</filename> you will
- need to add the entry
- <filename>docs/reference/libmeep/Makefile</filename>
- to <function>AC_CONFIG_FILES</function>.
- </simpara>
- </note>
-
- <example>
- <title>
- Example directory structure with <filename>Makefiles.am</filename>
- </title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>
- Next, you need to customize the copied Makefiles
- and provide values for the various parameters in each
- <filename>Makefile.am</filename>.
-
- All settings have a comment above them that describes their purpose
- and how to customize the setting.
-
- Most settings are used to supply extra flags to the respective tools
- to which they apply. Every tool
- has a variable of the form <option><TOOLNAME>_OPTIONS</option>
- (e.g. the tool <application>gtkdoc-mkhtml</application> has
- an option named <code>MKHTML_OPTIONS</code>).
-
- All the tools support <option>--help</option> to list the supported
- options.
- </para>
-
- <para>
- The following list explains the most relevant options. Check the
- example <filename>Makefile.am</filename> for additional options.
-
- <itemizedlist>
- <listitem>
- <para>
- <option>DOC_MODULE</option> is used to provide the name of the
- package that is being documentated (e.g. <code>meeper</code>, or
- <code>libmeep</code>).
- </para>
- </listitem>
- <listitem>
- <para>
- <option>DOC_SOURCE_DIR</option>
- is used to specify the location
- of source directory which GTK-Doc searches for your API
- documentation. This will usually be
- <code>
- DOC_SOURCE_DIR=$(top_srcdir)/src
- </code>
- or a sub-directory of that directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HFILE_GLOB</option>
- and
- <option>CFILE_GLOB</option>
- are used for dependencies. Each option take a file-glob (e.g.
- <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>).
- The documentation will be rebuilt if any of the matched files
- change.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>EXTRA_HFILES</option>
- allows to specify extra header files
- to include when scanning for API documentation, which are not
- found under <code>DOC_SOURCE_DIR</code> (e.g. <code>
- EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>IGNORE_HFILES</option>
- allows to specify header files
- or directories to ignore when scanning for API documentation.
- Use the basename of the file or directory (e.g. <code>
- IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HTML_IMAGES</option>
- allows to specify images files which
- will be copied into the <filename>html/</filename> directory of
- the generated documentation.
- If your API documentation includes any images they need to be
- added to this
- option (e.g. <code>
- HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>content_files</option>
- allows to specify extra files
- that are included by
- <code>$(DOC_MAIN_SGML_FILE)</code>
- (e.g. <code>
- content_files=running.xml building.xml changes-2.0.xml</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>expand_content_files</option>
- allows to specify files
- where <emphasis>gtk-doc abbreviations</emphasis> such as
- <code>#GtkWidget</code>
- are expanded (e.g. <code>
- expand_content_files=running.xml</code>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>Intégration avec autoconf</title>
-
- <para>
- Integration with <application>autoconf</application> is very simple
- and includes one required step and an additional optional
- (but recommended) step.
-
- The first step is to add the <function>GTK_DOC_CHECK</function> macro
- to your <filename>configure.ac</filename> script. This registers
- several configure options to enable GTK-Doc and allows you
- to set default arguments for <application>gtkdocize</application>.
- </para>
-
- <warning>
- <simpara>
- Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented.
- The macro must start at the beginning of the line and should not
- start with whitespace.
- </simpara>
- </warning>
-
- <para>
- The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code>
- to your <filename>configure.ac</filename>. This is not required
- but helps <application>gtkdocize</application> to automatically copy
- the macro definition (e.g <filename>gtk-doc.m4</filename>) which
- contains the <function>GTK_DOC_CHECK</function> macro to your
- project's macro directory. Without this, the GTK_DOC_CHECK macro
- might not be found and you would need to explicitly tell the
- <application>aclocal</application> tool where to find the macro
- definition file.
- </para>
-
- <para>
- <example><title>Minimal integration with autoconf</title>
- <programlisting><![CDATA[
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The above example works, but will require all developers to have
- gtk-doc installed. A better way is to make building the documentation
- optional as shown in the next example:
-
- <example>
- <title>Integration with optional gtk-doc dependency</title>
- <programlisting><![CDATA[
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The first argument is used to check for the Gtk-Doc version at
- configure time. The 2nd, optional argument is used by
- <application>gtkdocize</application>.
- The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure
- switches:
- </para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=CHEMIN : répertoire d'installation de la documentation,</para></listitem>
- <listitem><para>--enable-gtk-doc : utilisation de gtk-doc pour construire la documentation [par défaut=no],</para></listitem>
- <listitem><para>--enable-gtk-doc-html : construction de la documentation au format html [par défaut=yes],</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : build documentation in pdf format [default=no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>GTK-Doc est désactivé par défaut ! N'oubliez pas de passer l'option <option>'--enable-gtk-doc'</option> lors de la prochaine exécution du script <filename>configure</filename>. Dans le cas contraire, la documentation pré-générée est installée (ce qui a du sens pour les utilisateurs mais pas pour les développeurs).</para>
- </important>
-
- <para>
- After all changes to <filename>configure.ac</filename> are made,
- update the <filename>configure</filename> file. This can be done by
- re-running <code>autogen.sh</code>.
- </para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>Intégration avec autogen</title>
-
- <para>
- Most projects will have an <filename>autogen.sh</filename> script to
- setup the build infrastructure after the project was checked out from
- a version control system (such as git or svn). GTK-Doc comes with a
- script called <application>gtkdocize</application> which can be used
- to copy the necessary files needed by Gtk-Doc to the source directory.
- </para>
-
- <para>
- It should be run before autoreconf, autoheader, automake or autoconf.
- </para>
-
- <para>
- <example><title>Exécution de gtkdocize depuis autogen.sh</title>
- <programlisting>
-gtkdocize || exit 1
-</programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Conditionally run gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-]]></programlisting>
- </example>
- </para>
-
- <para>
- When running <application>gtkdocize</application> it copies
- <filename>gtk-doc.make</filename> to your project root (or any
- directory specified by the <option>--docdir</option> option).
- </para>
-
- <para>
- <application>gtkdocize</application> checks your
- <filename>configure.ac</filename> script for
- the <function>GTK_DOC_CHECK</function> macro.
- The <function>GTK_DOC_CHECK</function> macro can be used to pass
- extra arguments to the <application>gtkdocize</application> script.
- the 2nd parameter in the <function>GTK_DOC_CHECK</function> macro.
- </para>
-
- <para>
- Alternatively, additional arguments can also be passed to
- <application>gtkdocize</application> via the
- <function>GTKDOCIZE_FLAGS</function> environment variable, or by
- directly specifying them to <application>gtkdocize</application>
- in <filename>autogen.sh</filename>.
- </para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Executing GTK-Doc from the Build System</title>
-
- <para>Après toutes ces étapes, il est temps de lancer la construction. Tout d'abord, il faut relancer <filename>autogen.sh</filename>. Si ce script lance « configure » pour vous, alors il faut ajouter l'option <option>--enable-gtk-doc</option>, sinon lancez manuellement <filename>configure</filename> suivi de cette option.</para>
- <para>La première exécution de make génère plusieurs fichiers supplémentaires dans les répertoires de documentation (doc-directories). Les plus importants sont : <filename><paquet>.types</filename>, <filename><paquet>-docs.xml</filename> (anciennement .sgml), <filename><paquet>-sections.txt</filename>.</para>
- <para>
- <example><title>Lancement de la construction de la documentation</title>
- <programlisting>
-./autogen.sh --enable-gtk-doc
-make
-</programlisting>
- </example>
- </para>
-
- <para>
- Now you can point your browser to
- <filename>docs/reference/<package>/index.html</filename>.
- With this initial setup you will only see a very simple document.
- The next chapter will teach you how to add API documentation to your
- code via special comment blocks. The Chapter afterwards introduces
- <link linkend="metafiles">additional files</link> and shows how to
- edit the <link linkend="metafiles_master">master template</link> to
- add additional chapters and sections to your documentation files.
- </para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integration with CMake build systems</title>
-
- <para>
- GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module
- (and the corresponding <filename>GtkDocConfigVersion.cmake</filename>
- module). This provides a <literal>gtk_doc_add_module</literal>
- command that you can set in your <filename>CMakeLists.txt</filename>
- file.
- </para>
-
- <para>L'exemple suivant montre comment utiliser cette commande. <example><title>Exemple d'utilisation de GTK-Doc depuis CMake</title>
- <programlisting>
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Intégration avec des « makefiles » simples et d'autres systèmes de compilation</title>
-
- <para>Dans les cas où l'emploi de automake n'est pas souhaité et donc sans fichier <filename>gtk-doc.mak</filename>, il s'agit alors d'appeler les outils gtkdoc dans le bon ordre dans les fichiers « makefiles » ad hoc (ou d'autres systèmes).</para>
-
- <para>
- <example><title>Étapes de construction de la documentation</title>
- <programlisting>
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-</programlisting>
- </example>
- </para>
-
- <para>Il s'agit d'examiner les fichiers <filename>Makefile.am</filename> et <filename>gtk-doc.mak</filename> pour y trouver les options supplémentaires nécessaires.</para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>Intégration avec des systèmes de gestion de versions</title>
-
- <para>
- As a rule of thumb, it's the files you edit which should go under
- version control. For typical projects it's these files:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>,
- <filename>Makefile.am</filename>.
- </para>
- <para>
- Files in the <filename>xml/</filename> and <filename>html/</filename>
- directories should not go under version control. Neither should any of
- the <filename>.stamp</filename> files.
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>Documentation du code</title>
-
- <para>GTK-Doc utilise les commentaires du code source, avec une syntaxe spéciale pour la documentation du code. En outre, il récupère des informations sur la structure de votre projet à partir d'autres sources. La section suivante vous donne toutes les informations concernant la syntaxe des commentaires.</para>
-
- <para>
- The GTK-Doc scanner can handle the majority of C headers fine. In the
- case of receiving warnings from the scanner that look like a special
- case, one can hint GTK-Doc to skip over them.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-]]></programlisting>
- </example>
- </para>
-
- <note>
- <title>Limitations</title>
- <para>
- Note, that GTK-Doc's supports
- <code>#ifndef(__GTK_DOC_IGNORE__)</code> but not
- <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations.
- </para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>Commentaires de documentation</title>
-
- <para>Un commentaire multi-ligne qui commence avec un symbole « * » supplémentaire indique un bloc de documentation qui sera traité par les outils GTK-Doc. <example><title>Bloc de commentaire GTK-Doc</title>
- <programlisting>
-/**
- * identifier:
- * documentation ...
- */
-</programlisting>
- </example></para>
-
- <para>L'« identifier » (identifiant) est une ligne contenant le nom de l'élément avec lequel le commentaire est lié. La syntaxe diffère légèrement en fonction de l'élément. (À FAIRE : ajouter un tableau montrant les identifiants)</para>
-
- <para>
- The 'documentation' block is also different for each symbol type. Symbol
- types that get parameters such as functions or macros have the parameter
- description first followed by a blank line (just a '*').
- Afterwards follows the detailed description. All lines (outside program
- listings and CDATA sections) just containing a ' *' (blank-asterisk) are
- converted to paragraph breaks.
- If you don't want a paragraph break, change that into ' * '
- (blank-asterisk-blank-blank). This is useful in preformatted text (code
- listings).
- </para>
-
- <tip>
- <para>En documentant le code, deux aspects doivent être abordés : <itemizedlist>
- <listitem>
- <para>Ce que c'est : le nom d'une classe ou d'une fonction peut parfois être trompeur pour les personnes habituées à d'autres environnements.</para>
- </listitem>
- <listitem>
- <para>Ce qu'il fait : indiquer les usages courants. À mettre en relation avec les autres API.</para>
- </listitem>
- </itemizedlist></para>
- </tip>
-
- <para>L'un des avantages de l'hypertexte par rapport au texte simple, c'est la possibilité d'avoir des liens dans les documents. Écrire correctement le balisage d'un lien peut être fastidieux. GTK-Doc fournit plusieurs raccourcis utiles pour vous aider. <itemizedlist>
- <listitem>
- <para>Utilisez fonction() pour vous référer à des fonctions ou des macros qui prennent des arguments.</para>
- </listitem>
- <listitem>
- <para>Utilisez @paramètre pour vous référer aux paramètres. Utilisez-le aussi pour les paramètres d'autres fonctions, en relation avec celle décrite.</para>
- </listitem>
- <listitem>
- <para>Utilisez %constante pour vous référer à une constante, par ex. : %MA_CONSTANTE.</para>
- </listitem>
- <listitem>
- <para>Utilisez #symbole pour vous référer à d'autres types de symbole. Par exemple des structures, énumérations ou macros qui ne prennent pas d'arguments.</para>
- </listitem>
- <listitem>
- <para>
- Use #Object::signal to refer to a GObject signal.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object:property to refer to a GObject property.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Struct.field to refer to a field inside a structure and
- #GObjectClass.foo_bar() to refer to a vmethod.
- </para>
- </listitem>
- </itemizedlist></para>
-
- <tip>
- <para>Si vous avez besoin d'utiliser les caractères spéciaux « '<', '> », « () », « @ », « % » ou « # » dans votre documentation sans que GTK-Doc ne les interprète, vous pouvez utiliser les entités XML « &lt; », « &gt; », « &lpar; », « &rpar; », « &commat; », « &percnt; », « &num; » ou les échapper en les précédant d'un antislash « \ ».</para>
- </tip>
-
- <para>
- DocBook can do more than just links. One can also have lists,
- examples, headings, and images. As of version 1.20, the
- preferred way is to use a subset of the basic text formatting
- syntax called
- <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>.
- On older GTK-Doc versions any documentation that includes
- Markdown will be rendered as is. For example, list items will
- appear as lines starting with a dash.
- </para>
-
- <para>
- While markdown is now preferred one can mix both. One limitation here is
- that one can use docbook xml within markdown, but markdown within
- docbook xml is not supported.
- </para>
-
- <para>
- In older GTK-Doc releases, if you need support for additional
- formatting, you would need to enable the usage of docbook
- XML tags inside doc-comments by putting <option>--xml-mode</option>
- (or <option>--sgml-mode</option>) in the variable
- <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
- </para>
-
- <para>
- <example><title>GTK-Doc comment block using Markdown</title>
- <programlisting><
- *
- * 
- *
- * [A link to the heading anchor above][heading-two]
- *
- * A C-language example:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- More examples of what markdown tags are supported can be found in the
- <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">GTK+ Documentation Markdown Syntax Reference</ulink>.
- </para>
-
- <tip>
- <para>
- As already mentioned earlier GTK-Doc is for documenting public API. Thus
- one cannot write documentation for static symbols. Nevertheless it is good
- to comment those symbols too. This helps other developers to understand
- your code.
- Therefore we recommend to comment these using normal comments (without the
- 2nd '*' in the first line).
- If later the function needs to be made public, all one needs to do is to
- add another '*' in the comment block and insert the symbol name at the
- right place inside the sections file.
- </para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>Documentation des sections</title>
-
- <para>Chaque section de la documentation contient des informations sur une classe ou un module. Pour introduire le composant, il est possible d'écrire un bloc de section. La description courte est également utilisée dans la table des matières. Tous les @champs sont facultatifs.</para>
-
- <para>
- <example><title>Bloc de commentaires de section</title>
- <programlisting>
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-</programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<nom></term>
- <listitem>
- <para>
- The name links the section documentation to the respective part in
- the <filename><package>-sections.txt</filename> file. The
- name given here should match the <FILE> tag in the
- <filename><package>-sections.txt</filename> file.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>Une description de la section en une seule ligne, elle apparaîtra derrière les liens dans la table des matières et au début de la page de la section.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>Par défaut, la section titre est celle de la déclaration SECTION: <nom>. Elle peut être modifiée grâce au champ @title.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>Remplace l'utilisation du titre comme identificateur de section. Pour GObjects, <title> est utilisé à la place de section_id et pour les autres sections, c'est <MODULE>-<title>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>Une liste de symboles qui ont un lien avec cette section.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>
- An informal description of the stability level this API has.
- We recommend the use of one of these terms:
- <itemizedlist>
- <listitem>
- <para>
- Stable
- - The intention of a Stable interface is to enable arbitrary
- third parties to develop applications to these interfaces,
- release them, and have confidence that they will run on all
- minor releases of the product (after the one in which the
- interface was introduced, and within the same major release).
- Even at a major release, incompatible changes are expected
- to be rare, and to have strong justifications.
- </para>
- </listitem>
- <listitem>
- <para>
- Unstable
- - Unstable interfaces are experimental or transitional.
- They are typically used to give outside developers early
- access to new or rapidly changing technology, or to provide
- an interim solution to a problem where a more general
- solution is anticipated.
- No claims are made about either source or binary
- compatibility from one minor release to the next.
- </para>
- </listitem>
- <listitem>
- <para>
- Private
- - An interface that can be used within the GNOME stack
- itself, but that is not documented for end-users. Such
- functions should only be used in specified and documented
- ways.
- </para>
- </listitem>
- <listitem>
- <para>
- Internal
- - An interface that is internal to a module and does not
- require end-user documentation. Functions that are
- undocumented are assumed to be Internal.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>Les fichiers <literal>#include</literal> à afficher dans le résumé de la section (liste d'éléments séparés par des virgules), elle outrepasse la valeur globale du <link linkend="metafiles_sections">fichier de section</link> ou de la ligne de commande. Cet élément est facultatif.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>L'image à afficher en haut de la page de référence pour cette section. C'est très souvent une espèce de diagramme pour illustrer l'apparence visuelle d'une classe ou un diagramme de ses relations avec d'autres classes. Cet élément est facultatif.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>Pour éviter des recompilations inutiles après des modifications de la documentation, placez la documentation de section dans les fichiers sources C, lorsque cela est possible.</para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>Documentation des symboles</title>
-
- <para>Chaque symbole (fonction, macro, structure, énumération, signal et propriété) est documenté dans un bloc séparé. Il est mieux de placer le bloc près de la définition de son symbole pour faciliter sa synchronisation. Par conséquent, les fonctions sont habituellement documentées dans les fichiers sources C et les macros et les structures et les énumérations le sont dans le fichier d'en-tête.</para>
-
- <sect2><title>Étiquettes générales</title>
-
- <para>Vous pouvez ajouter des informations de version à tous les éléments de documentation pour indiquer quand l'API a été introduite ou quand elle est devenue obsolète.</para>
-
- <variablelist><title>Étiquettes de version</title>
- <varlistentry><term>« Since »:</term>
- <listitem>
- <para>Texte indiquant depuis quelle version du code cette API est disponible.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>« Deprecated » :</term>
- <listitem>
- <para>Texte indiquant que cette fonction ne doit plus être utilisée. La description doit rediriger le lecteur vers la nouvelle API.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- You can also add stability information to all documentation elements
- to indicate whether API stability is guaranteed for them for all
- future minor releases of the project.
- </para>
-
- <para>
- The default stability level for all documentation elements can be set
- by passing the <option>--default-stability</option> argument to
- <application>gtkdoc-mkdb</application> with one of the values below.
- </para>
-
- <variablelist><title>Stability Tags</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>
- Mark the element as stable. This is for public APIs which are
- guaranteed to remain stable for all future minor releases of the
- project.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>
- Mark the element as unstable. This is for public APIs which are
- released as a preview before being stabilised.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>
- Mark the element as private. This is for interfaces which can be
- used by tightly coupled modules, but not by arbitrary third
- parties.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>Étiquettes générales</title>
- <programlisting>
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Annotations</title>
-
- <para>
- Documentation blocks can contain annotation-tags. These tags will be
- rendered with tooltips describing their meaning. The tags are used by
- gobject-introspection to generate language bindings. A detailed list
- of the supported tags can be found on
- <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">the wiki</ulink>.
- </para>
-
- <example><title>Annotations</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: (annotation): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (another annotation)
- * (and another annotation)
- * @foo: (annotation) (another annotation): some foo
- *
- * Sets bar on @foo.
- */
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Bloc de commentaires pour les fonctions</title>
-
- <para>N'oubliez pas : <itemizedlist>
- <listitem>
- <para>d'indiquer si les objets, listes, chaînes, etc. retournés doivent être freed/unfreed/released,</para>
- </listitem>
- <listitem>
- <para>d'indiquer si les paramètres peuvent être NULL et ce qui se passe dans ce cas.</para>
- </listitem>
- <listitem>
- <para>Mentionner les pré-conditions et post-conditions intéressantes si nécessaire.</para>
- </listitem>
- </itemizedlist></para>
-
- <para>GTK-Doc considère que tous les symboles (macros, fonctions) commençant par « _ » sont privés. Ils sont traités comme des fonctions statiques.</para>
-
- <example><title>Bloc de commentaires pour les fonctions</title>
- <programlisting>
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-</programlisting>
- </example>
-
- <variablelist><title>Étiquettes de fonction</title>
- <varlistentry><term>« Returns » :</term>
- <listitem>
- <para>Paragraphe décrivant le résultat retourné.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>Au cas où la fonction possède des arguments variables, vous devriez utiliser cette étiquette (@Varargs : peut également être utilisé pour des raisons historiques).</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>Bloc de commentaires pour les propriétés</title>
-
- <example><title>Bloc de commentaires pour les propriétés</title>
- <programlisting>
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Bloc de commentaires pour les signaux</title>
-
- <para>N'oubliez pas : <itemizedlist>
- <listitem>
- <para>Documenter lorsque le signal est émis et s'il est émis avant ou après d'autres signaux,</para>
- </listitem>
- <listitem>
- <para>Documenter ce qu'une application pourrait faire dans le gestionnaire du signal.</para>
- </listitem>
- </itemizedlist></para>
-
- <example><title>Bloc de commentaires pour les signaux</title>
- <programlisting><![CDATA[
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Bloc de commentaire pour les structures</title>
- <example><title>Bloc de commentaire pour les structures</title>
- <programlisting>
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-</programlisting>
- </example>
-
- <para>Utilisez <code>/*< private >*/</code> avant les champs de structures privées que vous voulez cacher. Utilisez <code>/*< public >*/</code> dans le cas contraire.</para>
-
- <para>
- If the first field is "g_iface", "parent_instance" or "parent_class"
- it will be considered private automatically and doesn't need to be
- mentioned in the comment block.
- </para>
-
- <para>Les blocs de commentaire pour les structures peuvent aussi être utilisés avec GObjects et GObjectClasses. Il est normalement recommandé d'ajouter un bloc de commentaire pour une classe, si elle contient des vmethods (car c'est la manière de les documenter). Pour GObject, il est possible d'utiliser la documentation de section correspondante ; la présence d'un bloc séparé pour la structure de l'instance serait utile si l'instance possède des champs publics. Le désavantage ici étant que cela crée deux entrées d'index pour le même nom (la structure et la section).</para>
-
- </sect2>
-
- <sect2><title>Bloc de commentaire pour les énumérations</title>
- <example><title>Bloc de commentaire pour les énumérations</title>
- <programlisting>
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-</programlisting>
- </example>
-
- <para>Utilisez <code>/*< private >*/</code> avant les valeurs d'énumérations privées que vous voulez cacher. Utilisez <code>/*< public >*/</code> dans le cas contraire.</para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Inline program documentation</title>
- <para>
- You can document programs and their commandline interface using inline
- documentation.
- </para>
-
- <variablelist>
- <title>Tags</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>
- Defines the start of a program documentation.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>
- Defines a short description of the program. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>
- Defines the arguments, or list of arguments that the program can take.
- (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>
- See Also manual page section. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>
- Argument(s) passed to the program and their description. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>
- A longer description of the program.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>« Returns » :</term>
- <listitem>
- <para>
- Specify what value(s) the program returns. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Example of program documentation.</title>
- <example><title>Bloc de documentation programme</title>
- <programlisting><![CDATA[
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-]]></programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>Balises DocBook utiles</title>
-
- <para>Voici quelques balises DocBook très utiles pendant la conception de la documentation d'un code.</para>
-
- <para>Pour créer un lien vers une autre section dans la documentation GTK : <informalexample>
- <programlisting>
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-</programlisting>
- </informalexample> l'élément « linkend » est l'identifiant SGML/XML de l'élément le plus haut sur la page vers laquelle vous voulez pointer. Pour la plupart des pages, c'est en général la partie (« gtk », « gdk », « glib ») suivi du titre de la page (« Hash Tables »). Pour les éléments graphiques, c'est simplement le nom de la classe. Les espaces et les caractères de soulignement sont convertis en « - » pour être conforme au SGML/XML.</para>
-
- <para>Pour faire référence à une fonction externe comme, par exemple, à une fonction C standard : <informalexample>
- <programlisting>
-<function>...</function>
-</programlisting>
- </informalexample></para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>Pour ajouter une liste à puces : <informalexample>
- <programlisting>
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-</programlisting>
- </informalexample></para>
-
- <para>Pour ajouter une note de bas de page : <informalexample>
- <programlisting>
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-</programlisting>
- </informalexample></para>
-
- <para>Pour se référer à un type : <informalexample>
- <programlisting>
-<type>unsigned char</type>
-</programlisting>
- </informalexample></para>
-
- <para>Pour se référer à une structure externe (non décrite dans la documentation GTK) : <informalexample>
- <programlisting>
-<structname>XFontStruct</structname>
-</programlisting>
- </informalexample></para>
-
- <para>Pour se référer à un champ d'une structure : <informalexample>
- <programlisting>
-<structfield>len</structfield>
-</programlisting>
- </informalexample></para>
-
- <para>Pour se référer au nom d'une classe, il est possible d'utiliser : <informalexample>
- <programlisting>
-<classname>GtkWidget</classname>
-</programlisting>
- </informalexample> mais vous utiliserez probablement #GtkWidget à la place (pour créer automatiquement un lien vers la page GtkWidget - consultez <link linkend="documenting_syntax">les raccourcis</link>).</para>
-
- <para>Pour mettre en évidence un texte : <informalexample>
- <programlisting>
-<emphasis>This is important</emphasis>
-</programlisting>
- </informalexample></para>
-
- <para>Pour les noms de fichiers : <informalexample>
- <programlisting>
-<filename>/home/user/documents</filename>
-</programlisting>
- </informalexample></para>
-
- <para>Pour se référer à des touches : <informalexample>
- <programlisting>
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-</programlisting>
- </informalexample></para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Remplissage des fichiers supplémentaires</title>
-
- <para>Il y a plusieurs fichiers supplémentaires, qui ont besoin d'être maintenus en parallèle aux commentaires dans le code source : <filename><package>.types</filename>, <filename><package>-docs.xml</filename> (anciennement .sgml), <filename><package>-sections.txt</filename>.</para>
-
- <sect1 id="metafiles_types">
- <title>Édition des fichiers types</title>
-
- <para>
- If your library or application includes GObjects, you want
- their signals, arguments/parameters and position in the hierarchy to be
- shown in the documentation. All you need to do, is to list the
- <function>xxx_get_type</function> functions together with their include
- inside the <filename><package>.types</filename> file.
- </para>
-
- <para>
- <example><title>Example <package>.types file</title>
- <programlisting>
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-</programlisting>
- </example>
- </para>
-
- <para>Depuis GTK-Doc 1.8, <application>gtkdoc-scan</application> peut générer cette liste pour vous. Ajoutez simplement l'option « --rebuild-types » à SCAN_OPTIONS dans le fichier <filename>Makefile.am</filename>. Si vous utilisez cette approche vous ne devriez pas distribuer le fichier « types », ni l'avoir dans le système de gestion de versions.</para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>Édition du document maître</title>
-
- <para>GTK-Doc génère de la documentation au format SGML/XML DocBook. Lors du traitement des commentaires dans les fichiers sources, les outils GTK-Doc génèrent une page de documentation par classe ou par module dans un fichier séparé. Le document maître les inclut et les place dans l'ordre.</para>
-
- <para>
- While GTK-Doc creates a template master document for you, later runs will
- not touch it again. This means that one can freely structure the
- documentation. That includes grouping pages and adding extra pages.
- GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
- Its a good idea to look at this from time to time to see if there are
- some new goodies introduced there.
- </para>
-
- <tip>
- <para>Ne créez pas de tutoriels comme documents supplémentaires. Écrivez juste des chapitres supplémentaires. L'avantage d'inclure le tutoriel de votre bibliothèque directement dans la documentation de l'API est qu'il est facile d'y ajouter des liens qui pointent vers la documentation des symboles. De plus, il y aura plus de chance que votre tutoriel soit mis à jour en même temps que la bibliothèque.</para>
- </tip>
-
- <para>Alors, quelles sont les choses à modifier dans le document maître ? Pour commencer, très peu de choses. Il n'y a quelques paramètres substituables (texte entre crochets) que vous devrez prendre en charge.</para>
-
- <para>
- <example><title>En-tête du document maître</title>
- <programlisting>
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-</programlisting>
- </example>
- </para>
-
- <para>
- In addition a few option elements are created in commented form. You can
- review these and enable them as you like.
- </para>
-
- <para>
- <example><title>Partie optionnelle dans le document maître</title>
- <programlisting><![CDATA[
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Finally you need to add new section whenever you introduce one. The
- <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> tool will
- remind you of newly generated xml files that are not yet included into
- the doc.
- </para>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting>
- <chapter>
- <title>my library</title>
- <xi:include href="xml/object.xml"/>
- ...
-</programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>Édition du fichier section</title>
-
- <para>Le fichier section est utilisé pour organiser la documentation générée par GTK-Doc. C'est ici qu'il faut indiquer quels symboles sont attachés à quels modules ou classes et contrôler la visibilité (« public » ou « private »).</para>
-
- <para>
- The section file is a plain text file with tags delimiting sections.
- Blank lines are ignored and lines starting with a '#' are treated as
- comment lines.
- </para>
-
- <note>
- <para>
- While the tags make the file look like xml, it is not. Please do not
- close tags like <SUBSECTION>.
- </para>
- </note>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting>
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-</programlisting>
- </example>
- </para>
-
- <para>
- The <FILE> ... </FILE> tag is used to specify the file name,
- without any suffix. For example, using '<FILE>gnome-config</FILE>'
- will result in the section declarations being output in the template
- file <filename>tmpl/gnome-config.sgml</filename>, which will be
- converted into the DocBook XML file <filename>xml/gnome-config.sgml</filename>
- or the DocBook XML file <filename>xml/gnome-config.xml</filename>.
- (The name of the HTML file is based on the module name and the section
- title, or for GObjects it is based on the GObjects class name converted
- to lower case).
- </para>
-
- <para>La balise <TITLE> ... </TITLE> est utilisée pour indiquer le titre de la section. C'est utile seulement avant la création initiale des prototypes, car ensuite le titre défini dans le prototype est prioritaire. Elle est également obsolète si des commentaires de SECTION sont utilisés dans les fichiers sources.</para>
-
- <para>
- You can group items in the section by using the <SUBSECTION> tag.
- Currently it outputs a blank line between subsections in the synopsis
- section.
- You can also use <SUBSECTION Standard> for standard GObject
- declarations (e.g. the functions like g_object_get_type and macros like
- G_OBJECT(), G_IS_OBJECT() etc.).
- Currently these are left out of the documentation.
- You can also use <SUBSECTION Private> for private declarations
- which will not be output (it is a handy way to avoid warning messages
- about unused declarations).
- If your library contains private types which you don't want to appear in
- the object hierarchy and the list of implemented or required interfaces,
- add them to a Private subsection.
- Whether you would place GObject and GObjectClass like structs in public
- or Standard section depends if they have public entries (variables,
- vmethods).
- </para>
-
- <para>Vous pouvez utiliser les balises <INCLUDE> ... </INCLUDE> pour indiquer les fichiers #include qui sont affichés dans les sections résumé. Elles contiennent une liste de fichiers #include, séparés par des virgules, sans les chevrons. Si vous les placez en dehors d'une section, elles s'appliquent à toutes les sections jusqu'à la fin du fichier. Si vous les placez dans une section, elles s'appliquent seulement à cette section.</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>Contrôle du résultat</title>
-
- <para>Une exécution de GTK-Doc produit des fichiers de compte-rendu dans le répertoire de documentation. Ces fichiers sont nommés : <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> et <filename><package>-unused.txt</filename>. Tous ces fichiers texte peuvent être lus et post-traités facilement.</para>
-
- <para>Le fichier <filename><package>-undocumented.txt</filename> commence avec un résumé du sujet couvert par la documentation. Suivent deux sections séparées par des lignes blanches. La première section liste les symboles non documentés ou incomplets. La seconde section fait de même pour les documentations de sections. Les éléments incomplets sont ceux qui possèdent une documentation mais auxquels, par exemple, un paramètre a été ajouté.</para>
-
- <para>Le fichier <filename><package>-undeclared.txt</filename> liste les symboles contenus dans le fichier <filename><package>-sections.txt</filename> mais non trouvés dans les fichiers sources. Vérifiez s'ils n'ont pas été supprimés ou mal orthographiés.</para>
-
- <para>Le fichier <filename><package>-unused.txt</filename> liste les noms des symboles pour lesquels l'analyseur GTK-Doc a trouvé de la documentation mais ne sait pas où la placer. Cela signifie que le symbole n'a pas encore été ajouté au fichier <filename><package>-sections.txt</filename>.</para>
-
- <tip>
- <para>Activez ou ajoutez la ligne <option>TESTS=($GTKDOC_CHECK)</option> dans le fichier Makefile.am. Si la version installée de GTK-Doc est supérieure à 1.9, des contrôles de validité seront lancés pendant l'exécution de <command>make check</command>.</para>
- </tip>
-
- <para>
- One can also look at the files produced by the source code scanner:
- <filename><package>-decl-list.txt</filename> and
- <filename><package>-decl.txt</filename>. The first one can be
- compared with the section file if that is manually maintained. The second
- lists all declarations from the headers. If a symbol is missing one could
- check if this file contains it.
- </para>
-
- <para>
- If the project is GObject based, one can also look into the files produced
- by the object scanner:
- <filename><package>.args.txt</filename>,
- <filename><package>.hierarchy.txt</filename>,
- <filename><package>.interfaces.txt</filename>,
- <filename><package>.prerequisites.txt</filename> and
- <filename><package>.signals.txt</filename>. If there are missing
- symbols in any of those, one can ask GTK-Doc to keep the intermediate
- scanner file for further analysis, by running it as
- <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
- </para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernisation de la documentation</title>
-
- <para>
- GTK-Doc has been around for quite some time. In this section we list new
- features together with the version since when it is available.
- </para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>Manuel de GTK-Doc 1.9</title>
-
- <para>
- When using xml instead of sgml, one can actually name the master
- document <filename><package>-docs.xml</filename>.
- </para>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-sections</option>
- in <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>-sections.txt</filename> is autogenerated and
- can be removed from the vcs. This only works nicely for projects that
- have a very regular structure (e.g. each .{c,h} pair will create new
- section). If one organize a project close to that updating a manually
- maintained section file can be as simple as running
- <code>meld <package>-decl-list.txt <package>-sections.txt</code>.
- </para>
-
- <para>
- Version 1.8 already introduced the syntax for documenting sections in
- the sources instead of the separate files under <filename class="directory">tmpl</filename>.
- This version adds options to switch the whole doc module to not use the
- extra tmpl build step at all, by using <option>--flavour no-tmpl</option>
- in <filename>configure.ac</filename>. If you don't have a <filename class="directory">tmpl</filename>
- checked into your source control system and haven't yet switched, just
- add the flag to <filename>configure.ac</filename> and you are done.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>Manuel de GTK-Doc 1.10</title>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in
- <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>.types</filename> is autogenerated and can be
- removed from the vcs. When using this feature it is important to also
- setup the <varname>IGNORE_HFILES</varname> in
- <filename>Makefile.am</filename> for code that is build conditionally.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>Manuel de GTK-Doc 1.16</title>
-
- <para>
- This version includes a new tool called gtkdoc-check. This tool can run
- a set of sanity checks on your documentation. It is enabled by adding
- these lines to the end of <filename>Makefile.am</filename>.
- <example><title>Enable gtkdoc-check</title>
- <programlisting><![CDATA[
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>Manuel de GTK-Doc 1.20</title>
-
- <para>
- Version 1.18 brought some initial markdown support. Using markdown in
- doc comments is less intrusive than writing docbook xml. This version
- improves a lot on this and add a lot more styles. The section that
- explains the <link linkend="documenting_syntax">comment syntax</link>
- has all the details.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>Manuel de GTK-Doc 1.25</title>
-
- <para>
- The makefiles shipped with this version generate an entity file at <filename>xml/gtkdocentities.ent</filename>,
- containing entities for e.g. package_name and package_version. You can
- use this e.g. in the main xml file to avoid hardcoding the version
- number. Below is an example that shows how the entity file is included
- in the master template and how the entities are used.
- The entities can also be used in all
- generated files, GTK-Doc will use the same xml header in generated xml
- files.
- <example><title>Use pre-generated entities</title>
- <programlisting><![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-]]></programlisting>
- </example>
- </para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Documentation d'autres interfaces</title>
-
- <para>Nous avons jusqu'ici utilisé GTK-Doc pour documenter les API du code. Les sections qui suivent contiennent des suggestions sur la manière d'utiliser les outils pour documenter aussi d'autres interfaces.</para>
-
- <sect1 id="commandline-interfaces">
- <title>Options de ligne de commande et pages de manuel</title>
-
- <para>Comme il est possible de générer aussi des pages de manuel à partir d'une « refentry » DocBook, il semble donc intéressant de l'utiliser dans ce but. Ainsi, l'interface fait partie de la référence et l'on obtient en cadeau la page de manuel.</para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Documentation de l'outil</title>
-
- <para>Créez un fichier « refentry » par outil. En suivant <link linkend="settingup_docfiles">notre exemple</link>, nous l'appellerons <filename>meep/docs/reference/meeper/meep.xml</filename>. Pour connaître les balises XML pouvant être utilisées, on peut observer le fichier généré dans le sous-répertoire xml ou des exemples comme dans glib.</para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Ajout de contrôles « configure » supplémentaires</title>
-
- <para>
- <example><title>Contrôles « configure » supplémentaires</title>
- <programlisting>
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-</programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Ajout de règles « makefile » supplémentaires</title>
-
- <para>
- <example><title>Contrôles « configure » supplémentaires</title>
- <programlisting>
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-</programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>Interfaces DBus</title>
-
- <para>(À_CORRIGER : http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)</para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Foire aux questions</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>Question</segtitle>
- <segtitle>Réponse</segtitle>
- <seglistitem>
- <seg>Pas de hiérarchie de classe.</seg>
- <seg>Les fonctions objet <function>xxx_get_type()</function> n'ont pas été saisies dans le fichier <filename><module>.types</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Toujours pas de hiérarchie de classe.</seg>
- <seg>Mauvais nom ou nom absent dans le fichier <filename><module>-sections.txt</filename> (consultez une <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explication</ulink>).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Zut, je n'ai toujours pas de hiérarchie de classe.</seg>
- <seg>Est-ce que le nom de l'objet (nom de la structure de l'instance, par ex. <type>GtkWidget</type>) fait parti de la section « normal » (ne pas le mettre dans les sous-sections « Standard » ou « Private »).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Pas d'index des symboles.</seg>
- <seg>Est-ce que <filename><module>-docs.{xml,sgml}</filename> contient un index qui « xi:includes » l'index généré ?</seg>
- </seglistitem>
- <seglistitem>
- <seg>Les symboles ne sont pas liés à leur section de documentation.</seg>
- <seg>Est-ce que doc-comment utilise le markup correct (ajout d'un #, % ou ()) ? Contrôlez si gtkdoc-fixxref affiche des avertissements à propos de xrefs non résolus.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Une nouvelle classe n'apparaît pas dans les documents.</seg>
- <seg>Est-ce que la nouvelle page est xi:included à partir de <filename><module>-docs.{xml,sgml}</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Un nouveau symbole n'apparaît pas dans les documents.</seg>
- <seg>Est-ce que le doc-comment est correctement formaté. Vérifiez qu'il n'y a pas d'erreur de frappe au début du commentaire. Vérifiez que gtkdoc-fixxref ne vous indique pas de xrefs non résolus. Vérifiez que le symbole est correctement listé dans une section publique de <filename><module>-sections.txt</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Un type est absent dans la hiérarchie de classe.</seg>
- <seg>
- If the type is listed in <filename><package>.hierarchy</filename>
- but not in <filename>xml/tree_index.sgml</filename> then double check
- that the type is correctly placed in the <filename><package>-sections.txt</filename>.
- If the type instance (e.g. <type>GtkWidget</type>) is not listed or
- incidentally marked private it will not be shown.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>J'obtiens des liens foldoc pour toutes les annotations gobject.</seg>
- <seg>Vérifiez que <filename>xml/annotation-glossary.xml</filename> est xi:included à partir de <filename><module>-docs.{xml,sgml}</filename>.</seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Un paramètre est décrit dans le bloc de commentaires dans le code source mais il n'existe pas.</seg>
- <seg>Vérifiez si le prototype dans le fichier d'en-tête possède des noms de paramètres différents de ceux du fichier source.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>« ID » multiples pour le linkend: XYZ contraint</seg>
- <seg>Le symbole XYZ apparaît en double dans le fichier <filename><package>-sections.txt</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Élément typename dans l'espace de nom '' rencontré dans para mais aucun prototype ne correspond.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Outils liés à gtk-doc</title>
-
- <para>GtkDocPlugin - un greffon d'intégration à <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>, qui ajoute la documentation d'API à un site Trac et s'intègre à la recherche Trac.</para>
- <para>
- Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
- tags in the API to determine the minimum required version.
- </para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Version 1.1, mars 2000</releaseinfo>
- <copyright><year>2000</year><holder>Free Software Foundation, Inc.</holder></copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address> Chacun est libre de copier et de distribuer des copies conformes de cette Licence, mais nul n'est autorisé à la modifier.</para>
- </legalnotice>
- </appendixinfo>
- <title>Licence de Documentation Libre GNU</title>
-
- <sect1 id="fdl-preamble">
- <title>0. Préambule</title>
- <para>L'objet de cette Licence est de rendre tout manuel, livre ou autre document écrit <quote>libre</quote> au sens de la liberté d'utilisation, à savoir : assurer à chacun la liberté effective de le copier ou de le redistribuer, avec ou sans modifications, commercialement ou non. En outre, cette Licence garantit à l'auteur et à l'éditeur la reconnaissance de leur travail, sans qu'ils soient pour autant considérés comme responsables des modifications réalisées par des tiers.</para>
-
- <para>Cette Licence est une sorte de <quote>copyleft</quote>, ce qui signifie que les travaux dérivés du document d'origine sont eux-mêmes « libres » selon les mêmes termes. Elle complète la Licence Publique Générale GNU, qui est également une Licence copyleft, conçue pour les logiciels libres.</para>
-
- <para>Nous avons conçu cette Licence pour la documentation des logiciels libres, car les logiciels libres ont besoin d'une documentation elle-même libre : un logiciel libre doit être accompagné d'un manuel garantissant les mêmes libertés que celles accordées par le logiciel lui-même. Mais cette Licence n'est pas limitée aux seuls manuels des logiciels ; elle peut être utilisée pour tous les documents écrits, sans distinction particulière relative au sujet traité ou au mode de publication. Nous recommandons l'usage de cette Licence principalement pour les travaux destinés à des fins d'enseignement ou devant servir de documents de référence.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITÉ ET DÉFINITIONS</title>
- <para id="fdl-document">Cette Licence couvre tout manuel ou tout autre travail écrit contenant une notice de copyright autorisant la redistribution selon les termes de cette Licence. Le mot <quote>Document</quote> se réfère ci-après à un tel manuel ou travail. Toute personne en est par définition concessionnaire et est référencée ci-après par le terme <quote>Vous</quote>.</para>
-
- <para id="fdl-modified">Une <quote>Version modifiée</quote> du Document désigne tout travail en contenant la totalité ou seulement une portion de celui-ci, copiée mot pour mot, modifiée et/ou traduite dans une autre langue.</para>
-
- <para id="fdl-secondary">Une <quote>Section secondaire</quote> désigne une annexe au <link linkend="fdl-document">Document</link>, ou toute information indiquant les rapports entre l'auteur ou l'éditeur et le sujet (ou tout autre sujet connexe) du Document, sans toutefois être en rapport direct avec le sujet lui-même (par exemple, si le Document est un manuel de mathématiques, une Section secondaire ne traitera d'aucune notion mathématique). Cette section peut contenir des informations relatives à l'historique du Document, des sources documentaires, des dispositions légales, commerciales, philosophiques, ou des positions éthiques ou politiques susceptibles de concerner le sujet traité.</para>
-
- <para id="fdl-invariant">Les <quote>Sections inaltérables</quote> sont des <link linkend="fdl-secondary">sections secondaires</link> considérées comme ne pouvant être modifiées et citées comme telles dans la notice légale qui place le <link linkend="fdl-document">Document</link> sous cette Licence.</para>
-
- <para id="fdl-cover-texts">Les <quote>Textes de couverture</quote> sont les textes courts situés sur les pages de couverture avant et arrière du <link linkend="fdl-document">Document</link>, et cités comme tels dans la mention légale de ce <link linkend="fdl-document">Document</link>.</para>
-
- <para id="fdl-transparent">Le terme <quote>Copie transparente</quote> désigne une version numérique du <link linkend="fdl-document"> Document</link> représentée dans un format dont les spécifications sont publiquement disponibles et dont le contenu peut être visualisé et édité directement et immédiatement par un éditeur de texte quelconque, ou (pour les images composées de pixels) par un programme de traitement d'images quelconque, ou (pour les dessins) par un éditeur de dessins courant. Ce format doit pouvoir être accepté directement ou être convertible facilement dans des formats utilisables directement par des logiciels de formatage de texte. Une copie publiée dans un quelconque format numérique ouvert mais dont la structure a été conçue dans le but exprès de prévenir les modifications ultérieures du Document ou dans le but d'en décourager les lecteurs n'est pas considérée comme une Copie Transparente. Une copie qui n'est pas <quote>Transparente</quote> est considérée, par opposition, comme <quote>Opaque</quote>.</para>
-
- <para>Le format de fichier texte codé en ASCII générique et n'utilisant pas de balises, les formats de fichiers Texinfo ou LaTeX, les formats de fichiers SGML ou XML utilisant une DTD publiquement accessible, ainsi que les formats de fichiers HTML simple et standard, écrits de telle sorte qu'ils sont modifiables sans outil spécifique, sont des exemples de formats acceptables pour la réalisation de Copies Transparentes. Les formats suivants sont opaques : PostScript, PDF, formats de fichiers propriétaires qui ne peuvent être visualisés ou édités que par des traitements de textes propriétaires, SGML et XML utilisant des DTD et/ou des outils de formatage qui ne sont pas disponibles publiquement, et du code HTML généré par une machine à l'aide d'un traitement de texte quelconque et dans le seul but de la génération d'un format de sortie.</para>
-
- <para id="fdl-title-page">La <quote>Page de titre</quote> désigne, pour les ouvrages imprimés, la page de titre elle-même, ainsi que les pages supplémentaires nécessaires pour fournir clairement les informations dont cette Licence impose la présence sur la page de titre. Pour les travaux n'ayant pas de Page de titre comme décrit ci-dessus, la <quote>Page de titre</quote> désigne le texte qui s'apparente le plus au titre du document et situé avant le texte principal.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. COPIES CONFORMES</title>
- <para>Vous pouvez copier et distribuer le <link linkend="fdl-document">Document</link> sur tout type de support, commercialement ou non, à condition que cette Licence, la notice de copyright et la notice de la Licence indiquant que cette Licence s'applique à ce Document soient reproduits dans toutes les copies, et que vous n'y ajoutiez aucune condition restrictive supplémentaire. Vous ne pouvez pas utiliser un quelconque moyen technique visant à empêcher ou à contrôler la lecture ou la reproduction ultérieure des copies que vous avez créées ou distribuées. Toutefois, vous pouvez solliciter une rétribution en échange des copies. Si vous distribuez une grande quantité de copies, référez-vous aux dispositions de la <link linkend="fdl-section3">section 3</link>.</para>
-
- <para>Vous pouvez également prêter des copies, sous les mêmes conditions que celles suscitées, et vous pouvez afficher publiquement des copies de ce Document.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPIES EN NOMBRE</title>
- <para>Si vous publiez des copies imprimées de ce <link linkend="fdl-document">Document</link> à plus de 100 exemplaires et que la Licence du Document indique la présence de <link linkend="fdl-cover-texts">Textes de couverture</link>, vous devez fournir une couverture pour chaque copie, qui présente les Textes de couverture des première et dernière pages de couverture du Document. Les première et dernière pages de couverture doivent également vous identifier clairement et sans ambiguïté comme étant l'éditeur de ces copies. La première page de couverture doit comporter le titre du Document en mots d'importance et de visibilité égales. Vous pouvez ajouter des informations complémentaires sur les pages de couverture. Les copies du Document dont seule la couverture a été modifiée peuvent être considérées comme des copies conformes, à condition que le titre du <link linkend="fdl-document">Document</link> soit préservé et que les conditions indiquées précédemment soient respectées.</para>
-
- <para>Si les textes devant se trouver sur la couverture sont trop importants pour y tenir de manière claire, vous pouvez ne placer que les premiers sur la première page et placer les suivants sur les pages consécutives.</para>
-
- <para>Si vous publiez plus de 100 <link linkend="fdl-transparent">Copies opaques</link> du <link linkend="fdl-document">Document</link>, vous devez soit fournir une Copie transparente pour chaque Copie opaque, soit préciser ou fournir avec chaque Copie opaque une adresse réseau publiquement accessible d'une <link linkend="fdl-transparent">Copie transparente</link> et complète du Document, sans aucun ajout ou modification, et à laquelle tout le monde peut accéder en téléchargement anonyme et sans frais, selon des protocoles réseau communs et standard. Si vous choisissez cette dernière option, vous devez prendre les dispositions nécessaires, dans la limite du raisonnable, afin de garantir l'accès non restrictif à la Copie transparente durant une année pleine après la diffusion publique de la dernière Copie opaque(directement ou via vos revendeurs).</para>
-
- <para>Nous recommandons, mais ce n'est pas obligatoire, que vous contactiez l'auteur du <link linkend="fdl-document">Document</link> suffisamment tôt avant toute publication d'un grand nombre de copies, afin de lui permettre de vous donner une version à jour du Document.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>Vous pouvez copier et distribuer une <link linkend="fdl-modified">Version modifiée</link> du <link linkend="fdl-document">Document</link> en respectant les conditions des sections <link linkend="fdl-section2">2</link> et <link linkend="fdl-section3">3</link> précédentes, à condition de placer cette Version modifiée sous la présente Licence, dans laquelle le terme « Document » doit être remplacé par les termes « Version modifiée », donnant ainsi l'autorisation de redistribuer et de modifier cette Version modifiée à quiconque en possède une copie. De plus, vous devez effectuer les actions suivantes dans la Version modifiée :</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>Utiliser sur la <link linkend="fdl-title-page">Page de titre</link> (et sur la page de couverture éventuellement présente) un titre distinct de celui du <link linkend="fdl-document">Document</link> d'origine et de toutes ses versions antérieures (qui, si elles existent, doivent être mentionnées dans la section Historique du Document). Vous pouvez utiliser le même titre si l'éditeur d'origine vous en a donné expressément la permission.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>Mentionner sur la <link linkend="fdl-title-page">Page de titre</link> en tant qu'auteurs une ou plusieurs des personnes ou entités responsables des modifications de la <link linkend="fdl-modified">Version modifiée</link>, avec au moins les cinq principaux auteurs du <link linkend="fdl-document">Document</link> (ou tous les auteurs s'il y en a moins de cinq).</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>Préciser sur la <link linkend="fdl-title-page">Page de titre</link> le nom de l'éditeur de la <link linkend="fdl-modified">Version modifiée</link>, en tant qu'éditeur du Document.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>Préserver intégralement toutes les notices de copyright du <link linkend="fdl-document">Document</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Ajouter une notice de copyright adjacente aux autres notices pour vos propres modifications.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>Inclure immédiatement après les notices de copyright une notice donnant à quiconque l'autorisation d'utiliser la <link linkend="fdl-modified">Version modifiée</link> selon les termes de cette Licence, sous la forme présentée dans l'annexe indiquée ci-dessous.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>Préserver dans cette notice la liste complète des <link linkend="fdl-invariant">Sections inaltérables</link> et les <link linkend="fdl-cover-texts">Textes de couverture</link> donnés avec la notice de la Licence du <link linkend="fdl-document">Document</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Inclure une copie non modifiée de cette Licence.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>Préserver la section nommée <quote>Historique</quote> et son titre, et y ajouter une nouvelle entrée décrivant le titre, l'année, les nouveaux auteurs et l'éditeur de la <link linkend="fdl-modified">Version modifiée</link>, tels que décrits sur la <link linkend="fdl-title-page">Page de titre</link>, ainsi qu'un descriptif des modifications apportées depuis la précédente version. S'il n'y a pas de section nommée <quote>Historique</quote> dans le <link linkend="fdl-document">Document</link>, créer une telle section précisant le titre, l'année, les auteurs et l'éditeur du Document tel que précisé sur la <link linkend="fdl-title-page">Page de titre</link>, et ajouter une entrée décrivant la <link linkend="fdl-modified">Version modifiée</link> tel que précisé dans la phrase précédente.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>Conserver l'adresse réseau éventuellement indiquée dans le <link linkend="fdl-document">Document</link> permettant à quiconque d'accéder à une <link linkend="fdl-transparent">Copie transparente</link> du Document, ainsi que les adresses réseau indiquées dans le Document pour les versions précédentes sur lesquelles le Document se base. Ces liens peuvent être placés dans la section <quote>Historique</quote>. Vous pouvez ne pas conserver les liens pour un travail datant de plus de quatre ans avant la version courante ou si l'éditeur d'origine vous en accorde la permission.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>Si une section <quote>Remerciements</quote> ou une section <quote>Dédicaces</quote> sont présentes, les informations et les appréciations concernant les contributeurs et les personnes auxquelles s'adressent ces remerciements doivent être conservées, ainsi que le titre de ces sections.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>Conserver sans modification les <link linkend="fdl-invariant">Sections inaltérables</link> du <link linkend="fdl-document">Document</link>, ni dans leurs textes, ni dans leurs titres. Les numéros de sections ne sont pas considérés comme faisant partie du texte des sections.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>Effacer toute section intitulée <quote>Approbations</quote>. Une telle section ne peut pas être incluse dans une <link linkend="fdl-modified">Version modifiée</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>Ne pas renommer une section existante sous le titre <quote>Approbations</quote> ou sous un autre titre entrant en conflit avec le titre d'une <link linkend="fdl-invariant">Section inaltérable</link>.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>Si la <link linkend="fdl-modified">Version modifiée</link> contient de nouvelles sections préliminaires ou de nouvelles annexes considérées comme des <link linkend="fdl-secondary">Sections secondaires</link> et que celles-ci ne contiennent aucun élément copié à partir du Document, vous pouvez à votre convenance en désigner une ou plusieurs comme étant des Sections inaltérables. Pour ce faire, ajoutez leurs titres dans la liste des <link linkend="fdl-invariant">Sections inaltérables</link> au sein de la notice de Licence de la Version modifiée. Ces titres doivent êtres distincts des titres des autres sections.</para>
-
- <para>Vous pouvez ajouter une section nommée <quote>Approbations</quote> à condition que ces approbations ne concernent que les modifications ayant donné naissance à la <link linkend="fdl-modified">Version modifiée</link> (par exemple, comptes rendus de revue du document ou acceptation du texte par une organisation le reconnaissant comme étant la définition d'un standard).</para>
-
- <para>Vous pouvez ajouter un passage comprenant jusqu'à cinq mots en <link linkend="fdl-cover-texts">première page de couverture</link>, et jusqu'à vingt-cinq mots en <link linkend="fdl-cover-texts">dernière page de couverture</link>, à la liste des <link linkend="fdl-cover-texts">Textes de couverture</link> de la <link linkend="fdl-modified">Version modifiée</link>. Il n'est autorisé d'ajouter qu'un seul passage en première et en dernière pages de couverture par personne ou groupe de personnes ou organisation ayant contribué à la modification du Document. Si le <link linkend="fdl-document">Document</link> comporte déjà un passage sur la même couverture, ajouté en votre nom ou au nom de l'organisation au nom de laquelle vous agissez, vous ne pouvez pas ajouter de passage supplémentaire ; mais vous pouvez remplacer un ancien passage si vous avez expressément obtenu l'autorisation de l'éditeur de celui-ci.</para>
-
- <para>Cette Licence ne vous donne pas le droit d'utiliser le nom des auteurs et des éditeurs de ce <link linkend="fdl-document">Document</link> à des fins publicitaires ou pour prétendre à l'approbation d'une <link linkend="fdl-modified">Version modifiée</link>.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. FUSION DE DOCUMENTS</title>
- <para>Vous pouvez fusionner le <link linkend="fdl-document">Document</link> avec d'autres documents soumis à cette Licence, suivant les spécifications de la <link linkend="fdl-section4">section 4</link> pour les Versions modifiées, à condition d'inclure dans le document résultant toutes les <link linkend="fdl-invariant">Sections inaltérables</link> des documents originaux sans modification, et de toutes les lister dans la liste des Sections inaltérables de la notice de Licence du document résultant de la fusion.</para>
-
- <para>Le document résultant de la fusion n'a besoin que d'une seule copie de cette Licence, et les <link linkend="fdl-invariant">Sections inaltérables</link> existant en multiples exemplaires peuvent être remplacées par une copie unique. S'il existe plusieurs Sections inaltérables portant le même nom mais de contenu différent, rendez unique le titre de chaque section en ajoutant, à la fin de celui-ci, entre parenthèses, le nom de l'auteur ou de l'éditeur d'origine, ou, à défaut, un numéro unique. Les mêmes modifications doivent être réalisées dans la liste des Sections inaltérables de la notice de Licence du document final.</para>
-
- <para>Dans le document résultant de la fusion, vous devez rassembler en une seule toutes les sections <quote>Historique</quote> des documents d'origine. De même, vous devez rassembler les sections <quote>Remerciements</quote> et <quote>Dédicaces</quote>. Vous devez supprimer toutes les sections <quote>Approbations</quote>.</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. REGROUPEMENTS DE DOCUMENTS</title>
- <para>Vous pouvez créer un regroupement de documents comprenant le <link linkend="fdl-document">Document</link> et d'autres documents soumis à cette Licence, et remplacer les copies individuelles de cette Licence des différents documents par une unique copie incluse dans le regroupement de documents, à condition de respecter pour chacun de ces documents l'ensemble des règles de cette Licence concernant les copies conformes.</para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGRÉGATION AVEC DES TRAVAUX INDÉPENDANTS</title>
- <para>La compilation du <link linkend="fdl-document">Document</link> ou de ses dérivés avec d'autres documents ou travaux séparés et indépendants sur un support de stockage ou sur un média de distribution quelconque ne représente pas une <link linkend="fdl-modified">Version modifiée</link> du Document tant qu'aucun copyright n'est déposé pour cette compilation. Une telle compilation est appelée <quote>agrégat</quote> et cette Licence ne s'applique pas aux autres travaux indépendants compilés avec le Document s'ils ne sont pas eux-mêmes des travaux dérivés du Document. Si les exigences de la <link linkend="fdl-section3">section 3</link> concernant les <link linkend="fdl-cover-texts">Textes de couverture</link> sont applicables à ces copies du Document, et si le Document représente un volume inférieur à un quart du volume total de l'agrégat, les Textes de couverture du Document peuvent être placés sur des pages de couverture qui n'encadrent que le Document au sein de l'agrégat. Dans le cas contraire, ils doivent apparaître sur les pages de couverture de l'agrégat complet.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRADUCTION</title>
- <para>La traduction est considérée comme une forme de modification, vous pouvez donc distribuer les traductions du <link linkend="fdl-document">Document</link> selon les termes de la <link linkend="fdl-section4">section 4</link>. Vous devez obtenir l'autorisation spéciale des auteurs des <link linkend="fdl-invariant">Sections inaltérables</link> pour les remplacer par des traductions, mais vous pouvez inclure les traductions des Sections inaltérables en plus des textes originaux. Vous pouvez inclure une traduction de cette Licence à condition d'inclure également la version originale en anglais. En cas de contradiction entre la traduction et la version originale en anglais, c'est cette dernière qui prévaut.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. RÉVOCATION</title>
- <para>Vous ne pouvez pas copier, modifier, sous-licencier ou distribuer le <link linkend="fdl-document">Document</link> autrement que selon les termes de cette Licence. Tout autre acte de copie, modification, sous-Licence ou distribution du Document est sans objet et vous prive automatiquement des droits que cette Licence vous accorde. En revanche, les personnes qui ont reçu de votre part des copies ou les droits sur le document sous couvert de cette Licence ne voient pas leurs droits révoqués tant qu'elles en respectent les principes.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. RÉVISIONS FUTURES DE CETTE LICENCE</title>
- <para>La <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> peut publier de temps en temps de nouvelles versions révisées de cette Licence. Ces nouvelles versions seront semblables à la présente version dans l'esprit, mais pourront différer sur des points particuliers en fonction de nouvelles questions ou nouveaux problèmes. Voyez <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink> pour plus de détails.</para>
-
- <para>Chaque version de cette Licence est dotée d'un numéro de version distinct. Si un <link linkend="fdl-document">Document</link> spécifie un numéro de version particulier de cette Licence, et porte la mention <quote>ou toute autre version ultérieure</quote>, vous pouvez choisir de suivre les termes de la version spécifiée ou ceux de n'importe quelle version ultérieure publiée par la Free Software Foundation. Si aucun numéro de version n'est spécifié, vous pouvez choisir n'importe quelle version officielle publiée par la Free Software Foundation.</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>Pour utiliser cette Licence avec un document que vous avez écrit, incorporez une copie du texte de cette Licence en anglais et placez le texte ci-dessous juste après la page de titre :</para>
-
- <blockquote>
- <para>Copyright © 2010 Bruno Brouard.</para>
- <para>Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation License, Version 1.1 ou ultérieure publiée par la Free Software Foundation ; avec <link linkend="fdl-invariant">les sections inaltérables</link> suivantes LISTE DES TITRES DES SECTIONS INALTÉRABLES, avec le <link linkend="fdl-cover-texts">texte de première page de couverture</link> suivant TEXTE DE PREMIÈRE PAGE DE COUVERTURE et avec le <link linkend="fdl-cover-texts">texte de dernière page de couverture</link> suivant TEXTE DE DERNIÈRE PAGE DE COUVERTURE. Une copie de cette Licence est incluse dans la section appelée <quote>GNU Free Documentation License</quote> de ce document.</para>
- </blockquote>
-
- <para>Si votre Document ne comporte pas de <link linkend="fdl-invariant">section inaltérable</link> écrivez <quote>pas de section inaltérable</quote> au lieu de la liste des sections inaltérables. Si votre Document ne comporte pas de <link linkend="fdl-cover-texts">texte de première page de couverture</link>, écrivez <quote>pas de texte de première page de couverture</quote> au lieu de <quote>texte de première page de couverture suivant TEXTE DE PREMIÈRE PAGE DE COUVERTURE</quote> ; de même pour le <link linkend="fdl-cover-texts">texte de dernière page de couverture</link>.</para>
-
- <para>Si votre Document contient des exemples non triviaux de code programme, nous recommandons de distribuer ces exemples en parallèle sous <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">Licence GNU General Public License</ulink>, qui permet leur usage dans les logiciels libres.</para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>
- Version 1.1, March 2000
- </releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPIANDO EN CANTIDADE</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICACIÓNS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="gl">
- <bookinfo>
- <title>Manual de GTK-Doc</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>Manual de usuarios para desenvolvedores con instrucións do uso de GTK-Doc.</para></abstract>
- <authorgroup>
- <author><firstname>Chris</firstname> <surname>Lyttle</surname> <affiliation> <address> <email>chris@wilddev.net</email> </address> </affiliation></author>
- <author><firstname>Dan</firstname> <surname>Mueth</surname> <affiliation> <address> <email>d-mueth@uchicago.edu</email> </address> </affiliation></author>
- <author><firstname>Stefan</firstname> <surname>Sauer (Kost)</surname> <affiliation> <address> <email>ensonic@users.sf.net</email> </address> </affiliation></author>
- </authorgroup>
- <publisher role="maintainer"><publishername>Proxecto GTK-Doc</publishername> <address><email>gtk-doc-list@gnome.org</email></address></publisher>
- <copyright><year>2000, 2005</year> <holder>Dan Mueth and Chris Lyttle</holder></copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>Pode copiar, distribuír e modificar este documento baixo os termos da <citetitle>Licenza de Documentación Libre GNU</citetitle>, na súa versión 1.1 ou posterior, publicada pola Free Software Foundation, sen seccións invariantes e sen textos de portada ou de contraportada. <link linkend="fdl">Inclúese</link> unha cópida da licenza.</para>
- <para>
- Many of the names used by companies to distinguish their products and
- services are claimed as trademarks. Where those names appear in any
- GNOME documentation, and those trademarks are made aware to the members
- of the GNOME Documentation Project, the names have been printed in caps
- or initial caps.
- </para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.28</revnumber>
- <date>24 Mar 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.27</revnumber>
- <date>07 Dec 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>fine tuning of the python port</revremark>
- </revision>
- <revision>
- <revnumber>1.26</revnumber>
- <date>11 Aug 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>port all tools from perl/bash to python</revremark>
- </revision>
- <revision>
- <revnumber>1.25</revnumber>
- <date>21 March 2016</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, test cleanups</revremark>
- </revision>
- <revision>
- <revnumber>1.24</revnumber>
- <date>29 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.23</revnumber>
- <date>17 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.22</revnumber>
- <date>07 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision><revnumber>1.21</revnumber> <date>17 de Xullo de 2014</date> <authorinitials>ss</authorinitials> <revremark>arranxos de erros, retirado de características obsoletas</revremark></revision>
- <revision><revnumber>1.20</revnumber> <date>16 de Febreiro de 2014</date> <authorinitials>ss</authorinitials> <revremark>arranxos de erros, compatibilidade de markdown, melloras de estilo</revremark></revision>
- <revision><revnumber>1.19</revnumber> <date>05 de Xuño de 2013</date> <authorinitials>ss</authorinitials> <revremark>arranxos de erros</revremark></revision>
- <revision><revnumber>1.18</revnumber> <date>14 de Setembro de 2011</date> <authorinitials>ss</authorinitials> <revremark>arranxos de erros, melloras de velocidade, compatibilidade de markdown</revremark></revision>
- <revision>
- <revnumber>1.17</revnumber>
- <date>26 Feb 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>urgent bug fix update</revremark>
- </revision>
- <revision>
- <revnumber>1.16</revnumber>
- <date>14 Jan 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes, layout improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.15</revnumber>
- <date>21 May 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bug and regression fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.14</revnumber>
- <date>28 March 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes and performance improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.13</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>broken tarball update</revremark>
- </revision>
- <revision>
- <revnumber>1.12</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>new tool features and bugfixes</revremark>
- </revision>
- <revision>
- <revnumber>1.11</revnumber>
- <date>16 November 2008</date>
- <authorinitials>mal</authorinitials>
- <revremark>GNOME doc-utils migration</revremark>
- </revision>
- </revhistory>
-
-
- <othercredit class="translator">
- <personname>
- <firstname>Fran Diéguez</firstname>
- </personname>
- <email>frandieguez@gnome.org</email>
- </othercredit>
- <copyright>
-
- <year>2014.</year>
-
- <holder>Fran Diéguez</holder>
- </copyright>
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>Introduction</title>
-
- <para>
- This chapter introduces GTK-Doc and gives an overview of what it is and
- how it is used.
- </para>
-
- <sect1 id="whatisgtkdoc">
- <title>What is GTK-Doc?</title>
-
- <para>
- GTK-Doc is used to document C code. It is typically used to document the public
- API of libraries, such as the GTK+ and GNOME libraries. But it can also be
- used to document application code.
- </para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>How Does GTK-Doc Work?</title>
-
- <para>
- GTK-Doc works by using documentation of functions placed inside the source files in
- specially-formatted comment blocks, or documentation added to the template files
- which GTK-Doc uses (though note that GTK-Doc will only document functions that
- are declared in header files; it won't produce output for static functions).
- </para>
-
- <para>
- GTK-Doc consists of a number of python scripts, each performing a different step
- in the process.
- </para>
-
- <para>
- There are 5 main steps in the process:
- </para>
-
- <orderedlist>
-
- <listitem>
- <para>
- <guilabel>Writing the documentation.</guilabel>
-
- The author fills in the source files with the documentation for each
- function, macro, structs or unions, etc.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Gathering information about the code.</guilabel>
-
- <application>gtkdoc-scan</application> scans the header files of the
- code looking for declarations of functions, macros, enums, structs, and unions.
- It creates the file <filename><module>-decl-list.txt</filename> containing a list of the
- declarations, placing them into sections according to which header file they
- are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
- The author can rearrange the sections, and the order of the
- declarations within them, to produce the final desired order.
- The second file it generates is <filename><module>-decl.txt</filename>.
- This file contains the full declarations found by the scanner. If for
- some reason one would like some symbols to show up in the docs, where
- the full declaration cannot be found by the scanner or the declaration
- should appear differently, one can place entities similar to the ones in
- <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
- </para>
- <para>
- <application>gtkdoc-scangobj</application> can also be used to dynamically query a library about
- any GObject subclasses it exports. It saves information about each
- object's position in the class hierarchy and about any GObject properties
- and signals it provides.
- </para>
- <para>
- <application>gtkdoc-scanobj</application> should not be used anymore.
- It was needed in the past when GObject was still GtkObject inside gtk+.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Generating the XML and HTML/PDF.</guilabel>
-
- <application>gtkdoc-mkdb</application> turns the template files into
- XML files in the <filename class="directory">xml/</filename> subdirectory.
- If the source code contains documentation on functions, using the
- special comment blocks, it gets merged in here. If there are no tmpl files used
- it only reads docs from sources and introspection data.
- </para>
- <para>
- <application>gtkdoc-mkhtml</application> turns the XML files into HTML
- files in the <filename class="directory">html/</filename> subdirectory.
- Likewise <application>gtkdoc-mkpdf</application> turns the XML files into a PDF
- document called <filename><package>.pdf</filename>.
- </para>
- <para>
- Files in <filename class="directory">xml/</filename> and
- <filename class="directory">html/</filename> directories are always
- overwritten. One should never edit them directly.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Fixing up cross-references between documents.</guilabel>
-
- After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any
- cross-references between separate documents. For example, the GTK+
- documentation contains many cross-references to types documented in the GLib manual.
-
- When creating the source tarball for distribution, <application>gtkdoc-rebase</application>
- turns all external links into web-links. When installing distributed (pregenerated) docs
- the same application will try to turn links back to local links
- (where those docs are installed).
- </para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>Getting GTK-Doc</title>
-
- <sect2 id="requirements">
- <title>Requirements</title>
- <para>
- <guilabel>python 2/3</guilabel> - the main scripts are written in python.
- </para>
- <para>
- <guilabel>xsltproc</guilabel> - the xslt processor from libxslt
- <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink>
- </para>
- <para>
- <guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets
- <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>
- </para>
- <para>
- One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> or
- <guilabel>vim</guilabel> - optional - used for syntax highlighting of examples
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>About GTK-Doc</title>
-
- <para>
- Historically GTK-Doc was used to generate template files from the sources
- code. These template files could be used by developers to enter the
- API documentation. This approach was rather inconvenient because it
- required to keep the generated files under version control.
- Since GTK-Doc 1.9 it became possible to place all API information
- into source comments, which made the template support obsolete.
- In version 1.26 template support has been removed.
- </para>
-
- <para>
- (FIXME)
- </para>
-
- <para>
- (authors, web pages, mailing list, license, future plans,
- comparison with other similar systems.)
- </para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>About this Manual</title>
-
- <para>
- (FIXME)
- </para>
-
- <para>
- (who it is meant for, where you can get it, license)
- </para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Project Setup</title>
-
- <para>
- This Chapter describes the steps that are necessary to integrate GTK-Doc
- into your project. The integration of GTK-Doc into a project includes the
- following steps:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Preparation of the directory structure and creating required
- configuration files for your GTK-Doc documentation (see
- <link linkend="settingup_docfiles">
- Setting up a skeleton documentation</link>).
- </para>
- </listitem>
- <listitem>
- <para>
- Adjusting the build system to build your documentation using the
- GTK-Doc tools. Multiple build systems are supported, in
- this manual we describe how to integrate GTK-Doc with
- <link linkend="settingup_autotools">Autotools</link>,
- <link linkend="settingup_cmake">CMake</link>, and
- <link linkend="settingup_plain_makefiles">plain Makefiles</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adding GTK-Doc specific files to version control and deciding which
- files to ignore (see <link linkend="settingup_vcs">
- Integration with version control systems</link>).
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The following sections assume we work on a project called
- <code>meep</code>.
- This project contains two packages (or modules),
- a library called <code>libmeep</code> and an end-user app
- called <code>meeper</code>.
- </para>
-
- <sect1 id="settingup_docfiles">
- <title>Setting up a skeleton documentation</title>
-
- <para>
- A common convention is to place documentation into a folder called
- <code>docs</code> inside your top-level project directory.
- We usually distinguish between <emphasis>reference
- documentation</emphasis> intended for developers and an
- <emphasis>user manual</emphasis> intended for end-users.
- Again the convention is to have separate folders for both.
- We usually place the reference documentation in a folder named
- <code>reference</code> and the end-user manual in a folder named
- <code>help</code> as.
-
- According to the above convention the documentation for our
- <code>libmeep</code> package would be placed into:
- <code>docs/reference/libmeep</code>.
-
- For packages with just one library or application
- the documentation could also be placed directly into
- <code>docs/reference</code>.
-
- It is not mandatory to use the above convention, but if you
- choose to use a different directory structure you must adjust
- your build system configuration to match your directory
- structure.
- </para>
-
- <para>
- In the following sections we will assume a directory structure
- for our <emphasis>meep</emphasis> project that uses the above
- conventions.
-
- <example>
- <title>Example directory structure of <emphasis>meep</emphasis>
- project</title>
- <programlisting><![CDATA[
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integration with Autotools</title>
- <para>
- Integration of GTK-Doc into an autotools-based build system requires the
- following steps:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Ensure that <application>gtkdocize</application> is run once before
- the <filename>configure</filename> script. If an
- <filename>autogen.sh</filename> script is present, adjust it to
- check for GTK-Doc and add a call to
- <application>gtkdocize</application>.
- </para>
-
- <para>
- The main purpose of <application>gtkdocize</application> is to
- make the <filename>gtk-doc.make</filename> Makefile and the
- <filename>gtk-doc.m4</filename> macro definition file available
- to the build system, either by copying or linking it
- into the project.
- </para>
- </listitem>
- <listitem>
- <para>
- Add the necessary <application>autoconf</application> macros to
- <filename>configure.ac</filename> to enable GTK-Doc in your build
- system to allow configuration of GTK-Doc via the generated
- <filename>configure</filename> script.
- </para>
- <para>
- Among others with registers the <code>--enable-gtk-doc</code>
- option with the <filename>configure</filename> script.
- </para>
- </listitem>
- <listitem>
- <para>
- Create an <application>automake</application> script for each
- application or library in your project. In the example used in this
- documentation this step applies to both <code>meeper</code> and
- <code>libmeep</code>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the following sections, we will perform the above steps in reverse
- order. We start with the <application>automake</application> scripts
- and work our way up to <filename>configure.ac</filename> and
- <filename>autogen.sh</filename>.
- Then we show how enable Gtk-Doc in the build system and
- how to build the documentation.
- </para>
-
- <sect2 id="settingup_automake">
- <title>Integration with automake</title>
-
- <para>
- First copy the <filename>Makefile.am</filename> from the
- <filename class="directory">examples</filename> sub-directory of the
- <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">
- gtkdoc-sources</ulink>
- to your project's reference documentation directory (e.g.
- <filename class="directory">docs/reference/<package></filename>).
- A local copy should be available under e.g.
- <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>.
- If you have multiple packages repeat this for each one.
- </para>
-
- <note>
- <simpara>
- Do not forget to add each <filename>Makefile.am</filename>
- to the <function>AC_CONFIG_FILES</function> macro in
- <filename>configure.ac</filename>. For
- <filename>docs/reference/libmeep/Makefile.am</filename> you will
- need to add the entry
- <filename>docs/reference/libmeep/Makefile</filename>
- to <function>AC_CONFIG_FILES</function>.
- </simpara>
- </note>
-
- <example>
- <title>
- Example directory structure with <filename>Makefiles.am</filename>
- </title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>
- Next, you need to customize the copied Makefiles
- and provide values for the various parameters in each
- <filename>Makefile.am</filename>.
-
- All settings have a comment above them that describes their purpose
- and how to customize the setting.
-
- Most settings are used to supply extra flags to the respective tools
- to which they apply. Every tool
- has a variable of the form <option><TOOLNAME>_OPTIONS</option>
- (e.g. the tool <application>gtkdoc-mkhtml</application> has
- an option named <code>MKHTML_OPTIONS</code>).
-
- All the tools support <option>--help</option> to list the supported
- options.
- </para>
-
- <para>
- The following list explains the most relevant options. Check the
- example <filename>Makefile.am</filename> for additional options.
-
- <itemizedlist>
- <listitem>
- <para>
- <option>DOC_MODULE</option> is used to provide the name of the
- package that is being documentated (e.g. <code>meeper</code>, or
- <code>libmeep</code>).
- </para>
- </listitem>
- <listitem>
- <para>
- <option>DOC_SOURCE_DIR</option>
- is used to specify the location
- of source directory which GTK-Doc searches for your API
- documentation. This will usually be
- <code>
- DOC_SOURCE_DIR=$(top_srcdir)/src
- </code>
- or a sub-directory of that directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HFILE_GLOB</option>
- and
- <option>CFILE_GLOB</option>
- are used for dependencies. Each option take a file-glob (e.g.
- <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>).
- The documentation will be rebuilt if any of the matched files
- change.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>EXTRA_HFILES</option>
- allows to specify extra header files
- to include when scanning for API documentation, which are not
- found under <code>DOC_SOURCE_DIR</code> (e.g. <code>
- EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>IGNORE_HFILES</option>
- allows to specify header files
- or directories to ignore when scanning for API documentation.
- Use the basename of the file or directory (e.g. <code>
- IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HTML_IMAGES</option>
- allows to specify images files which
- will be copied into the <filename>html/</filename> directory of
- the generated documentation.
- If your API documentation includes any images they need to be
- added to this
- option (e.g. <code>
- HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>content_files</option>
- allows to specify extra files
- that are included by
- <code>$(DOC_MAIN_SGML_FILE)</code>
- (e.g. <code>
- content_files=running.xml building.xml changes-2.0.xml</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>expand_content_files</option>
- allows to specify files
- where <emphasis>gtk-doc abbreviations</emphasis> such as
- <code>#GtkWidget</code>
- are expanded (e.g. <code>
- expand_content_files=running.xml</code>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>Integration with autoconf</title>
-
- <para>
- Integration with <application>autoconf</application> is very simple
- and includes one required step and an additional optional
- (but recommended) step.
-
- The first step is to add the <function>GTK_DOC_CHECK</function> macro
- to your <filename>configure.ac</filename> script. This registers
- several configure options to enable GTK-Doc and allows you
- to set default arguments for <application>gtkdocize</application>.
- </para>
-
- <warning>
- <simpara>
- Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented.
- The macro must start at the beginning of the line and should not
- start with whitespace.
- </simpara>
- </warning>
-
- <para>
- The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code>
- to your <filename>configure.ac</filename>. This is not required
- but helps <application>gtkdocize</application> to automatically copy
- the macro definition (e.g <filename>gtk-doc.m4</filename>) which
- contains the <function>GTK_DOC_CHECK</function> macro to your
- project's macro directory. Without this, the GTK_DOC_CHECK macro
- might not be found and you would need to explicitly tell the
- <application>aclocal</application> tool where to find the macro
- definition file.
- </para>
-
- <para>
- <example><title>Minimal integration with autoconf</title>
- <programlisting><![CDATA[
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The above example works, but will require all developers to have
- gtk-doc installed. A better way is to make building the documentation
- optional as shown in the next example:
-
- <example>
- <title>Integration with optional gtk-doc dependency</title>
- <programlisting><![CDATA[
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The first argument is used to check for the Gtk-Doc version at
- configure time. The 2nd, optional argument is used by
- <application>gtkdocize</application>.
- The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure
- switches:
- </para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=PATH : path to installed docs</para></listitem>
- <listitem><para>--enable-gtk-doc : use gtk-doc to build documentation [default=no]</para></listitem>
- <listitem><para>--enable-gtk-doc-html : build documentation in html format [default=yes]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : build documentation in pdf format [default=no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>
- GTK-Doc is disabled by default! Remember to pass the option
- <option>'--enable-gtk-doc'</option> to the next
- <filename>configure</filename> run. Otherwise pregenerated documentation is installed
- (which makes sense for users but not for developers).
- </para>
- </important>
-
- <para>
- After all changes to <filename>configure.ac</filename> are made,
- update the <filename>configure</filename> file. This can be done by
- re-running <code>autogen.sh</code>.
- </para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>Integration with autogen</title>
-
- <para>
- Most projects will have an <filename>autogen.sh</filename> script to
- setup the build infrastructure after the project was checked out from
- a version control system (such as git or svn). GTK-Doc comes with a
- script called <application>gtkdocize</application> which can be used
- to copy the necessary files needed by Gtk-Doc to the source directory.
- </para>
-
- <para>
- It should be run before autoreconf, autoheader, automake or autoconf.
- </para>
-
- <para>
- <example><title>Running gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-gtkdocize || exit 1
-]]></programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Conditionally run gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-]]></programlisting>
- </example>
- </para>
-
- <para>
- When running <application>gtkdocize</application> it copies
- <filename>gtk-doc.make</filename> to your project root (or any
- directory specified by the <option>--docdir</option> option).
- </para>
-
- <para>
- <application>gtkdocize</application> checks your
- <filename>configure.ac</filename> script for
- the <function>GTK_DOC_CHECK</function> macro.
- The <function>GTK_DOC_CHECK</function> macro can be used to pass
- extra arguments to the <application>gtkdocize</application> script.
- the 2nd parameter in the <function>GTK_DOC_CHECK</function> macro.
- </para>
-
- <para>
- Alternatively, additional arguments can also be passed to
- <application>gtkdocize</application> via the
- <function>GTKDOCIZE_FLAGS</function> environment variable, or by
- directly specifying them to <application>gtkdocize</application>
- in <filename>autogen.sh</filename>.
- </para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Executing GTK-Doc from the Build System</title>
-
- <para>
- After the previous steps it's time to run the build. First we need to
- rerun <filename>autogen.sh</filename>. If this script runs configure
- for you, then give it the <option>--enable-gtk-doc</option> option.
- Otherwise manually run <filename>configure</filename> with this option
- afterwards.
- </para>
- <para>
- The first make run generates several additional files in the doc-directories.
- The important ones are:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
- <para>
- <example><title>Running the doc build</title>
- <programlisting><![CDATA[
-./autogen.sh --enable-gtk-doc
-make
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Now you can point your browser to
- <filename>docs/reference/<package>/index.html</filename>.
- With this initial setup you will only see a very simple document.
- The next chapter will teach you how to add API documentation to your
- code via special comment blocks. The Chapter afterwards introduces
- <link linkend="metafiles">additional files</link> and shows how to
- edit the <link linkend="metafiles_master">master template</link> to
- add additional chapters and sections to your documentation files.
- </para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integration with CMake build systems</title>
-
- <para>
- GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module
- (and the corresponding <filename>GtkDocConfigVersion.cmake</filename>
- module). This provides a <literal>gtk_doc_add_module</literal>
- command that you can set in your <filename>CMakeLists.txt</filename>
- file.
- </para>
-
- <para>
- The following example shows how to use this command.
- <example><title>Example of using GTK-Doc from CMake</title>
- <programlisting><![CDATA[
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integration with plain makefiles or other build systems</title>
-
- <para>
- In the case one does not want to use automake and therefore
- <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
- in the right order in own makefiles (or other build tools).
- </para>
-
- <para>
- <example><title>Documentation build steps</title>
- <programlisting><![CDATA[
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-]]></programlisting>
- </example>
- </para>
-
- <para>
- One will need to look at the <filename>Makefile.am</filename> and
- <filename>gtk-doc.mak</filename> to pick the extra options needed.
- </para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>Integration with version control systems</title>
-
- <para>
- As a rule of thumb, it's the files you edit which should go under
- version control. For typical projects it's these files:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>,
- <filename>Makefile.am</filename>.
- </para>
- <para>
- Files in the <filename>xml/</filename> and <filename>html/</filename>
- directories should not go under version control. Neither should any of
- the <filename>.stamp</filename> files.
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>Documenting the code</title>
-
- <para>
- GTK-Doc uses source code comment with a special syntax for code documentation.
- Further it retrieves information about your project structure from other
- sources. During the next section you will find all information about the
- syntax of the comments.
- </para>
-
- <para>
- The GTK-Doc scanner can handle the majority of C headers fine. In the
- case of receiving warnings from the scanner that look like a special
- case, one can hint GTK-Doc to skip over them.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-]]></programlisting>
- </example>
- </para>
-
- <note>
- <title>Limitations</title>
- <para>
- Note, that GTK-Doc's supports
- <code>#ifndef(__GTK_DOC_IGNORE__)</code> but not
- <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations.
- </para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>Documentation comments</title>
-
- <para>
- A multiline comment that starts with an additional '*' marks a
- documentation block that will be processed by the GTK-Doc tools.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-/**
- * identifier:
- * documentation ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The 'identifier' is one line with the name of the item the comment is
- related to. The syntax differs a little depending on the item.
- (TODO add table showing identifiers)
- </para>
-
- <para>
- The 'documentation' block is also different for each symbol type. Symbol
- types that get parameters such as functions or macros have the parameter
- description first followed by a blank line (just a '*').
- Afterwards follows the detailed description. All lines (outside program
- listings and CDATA sections) just containing a ' *' (blank-asterisk) are
- converted to paragraph breaks.
- If you don't want a paragraph break, change that into ' * '
- (blank-asterisk-blank-blank). This is useful in preformatted text (code
- listings).
- </para>
-
- <tip>
- <para>
- When documenting code, describe two aspects:
- <itemizedlist>
- <listitem>
- <para>
- What it is: The name for a class or function can sometimes
- be misleading for people coming from a different background.
- </para>
- </listitem>
- <listitem>
- <para>
- What it does: Tell about common uses. Put it in relation
- with the other API.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </tip>
-
- <para>
- One advantage of hyper-text over plain-text is the ability to have links
- in the document. Writing the correct markup for a link can be tedious
- though. GTK-Doc comes to help by providing several useful abbreviations.
- <itemizedlist>
- <listitem>
- <para>
- Use function() to refer to functions or macros which take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use @param to refer to parameters. Also use this when referring to
- parameters of other functions, related to the one being described.
- </para>
- </listitem>
- <listitem>
- <para>
- Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #symbol to refer to other types of symbol, e.g. structs and
- enums and macros which don't take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object::signal to refer to a GObject signal.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object:property to refer to a GObject property.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Struct.field to refer to a field inside a structure and
- #GObjectClass.foo_bar() to refer to a vmethod.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <tip>
- <para>
- If you need to use the special characters '<', '>', '()', '@',
- '%', or '#' in your documentation without GTK-Doc changing them you
- can use the XML entities "&lt;", "&gt;", "&lpar;",
- "&rpar;", "&commat;", "&percnt;" and "&num;"
- respectively or escape them with a backslash '\'.
- </para>
- </tip>
-
- <para>
- DocBook can do more than just links. One can also have lists,
- examples, headings, and images. As of version 1.20, the
- preferred way is to use a subset of the basic text formatting
- syntax called
- <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>.
- On older GTK-Doc versions any documentation that includes
- Markdown will be rendered as is. For example, list items will
- appear as lines starting with a dash.
- </para>
-
- <para>
- While markdown is now preferred one can mix both. One limitation here is
- that one can use docbook xml within markdown, but markdown within
- docbook xml is not supported.
- </para>
-
- <para>
- In older GTK-Doc releases, if you need support for additional
- formatting, you would need to enable the usage of docbook
- XML tags inside doc-comments by putting <option>--xml-mode</option>
- (or <option>--sgml-mode</option>) in the variable
- <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
- </para>
-
- <para>
- <example><title>GTK-Doc comment block using Markdown</title>
- <programlisting><
- *
- * 
- *
- * [A link to the heading anchor above][heading-two]
- *
- * A C-language example:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- More examples of what markdown tags are supported can be found in the
- <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">GTK+ Documentation Markdown Syntax Reference</ulink>.
- </para>
-
- <tip>
- <para>
- As already mentioned earlier GTK-Doc is for documenting public API. Thus
- one cannot write documentation for static symbols. Nevertheless it is good
- to comment those symbols too. This helps other developers to understand
- your code.
- Therefore we recommend to comment these using normal comments (without the
- 2nd '*' in the first line).
- If later the function needs to be made public, all one needs to do is to
- add another '*' in the comment block and insert the symbol name at the
- right place inside the sections file.
- </para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>Documenting sections</title>
-
- <para>
- Each section of the documentation contains information about one class
- or module. To introduce the component one can write a section block.
- The short description is also used inside the table of contents.
- All the @fields are optional.
- </para>
-
- <para>
- <example><title>Section comment block</title>
- <programlisting><![CDATA[
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<name></term>
- <listitem>
- <para>
- The name links the section documentation to the respective part in
- the <filename><package>-sections.txt</filename> file. The
- name given here should match the <FILE> tag in the
- <filename><package>-sections.txt</filename> file.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>
- A one line description of the section, that later will appear after
- the links in the TOC and at the top of the section page.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>
- The section title defaults to <name> from the SECTION
- declaration. It can be overridden with the @title field.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>
- Overrides the use of title as a section identifier. For GObjects
- the <title> is used as a section_id and for other sections
- it is <MODULE>-<title>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>
- A list of symbols that are related to this section.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>
- An informal description of the stability level this API has.
- We recommend the use of one of these terms:
- <itemizedlist>
- <listitem>
- <para>
- Stable
- - The intention of a Stable interface is to enable arbitrary
- third parties to develop applications to these interfaces,
- release them, and have confidence that they will run on all
- minor releases of the product (after the one in which the
- interface was introduced, and within the same major release).
- Even at a major release, incompatible changes are expected
- to be rare, and to have strong justifications.
- </para>
- </listitem>
- <listitem>
- <para>
- Unstable
- - Unstable interfaces are experimental or transitional.
- They are typically used to give outside developers early
- access to new or rapidly changing technology, or to provide
- an interim solution to a problem where a more general
- solution is anticipated.
- No claims are made about either source or binary
- compatibility from one minor release to the next.
- </para>
- </listitem>
- <listitem>
- <para>
- Private
- - An interface that can be used within the GNOME stack
- itself, but that is not documented for end-users. Such
- functions should only be used in specified and documented
- ways.
- </para>
- </listitem>
- <listitem>
- <para>
- Internal
- - An interface that is internal to a module and does not
- require end-user documentation. Functions that are
- undocumented are assumed to be Internal.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>
- The <literal>#include</literal> files to show in the section
- synopsis (a comma separated list), overriding the global
- value from the <link linkend="metafiles_sections">section
- file</link> or command line. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>
- The image to display at the top of the reference page for this
- section. This will often be some sort of a diagram to illustrate
- the visual appearance of a class or a diagram of its relationship
- to other classes. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>
- To avoid unnecessary recompilation after doc-changes put the section
- docs into the c-source where possible.
- </para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>Documenting symbols</title>
-
- <para>
- Each symbol (function, macro, struct, enum, signal and property) is
- documented in a separate block. The block is best placed close to the
- definition of the symbols so that it is easy to keep them in sync.
- Thus functions are usually documented in the c-source and macros,
- structs and enums in the header file.
- </para>
-
- <sect2><title>General tags</title>
-
- <para>
- You can add versioning information to all documentation elements to tell
- when an API was introduced, or when it was deprecated.
- </para>
-
- <variablelist><title>Versioning Tags</title>
- <varlistentry><term>Since:</term>
- <listitem>
- <para>
- Description since which version of the code the API is available.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Deprecated:</term>
- <listitem>
- <para>
- Paragraph denoting that this function should no be used anymore.
- The description should point the reader to the new API.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- You can also add stability information to all documentation elements
- to indicate whether API stability is guaranteed for them for all
- future minor releases of the project.
- </para>
-
- <para>
- The default stability level for all documentation elements can be set
- by passing the <option>--default-stability</option> argument to
- <application>gtkdoc-mkdb</application> with one of the values below.
- </para>
-
- <variablelist><title>Stability Tags</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>
- Mark the element as stable. This is for public APIs which are
- guaranteed to remain stable for all future minor releases of the
- project.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>
- Mark the element as unstable. This is for public APIs which are
- released as a preview before being stabilised.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>
- Mark the element as private. This is for interfaces which can be
- used by tightly coupled modules, but not by arbitrary third
- parties.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>General tags</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Annotations</title>
-
- <para>
- Documentation blocks can contain annotation-tags. These tags will be
- rendered with tooltips describing their meaning. The tags are used by
- gobject-introspection to generate language bindings. A detailed list
- of the supported tags can be found on
- <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">the wiki</ulink>.
- </para>
-
- <example><title>Annotations</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: (annotation): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (another annotation)
- * (and another annotation)
- * @foo: (annotation) (another annotation): some foo
- *
- * Sets bar on @foo.
- */
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Function comment block</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document whether returned objects, lists, strings, etc, should be
- freed/unrefed/released.
- </para>
- </listitem>
- <listitem>
- <para>
- Document whether parameters can be NULL, and what happens if they are.
- </para>
- </listitem>
- <listitem>
- <para>
- Mention interesting pre-conditions and post-conditions where appropriate.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <para>
- Gtk-doc assumes all symbols (macros, functions) starting with '_' are
- private. They are treated like static functions.
- </para>
-
- <example><title>Function comment block</title>
- <programlisting><![CDATA[
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-]]></programlisting>
- </example>
-
- <variablelist><title>Function tags</title>
- <varlistentry><term>Returns:</term>
- <listitem>
- <para>
- Paragraph describing the returned result.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>
- In case the function has variadic arguments, you should use this
- tag (@Varargs: does also work for historic reasons).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>Property comment block</title>
-
- <example><title>Property comment block</title>
- <programlisting><![CDATA[
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Signal comment block</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document when the signal is emitted and whether it is emitted before
- or after other signals.
- </para>
- </listitem>
- <listitem>
- <para>
- Document what an application might do in the signal handler.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <example><title>Signal comment block</title>
- <programlisting><![CDATA[
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Struct comment block</title>
- <example><title>Struct comment block</title>
- <programlisting><![CDATA[
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private struct fields
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- <para>
- If the first field is "g_iface", "parent_instance" or "parent_class"
- it will be considered private automatically and doesn't need to be
- mentioned in the comment block.
- </para>
-
- <para>
- Struct comment blocks can also be used for GObjects and GObjectClasses.
- It is usually a good idea to add a comment block for a class, if it has
- vmethods (as this is how they can be documented). For the GObject
- itself one can use the related section docs, having a separate block
- for the instance struct would be useful if the instance has public
- fields. One disadvantage here is that this creates two index entries
- of the same name (the structure and the section).
- </para>
-
- </sect2>
-
- <sect2><title>Enum comment block</title>
- <example><title>Enum comment block</title>
- <programlisting><![CDATA[
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private enum values
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Inline program documentation</title>
- <para>
- You can document programs and their commandline interface using inline
- documentation.
- </para>
-
- <variablelist>
- <title>Tags</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>
- Defines the start of a program documentation.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>
- Defines a short description of the program. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>
- Defines the arguments, or list of arguments that the program can take.
- (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>
- See Also manual page section. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>
- Argument(s) passed to the program and their description. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>
- A longer description of the program.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Returns:</term>
- <listitem>
- <para>
- Specify what value(s) the program returns. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Example of program documentation.</title>
- <example><title>Program documentation block</title>
- <programlisting><![CDATA[
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-]]></programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>Useful DocBook tags</title>
-
- <para>
- Here are some DocBook tags which are most useful when documenting the
- code.
- </para>
-
- <para>
- To link to another section in the GTK docs:
-
- <informalexample>
- <programlisting><![CDATA[
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-]]></programlisting>
- </informalexample>
- The linkend is the SGML/XML id on the top item of the page you want to link to.
- For most pages this is currently the part ("gtk", "gdk", "glib") and then
- the page title ("Hash Tables"). For widgets it is just the class name.
- Spaces and underscores are converted to '-' to conform to SGML/XML.
- </para>
-
- <para>
- To refer to an external function, e.g. a standard C function:
- <informalexample>
- <programlisting><![CDATA[
-<function>...</function>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include bulleted lists:
- <informalexample>
- <programlisting><![CDATA[
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include a note which stands out from the text:
- <informalexample>
- <programlisting><![CDATA[
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a type:
- <informalexample>
- <programlisting><![CDATA[
-<type>unsigned char</type>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to an external structure (not one described in the GTK docs):
- <informalexample>
- <programlisting><![CDATA[
-<structname>XFontStruct</structname>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a field of a structure:
- <informalexample>
- <programlisting><![CDATA[
-<structfield>len</structfield>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a class name, we could possibly use:
- <informalexample>
- <programlisting><![CDATA[
-<classname>GtkWidget</classname>
-]]></programlisting>
- </informalexample>
- but you'll probably be using #GtkWidget instead (to automatically create
- a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
- </para>
-
- <para>
- To emphasize text:
- <informalexample>
- <programlisting><![CDATA[
-<emphasis>This is important</emphasis>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- For filenames use:
- <informalexample>
- <programlisting><![CDATA[
-<filename>/home/user/documents</filename>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to keys use:
- <informalexample>
- <programlisting><![CDATA[
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-]]></programlisting>
- </informalexample>
- </para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Filling the extra files</title>
-
- <para>
- There are a couple of extra files, that need to be maintained along with
- the inline source code comments:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
-
- <sect1 id="metafiles_types">
- <title>Editing the types file</title>
-
- <para>
- If your library or application includes GObjects, you want
- their signals, arguments/parameters and position in the hierarchy to be
- shown in the documentation. All you need to do, is to list the
- <function>xxx_get_type</function> functions together with their include
- inside the <filename><package>.types</filename> file.
- </para>
-
- <para>
- <example><title>Example <package>.types file</title>
- <programlisting><![CDATA[
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
- Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
- use this approach you should not dist the types file nor have it under version control.
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>Editing the master document</title>
-
- <para>
- GTK-Doc produces documentation in DocBook SGML/XML. When processing the
- inline source comments, the GTK-Doc tools generate one documentation
- page per class or module as a separate file. The master document
- includes them and place them in an order.
- </para>
-
- <para>
- While GTK-Doc creates a template master document for you, later runs will
- not touch it again. This means that one can freely structure the
- documentation. That includes grouping pages and adding extra pages.
- GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
- Its a good idea to look at this from time to time to see if there are
- some new goodies introduced there.
- </para>
-
- <tip>
- <para>
- Do not create tutorials as extra documents. Just write extra chapters.
- The benefit of directly embedding the tutorial for your library into
- the API documentation is that it is easy to link for the tutorial to
- symbol documentation. Apart chances are higher that the tutorial gets
- updates along with the library.
- </para>
- </tip>
-
- <para>
- So what are the things to change inside the master document? For a start
- is only a little. There are some placeholders (text in square brackets)
- there which you should take care of.
- </para>
-
- <para>
- <example><title>Master document header</title>
- <programlisting><![CDATA[
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- In addition a few option elements are created in commented form. You can
- review these and enable them as you like.
- </para>
-
- <para>
- <example><title>Optional part in the master document</title>
- <programlisting><![CDATA[
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Finally you need to add new section whenever you introduce one. The
- <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> tool will
- remind you of newly generated xml files that are not yet included into
- the doc.
- </para>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
- <chapter>
- <title>my library</title>
- <xi:include href="xml/object.xml"/>
- ...
-]]></programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>Editing the section file</title>
-
- <para>
- The section file is used to organise the documentation output by
- GTK-Doc. Here one specifies which symbol belongs to which module or
- class and control the visibility (public or private).
- </para>
-
- <para>
- The section file is a plain text file with tags delimiting sections.
- Blank lines are ignored and lines starting with a '#' are treated as
- comment lines.
- </para>
-
- <note>
- <para>
- While the tags make the file look like xml, it is not. Please do not
- close tags like <SUBSECTION>.
- </para>
- </note>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The <FILE> ... </FILE> tag is used to specify the file name,
- without any suffix. For example, using '<FILE>gnome-config</FILE>'
- will result in the section declarations being output in the template
- file <filename>tmpl/gnome-config.sgml</filename>, which will be
- converted into the DocBook XML file <filename>xml/gnome-config.sgml</filename>
- or the DocBook XML file <filename>xml/gnome-config.xml</filename>.
- (The name of the HTML file is based on the module name and the section
- title, or for GObjects it is based on the GObjects class name converted
- to lower case).
- </para>
-
- <para>
- The <TITLE> ... </TITLE> tag is used to specify the title of
- the section. It is only useful before the templates (if used) are
- initially created, since the title set in the template file overrides
- this. Also if one uses SECTION comment in the sources, this is obsolete.
- </para>
-
- <para>
- You can group items in the section by using the <SUBSECTION> tag.
- Currently it outputs a blank line between subsections in the synopsis
- section.
- You can also use <SUBSECTION Standard> for standard GObject
- declarations (e.g. the functions like g_object_get_type and macros like
- G_OBJECT(), G_IS_OBJECT() etc.).
- Currently these are left out of the documentation.
- You can also use <SUBSECTION Private> for private declarations
- which will not be output (it is a handy way to avoid warning messages
- about unused declarations).
- If your library contains private types which you don't want to appear in
- the object hierarchy and the list of implemented or required interfaces,
- add them to a Private subsection.
- Whether you would place GObject and GObjectClass like structs in public
- or Standard section depends if they have public entries (variables,
- vmethods).
- </para>
-
- <para>
- You can also use <INCLUDE> ... </INCLUDE> to specify the
- #include files which are shown in the synopsis sections.
- It contains a comma-separate list of #include files, without the angle
- brackets. If you set it outside of any sections, it acts for all
- sections until the end of the file. If you set it within a section, it
- only applies to that section.
- </para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>Controlling the result</title>
-
- <para>
- A GTK-Doc run generates report files inside the documentation directory.
- The generated files are named:
- <filename><package>-undocumented.txt</filename>,
- <filename><package>-undeclared.txt</filename> and
- <filename><package>-unused.txt</filename>.
- All those are plain text files that can be viewed and postprocessed easily.
- </para>
-
- <para>
- The <filename><package>-undocumented.txt</filename> file starts with
- the documentation coverage summary. Below are two sections divided by
- blank lines. The first section lists undocumented or incomplete symbols.
- The second section does the same for section docs. Incomplete entries are
- those, which have documentation, but where e.g. a new parameter has been
- added.
- </para>
-
- <para>
- The <filename><package>-undeclared.txt</filename> file lists symbols
- given in the <filename><package>-sections.txt</filename> but not
- found in the sources. Check if they have been removed or if they are
- misspelled.
- </para>
-
- <para>
- The <filename><package>-unused.txt</filename> file lists symbol
- names, where the GTK-Doc scanner has found documentation, but does not
- know where to put it. This means that the symbol has not yet been added to
- the <filename><package>-sections.txt</filename> file.
- </para>
-
- <tip>
- <para>
- Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
- If at least GTK-Doc 1.9 is installed, this will run sanity checks during
- <command>make check</command> run.
- </para>
- </tip>
-
- <para>
- One can also look at the files produced by the source code scanner:
- <filename><package>-decl-list.txt</filename> and
- <filename><package>-decl.txt</filename>. The first one can be
- compared with the section file if that is manually maintained. The second
- lists all declarations from the headers. If a symbol is missing one could
- check if this file contains it.
- </para>
-
- <para>
- If the project is GObject based, one can also look into the files produced
- by the object scanner:
- <filename><package>.args.txt</filename>,
- <filename><package>.hierarchy.txt</filename>,
- <filename><package>.interfaces.txt</filename>,
- <filename><package>.prerequisites.txt</filename> and
- <filename><package>.signals.txt</filename>. If there are missing
- symbols in any of those, one can ask GTK-Doc to keep the intermediate
- scanner file for further analysis, by running it as
- <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
- </para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernizing the documentation</title>
-
- <para>
- GTK-Doc has been around for quite some time. In this section we list new
- features together with the version since when it is available.
- </para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>
- When using xml instead of sgml, one can actually name the master
- document <filename><package>-docs.xml</filename>.
- </para>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-sections</option>
- in <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>-sections.txt</filename> is autogenerated and
- can be removed from the vcs. This only works nicely for projects that
- have a very regular structure (e.g. each .{c,h} pair will create new
- section). If one organize a project close to that updating a manually
- maintained section file can be as simple as running
- <code>meld <package>-decl-list.txt <package>-sections.txt</code>.
- </para>
-
- <para>
- Version 1.8 already introduced the syntax for documenting sections in
- the sources instead of the separate files under <filename class="directory">tmpl</filename>.
- This version adds options to switch the whole doc module to not use the
- extra tmpl build step at all, by using <option>--flavour no-tmpl</option>
- in <filename>configure.ac</filename>. If you don't have a <filename class="directory">tmpl</filename>
- checked into your source control system and haven't yet switched, just
- add the flag to <filename>configure.ac</filename> and you are done.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in
- <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>.types</filename> is autogenerated and can be
- removed from the vcs. When using this feature it is important to also
- setup the <varname>IGNORE_HFILES</varname> in
- <filename>Makefile.am</filename> for code that is build conditionally.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>
- This version includes a new tool called gtkdoc-check. This tool can run
- a set of sanity checks on your documentation. It is enabled by adding
- these lines to the end of <filename>Makefile.am</filename>.
- <example><title>Enable gtkdoc-check</title>
- <programlisting><![CDATA[
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>
- Version 1.18 brought some initial markdown support. Using markdown in
- doc comments is less intrusive than writing docbook xml. This version
- improves a lot on this and add a lot more styles. The section that
- explains the <link linkend="documenting_syntax">comment syntax</link>
- has all the details.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>
- The makefiles shipped with this version generate an entity file at <filename>xml/gtkdocentities.ent</filename>,
- containing entities for e.g. package_name and package_version. You can
- use this e.g. in the main xml file to avoid hardcoding the version
- number. Below is an example that shows how the entity file is included
- in the master template and how the entities are used.
- The entities can also be used in all
- generated files, GTK-Doc will use the same xml header in generated xml
- files.
- <example><title>Use pre-generated entities</title>
- <programlisting><![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-]]></programlisting>
- </example>
- </para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Documentando outras interfaces</title>
-
- <para>
- So far we have been using GTK-Doc to document the API of code. The next
- sections contain suggestions how the tools can be used to document other
- interfaces too.
- </para>
-
- <sect1 id="commandline-interfaces">
- <title>Command line options and man pages</title>
-
- <para>
- As one can generate man pages for a docbook refentry as well, it sounds
- like a good idea to use it for that purpose. This way the interface is
- part of the reference and one gets the man-page for free.
- </para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Documente a ferramenta</title>
-
- <para>
- Create one refentry file per tool. Following
- <link linkend="settingup_docfiles">our example</link> we would call it
- <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
- tags that should be used and can look at generated file in the xml
- subdirectory as well as examples e.g. in glib.
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Adding the extra configure check</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-]]></programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Adding the extra makefile rules</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-]]></programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>Intefaces de DBus</title>
-
- <para>
- (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
-http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Preguntas frecuentes</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>Pregunta</segtitle>
- <segtitle>Resposta</segtitle>
- <seglistitem>
- <seg>Non hai herdanza de clases.</seg>
- <seg>
- The objects <function>xxx_get_type()</function> function has not been
- entered into the <filename><package>.types</filename> file.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Aínda non hai herdanza de clases.</seg>
- <seg>
- Missing or wrong naming in <filename><package>-sections.txt</filename>
- file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explanation</ulink>).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Redemo, aínda non hai herdanza de clase.</seg>
- <seg>
- Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
- part of the normal section (don't put this into Standard or Private
- subsections).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>No symbol index.</seg>
- <seg>
- Does the <filename><package>-docs.{xml,sgml}</filename> contain a
- index that xi:includes the generated index?
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Symbols are not linked to their doc-section.</seg>
- <seg>
- Is the doc-comment using the correct markup (added #,% or ())?
- Check if the gtkdoc-fixxref warns about unresolvable xrefs.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new class does not appear in the docs.</seg>
- <seg>
- Is the new page xi:included from
- <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new symbol does not appear in the docs.</seg>
- <seg>
- Is the doc-comment properly formatted. Check for spelling mistakes in
- the begin of the comment. Check if the gtkdoc-fixxref warns about
- unresolvable xrefs. Check if the symbol is correctly listed in the
- <filename><package>-sections.txt</filename> in a public subsection.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A type is missing from the class hierarchy.</seg>
- <seg>
- If the type is listed in <filename><package>.hierarchy</filename>
- but not in <filename>xml/tree_index.sgml</filename> then double check
- that the type is correctly placed in the <filename><package>-sections.txt</filename>.
- If the type instance (e.g. <type>GtkWidget</type>) is not listed or
- incidentally marked private it will not be shown.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>I get foldoc links for all gobject annotations.</seg>
- <seg>
- Check that <filename>xml/annotation-glossary.xml</filename> is
- xi:included from <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parameter described in source code comment block but does not exist</seg>
- <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>multiple "IDs" for constraint linkend: XYZ</seg>
- <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Tools related to gtk-doc</title>
-
- <para>
- GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
- integration plugin, that adds API docs to a trac site and integrates with
- the trac search.
- </para>
- <para>
- Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
- tags in the API to determine the minimum required version.
- </para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>
- Version 1.1, March 2000
- </releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPIANDO EN CANTIDADE</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICACIÓNS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Version 1.1, March 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>આ લાઇસન્સની ચેતવણી ન થયેલ નકલને સમાવો.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>તમે લખેલ છે તે દસ્તાવેજમાં આ લાઇસન્સને વાપરવા માટે, દસ્તાવેજમાં લાઇસન્સની નકલને સમાવો અને નીચેનાં કોપીરાઇટ અને લાઇસન્સ સૂચનાઓને શીર્ષક પાનાં પછી મૂકો:</para>
-
- <blockquote>
- <para>Copyright YEAR YOUR NAME.</para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
#: C/gtk-doc-manual.xml:566(para)
msgid "As a rule of the thumb, it's those files you edit, that should go under version control. For typical projects it's these files: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
-msgstr "અંગૂઠાનાં નિયમ પ્રમાણે, તે તે ફાઇલો છે જે તમારે સુધારવાની છે, કે જે આવૃત્તિ નિયંત્રણ હેઠળ જવી જોઇએ. વિશિષ્ટ પ્રોજેક્ટો માટે તે આ ફાઇલો છે: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filenam"
+msgstr "અંગૂઠાનાં નિયમ પ્રમાણે, તે તે ફાઇલો છે જે તમારે સુધારવાની છે, કે જે આવૃત્તિ નિયંત્રણ હેઠળ જવી જોઇએ. વિશિષ્ટ પ્રોજેક્ટો માટે તે આ ફાઇલો છે: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
#: C/gtk-doc-manual.xml:579(title)
msgid "Documenting the code"
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="gu">
- <bookinfo>
- <title>GTK-Doc પુસ્તિકા</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>GTK-Doc વપરાશની સૂચનાઓ સાથે ડેવલપરો માટે વપરાશકર્તા પુસ્તિકા.</para></abstract>
- <authorgroup>
- <author>
- <firstname>Chris</firstname>
- <surname>Lyttle</surname>
- <affiliation>
- <address>
- <email>chris@wilddev.net</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Dan</firstname>
- <surname>Mueth</surname>
- <affiliation>
- <address>
- <email>d-mueth@uchicago.edu</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Stefan</firstname>
- <surname>Sauer (Kost)</surname>
- <affiliation>
- <address>
- <email>ensonic@users.sf.net</email>
- </address>
- </affiliation>
- </author>
- </authorgroup>
- <publisher role="maintainer">
- <publishername>GTK-Doc project</publishername>
- <address><email>gtk-doc-list@gnome.org</email></address>
- </publisher>
- <copyright>
- <year>2000, 2005</year>
- <holder>Dan Mueth and Chris Lyttle</holder>
- </copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation License</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is <link linkend="fdl">included</link>.</para>
- <para>Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps.</para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.28</revnumber>
- <date>24 Mar 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.27</revnumber>
- <date>07 Dec 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>fine tuning of the python port</revremark>
- </revision>
- <revision>
- <revnumber>1.26</revnumber>
- <date>11 Aug 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>port all tools from perl/bash to python</revremark>
- </revision>
- <revision>
- <revnumber>1.25</revnumber>
- <date>21 March 2016</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, test cleanups</revremark>
- </revision>
- <revision>
- <revnumber>1.24</revnumber>
- <date>29 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.23</revnumber>
- <date>17 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.22</revnumber>
- <date>07 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.21</revnumber>
- <date>17 Jul 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.20</revnumber>
- <date>16 Feb 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, markdown support, style improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.19</revnumber>
- <date>05 Jun 2013</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.18</revnumber>
- <date>14 Sep 2011</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, speedups, markdown support</revremark>
- </revision>
- <revision>
- <revnumber>1.17</revnumber>
- <date>26 Feb 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>urgent bug fix update</revremark>
- </revision>
- <revision>
- <revnumber>1.16</revnumber>
- <date>14 Jan 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes, layout improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.15</revnumber>
- <date>21 May 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bug and regression fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.14</revnumber>
- <date>28 March 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes and performance improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.13</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>broken tarball update</revremark>
- </revision>
- <revision>
- <revnumber>1.12</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>new tool features and bugfixes</revremark>
- </revision>
- <revision>
- <revnumber>1.11</revnumber>
- <date>16 November 2008</date>
- <authorinitials>mal</authorinitials>
- <revremark>GNOME doc-utils migration</revremark>
- </revision>
- </revhistory>
-
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>પરિચય</title>
-
- <para>આ પ્રકરણ GTK-Doc ને રજૂ કરે છે અને તે શું છે અને તેને કેવી રીતે વપરાયેલ છે તેની ઝાંખી આપે છે.</para>
-
- <sect1 id="whatisgtkdoc">
- <title>GTK-Doc શું છે?</title>
-
- <para>GTK-Doc એ દસ્તાવેજ C કોડ માટે વપરાયેલ છે. તે લાઇબ્રેરીઓનાં સાર્વજનિક API નાં દસ્તાવેજ માટે વપરાયેલ છે, જેવું કે GTK+ અને GNOME લાઇબ્રેરીઓ. પરંતુ તે પણ દસ્તાવેજ કાર્યક્રમ કોડ માટે વપરાયેલ છે.</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>GTK-Doc કામ કેવી રીતે કરે છે?</title>
-
- <para>GTK-Doc એ વિશિષ્ટ રીતે માળખુ થયેલ ટિપ્પણી બ્લોકોમાં સ્ત્રોત ફાઇલોની અંદર સ્થિત થયેલ વિધેયોનાં દસ્તાવેજીકરણની મદદથી કામ કરે છે, અથવા દસ્તાવેજીકરણ ટેમ્પલેટ ફાઇલોમાં ઉમેરાયેલ છે કે જે GTK-Doc વાપરે છે (છતાંપણ નોંધો કે GTK-Doc એ પણ દસ્તાવેજ વિધેયો હશે કે જે શીર્ષક ફાઇલોમાં જાહેર થયેલ છે; તે સ્થિર વિધેયો માટે આઉટપુટ ઉત્પન્ન કરતુ નથી).</para>
-
- <para>
- GTK-Doc consists of a number of python scripts, each performing a different step
- in the process.
- </para>
-
- <para>ત્યાં પ્રક્રિયામાં મુખ્ય ૫ પગલાંઓ છે:</para>
-
- <orderedlist>
-
- <listitem>
- <para>
- <guilabel>Writing the documentation.</guilabel>
-
- The author fills in the source files with the documentation for each
- function, macro, structs or unions, etc.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Gathering information about the code.</guilabel>
-
- <application>gtkdoc-scan</application> scans the header files of the
- code looking for declarations of functions, macros, enums, structs, and unions.
- It creates the file <filename><module>-decl-list.txt</filename> containing a list of the
- declarations, placing them into sections according to which header file they
- are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
- The author can rearrange the sections, and the order of the
- declarations within them, to produce the final desired order.
- The second file it generates is <filename><module>-decl.txt</filename>.
- This file contains the full declarations found by the scanner. If for
- some reason one would like some symbols to show up in the docs, where
- the full declaration cannot be found by the scanner or the declaration
- should appear differently, one can place entities similar to the ones in
- <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
- </para>
- <para>
- <application>gtkdoc-scangobj</application> can also be used to dynamically query a library about
- any GObject subclasses it exports. It saves information about each
- object's position in the class hierarchy and about any GObject properties
- and signals it provides.
- </para>
- <para>
- <application>gtkdoc-scanobj</application> should not be used anymore.
- It was needed in the past when GObject was still GtkObject inside gtk+.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Generating the XML and HTML/PDF.</guilabel>
-
- <application>gtkdoc-mkdb</application> turns the template files into
- XML files in the <filename class="directory">xml/</filename> subdirectory.
- If the source code contains documentation on functions, using the
- special comment blocks, it gets merged in here. If there are no tmpl files used
- it only reads docs from sources and introspection data.
- </para>
- <para>
- <application>gtkdoc-mkhtml</application> turns the XML files into HTML
- files in the <filename class="directory">html/</filename> subdirectory.
- Likewise <application>gtkdoc-mkpdf</application> turns the XML files into a PDF
- document called <filename><package>.pdf</filename>.
- </para>
- <para>
- Files in <filename class="directory">xml/</filename> and
- <filename class="directory">html/</filename> directories are always
- overwritten. One should never edit them directly.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Fixing up cross-references between documents.</guilabel>
-
- After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any
- cross-references between separate documents. For example, the GTK+
- documentation contains many cross-references to types documented in the GLib manual.
-
- When creating the source tarball for distribution, <application>gtkdoc-rebase</application>
- turns all external links into web-links. When installing distributed (pregenerated) docs
- the same application will try to turn links back to local links
- (where those docs are installed).
- </para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>GTK-Doc ને મેળવી રહ્યા છે</title>
-
- <sect2 id="requirements">
- <title>જરૂરિયાતો</title>
- <para>
- <guilabel>python 2/3</guilabel> - the main scripts are written in python.
- </para>
- <para>
- <guilabel>xsltproc</guilabel> - the xslt processor from libxslt
- <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink>
- </para>
- <para>
- <guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets
- <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>
- </para>
- <para>
- One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> or
- <guilabel>vim</guilabel> - optional - used for syntax highlighting of examples
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>GTK-Doc વિશે</title>
-
- <para>
- Historically GTK-Doc was used to generate template files from the sources
- code. These template files could be used by developers to enter the
- API documentation. This approach was rather inconvenient because it
- required to keep the generated files under version control.
- Since GTK-Doc 1.9 it became possible to place all API information
- into source comments, which made the template support obsolete.
- In version 1.26 template support has been removed.
- </para>
-
- <para>(FIXME)</para>
-
- <para>
- (authors, web pages, mailing list, license, future plans,
- comparison with other similar systems.)
- </para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>આ પુસ્તિકા વિશે</title>
-
- <para>(FIXME)</para>
-
- <para>
- (who it is meant for, where you can get it, license)
- </para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Project Setup</title>
-
- <para>
- This Chapter describes the steps that are necessary to integrate GTK-Doc
- into your project. The integration of GTK-Doc into a project includes the
- following steps:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Preparation of the directory structure and creating required
- configuration files for your GTK-Doc documentation (see
- <link linkend="settingup_docfiles">
- Setting up a skeleton documentation</link>).
- </para>
- </listitem>
- <listitem>
- <para>
- Adjusting the build system to build your documentation using the
- GTK-Doc tools. Multiple build systems are supported, in
- this manual we describe how to integrate GTK-Doc with
- <link linkend="settingup_autotools">Autotools</link>,
- <link linkend="settingup_cmake">CMake</link>, and
- <link linkend="settingup_plain_makefiles">plain Makefiles</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adding GTK-Doc specific files to version control and deciding which
- files to ignore (see <link linkend="settingup_vcs">
- Integration with version control systems</link>).
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The following sections assume we work on a project called
- <code>meep</code>.
- This project contains two packages (or modules),
- a library called <code>libmeep</code> and an end-user app
- called <code>meeper</code>.
- </para>
-
- <sect1 id="settingup_docfiles">
- <title>સ્કેલેટન દસ્તાવેજીકરણને સુયોજિત કરી રહ્યા છે</title>
-
- <para>
- A common convention is to place documentation into a folder called
- <code>docs</code> inside your top-level project directory.
- We usually distinguish between <emphasis>reference
- documentation</emphasis> intended for developers and an
- <emphasis>user manual</emphasis> intended for end-users.
- Again the convention is to have separate folders for both.
- We usually place the reference documentation in a folder named
- <code>reference</code> and the end-user manual in a folder named
- <code>help</code> as.
-
- According to the above convention the documentation for our
- <code>libmeep</code> package would be placed into:
- <code>docs/reference/libmeep</code>.
-
- For packages with just one library or application
- the documentation could also be placed directly into
- <code>docs/reference</code>.
-
- It is not mandatory to use the above convention, but if you
- choose to use a different directory structure you must adjust
- your build system configuration to match your directory
- structure.
- </para>
-
- <para>
- In the following sections we will assume a directory structure
- for our <emphasis>meep</emphasis> project that uses the above
- conventions.
-
- <example>
- <title>Example directory structure of <emphasis>meep</emphasis>
- project</title>
- <programlisting><![CDATA[
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integration with Autotools</title>
- <para>
- Integration of GTK-Doc into an autotools-based build system requires the
- following steps:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Ensure that <application>gtkdocize</application> is run once before
- the <filename>configure</filename> script. If an
- <filename>autogen.sh</filename> script is present, adjust it to
- check for GTK-Doc and add a call to
- <application>gtkdocize</application>.
- </para>
-
- <para>
- The main purpose of <application>gtkdocize</application> is to
- make the <filename>gtk-doc.make</filename> Makefile and the
- <filename>gtk-doc.m4</filename> macro definition file available
- to the build system, either by copying or linking it
- into the project.
- </para>
- </listitem>
- <listitem>
- <para>
- Add the necessary <application>autoconf</application> macros to
- <filename>configure.ac</filename> to enable GTK-Doc in your build
- system to allow configuration of GTK-Doc via the generated
- <filename>configure</filename> script.
- </para>
- <para>
- Among others with registers the <code>--enable-gtk-doc</code>
- option with the <filename>configure</filename> script.
- </para>
- </listitem>
- <listitem>
- <para>
- Create an <application>automake</application> script for each
- application or library in your project. In the example used in this
- documentation this step applies to both <code>meeper</code> and
- <code>libmeep</code>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the following sections, we will perform the above steps in reverse
- order. We start with the <application>automake</application> scripts
- and work our way up to <filename>configure.ac</filename> and
- <filename>autogen.sh</filename>.
- Then we show how enable Gtk-Doc in the build system and
- how to build the documentation.
- </para>
-
- <sect2 id="settingup_automake">
- <title>automake સાથે એકત્રિકરણ</title>
-
- <para>
- First copy the <filename>Makefile.am</filename> from the
- <filename class="directory">examples</filename> sub-directory of the
- <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">
- gtkdoc-sources</ulink>
- to your project's reference documentation directory (e.g.
- <filename class="directory">docs/reference/<package></filename>).
- A local copy should be available under e.g.
- <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>.
- If you have multiple packages repeat this for each one.
- </para>
-
- <note>
- <simpara>
- Do not forget to add each <filename>Makefile.am</filename>
- to the <function>AC_CONFIG_FILES</function> macro in
- <filename>configure.ac</filename>. For
- <filename>docs/reference/libmeep/Makefile.am</filename> you will
- need to add the entry
- <filename>docs/reference/libmeep/Makefile</filename>
- to <function>AC_CONFIG_FILES</function>.
- </simpara>
- </note>
-
- <example>
- <title>
- Example directory structure with <filename>Makefiles.am</filename>
- </title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>
- Next, you need to customize the copied Makefiles
- and provide values for the various parameters in each
- <filename>Makefile.am</filename>.
-
- All settings have a comment above them that describes their purpose
- and how to customize the setting.
-
- Most settings are used to supply extra flags to the respective tools
- to which they apply. Every tool
- has a variable of the form <option><TOOLNAME>_OPTIONS</option>
- (e.g. the tool <application>gtkdoc-mkhtml</application> has
- an option named <code>MKHTML_OPTIONS</code>).
-
- All the tools support <option>--help</option> to list the supported
- options.
- </para>
-
- <para>
- The following list explains the most relevant options. Check the
- example <filename>Makefile.am</filename> for additional options.
-
- <itemizedlist>
- <listitem>
- <para>
- <option>DOC_MODULE</option> is used to provide the name of the
- package that is being documentated (e.g. <code>meeper</code>, or
- <code>libmeep</code>).
- </para>
- </listitem>
- <listitem>
- <para>
- <option>DOC_SOURCE_DIR</option>
- is used to specify the location
- of source directory which GTK-Doc searches for your API
- documentation. This will usually be
- <code>
- DOC_SOURCE_DIR=$(top_srcdir)/src
- </code>
- or a sub-directory of that directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HFILE_GLOB</option>
- and
- <option>CFILE_GLOB</option>
- are used for dependencies. Each option take a file-glob (e.g.
- <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>).
- The documentation will be rebuilt if any of the matched files
- change.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>EXTRA_HFILES</option>
- allows to specify extra header files
- to include when scanning for API documentation, which are not
- found under <code>DOC_SOURCE_DIR</code> (e.g. <code>
- EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>IGNORE_HFILES</option>
- allows to specify header files
- or directories to ignore when scanning for API documentation.
- Use the basename of the file or directory (e.g. <code>
- IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HTML_IMAGES</option>
- allows to specify images files which
- will be copied into the <filename>html/</filename> directory of
- the generated documentation.
- If your API documentation includes any images they need to be
- added to this
- option (e.g. <code>
- HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>content_files</option>
- allows to specify extra files
- that are included by
- <code>$(DOC_MAIN_SGML_FILE)</code>
- (e.g. <code>
- content_files=running.xml building.xml changes-2.0.xml</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>expand_content_files</option>
- allows to specify files
- where <emphasis>gtk-doc abbreviations</emphasis> such as
- <code>#GtkWidget</code>
- are expanded (e.g. <code>
- expand_content_files=running.xml</code>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>autoconf સાથે એકત્રિકરણ</title>
-
- <para>
- Integration with <application>autoconf</application> is very simple
- and includes one required step and an additional optional
- (but recommended) step.
-
- The first step is to add the <function>GTK_DOC_CHECK</function> macro
- to your <filename>configure.ac</filename> script. This registers
- several configure options to enable GTK-Doc and allows you
- to set default arguments for <application>gtkdocize</application>.
- </para>
-
- <warning>
- <simpara>
- Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented.
- The macro must start at the beginning of the line and should not
- start with whitespace.
- </simpara>
- </warning>
-
- <para>
- The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code>
- to your <filename>configure.ac</filename>. This is not required
- but helps <application>gtkdocize</application> to automatically copy
- the macro definition (e.g <filename>gtk-doc.m4</filename>) which
- contains the <function>GTK_DOC_CHECK</function> macro to your
- project's macro directory. Without this, the GTK_DOC_CHECK macro
- might not be found and you would need to explicitly tell the
- <application>aclocal</application> tool where to find the macro
- definition file.
- </para>
-
- <para>
- <example><title>Minimal integration with autoconf</title>
- <programlisting><![CDATA[
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The above example works, but will require all developers to have
- gtk-doc installed. A better way is to make building the documentation
- optional as shown in the next example:
-
- <example>
- <title>Integration with optional gtk-doc dependency</title>
- <programlisting><![CDATA[
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The first argument is used to check for the Gtk-Doc version at
- configure time. The 2nd, optional argument is used by
- <application>gtkdocize</application>.
- The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure
- switches:
- </para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=PATH : સ્થાપિત થયેલ દસ્તાવેજોનો પાથ</para></listitem>
- <listitem><para>--enable-gtk-doc : દસ્તાવેજીકરણ ને બિલ્ડ કરવા માટે gtk-doc ને વાપરો [default=no]</para></listitem>
- <listitem><para>--enable-gtk-doc-html : html બંધારણમાં દસ્તાવેજીકરણ બિલ્ડ કરો [default=yes]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : pdf બંધારણમાં દસ્તાવેજીકરણને બિલ્ડ કરો [default=no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>GTK-Doc એ મૂળભૂત રીતે નિષ્ક્રિય થયેલ છે! આગળનાં <filename>configure</filename> ને ચલાવવા માટે <option>'--enable-gtk-doc'</option> ને પસાર કરવાનું યાદ રાખો. નહિં તો પહેલીથી ઉત્પન્ન થયેલ દસ્તાવેજીકરણ સ્થાપિત થયેલ છે (કે જે વપરાશકર્તાઓ માટેનો અર્થ બને છે પરંતુ ડેવલપરો માટે નહિં).</para>
- </important>
-
- <para>
- After all changes to <filename>configure.ac</filename> are made,
- update the <filename>configure</filename> file. This can be done by
- re-running <code>autogen.sh</code>.
- </para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>autogen સાથે એકત્રિકરણ</title>
-
- <para>
- Most projects will have an <filename>autogen.sh</filename> script to
- setup the build infrastructure after the project was checked out from
- a version control system (such as git or svn). GTK-Doc comes with a
- script called <application>gtkdocize</application> which can be used
- to copy the necessary files needed by Gtk-Doc to the source directory.
- </para>
-
- <para>
- It should be run before autoreconf, autoheader, automake or autoconf.
- </para>
-
- <para>
- <example><title>autogen.sh માંથી gtkdocize ને ચલાવી રહ્યા છે</title>
- <programlisting><![CDATA[
-gtkdocize || exit 1
-]]></programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Conditionally run gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-]]></programlisting>
- </example>
- </para>
-
- <para>
- When running <application>gtkdocize</application> it copies
- <filename>gtk-doc.make</filename> to your project root (or any
- directory specified by the <option>--docdir</option> option).
- </para>
-
- <para>
- <application>gtkdocize</application> checks your
- <filename>configure.ac</filename> script for
- the <function>GTK_DOC_CHECK</function> macro.
- The <function>GTK_DOC_CHECK</function> macro can be used to pass
- extra arguments to the <application>gtkdocize</application> script.
- the 2nd parameter in the <function>GTK_DOC_CHECK</function> macro.
- </para>
-
- <para>
- Alternatively, additional arguments can also be passed to
- <application>gtkdocize</application> via the
- <function>GTKDOCIZE_FLAGS</function> environment variable, or by
- directly specifying them to <application>gtkdocize</application>
- in <filename>autogen.sh</filename>.
- </para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Executing GTK-Doc from the Build System</title>
-
- <para>પહેલાનાં પગલાઓ પછી બિલ્ડ ને ચલાવવા માટે સમય થઇ ગયો છે. પહેલાં આપણે <filename>autogen.sh</filename> પુન:ચલાવવાની જરૂર છે. નહિં તો પછીથી આ વિકલ્પ સાથે <filename>configure</filename> ને જાતે જ ચલાવો.</para>
- <para>
- The first make run generates several additional files in the doc-directories.
- The important ones are:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
- <para>
- <example><title>દસ્તાવેજ બિલ્ડને ચલાવી રહ્યા છે</title>
- <programlisting><![CDATA[
-./autogen.sh --enable-gtk-doc
-make
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Now you can point your browser to
- <filename>docs/reference/<package>/index.html</filename>.
- With this initial setup you will only see a very simple document.
- The next chapter will teach you how to add API documentation to your
- code via special comment blocks. The Chapter afterwards introduces
- <link linkend="metafiles">additional files</link> and shows how to
- edit the <link linkend="metafiles_master">master template</link> to
- add additional chapters and sections to your documentation files.
- </para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integration with CMake build systems</title>
-
- <para>
- GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module
- (and the corresponding <filename>GtkDocConfigVersion.cmake</filename>
- module). This provides a <literal>gtk_doc_add_module</literal>
- command that you can set in your <filename>CMakeLists.txt</filename>
- file.
- </para>
-
- <para>
- The following example shows how to use this command.
- <example><title>Example of using GTK-Doc from CMake</title>
- <programlisting><![CDATA[
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integration with plain makefiles or other build systems</title>
-
- <para>
- In the case one does not want to use automake and therefore
- <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
- in the right order in own makefiles (or other build tools).
- </para>
-
- <para>
- <example><title>Documentation build steps</title>
- <programlisting><![CDATA[
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-]]></programlisting>
- </example>
- </para>
-
- <para>
- One will need to look at the <filename>Makefile.am</filename> and
- <filename>gtk-doc.mak</filename> to pick the extra options needed.
- </para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>આવૃત્તિ નિયંત્રણ સિસ્ટમો સાથે એકત્રિકરણ</title>
-
- <para>
- As a rule of thumb, it's the files you edit which should go under
- version control. For typical projects it's these files:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>,
- <filename>Makefile.am</filename>.
- </para>
- <para>
- Files in the <filename>xml/</filename> and <filename>html/</filename>
- directories should not go under version control. Neither should any of
- the <filename>.stamp</filename> files.
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>કોડને દસ્તાવેજ કરી રહ્યા છે</title>
-
- <para>
- GTK-Doc uses source code comment with a special syntax for code documentation.
- Further it retrieves information about your project structure from other
- sources. During the next section you will find all information about the
- syntax of the comments.
- </para>
-
- <para>
- The GTK-Doc scanner can handle the majority of C headers fine. In the
- case of receiving warnings from the scanner that look like a special
- case, one can hint GTK-Doc to skip over them.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-]]></programlisting>
- </example>
- </para>
-
- <note>
- <title>Limitations</title>
- <para>
- Note, that GTK-Doc's supports
- <code>#ifndef(__GTK_DOC_IGNORE__)</code> but not
- <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations.
- </para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>દસ્તાવેજીકરણ ટિપ્પણીઓ</title>
-
- <para>
- A multiline comment that starts with an additional '*' marks a
- documentation block that will be processed by the GTK-Doc tools.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-/**
- * identifier:
- * documentation ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The 'identifier' is one line with the name of the item the comment is
- related to. The syntax differs a little depending on the item.
- (TODO add table showing identifiers)
- </para>
-
- <para>
- The 'documentation' block is also different for each symbol type. Symbol
- types that get parameters such as functions or macros have the parameter
- description first followed by a blank line (just a '*').
- Afterwards follows the detailed description. All lines (outside program
- listings and CDATA sections) just containing a ' *' (blank-asterisk) are
- converted to paragraph breaks.
- If you don't want a paragraph break, change that into ' * '
- (blank-asterisk-blank-blank). This is useful in preformatted text (code
- listings).
- </para>
-
- <tip>
- <para>
- When documenting code, describe two aspects:
- <itemizedlist>
- <listitem>
- <para>
- What it is: The name for a class or function can sometimes
- be misleading for people coming from a different background.
- </para>
- </listitem>
- <listitem>
- <para>
- What it does: Tell about common uses. Put it in relation
- with the other API.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </tip>
-
- <para>
- One advantage of hyper-text over plain-text is the ability to have links
- in the document. Writing the correct markup for a link can be tedious
- though. GTK-Doc comes to help by providing several useful abbreviations.
- <itemizedlist>
- <listitem>
- <para>
- Use function() to refer to functions or macros which take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use @param to refer to parameters. Also use this when referring to
- parameters of other functions, related to the one being described.
- </para>
- </listitem>
- <listitem>
- <para>
- Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #symbol to refer to other types of symbol, e.g. structs and
- enums and macros which don't take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object::signal to refer to a GObject signal.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object:property to refer to a GObject property.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Struct.field to refer to a field inside a structure and
- #GObjectClass.foo_bar() to refer to a vmethod.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <tip>
- <para>જો તમારે તેઓને બદલ્યા વગર GTK-Doc વગર તમારાં દસ્તાવેજીકરણમાં વિશિષ્ટ અક્ષરો '<', '>', '()', '@', '%', or '#' ને વાપરવાનું ઇચ્છતા હોય તો તમે XML વસ્તુઓ "&lt;", "&gt;", "&lpar;", "&rpar;", "&commat;", "&percnt;" અને "&num;" ને વાપરી શકો છો અથવા બેકસ્લેશ '\' સાથે તેઓમાંથી બહાર નીકળી જાઓ.</para>
- </tip>
-
- <para>
- DocBook can do more than just links. One can also have lists,
- examples, headings, and images. As of version 1.20, the
- preferred way is to use a subset of the basic text formatting
- syntax called
- <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>.
- On older GTK-Doc versions any documentation that includes
- Markdown will be rendered as is. For example, list items will
- appear as lines starting with a dash.
- </para>
-
- <para>
- While markdown is now preferred one can mix both. One limitation here is
- that one can use docbook xml within markdown, but markdown within
- docbook xml is not supported.
- </para>
-
- <para>
- In older GTK-Doc releases, if you need support for additional
- formatting, you would need to enable the usage of docbook
- XML tags inside doc-comments by putting <option>--xml-mode</option>
- (or <option>--sgml-mode</option>) in the variable
- <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
- </para>
-
- <para>
- <example><title>GTK-Doc comment block using Markdown</title>
- <programlisting><
- *
- * 
- *
- * [A link to the heading anchor above][heading-two]
- *
- * A C-language example:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- More examples of what markdown tags are supported can be found in the
- <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">GTK+ Documentation Markdown Syntax Reference</ulink>.
- </para>
-
- <tip>
- <para>
- As already mentioned earlier GTK-Doc is for documenting public API. Thus
- one cannot write documentation for static symbols. Nevertheless it is good
- to comment those symbols too. This helps other developers to understand
- your code.
- Therefore we recommend to comment these using normal comments (without the
- 2nd '*' in the first line).
- If later the function needs to be made public, all one needs to do is to
- add another '*' in the comment block and insert the symbol name at the
- right place inside the sections file.
- </para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>વિભાગોનું દસ્તાવેજ કરી રહ્યા છે</title>
-
- <para>દસ્તાવેજીકરણનો દરેક વિભાગ એ એર વર્ગ અથવા મોડ્યુલ વિશે જાણકારીને સમાવે છે. એક ઘટક એ વિભાગ બ્લોક લખી શકે છે તે રજૂ કરવા માટે. ટૂંકુ વર્ણન એ સમાવિષ્ટોનાં કોષ્ટકની અંદર પણ વપરાયેલ છે. બધી @fields વૈકલ્પિક છે.</para>
-
- <para>
- <example><title>વિભાગ ટિપ્પણી બ્લોક</title>
- <programlisting><![CDATA[
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<name></term>
- <listitem>
- <para>
- The name links the section documentation to the respective part in
- the <filename><package>-sections.txt</filename> file. The
- name given here should match the <FILE> tag in the
- <filename><package>-sections.txt</filename> file.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@shortdescription (_d)</term>
- <listitem>
- <para>વિભાગનું એક વાક્યનું વર્ણન, કે જે પછી TOC માં અને વિભાગ પાનાંની ટોચે કડીઓ પછી દેખાશે.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>વિભાગનું શીર્ષક એ SECTION રજૂઆતમાંથી <name> માટે મૂળભૂત કરેલ છે. તે @title ક્ષેત્ર સાથે અવગણી શકાય છે.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@sectionid (_i)</term>
- <listitem>
- <para>
- Overrides the use of title as a section identifier. For GObjects
- the <title> is used as a section_id and for other sections
- it is <MODULE>-<title>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@seealso (_a)</term>
- <listitem>
- <para>
- A list of symbols that are related to this section.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>
- An informal description of the stability level this API has.
- We recommend the use of one of these terms:
- <itemizedlist>
- <listitem>
- <para>
- Stable
- - The intention of a Stable interface is to enable arbitrary
- third parties to develop applications to these interfaces,
- release them, and have confidence that they will run on all
- minor releases of the product (after the one in which the
- interface was introduced, and within the same major release).
- Even at a major release, incompatible changes are expected
- to be rare, and to have strong justifications.
- </para>
- </listitem>
- <listitem>
- <para>
- Unstable
- - Unstable interfaces are experimental or transitional.
- They are typically used to give outside developers early
- access to new or rapidly changing technology, or to provide
- an interim solution to a problem where a more general
- solution is anticipated.
- No claims are made about either source or binary
- compatibility from one minor release to the next.
- </para>
- </listitem>
- <listitem>
- <para>
- Private
- - An interface that can be used within the GNOME stack
- itself, but that is not documented for end-users. Such
- functions should only be used in specified and documented
- ways.
- </para>
- </listitem>
- <listitem>
- <para>
- Internal
- - An interface that is internal to a module and does not
- require end-user documentation. Functions that are
- undocumented are assumed to be Internal.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>
- The <literal>#include</literal> files to show in the section
- synopsis (a comma separated list), overriding the global
- value from the <link linkend="metafiles_sections">section
- file</link> or command line. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>
- The image to display at the top of the reference page for this
- section. This will often be some sort of a diagram to illustrate
- the visual appearance of a class or a diagram of its relationship
- to other classes. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>
- To avoid unnecessary recompilation after doc-changes put the section
- docs into the c-source where possible.
- </para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>સંકેતોનું દસ્તાવેજ કરી રહ્યા છે</title>
-
- <para>
- Each symbol (function, macro, struct, enum, signal and property) is
- documented in a separate block. The block is best placed close to the
- definition of the symbols so that it is easy to keep them in sync.
- Thus functions are usually documented in the c-source and macros,
- structs and enums in the header file.
- </para>
-
- <sect2><title>સામાન્ય ટેગ</title>
-
- <para>
- You can add versioning information to all documentation elements to tell
- when an API was introduced, or when it was deprecated.
- </para>
-
- <variablelist><title>Versioning Tags</title>
- <varlistentry><term>જ્યાં સુધી:</term>
- <listitem>
- <para>વર્ણન જ્યાં સુધી API કોડનું કઇ આવૃત્તિ ઉપલ્બધ છે.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>અપ્રચલિત થયેલ:</term>
- <listitem>
- <para>ફકરાને સૂચિત કરી રહ્યા છે કે જે આ વિધેયને વધારે વાપરવુ જોઇએ નહિં. વર્ણનએ નવા API માટે વાંચનારને ધ્યાન લેવુ જોઇએ.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- You can also add stability information to all documentation elements
- to indicate whether API stability is guaranteed for them for all
- future minor releases of the project.
- </para>
-
- <para>
- The default stability level for all documentation elements can be set
- by passing the <option>--default-stability</option> argument to
- <application>gtkdoc-mkdb</application> with one of the values below.
- </para>
-
- <variablelist><title>Stability Tags</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>
- Mark the element as stable. This is for public APIs which are
- guaranteed to remain stable for all future minor releases of the
- project.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>
- Mark the element as unstable. This is for public APIs which are
- released as a preview before being stabilised.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>
- Mark the element as private. This is for interfaces which can be
- used by tightly coupled modules, but not by arbitrary third
- parties.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>સામાન્ય ટેગ</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Annotations</title>
-
- <para>
- Documentation blocks can contain annotation-tags. These tags will be
- rendered with tooltips describing their meaning. The tags are used by
- gobject-introspection to generate language bindings. A detailed list
- of the supported tags can be found on
- <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">the wiki</ulink>.
- </para>
-
- <example><title>Annotations</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: (annotation): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (another annotation)
- * (and another annotation)
- * @foo: (annotation) (another annotation): some foo
- *
- * Sets bar on @foo.
- */
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>વિધેય ટિપ્પણી બ્લોક</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document whether returned objects, lists, strings, etc, should be
- freed/unrefed/released.
- </para>
- </listitem>
- <listitem>
- <para>
- Document whether parameters can be NULL, and what happens if they are.
- </para>
- </listitem>
- <listitem>
- <para>
- Mention interesting pre-conditions and post-conditions where appropriate.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <para>Gtk-doc એ '_' સાથે શરૂ થતા બધા સંકેતો (મેક્રો, વિધેયો) ને ખાનગી ધારે છે. તેઓ સ્થિર વિધેયો જેવું વર્ણતૂક કરે છે.</para>
-
- <example><title>વિધેય ટિપ્પણી બ્લોક</title>
- <programlisting><![CDATA[
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-]]></programlisting>
- </example>
-
- <variablelist><title>વિધેય ટૅગો</title>
- <varlistentry><term>પાછુ આવે છે:</term>
- <listitem>
- <para>ફકરો પાછુ મળેલ પરિણામને વર્ણવી રહ્યા છે.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>
- In case the function has variadic arguments, you should use this
- tag (@Varargs: does also work for historic reasons).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>ગુણધર્મ ટિપ્પણી બ્લોક</title>
-
- <example><title>ગુણધર્મ ટિપ્પણી બ્લોક</title>
- <programlisting><![CDATA[
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>સંકેત ટિપ્પણા બ્લોક</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document when the signal is emitted and whether it is emitted before
- or after other signals.
- </para>
- </listitem>
- <listitem>
- <para>
- Document what an application might do in the signal handler.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <example><title>સંકેત ટિપ્પણા બ્લોક</title>
- <programlisting><![CDATA[
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Struct ટિપ્પણી બ્લોક</title>
- <example><title>Struct ટિપ્પણી બ્લોક</title>
- <programlisting><![CDATA[
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private struct fields
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- <para>
- If the first field is "g_iface", "parent_instance" or "parent_class"
- it will be considered private automatically and doesn't need to be
- mentioned in the comment block.
- </para>
-
- <para>
- Struct comment blocks can also be used for GObjects and GObjectClasses.
- It is usually a good idea to add a comment block for a class, if it has
- vmethods (as this is how they can be documented). For the GObject
- itself one can use the related section docs, having a separate block
- for the instance struct would be useful if the instance has public
- fields. One disadvantage here is that this creates two index entries
- of the same name (the structure and the section).
- </para>
-
- </sect2>
-
- <sect2><title>Enum ટિપ્પણી બ્લોક</title>
- <example><title>Enum ટિપ્પણી બ્લોક</title>
- <programlisting><![CDATA[
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private enum values
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Inline program documentation</title>
- <para>
- You can document programs and their commandline interface using inline
- documentation.
- </para>
-
- <variablelist>
- <title>Tags</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>
- Defines the start of a program documentation.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>
- Defines a short description of the program. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>
- Defines the arguments, or list of arguments that the program can take.
- (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>
- See Also manual page section. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>
- Argument(s) passed to the program and their description. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>
- A longer description of the program.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>પાછુ આવે છે:</term>
- <listitem>
- <para>
- Specify what value(s) the program returns. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Example of program documentation.</title>
- <example><title>Program documentation block</title>
- <programlisting><![CDATA[
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-]]></programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>ઉપયોગી DocBook ટૅગ</title>
-
- <para>અહિંયા અમુક DocBook ટૅગ છે કે જે મોટાભાગનાં ઉપયોગી છે જ્યારે કોડનું દસ્તાવેજ કરી રહ્યા છે.</para>
-
- <para>
- To link to another section in the GTK docs:
-
- <informalexample>
- <programlisting><![CDATA[
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-]]></programlisting>
- </informalexample>
- The linkend is the SGML/XML id on the top item of the page you want to link to.
- For most pages this is currently the part ("gtk", "gdk", "glib") and then
- the page title ("Hash Tables"). For widgets it is just the class name.
- Spaces and underscores are converted to '-' to conform to SGML/XML.
- </para>
-
- <para>
- To refer to an external function, e.g. a standard C function:
- <informalexample>
- <programlisting><![CDATA[
-<function>...</function>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include bulleted lists:
- <informalexample>
- <programlisting><![CDATA[
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include a note which stands out from the text:
- <informalexample>
- <programlisting><![CDATA[
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a type:
- <informalexample>
- <programlisting><![CDATA[
-<type>unsigned char</type>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to an external structure (not one described in the GTK docs):
- <informalexample>
- <programlisting><![CDATA[
-<structname>XFontStruct</structname>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a field of a structure:
- <informalexample>
- <programlisting><![CDATA[
-<structfield>len</structfield>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a class name, we could possibly use:
- <informalexample>
- <programlisting><![CDATA[
-<classname>GtkWidget</classname>
-]]></programlisting>
- </informalexample>
- but you'll probably be using #GtkWidget instead (to automatically create
- a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
- </para>
-
- <para>
- To emphasize text:
- <informalexample>
- <programlisting><![CDATA[
-<emphasis>This is important</emphasis>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- For filenames use:
- <informalexample>
- <programlisting><![CDATA[
-<filename>/home/user/documents</filename>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to keys use:
- <informalexample>
- <programlisting><![CDATA[
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-]]></programlisting>
- </informalexample>
- </para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>વધારાની ફાઇલોને ભરી રહ્યા છે</title>
-
- <para>
- There are a couple of extra files, that need to be maintained along with
- the inline source code comments:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
-
- <sect1 id="metafiles_types">
- <title>ફાઇલોનાં પ્રકારોને સુધારી રહ્યા છે</title>
-
- <para>
- If your library or application includes GObjects, you want
- their signals, arguments/parameters and position in the hierarchy to be
- shown in the documentation. All you need to do, is to list the
- <function>xxx_get_type</function> functions together with their include
- inside the <filename><package>.types</filename> file.
- </para>
-
- <para>
- <example><title>Example <package>.types file</title>
- <programlisting><![CDATA[
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-]]></programlisting>
- </example>
- </para>
-
- <para>જ્યાં સુધી GTK-Doc 1.8 <application>gtkdoc-scan</application> એ તમારા માટે આ યાદી ઉત્પન્ન કરી શકે, <filename>Makefile.am</filename> માં SCAN_OPTIONS માટે "--rebuild-types" ને ખાલી ઉમેરો. જો તમે આ હેતુ થી વાપરો તો તમારે ફાઇલનાં પ્રકારોની યાદી કરવી જોઇએ નહિ અથવા આવૃત્તિ નિયંત્રણ હેઠળ તે હોવુ જોઇએ નહિં.</para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>મુખ્ય દસ્તાવેજને સુધારી રહ્યા છે</title>
-
- <para>
- GTK-Doc produces documentation in DocBook SGML/XML. When processing the
- inline source comments, the GTK-Doc tools generate one documentation
- page per class or module as a separate file. The master document
- includes them and place them in an order.
- </para>
-
- <para>
- While GTK-Doc creates a template master document for you, later runs will
- not touch it again. This means that one can freely structure the
- documentation. That includes grouping pages and adding extra pages.
- GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
- Its a good idea to look at this from time to time to see if there are
- some new goodies introduced there.
- </para>
-
- <tip>
- <para>
- Do not create tutorials as extra documents. Just write extra chapters.
- The benefit of directly embedding the tutorial for your library into
- the API documentation is that it is easy to link for the tutorial to
- symbol documentation. Apart chances are higher that the tutorial gets
- updates along with the library.
- </para>
- </tip>
-
- <para>
- So what are the things to change inside the master document? For a start
- is only a little. There are some placeholders (text in square brackets)
- there which you should take care of.
- </para>
-
- <para>
- <example><title>મુખ્ય દસ્તાવેજ મથાળુ</title>
- <programlisting><![CDATA[
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- In addition a few option elements are created in commented form. You can
- review these and enable them as you like.
- </para>
-
- <para>
- <example><title>Optional part in the master document</title>
- <programlisting><![CDATA[
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Finally you need to add new section whenever you introduce one. The
- <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> tool will
- remind you of newly generated xml files that are not yet included into
- the doc.
- </para>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
- <chapter>
- <title>my library</title>
- <xi:include href="xml/object.xml"/>
- ...
-]]></programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>વિભાગ ફાઇલને સુધારી રહ્યા છે</title>
-
- <para>
- The section file is used to organise the documentation output by
- GTK-Doc. Here one specifies which symbol belongs to which module or
- class and control the visibility (public or private).
- </para>
-
- <para>
- The section file is a plain text file with tags delimiting sections.
- Blank lines are ignored and lines starting with a '#' are treated as
- comment lines.
- </para>
-
- <note>
- <para>
- While the tags make the file look like xml, it is not. Please do not
- close tags like <SUBSECTION>.
- </para>
- </note>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The <FILE> ... </FILE> tag is used to specify the file name,
- without any suffix. For example, using '<FILE>gnome-config</FILE>'
- will result in the section declarations being output in the template
- file <filename>tmpl/gnome-config.sgml</filename>, which will be
- converted into the DocBook XML file <filename>xml/gnome-config.sgml</filename>
- or the DocBook XML file <filename>xml/gnome-config.xml</filename>.
- (The name of the HTML file is based on the module name and the section
- title, or for GObjects it is based on the GObjects class name converted
- to lower case).
- </para>
-
- <para>
- The <TITLE> ... </TITLE> tag is used to specify the title of
- the section. It is only useful before the templates (if used) are
- initially created, since the title set in the template file overrides
- this. Also if one uses SECTION comment in the sources, this is obsolete.
- </para>
-
- <para>
- You can group items in the section by using the <SUBSECTION> tag.
- Currently it outputs a blank line between subsections in the synopsis
- section.
- You can also use <SUBSECTION Standard> for standard GObject
- declarations (e.g. the functions like g_object_get_type and macros like
- G_OBJECT(), G_IS_OBJECT() etc.).
- Currently these are left out of the documentation.
- You can also use <SUBSECTION Private> for private declarations
- which will not be output (it is a handy way to avoid warning messages
- about unused declarations).
- If your library contains private types which you don't want to appear in
- the object hierarchy and the list of implemented or required interfaces,
- add them to a Private subsection.
- Whether you would place GObject and GObjectClass like structs in public
- or Standard section depends if they have public entries (variables,
- vmethods).
- </para>
-
- <para>
- You can also use <INCLUDE> ... </INCLUDE> to specify the
- #include files which are shown in the synopsis sections.
- It contains a comma-separate list of #include files, without the angle
- brackets. If you set it outside of any sections, it acts for all
- sections until the end of the file. If you set it within a section, it
- only applies to that section.
- </para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>પરિણામને નિયંત્રણ કરી રહ્યા છે</title>
-
- <para>
- A GTK-Doc run generates report files inside the documentation directory.
- The generated files are named:
- <filename><package>-undocumented.txt</filename>,
- <filename><package>-undeclared.txt</filename> and
- <filename><package>-unused.txt</filename>.
- All those are plain text files that can be viewed and postprocessed easily.
- </para>
-
- <para>
- The <filename><package>-undocumented.txt</filename> file starts with
- the documentation coverage summary. Below are two sections divided by
- blank lines. The first section lists undocumented or incomplete symbols.
- The second section does the same for section docs. Incomplete entries are
- those, which have documentation, but where e.g. a new parameter has been
- added.
- </para>
-
- <para><filename><package>-sections.txt</filename> માં આપેલ સંકેતોને <filename><package>-undeclared.txt</filename> એ યાદી કરે છે પરંતુ સ્ત્રોતોમાં મળ્યુ નથી. ચકાસો જો તેઓને દૂર કરી દેવામાં આવી રહ્યુ છે અથવા જો તેઓની જોડણી થયેલ નથી.</para>
-
- <para><filename><package>-unused.txt</filename> ફાઇલ એ સંકેત નામોની યાદી કરે છે, જ્યાં GTK-Doc સ્કેનર એ દસ્તાવેજીકરણને શોધ્યુ હતુ, પરંતુ જાણતા નથી ક્યાં તેને મૂકવાનું. આનો મતલબ એ કે સંકેતને હજુ <filename><package>-sections.txt</filename> ફાઇલ માં ઉમેરી દેવામાં આવ્યા નથી.</para>
-
- <tip>
- <para>સક્રિય કરો અથવા Makefile.am માં <option>TESTS=$(GTKDOC_CHECK)</option> વાક્ય ને ઉમેરો. જો ઓછામાં ઓછુ GTK-Doc 1.9 સ્થાપિત થયેલ હોય તો, આ <command>make check</command> ને ચલાવવા દરમ્યાન સેનિટિ ચકાસણીને ચલાવશે.</para>
- </tip>
-
- <para>
- One can also look at the files produced by the source code scanner:
- <filename><package>-decl-list.txt</filename> and
- <filename><package>-decl.txt</filename>. The first one can be
- compared with the section file if that is manually maintained. The second
- lists all declarations from the headers. If a symbol is missing one could
- check if this file contains it.
- </para>
-
- <para>
- If the project is GObject based, one can also look into the files produced
- by the object scanner:
- <filename><package>.args.txt</filename>,
- <filename><package>.hierarchy.txt</filename>,
- <filename><package>.interfaces.txt</filename>,
- <filename><package>.prerequisites.txt</filename> and
- <filename><package>.signals.txt</filename>. If there are missing
- symbols in any of those, one can ask GTK-Doc to keep the intermediate
- scanner file for further analysis, by running it as
- <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
- </para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernizing the documentation</title>
-
- <para>
- GTK-Doc has been around for quite some time. In this section we list new
- features together with the version since when it is available.
- </para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>
- When using xml instead of sgml, one can actually name the master
- document <filename><package>-docs.xml</filename>.
- </para>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-sections</option>
- in <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>-sections.txt</filename> is autogenerated and
- can be removed from the vcs. This only works nicely for projects that
- have a very regular structure (e.g. each .{c,h} pair will create new
- section). If one organize a project close to that updating a manually
- maintained section file can be as simple as running
- <code>meld <package>-decl-list.txt <package>-sections.txt</code>.
- </para>
-
- <para>
- Version 1.8 already introduced the syntax for documenting sections in
- the sources instead of the separate files under <filename class="directory">tmpl</filename>.
- This version adds options to switch the whole doc module to not use the
- extra tmpl build step at all, by using <option>--flavour no-tmpl</option>
- in <filename>configure.ac</filename>. If you don't have a <filename class="directory">tmpl</filename>
- checked into your source control system and haven't yet switched, just
- add the flag to <filename>configure.ac</filename> and you are done.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in
- <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>.types</filename> is autogenerated and can be
- removed from the vcs. When using this feature it is important to also
- setup the <varname>IGNORE_HFILES</varname> in
- <filename>Makefile.am</filename> for code that is build conditionally.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>
- This version includes a new tool called gtkdoc-check. This tool can run
- a set of sanity checks on your documentation. It is enabled by adding
- these lines to the end of <filename>Makefile.am</filename>.
- <example><title>Enable gtkdoc-check</title>
- <programlisting><![CDATA[
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>
- Version 1.18 brought some initial markdown support. Using markdown in
- doc comments is less intrusive than writing docbook xml. This version
- improves a lot on this and add a lot more styles. The section that
- explains the <link linkend="documenting_syntax">comment syntax</link>
- has all the details.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>
- The makefiles shipped with this version generate an entity file at <filename>xml/gtkdocentities.ent</filename>,
- containing entities for e.g. package_name and package_version. You can
- use this e.g. in the main xml file to avoid hardcoding the version
- number. Below is an example that shows how the entity file is included
- in the master template and how the entities are used.
- The entities can also be used in all
- generated files, GTK-Doc will use the same xml header in generated xml
- files.
- <example><title>Use pre-generated entities</title>
- <programlisting><![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-]]></programlisting>
- </example>
- </para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Documenting other interfaces</title>
-
- <para>
- So far we have been using GTK-Doc to document the API of code. The next
- sections contain suggestions how the tools can be used to document other
- interfaces too.
- </para>
-
- <sect1 id="commandline-interfaces">
- <title>Command line options and man pages</title>
-
- <para>
- As one can generate man pages for a docbook refentry as well, it sounds
- like a good idea to use it for that purpose. This way the interface is
- part of the reference and one gets the man-page for free.
- </para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Document the tool</title>
-
- <para>
- Create one refentry file per tool. Following
- <link linkend="settingup_docfiles">our example</link> we would call it
- <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
- tags that should be used and can look at generated file in the xml
- subdirectory as well as examples e.g. in glib.
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Adding the extra configure check</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-]]></programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Adding the extra makefile rules</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-]]></programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>DBus interfaces</title>
-
- <para>
- (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
-http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Frequently asked questions</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>પ્રશ્ર્ન</segtitle>
- <segtitle>જવાબ</segtitle>
- <seglistitem>
- <seg>વર્ગની શ્રેણી નથી.</seg>
- <seg>
- The objects <function>xxx_get_type()</function> function has not been
- entered into the <filename><package>.types</filename> file.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>હજુ વર્ગ શ્રેણી નથી.</seg>
- <seg>
- Missing or wrong naming in <filename><package>-sections.txt</filename>
- file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explanation</ulink>).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Damn, I have still no class hierarchy.</seg>
- <seg>
- Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
- part of the normal section (don't put this into Standard or Private
- subsections).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>સંકેત અનુક્રમણિકા નથી.</seg>
- <seg>
- Does the <filename><package>-docs.{xml,sgml}</filename> contain a
- index that xi:includes the generated index?
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>સંકેતો એ તેનાં દસ્તાવેજ-વિભાગમાં કડી થયેલ નથી.</seg>
- <seg>
- Is the doc-comment using the correct markup (added #,% or ())?
- Check if the gtkdoc-fixxref warns about unresolvable xrefs.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>નવો વર્ગ એ દસ્તાવેજોમાં દેખાતો નથી.</seg>
- <seg>
- Is the new page xi:included from
- <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>નવો સંકેત એ દસ્તાવેજોમાં દેખાતુ નથી.</seg>
- <seg>
- Is the doc-comment properly formatted. Check for spelling mistakes in
- the begin of the comment. Check if the gtkdoc-fixxref warns about
- unresolvable xrefs. Check if the symbol is correctly listed in the
- <filename><package>-sections.txt</filename> in a public subsection.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>પ્રકાર એ વર્ગ શ્રેણામાંથી ગુમ થયેલ છે.</seg>
- <seg>
- If the type is listed in <filename><package>.hierarchy</filename>
- but not in <filename>xml/tree_index.sgml</filename> then double check
- that the type is correctly placed in the <filename><package>-sections.txt</filename>.
- If the type instance (e.g. <type>GtkWidget</type>) is not listed or
- incidentally marked private it will not be shown.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>બધા gobject ઍનોટેશન માટે foldoc કડીઓ મને મળે છે.</seg>
- <seg>
- Check that <filename>xml/annotation-glossary.xml</filename> is
- xi:included from <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>સ્ત્રોત કોડ ટિપ્પણી બ્લોકમાં પરિમાણ વર્ણવેલ છે પરંતુ અસ્તિત્વ ધરાવતુ નથી</seg>
- <seg>ચકાસો જો મથાળામાં પ્રોટોટાઇપ પાસે સ્ત્રોતમાં વિવિધ પરિમાણ નામો છે.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>multiple "IDs" for constraint linkend: XYZ</seg>
- <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Tools related to gtk-doc</title>
-
- <para>
- GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
- integration plugin, that adds API docs to a trac site and integrates with
- the trac search.
- </para>
- <para>
- Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
- tags in the API to determine the minimum required version.
- </para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Version 1.1, March 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para><link linkend="fdl-document">દસ્તાવેજ</link> ની કોપીરાઇટ બધી સૂચનાઓને સાચવો.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>આ લાઇસન્સની ચેતવણી ન થયેલ નકલને સમાવો.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>તમે લખેલ છે તે દસ્તાવેજમાં આ લાઇસન્સને વાપરવા માટે, દસ્તાવેજમાં લાઇસન્સની નકલને સમાવો અને નીચેનાં કોપીરાઇટ અને લાઇસન્સ સૂચનાઓને શીર્ષક પાનાં પછી મૂકો:</para>
-
- <blockquote>
- <para>Copyright YEAR YOUR NAME.</para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
--- /dev/null
+gtkdoc_help_sources = [
+ 'index.docbook',
+ 'fdl-appendix.xml',
+]
+
+gnome.yelp(
+ package_name + '-manual',
+ sources: gtkdoc_help_sources,
+)
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Versão 1.1, Março de 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address> É permitido a qualquer um copiar e distribuir cópias exatas deste documento de licença, embora não seja permitido alterá-lo.</para>
- </legalnotice>
- </appendixinfo>
- <title>Licença de Documentação Livre GNU</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREÂMBULO</title>
- <para>O propósito desta Licença é fazer um manual, livro-texto, ou outro documento escrito <quote>livre</quote> em seu sentido de liberdade: para garantir a todos a liberdade efetiva de copiá-lo e redistribui-lo, com ou sem modificações, tanto comercialmente como não comercialmente. Em segundo lugar, esta Licença preserva ao autor e ao editor uma forma de obter crédito pelo seu trabalho, enquanto não é considerado responsável por modificações feitas por outros.</para>
-
- <para>Esta licença é um tipo de <quote>copyleft</quote>, que significa que trabalhos derivados do documento precisam ser, por sua vez, livres no mesmo sentido. Ela complementa a Licença Pública Geral GNU (GNU General Public License), que é uma licença copyleft projetada para softwares livres.</para>
-
- <para>Criamos esta Licença para usá-la para manuais para software livre, porque software livre precisa de documentação livre: um programa livre deve ser fornecido com manuais que proporcionam as mesmas liberdades que o software. Mas esta Licença não está limitada aos manuais de software; pode ser usada para qualquer trabalho textual, independentemente do assunto ou dele ser publicado como um livro impresso. Recomendamos esta Licença principalmente para trabalhos cujo propósito seja instrução ou referência.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APLICABILIDADE E DEFINIÇÕES</title>
- <para id="fdl-document">Esta Licença se aplica a qualquer manual ou outro trabalho que contenha um aviso colocado pelo detentor dos direitos autorais dizendo que o documento pode ser distribuído sob os termos desta. O <quote>Documento</quote>, abaixo, refere-se a qualquer manual ou trabalho. Qualquer membro do público é um licenciado, e será referenciado como <quote>você</quote>.</para>
-
- <para id="fdl-modified">Uma <quote>Versão modificada</quote> do Documento significa qualquer trabalho contendo o Documento ou uma porção deste, seja uma cópia literal ou com modificações e/ou traduzido em outro idioma.</para>
-
- <para id="fdl-secondary">Uma <quote>Seção da secundária</quote> é um apêndice com nome ou uma seção inicial do <link linkend="fdl-document">Documento</link> que trata exclusivamente da relação dos editores ou autores do Documento com seu assunto geral (ou temas relacionados) e não contém nada que possa estar diretamente dentro do assunto geral. (Por exemplo, se o Documento é em parte um livro-texto de matemática, uma Seção Secundária não pode explicar nada de matemática). Tal relação pode ser uma questão de conexão histórica com o assunto ou com temas relacionados, ou tratar de questões legais, comerciais, filosóficas, éticas ou políticas com relação a eles.</para>
-
- <para id="fdl-invariant">As <quote>Sessões invariantes</quote> são certas <link linkend="fdl-secondary">Sessões secundárias</link> cujos títulos são designados como sendo de Seções Invariantes na nota que afirma que o <link linkend="fdl-document">Documento</link> é publicado sob esta Licença.</para>
-
- <para id="fdl-cover-texts">Os <quote>Textos de Capa</quote> são certas passagens de texto curtas que são listadas, como Textos de Capa Frontal ou Texto de Contra Capa, na nota que afirma que o <link linkend="fdl-document">Documento</link> é publicado sob esta Licença.</para>
-
- <para id="fdl-transparent">Uma cópia <quote>Transparente</quote> do <link linkend="fdl-document">Documento</link> significa uma cópia legível por máquina, representada em um formato cuja especificação esteja disponível ao público geral e que cujo conteúdo possa ser visualizado e editado de forma clara e direta por editores de texto genéricos ou programas genéricos de desenho (para imagens compostas de pixels) ou para alguns dos editores de desenho amplamente disponíveis (para desenhos) e que seja apropriado para inclusão em formatadores de texto ou para a tradução automática em uma variedade de formatos apropriados de entrada em formatadores de texto. Uma cópia feita em outro formato de arquivo Transparente cuja marcação, ou ausência desta, tenha sido manipulada para impedir ou desencorajar modificação subsequente pelos leitores não é Transparente. Uma cópia que não é <quote>Transparente</quote> é chamada <quote>Opaco</quote>.</para>
-
- <para>Exemplos de formatos adequados para cópias Transparentes incluem ASCII simples sem marcação, formato de entrada Texinfo, formato de entrada LaTeX, SGML ou XML usando DTD publicamente disponível e HTML simples, conforme padrão, projetados para modificação humana. Os formatos Opacos incluem PostScript, PDF, formatos proprietários que podem ser lidos e editados apenas por processadores de texto proprietários, SGML ou XML para os quais o DTD e/ou ferramentas de processamento não estão geralmente disponíveis e o HTML gerado por máquina produzido por alguns processadores de texto para apenas para fins de saída.</para>
-
- <para id="fdl-title-page">A <quote>Título da página</quote> significa, para um livro impresso, a própria página do título, além das páginas subsequentes necessárias para conter, de forma legível, o material que esta Licença requer que apareça na página do título. Para trabalhos em formatos que não possuem qualquer página de título semelhante, <quote>Título da página</quote> significa o texto próximo à ocorrência mais proeminente do título do trabalho, precedendo o início do corpo do texto.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. CÓPIA LITERAL</title>
- <para>Você pode copiar e distribuir o <link linkend="fdl-document">Documento</link> em qualquer meio, seja este de forma comercial ou não, desde que esta licença, as notas de direitos autorais (copyright), e a nota de licença afirmando que esta Licença se aplica ao Documento sejam reproduzidas em todas as cópias, e que você não inclua outras condições, quaisquer que sejam, às condições desta Licença. Você não pode usar de medidas técnicas para obstruir ou controlar a leitura ou cópia futura das cópias que você fizer ou distribuir. Contudo, você pode aceitar compensação em troca das cópias. Se você distribuir um número suficientemente grande de cópias, você deve também respeitar as condições descritas na <link linkend="fdl-section3">seção 3</link>.</para>
-
- <para>Você também pode emprestar cópias, nas mesmas condições acima mencionadas, e você pode publicar cópias.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPIANDO EM QUANTIDADE</title>
- <para>Se você publicar cópias impressas do <link linkend="fdl-document">Documento</link>, em número maior que 100, e a nota de licença do Documento exigir <link linkend="fdl-cover-texts">Textos de Capa</link>, você deve encadernar as cópias em capas que carreguem, de forma clara e legível, todos estes Textos de Capa: Textos de Capa Frontal na capa frontal e Textos de Contracapa na contracapa. Ambas as capas devem também identificar, de forma clara e legível, você como o editor das cópias. A capa frontal deve apresentar o título completo com todas as palavras deste igualmente proeminentes e visíveis. Além disso, você pode adicionar outro material nas capas. As cópias com mudanças limitadas às capas, desde que preservem o título do <link linkend="fdl-document">Documento</link> e satisfaçam estas condições podem ser tratadas como cópias literais em outros aspectos.</para>
-
- <para>Se os textos necessários para qualquer uma das coberturas forem demasiado volumosos para se ajustar de forma legível, você deve colocar os primeiros listados (tanto quanto encaixar razoavelmente) na capa real e continuar o resto em páginas adjacentes.</para>
-
- <para>Se você publicar ou distribuir cópias <link linkend="fdl-transparent">Opaco</link> do <link linkend="fdl-document">Documento</link> em número maior que 100, você deve incluir uma cópia <link linkend="fdl-transparent">Transparente</link> legível por máquina juntamente com cada cópia Opaca, ou dizer em (ou juntamente com) cada cópia Opaca, um endereço de rede a partir do qual o público geral de usuários possam acessar e obter de forma anônima e sob nenhum custo, usando protocolos de rede públicos padrão, uma cópia Transparente completa do Documento, livre de materiais adicionados. Se você decidir pela segunda opção, você deve seguir passos com certa prudência ao começar a distribuir as cópias Opacas em quantidade, a fim de garantir que esta cópia transparente permanecerá acessível no local indicado por pelo menos um ano após a última vez que você distribuir uma cópia Opaca (diretamente ou através de seus agentes ou distribuidores) desta edição ao público.</para>
-
- <para>É solicitado, mas não exigido, que você contate os autores do <link linkend="fdl-document">Documento</link> muito antes de redistribuir qualquer grande número de cópias, para dar a eles uma chance de lhe fornecer uma versão atualizada do Documento.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICAÇÕES</title>
- <para>Você pode copiar e distribuir uma <link linkend="fdl-modified">Versão modificada</link> do <link linkend="fdl-document">Documento</link> sob as condições das seções <link linkend="fdl-section2">2</link> e <link linkend="fdl-section3">3</link> acima, desde que você forneça a Versão Modificada estritamente sob esta Licença, com a Versão Modificada preenchendo a função de Documento, permitindo assim a distribuição e modificação da Versão Modificada a quem quer que possua uma cópia desta. Além disso, você deve executar os seguintes procedimentos na Versão Modificada:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>Usar na <link linkend="fdl-title-page">Título da página</link> (e nas capas, se existirem) um título distinto em relação ao do <link linkend="fdl-document">Documento</link>, e daqueles de versões anteriores (os quais devem, na existência de algum, ser listados na seção “Histórico” do Documento). Você pode usar o mesmo título de uma versão anterior se o editor original daquela versão conceder-lhe permissão.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>Listar na <link linkend="fdl-title-page">Título da página</link> como autores, uma ou mais pessoas ou entidades responsáveis pela autoria das modificações na <link linkend="fdl-modified">Versão modificada</link>, juntamente com pelo menos cinco autores principais do <link linkend="fdl-document">Documento</link> (todos seus autores principais, se houver menos que cinco).</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>Declarar na <link linkend="fdl-title-page">Título da página</link> o nome do editor da <link linkend="fdl-modified">Versão modificada</link>, como seu editor.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>Preservar todas as notas de direitos autorais (copyright) do <link linkend="fdl-document">Documento</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Adicionar um aviso de direitos autorais apropriado para suas modificações adjacentes aos outros avisos de direitos autorais.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>Incluir, imediatamente após as notas de direitos autorais, uma nota de licença concedendo permissão pública para o uso da <link linkend="fdl-modified">Versão modificada</link> sob os termos desta Licença, na forma mostrada no Adendo abaixo.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>Preservar na referida nota de licença a lista completa de <link linkend="fdl-invariant">Sessões invariantes</link> e <link linkend="fdl-cover-texts">Textos de Capa</link> obrigatórios, dados na nota de licença do <link linkend="fdl-document">do Documento</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Incluir uma cópia inalterada desta Licença.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>Preservar a seção intitulada <quote>Histórico</quote>, preservar seu título, e adicionar a esta um item declarando ao menos o título, o ano, novos autores, e o editor da <link linkend="fdl-modified">Versão modificada</link> conforme incluído na <link linkend="fdl-title-page">Título da página</link>. Se nenhuma seção intitulada <quote>Histórico</quote> estiver presente no <link linkend="fdl-document">Documento</link>, crie uma informando o título, o ano, os autores e o editor do Documento como evidenciado na Página de Título, em seguida adicione um item descrevendo a Versão Modificada como mencionado na sentença anterior.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>Preservar o endereço de rede, se existir algum, informado pelo <link linkend="fdl-document">Documento</link> para acesso público a uma cópia <link linkend="fdl-transparent">Transparente</link> deste e, da mesma maneira, os endereços de rede dados no Documento para versões anteriores nas quais este se baseia. Estes podem ser colocados na seção <quote>Histórico</quote>. Você pode omitir um endereço de rede para um trabalho que foi publicado pelo menos quatro anos antes do Documento em si, ou se o editor original da versão à qual o endereço se refere der permissão.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>Preservar o título da seção para qualquer seção intitulada <quote>Agradecimentos</quote> ou <quote>Dedicatórias</quote> e preservar dentro da seção toda a substância e tom de cada um dos agradecimentos e/ou dedicatórias lá mencionados.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>Preservar todas as <link linkend="fdl-invariant">Sessões invariantes</link> do <link linkend="fdl-document">Documento</link>, sem alterações em seus textos e títulos. Números de seção ou o equivalente não são considerados parte dos títulos das seções.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>Apagar qualquer seção intitulada <quote>Apoio</quote>. Tal seção não deve ser incluída na <link linkend="fdl-modified">Versão modificada</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>Não renomear o título de qualquer seção existente como <quote>Apoio</quote> ou que resulte em conflito com o título de qualquer <link linkend="fdl-invariant">Seção invariante</link>.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>Se a <link linkend="fdl-modified">Versão modificada</link> incluir novas seções iniciais ou apêndices que sejam qualificados como <link linkend="fdl-secondary">Sessões secundárias</link>, e não contiver material copiado do Documento, você pode, a seu critério, tornar algumas dessas ou todas essas seções em invariantes. Para fazer isso, adicione seus títulos à lista de <link linkend="fdl-invariant">Sessões invariantes</link> na nota de licença da Versão Modificada. Estes títulos devem ser distintos de quaisquer outros títulos de seções.</para>
-
- <para>Você pode incluir uma seção intitulada <quote>Apoio</quote>, desde que esta contenha apenas apoios recebidos limitados a sua <link linkend="fdl-modified">Versão modificada</link> por várias fontes -- por exemplo, notas do revisor ou de que o texto foi aprovado por uma organização como a definição oficial de um padrão.</para>
-
- <para>Você pode adicionar uma passagem de até cinco palavras como <link linkend="fdl-cover-texts">Texto de Capa Frontal</link>, e uma passagem de até 25 palavras como <link linkend="fdl-cover-texts">Texto de Contracapa</link>, ao fim da lista de <link linkend="fdl-cover-texts">Textos de Capa</link> na <link linkend="fdl-modified">Versão modificada</link>. Somente uma passagem de Texto de Capa Frontal e uma de Texto de Contracapa podem ser adicionados por (ou através de arranjos feitos por) uma entidade qualquer. Caso o <link linkend="fdl-document">Documento</link> já incluir um texto de capa para a mesma capa, previamente incluído por você ou pelo arranjo feito pela mesma entidade em cujo nome você está agindo, você não poderá adicionar outro; mas você poderá substituir o antigo, com a permissão explícita do editor anterior, que o incluiu.</para>
-
- <para>O(s) autor(es) e editor(es) do <link linkend="fdl-document">Documento</link>, por esta Licença, não concedem permissão para que seus nomes sejam usados a fins de publicidade, para defesa ou para apoio implícito de qualquer <link linkend="fdl-modified">Versão modificada</link>.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINANDO DOCUMENTOS</title>
- <para>Você pode combinar o <link linkend="fdl-document">Documento</link> com outros documentos publicados sob esta Licença, sob os termos definidos na <link linkend="fdl-section4">seção 4</link> acima para versões modificadas, desde que você inclua na combinação todas as <link linkend="fdl-invariant">Sessões invariantes</link> de todos os documentos originais, sem modificações, e as liste como Seções Invariantes de seu trabalho combinado, na sua nota de licença.</para>
-
- <para>O trabalho combinado precisa conter somente uma cópia desta Licença, e várias <link linkend="fdl-invariant">Sessões invariantes</link> idênticas podem ser substituídas por uma única cópia. Se existirem várias Seções Invariantes de mesmo nome, porém com conteúdos diferentes, você deve tornar o título de cada uma destas seções único, adicionando ao fim destes, entre parênteses, o nome do autor ou, se conhecido, o editor original desta seção, ou ainda um número único. Faça o mesmo ajuste nos títulos de seção na lista de Seções Invariantes na nota de licença do trabalho combinado.</para>
-
- <para>Na combinação, você deve combinar quaisquer seções intituladas <quote>Histórico</quote> nos vários documentos originais, formando uma seção intitulada <quote>Histórico</quote>; do mesmo modo, combine quaisquer seções intituladas <quote>Agradecimentos</quote>, e quaisquer seções intituladas <quote>Dedicatórias</quote>. Você deve apagar todas as seções intituladas <quote>Apoios.</quote>.</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLEÇÕES DE DOCUMENTOS</title>
- <para>Você pode fazer uma coleção que consiste do <link linkend="fdl-document">Documento</link> e outros documentos publicados sob esta Licença, e substituir as cópias individuais desta Licença, nos vários documentos, por uma única cópia a ser incluída na coleção, desde que você siga as regras desta Licença para cópias literais de cada documento em todos os outros aspectos.</para>
-
- <para>Você pode extrair um único documento de tal coleção e distribuí-lo individualmente sob esta Licença, desde que você insira uma cópia desta Licença no documento extraído e siga esta Licença em todos os outros aspectos referentes à cópia literal desse documento.</para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGREGAÇÃO COM TRABALHOS INDEPENDENTES</title>
- <para>Uma compilação do <link linkend="fdl-document">Documento</link> ou seus derivados com outros documentos ou trabalhos separados e independentes, dentro de ou sob um volume de um meio de armazenamento ou distribuição, não conta como um todo para uma <link linkend="fdl-modified">Versão modificada</link> do Documento, contanto que nenhum direito autoral de compilação seja reivindicado para esta compilação. Tal compilação configura um <quote>agregação</quote> e esta Licença não se aplica aos outros trabalhos contidos na compilação do Documento, levando em conta serem compilados, caso eles mesmos não forem trabalhos derivados do Documento. Se o requisito de <link linkend="fdl-cover-texts">Texto de Capa</link> da <link linkend="fdl-section3">seção 3</link> é aplicável a estas cópias do Documento, e ainda se o Documento é menor do que um quarto do agregado inteiro, os Textos de Capa do Documento podem ser inseridos nas capas que envolvem somente o Documento no agregado. Caso contrário, eles devem aparecer em capas em volta do agregado como um todo.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRADUÇÃO</title>
- <para>Uma tradução é considerada como sendo um tipo de modificação, desta forma você pode distribuir traduções do <link linkend="fdl-document">Documento</link> sob os termos da <link linkend="fdl-section4">seção 4</link>. A substituição das <link linkend="fdl-invariant">Sessões invariantes</link> por traduções requer permissão especial dos detentores dos direitos autorais, embora você possa incluir traduções de algumas ou todas as Seções Invariantes juntamente às versões originais destas. Você pode incluir uma tradução desta Licença, desde que você também inclua a versão original em Inglês desta Licença. Em caso de discordância entre a tradução e a versão original desta Licença ou nota de licença, a versão original em inglês prevalecerá.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINAÇÃO</title>
- <para>Você não pode copiar, modificar, sublicenciar, ou distribuir o <link linkend="fdl-document">Documento</link> com exceção do que foi expressamente previsto sob esta Licença. Qualquer outra tentativa de cópia, modificação, sublicenciamento ou distribuição do Documento é nula, e implicará na rescisão automática de seus direitos sob esta Licença. Contudo, as partes que receberam as cópias, ou direitos, de você sob esta Licença não terão suas licenças rescindidas enquanto tais partes permanecerem em total acordo com a Licença.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURAS REVISÕES DESTA LICENÇA</title>
- <para>A <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> pode publicar novas versões, revisadas, da Licença de Documentação Livre GNU de tempos em tempos. Tais versões posteriores terão ideologia similar à presente versão, embora possam diferir em detalhes a fim de abordar novos problemas ou preocupações. Consulte: <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>É dado, a cada versão da Licença, um número de versão distinto. Se o <link linkend="fdl-document">Documento</link> especificar que um número de versão em específico desta Licença <quote>ou qualquer versão posterior</quote> se aplica a ele, você tem a opção de seguir os termos e condições tanto da versão especificada quanto de qualquer versão posterior que tenha sido publicada (não como rascunho) pela Free Software Foundation. Se o documento não especificar um número de versão desta Licença, você pode escolher qualquer versão já publicada (não como rascunho) pela Free Software Foundation.</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Adendo</title>
- <para>Para usar esta Licença em um documento que você escreveu, inclua uma cópia da Licença no documento e coloque os seguintes avisos de direitos autorais e de licenças logo após a página de título:</para>
-
- <blockquote>
- <para>Copyright ANO SEU NOME.</para>
- <para>Permissão concedida para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU (GNU Free Documentation License), Versão 1.1 ou qualquer versão mais recente publicada pela Free Software Foundation; com as <link linkend="fdl-invariant">Sessões invariantes</link>, sendo LISTE SEUS TÍTULOS, com os <link linkend="fdl-cover-texts">Textos de Capa Frontal</link> sendo LISTA, e com os <link linkend="fdl-cover-texts">Textos de Contracapa</link> sendo LISTA. Uma cópia da licença está inclusa na seção intitulada <quote>Licença de Documentação Livre GNU</quote>.</para>
- </blockquote>
-
- <para>Se você não tiver qualquer <link linkend="fdl-invariant">Sessões invariantes</link>, escreva <quote>sem Seções Invariantes</quote> ao invés de afirmar quais são invariantes. Se você não tem <link linkend="fdl-cover-texts">Textos de Capa Frontal</link>, escreva <quote>sem Textos de Capa Frontal</quote> ao invés de <quote>Textos de Capa Frontal sendo LISTADOS</quote>; O mesmo se aplica a <link linkend="fdl-cover-texts">Textos de Contracapa</link>.</para>
-
- <para>Se seu documento contiver exemplos não-triviais de código de programação, recomendamos publicar estes exemplos paralelamente, sob a licença de software livre que você escolher, como, por exemplo, a <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">Licença Pública Geral GNU (GPL)</ulink>, para permitir seu uso em software livre.</para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="pt-BR">
- <bookinfo>
- <title>Manual do GTK-Doc</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>Manual de usuário para desenvolvedores com instruções do uso do GTK-Doc.</para></abstract>
- <authorgroup>
- <author><firstname>Chris</firstname> <surname>Lyttle</surname> <affiliation> <address> <email>chris@wilddev.net</email> </address> </affiliation></author>
- <author><firstname>Dan</firstname> <surname>Mueth</surname> <affiliation> <address> <email>d-mueth@uchicago.edu</email> </address> </affiliation></author>
- <author><firstname>Stefan</firstname> <surname>Sauer (Kost)</surname> <affiliation> <address> <email>ensonic@users.sf.net</email> </address> </affiliation></author>
- </authorgroup>
- <publisher role="maintainer"><publishername>Projeto GTK-Doc</publishername> <address><email>gtk-doc-list@gnome.org</email></address></publisher>
- <copyright><year>2000, 2005</year> <holder>Dan Mueth e Chris Lyttle</holder></copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>Permissão concedida para copiar, distribuir e/ou modificar este documento sob os termos da <citetitle>Licença de Documentação Livre GNU</citetitle> (GNU Free Documentation License), Versão 1.1 ou qualquer versão mais recente publicada pela Free Software Foundation; sem Seções Invariantes, Textos de Capa Frontal, e sem Textos de Contracapa. Você pode encontrar uma cópia da licença está <link linkend="fdl">inclusa</link>.</para>
- <para>Muitos dos nomes usados por empresas para distinguir seus produtos e serviços são reivindicados como marcas registradas. Onde esses nomes aparecem em qualquer documentação do GNOME e os membros do Projeto de Documentação do GNOME estiverem cientes dessas marcas registradas, os nomes aparecerão impressos em letras maiúsculas ou com iniciais em maiúsculas.</para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision><revnumber>1.28</revnumber> <date>24 Mar 2018</date> <authorinitials>ss</authorinitials> <revremark>correções de erros</revremark></revision>
- <revision><revnumber>1.27</revnumber> <date>07 Maio 2017</date> <authorinitials>ss</authorinitials> <revremark>ajustes do porte para Python</revremark></revision>
- <revision><revnumber>1.26</revnumber> <date>11 Ago 2017</date> <authorinitials>ss</authorinitials> <revremark>portadas todas ferramentas de perl/bash para Python</revremark></revision>
- <revision><revnumber>1.25</revnumber> <date>21 Mar 2016</date> <authorinitials>ss</authorinitials> <revremark>correção de erros, limpezas de testes</revremark></revision>
- <revision><revnumber>1.24</revnumber> <date>29 Maio 2015</date> <authorinitials>ss</authorinitials> <revremark>correção de erros</revremark></revision>
- <revision><revnumber>1.23</revnumber> <date>17 Maio 2015</date> <authorinitials>ss</authorinitials> <revremark>correção de erros</revremark></revision>
- <revision><revnumber>1.22</revnumber> <date>07 Maio 2015</date> <authorinitials>ss</authorinitials> <revremark>correção de erros, desativadas funcionalidades obsoletas</revremark></revision>
- <revision><revnumber>1.21</revnumber> <date>17 Jul 2014</date> <authorinitials>ss</authorinitials> <revremark>correção de erros, desativadas funcionalidades obsoletas</revremark></revision>
- <revision><revnumber>1.20</revnumber> <date>14 Fev 2014</date> <authorinitials>ss</authorinitials> <revremark>correção de erros, suporte a markdown, melhorias no estilo</revremark></revision>
- <revision><revnumber>1.19</revnumber> <date>05 Jun 2013</date> <authorinitials>ss</authorinitials> <revremark>correção de erros</revremark></revision>
- <revision><revnumber>1.18</revnumber> <date>14 Set 2011</date> <authorinitials>ss</authorinitials> <revremark>correção de erros, aceleração, suporte a markdown</revremark></revision>
- <revision><revnumber>1.17</revnumber> <date>26 Fev 2011</date> <authorinitials>sk</authorinitials> <revremark>atualização de correção de erro urgente</revremark></revision>
- <revision><revnumber>1.16</revnumber> <date>14 Jan 2011</date> <authorinitials>sk</authorinitials> <revremark>correção de erros, melhorias no layout</revremark></revision>
- <revision><revnumber>1.15</revnumber> <date>21 Maio 2010</date> <authorinitials>sk</authorinitials> <revremark>correção de erros e regressões</revremark></revision>
- <revision><revnumber>1.14</revnumber> <date>28 Mar 2010</date> <authorinitials>sk</authorinitials> <revremark>Correção de erro e melhorias na performance</revremark></revision>
- <revision><revnumber>1.13</revnumber> <date>18 Dez 2009</date> <authorinitials>sk</authorinitials> <revremark>atualização de tarball defeituoso</revremark></revision>
- <revision><revnumber>1.12</revnumber> <date>18 Dez 2009</date> <authorinitials>sk</authorinitials> <revremark>novas funcionalidades da ferramenta e correção de erros</revremark></revision>
- <revision><revnumber>1.11</revnumber> <date>16 Nov 2008</date> <authorinitials>mal</authorinitials> <revremark>migração do GNOME doc-utils</revremark></revision>
- </revhistory>
-
-
- <othercredit class="translator">
- <personname>
- <firstname>Marcelo Rodrigues</firstname>
- </personname>
- <email>marcelopires@mmsantos.com.br</email>
- </othercredit>
- <copyright>
-
- <year>2010</year>
-
- <holder>Marcelo Rodrigues</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Rafael Fontenelle</firstname>
- </personname>
- <email>rafaelff@gnome.org</email>
- </othercredit>
- <copyright>
-
- <year>2013-2018</year>
-
- <holder>Rafael Fontenelle</holder>
- </copyright>
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>Introdução</title>
-
- <para>Este capítulo introduz GTK-Doc e dá um visão geral do que ele é e como ele é usado.</para>
-
- <sect1 id="whatisgtkdoc">
- <title>O que é GTK-Doc?</title>
-
- <para>GTK-Doc é usado para documentar código C. Ele é tipicamente usado para documentar a API pública das bibliotecas, como as bibliotecas do GTK+ e do GNOME. Mas ele também pode ser usado para documentar código de aplicativos.</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>Como o GTK-Doc funciona?</title>
-
- <para>O GTK-Doc funciona usando a documentação de funções colocadas dentro dos arquivos fonte em blocos de comentários especialmente formatados ou documentação adicionada aos arquivos modelo que o GTK-Doc usa (apesar disso, note que o GTK-Doc vai documentar apenas funções que são declaradas em arquivos de cabeçalho; ele não irá produzir saída para funções estáticas).</para>
-
- <para>GTK-Doc consiste em um número de scripts em Python, cada um executando uma etapa diferente no processo.</para>
-
- <para>Há 5 etapas principais no processo:</para>
-
- <orderedlist>
-
- <listitem>
- <para><guilabel>Escrita da documentação.</guilabel> O autor preenche os arquivos fonte com a documentação para cada função, macro, structs ou unions, etc.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Coleta de informação sobre o código.</guilabel> <application>gtkdoc-scan</application> varre os arquivos de cabeçalho do código buscando por declarações de funções, macros, enums, structs e unions. Ele cria o arquivo <filename><módulo>-decl-list.txt</filename> contendo uma lista de declarações, inserindo-as em seções da acordo com o arquivo de cabeçalho no qual se encontram. Na primeira execução, este arquivo é copiado para <filename><módulo>-sections.txt</filename>. O autor pode reorganizar as seções, e a ordem das declarações dentro delas, para produzir a ordem final desejada. O segundo arquivo que ele gera é <filename><módulo>-decl.txt</filename>. Este arquivo contém as declarações completas encontradas pela varredura. Se por algum motivo se quiser que alguns símbolos apareçam nos documentos, nos quais declarações completas não puderam ser encontradas pela varredura ou a declaração deveria aparecer de outra forma, pode-se colocar entidades similares aos do <filename><módulo>-decl.txt</filename> no <filename><módulo>-overrides.txt</filename>.</para>
- <para><application>gtkdoc-scangobj</application> também pode ser usado para consultar dinamicamente uma biblioteca sobre qualquer subclasse GObject que ele exporta. Ele salva informações sobre cada posição do objeto na hierarquia de classe e sobre quaisquer propriedades GObject e sinais que ela fornece.</para>
- <para><application>gtkdoc-scanobj</application> não deve mais ser usado. Ele era necessário no passado, quando GObject ainda era GtkObject dentro do gtk+.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Geração do XML e do HTML/PDF.</guilabel> <application>gtkdoc-mkdb</application> transforma os arquivos modelos em arquivos XML no subdiretório <filename class="directory">xml/</filename>. Se o código-fonte contém documentação nas funções, usando os blocos de comentários especiais, ela é mesclada aqui. Se não há arquivos tmpl sendo usados, ele apenas lê documentos dos dados de introspecção e dos fontes.</para>
- <para><application>gtkdoc-mkhtml</application> transforma os arquivos XML em arquivos HTML no subdiretório <filename class="directory">html/</filename>. Da mesma forma, <application>gtkdoc-mkpdf</application> transforma os arquivos XML em um documento PDF chamado <filename><pacote>.pdf</filename>.</para>
- <para>Arquivos nos diretórios <filename class="directory">xml/</filename> e <filename class="directory">html/</filename> são sempre sobrescritos. Não devem ser editados manualmente.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Correção de referências cruzadas entre documentos.</guilabel> Após a instalação dos arquivos HTML, <application>gtkdoc-fixxref</application> pode ser executado para consertar referências cruzadas entre documentos separados. Por exemplo, a documentação do GTK+ contém muitas referências cruzadas a tipos documentados no manual do GLib. Ao criar um tarball fonte para distribuição, <application>gtkdoc-rebase</application> transforma todos os links externos em web-links. Ao instalar documentações distribuídas (geradas previamente), o mesmo aplicativo vai tentar transformar links de volta para links locais (onde aquelas documentações estão instaladas).</para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>Obtendo GTK-Doc</title>
-
- <sect2 id="requirements">
- <title>Requisitos</title>
- <para><guilabel>python 2/3</guilabel> – os scripts principais são escritos em Python.</para>
- <para><guilabel>xsltproc</guilabel> – o processador de xslt do libxslt <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink></para>
- <para><guilabel>docbook-xsl</guilabel> – as folhas de estilo xsl de docbook <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink></para>
- <para>Um dentre <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> ou <guilabel>vim</guilabel> – opcional - usado para destaque de sintaxe de exemplos</para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>Sobre GTK-Doc</title>
-
- <para>Historicamente, o GTK-Doc foi usado para gerar arquivos de modelo a partir do código-fonte. Esses arquivos de modelo poderiam ser usados pelos desenvolvedores para inserir a documentação da API. Essa abordagem era bastante inconveniente porque exigia manter os arquivos gerados sob controle de versão. Desde o GTK-Doc 1.9, tornou-se possível colocar todas as informações da API em comentários no fonte, o que tornou o suporte ao modelo obsoleto. Na versão 1.26 suporte ao modelo foi removido.</para>
-
- <para>(CORRIJA-ME)</para>
-
- <para>(autores, páginas web, lista de discussão, licença, planos futuros, comparação com outros sistemas similares.)</para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>Sobre este manual</title>
-
- <para>(CORRIJA-ME)</para>
-
- <para>(pra quem ele serve, onde você pode obtê-lo, licença)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Configurando o projeto</title>
-
- <para>Este capítulo descreve os passos necessários para integrar o GTK-Doc ao seu projeto. A integração do GTK-Doc em um projeto inclui as seguintes etapas:</para>
-
- <itemizedlist>
- <listitem>
- <para>Preparação da estrutura de diretórios e criação dos arquivos de configuração necessários para sua documentação do GTK-Doc (consulte <link linkend="settingup_docfiles">Preparando o esqueleto de uma documentação</link>).</para>
- </listitem>
- <listitem>
- <para>Ajuste do sistema de compilação para compilar sua documentação usando as ferramentas do GTK-Doc. Há suporte a vários sistemas de compilação, neste manual descrevemos como integrar o GTK-Doc com <link linkend="settingup_autotools">Autotools</link>, <link linkend="settingup_cmake">CMake</link> e <link linkend="settingup_plain_makefiles">Makefiles simples</link>.</para>
- </listitem>
- <listitem>
- <para>Adição de arquivos específicos do GTK-Doc para o controle de versão e decisão de quais arquivos ignorar (veja <link linkend="settingup_vcs"> Integração com sistemas de controle de versão</link>).</para>
- </listitem>
- </itemizedlist>
-
- <para>As seções a seguir presumem que trabalhamos em um projeto chamado <code>meep</code>. Este projeto contém dois pacotes (ou módulos), uma biblioteca chamada <code>libmeep</code> e um aplicativo de usuário final chamado <code>meeper</code>.</para>
-
- <sect1 id="settingup_docfiles">
- <title>Preparando o esqueleto de uma documentação</title>
-
- <para>Uma convenção comum é colocar a documentação em uma pasta chamada <code>docs</code> dentro do seu diretório de projeto de nível superior. Costumamos distinguir entre a <emphasis>documentação de referência</emphasis> destinada aos programadores e um <emphasis>manual do usuário</emphasis> destinado aos usuários-finais. Novamente a convenção é ter pastas separadas para ambos. Geralmente, colocamos a documentação de referência em uma pasta chamada <code>reference</code> e o manual do usuário final em uma pasta chamada <code>help</code>. De acordo com a convenção acima, a documentação do nosso pacote <code>libmeep</code> seria colocada em: <code>docs/reference/libmeep</code>. Para pacotes com apenas uma biblioteca ou aplicativo, a documentação também pode ser colocada diretamente em <code>docs/reference</code>. Não é obrigatório usar a convenção acima, mas se você optar por usar uma estrutura de diretórios diferente, deverá ajustar a configuração do sistema de compilação para que corresponda à estrutura do diretório.</para>
-
- <para>Nas seções a seguir, vamos presumir uma estrutura de diretórios para o nosso projeto <emphasis>meep</emphasis> que usa as convenções acima. <example>
- <title>Exemplo de estrutura de diretórios de projeto <emphasis>meep</emphasis></title>
- <programlisting>
-meep/
- docs/
- reference/ # documentação de referência
- libmeep/
- meeper/
- help/ # opcional: manual de usuário
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integração com Autotools</title>
- <para>A integração do GTK-Doc em um sistema de compilação baseado em autotools requer as seguintes etapas:</para>
- <itemizedlist>
- <listitem>
- <para>Certificar-se de que <application>gtkdocize</application> seja executado uma vez antes do script <filename>configure</filename>. Se um script <filename>autogen.sh</filename> estiver presente, ajuste-o para verificar o GTK-Doc e adicione uma chamada ao <application>gtkdocize</application>.</para>
-
- <para>O principal objetivo do <application>gtkdocize</application> é fazer com que o arquivo Makefile <filename>gtk-doc.make</filename> e o arquivo de definição de macro <filename>gtk-doc.m4</filename> estejam disponíveis para a compilação sistema, seja copiando ou vinculando-o ao projeto.</para>
- </listitem>
- <listitem>
- <para>Adicionar as macros <application>autoconf</application> necessárias ao <filename>configure.ac</filename> para ativar o GTK-Doc em seu sistema de compilação para permitir a configuração do GTK-Doc através do script <filename>configure</filename> gerado.</para>
- <para>Entre outros, registra a opção <code>--enable-gtk-doc</code> com o script <filename>configure</filename>.</para>
- </listitem>
- <listitem>
- <para>Criar um script <application>automake</application> para cada aplicativo ou biblioteca em seu projeto. No exemplo usado nesta documentação, esta etapa se aplica tanto a <code>meeper</code> quanto a <code>libmeep</code>.</para>
- </listitem>
- </itemizedlist>
-
- <para>Nas seções a seguir, executaremos as etapas acima na ordem inversa. Começamos com os scripts <application>automake</application> e vamos trabalhando até o <filename>configure.ac</filename> e <filename>autogen.sh</filename>. Então, mostramos como habilitar o Gtk-Doc no sistema de compilação e como compilar a documentação.</para>
-
- <sect2 id="settingup_automake">
- <title>Integração com automake</title>
-
- <para>Primeiro copie o <filename>Makefile.am</filename> do subdiretório do <filename class="directory">exemplo</filename> do <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am"> gtkdoc-sources</ulink> para o diretório da documentação de referência do seu projeto (por exemplo, <filename class="directory">./docs/reference/<pacote></filename>). Uma cópia local deveria estar disponível sob, por exemplo, <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>. Se você tiver múltiplos pacotes de documentação, repita isso para cada um.</para>
-
- <note>
- <simpara>Não se esqueça de adicionar cada <filename>Makefile.am</filename> à macro <function>AC_CONFIG_FILES</function> em <filename>configure.ac</filename>. Para <filename>docs/reference/libmeep/Makefile.am</filename> você precisará adicionar a entrada <filename>docs/reference/libmeep/Makefile</filename> para <function>AC_CONFIG_FILES</function>.</simpara>
- </note>
-
- <example>
- <title>Exemplo de estrutura de diretório com <filename>Makefiles.am</filename></title>
- <programlisting>
-meep/
- docs/
- reference/ # documentação de referência
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # opcional: manual de usuário
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>Em seguida, você precisa personalizar os Makefiles copiados e fornecer valores para os vários parâmetros em cada <filename>Makefile.am</filename>. Todas as configurações têm um comentário sobre elas que descreve seu propósito e como personalizar a configuração. A maioria das configurações são usadas para fornecer opções extras para as respectivas ferramentas às quais elas se aplicam. Cada ferramenta tem uma variável na forma <option><NOME-FERRAMENTA>_OPTIONS</option> (por exemplo, a ferramenta <application>gtkdoc-mkhtml</application> tem uma opção chamada <code>MKHTML_OPTIONS</code>). Todas as ferramentas têm suporte a <option>--help</option> pra listar os parâmetros disponíveis.</para>
-
- <para>A lista a seguir explica as opções mais relevantes. Verifique o exemplo <filename>Makefile.am</filename> para opções adicionais. <itemizedlist>
- <listitem>
- <para><option>DOC_MODULE</option> é usado para fornecer o nome do pacote que está sendo documentado (por exemplo, <code>meeper</code> ou <code>libmeep</code>).</para>
- </listitem>
- <listitem>
- <para><option>DOC_SOURCE_DIR</option> é usado para especificar a localização do diretório fonte que o GTK-Doc pesquisa na documentação da API. Isso geralmente será <code>DOC_SOURCE_DIR=$(top_srcdir)/src </code> ou um subdiretório desse diretório.</para>
- </listitem>
-
- <listitem>
- <para><option>HFILE_GLOB</option> e <option>CFILE_GLOB</option> são usados para dependências. Cada opção pega um arquivo glob (por exemplo, <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>). A documentação será recompilada se qualquer um dos arquivos correspondentes for alterado.</para>
- </listitem>
-
- <listitem>
- <para><option>EXTRA_HFILES</option> permite especificar arquivos de cabeçalho extras para incluir ao verificar a documentação da API, que não são encontrados em <code>DOC_SOURCE_DIR</code> (por exemplo, <code>EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>IGNORE_HFILES</option> permite especificar arquivos ou diretórios de cabeçalho a serem ignorados ao verificar a documentação da API. Use o nome de base do arquivo ou diretório (por exemplo, <code>IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>HTML_IMAGES</option> permite especificar arquivos de imagens que serão copiados para o diretório <filename>html/</filename> da documentação gerada. Se a documentação da API incluir imagens, elas precisam ser adicionadas a essa opção (por exemplo, <code>HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>content_files</option> permite especificar arquivos extras incluídos por <code>$(DOC_MAIN_SGML_FILE)</code> (por exemplo, <code>content_files=running.xml building.xml changes-2.0.xml</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>expand_content_files</option> permite especificar arquivos onde as <emphasis>abreviaturas gtk-doc</emphasis> como <code>#GtkWidget</code> são expandidas (por exemplo, <code>expand_content_files=running.xml</code>).</para>
- </listitem>
- </itemizedlist></para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>Integração com autoconf</title>
-
- <para>A integração com <application>autoconf</application> é muito simples e inclui uma etapa obrigatória e uma etapa adicional opcional (mas recomendada). O primeiro passo é adicionar a macro <function>GTK_DOC_CHECK</function> ao seu script <filename>configure.ac</filename>. Isso registra várias opções de configuração para habilitar o GTK-Doc e permite definir argumentos padrão para <application>gtkdocize</application>.</para>
-
- <warning>
- <simpara>Certifique-se de que a macro <code>GTK_DOC_CHECK</code> não esteja recuada. A macro deve começar no início da linha e não deve começar com espaço em branco.</simpara>
- </warning>
-
- <para>O segundo passo é adicionar o <code>AC_CONFIG_MACRO_DIR(m4)</code> ao seu <filename>configure.ac</filename>. Isso não é necessário, mas ajuda o <application>gtkdocize</application> a copiar automaticamente a definição da macro (por exemplo, <filename>gtk-doc.m4</filename>) que contém a macro <function>GTK_DOC_CHECK</function> para o diretório de macro do seu projeto. Sem isso, a macro GTK_DOC_CHECK pode não ser encontrada e você precisaria informar explicitamente à ferramenta <application>aclocal</application> onde encontrar o arquivo de definição de macro.</para>
-
- <para>
- <example><title>Integração mínima com autoconf</title>
- <programlisting>
-# recomendado: defina o diretório m4
-AC_CONFIG_MACRO_DIR(m4)
-# opcional: registre gtk-doc no configure
-GTK_DOC_CHECK([1.28])
-</programlisting>
- </example>
- </para>
-
- <para>O exemplo acima funciona, mas exigirá que todos os desenvolvedores tenham o gtk-doc instalado. Uma maneira melhor é tornar a documentação opcional, conforme mostrado no próximo exemplo: <example>
- <title>Integração com dependência opcional do gtk-doc</title>
- <programlisting>
-m4_ifdef([GTK_DOC_CHECK], [
-# recomendado: defina diretório m4
-AC_CONFIG_MACRO_DIR(m4)
-# opcional: registre gtk-doc no configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-</programlisting>
- </example></para>
-
- <para>O primeiro argumento é usado para verificar a versão do Gtk-Doc em tempo de compilação. O segundo argumento é opcional, sendo usado por <application>gtkdocize</application>. A macro <symbol>GTK_DOC_CHECK</symbol> também adiciona várias opções de configuração:</para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=CAMINHO : caminho para as documentações instaladas</para></listitem>
- <listitem><para>--enable-gtk-doc : usa gtk-doc para compilar documentação [padrão=não]</para></listitem>
- <listitem><para>--enable-gtk-doc-html : compila documentação em formato html [padrão=sim]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : compila documentação em formato pdf [padrão=não]</para></listitem>
- </orderedlist>
-
- <important>
- <para>GTK-Doc está desabilitado por padrão! Lembre-se de passar a opção <option>"--enable-gtk-doc"</option> à próxima execução do <filename>configure</filename>. Do contrário, uma documentação gerada previamente é instalada (o que faz sentido para usuários, mas não para desenvolvedores).</para>
- </important>
-
- <para>Após todas as alterações do <filename>configure.ac</filename> serem feitas, atualize o arquivo <filename>configure</filename>. Isso pode ser feito executando novamente <code>autogen.sh</code>.</para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>Integração com autogen</title>
-
- <para>A maioria dos projetos tem um script <filename>autogen.sh</filename> para configurar a infraestrutura de compilação após o checkout do projeto sistema de um controle de versão (como git ou svn). GTK-Doc vêm com um script chamado <application>gtkdocize</application> que pode ser usado para copiar os arquivos necessários pelo Gtk-Doc para o diretório fonte.</para>
-
- <para>Ele deve ser executado antes de autoreconf, autoheader, automake or autoconf.</para>
-
- <para>
- <example><title>Executando gtkdocize no autogen.sh</title>
- <programlisting>
-gtkdocize || exit 1
-</programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Executa condicionalmente gtkdocize no autogen.sh</title>
- <programlisting>
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-</programlisting>
- </example>
- </para>
-
- <para>Ao executar <application>gtkdocize</application>, ele copia <filename>gtk-doc.make</filename> para a raiz do seu projeto (ou qualquer diretório especificado pela opção <option>--docdir</option>).</para>
-
- <para><application>gtkdocize</application> verifica seu script <filename>configure.ac</filename> para <function>GTK_DOC_CHECK</function>. A macro <function>GTK_DOC_CHECK</function> pode ser usada para passar parâmetros extras para o script <application>gtkdocize</application>.</para>
-
- <para>Alternativamente, argumentos adicionais também podem ser passados para <application>gtkdocsize</application> por meio da variável de ambiente <function>GTKDOCIZE_FLAGS</function> ou especificando-os diretamente ao <application>gtkdocsize</application> no <filename>autogen.sh</filename>.</para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Executando GTK-Doc a partir do sistema de compilação</title>
-
- <para>Após as etapas anteriores, é hora de executar a compilação. Primeiro, nós queremos executar novamente o <filename>autogen.sh</filename>. Se este script executa o configure para você, então forneça a este a opção <option>--enable-gtk-doc</option>. Do contrário, execute manualmente <filename>configure</filename> com esta opção em seguida.</para>
- <para>A primeira execução do make cria vários arquivos adicionais nos diretórios de documentação. Os importantes são: <filename><pacote>.types</filename>, <filename><pacote>-docs.xml</filename> (no passado, .sgml), <filename><pacote>-sections.txt</filename>.</para>
- <para>
- <example><title>Executando a compilação da documentação</title>
- <programlisting>
-./autogen.sh --enable-gtk-doc
-make
-</programlisting>
- </example>
- </para>
-
- <para>Agora você pode apontar seu navegador para <filename>docs/reference/<pacote>/index.html </filename>. Com esta configuração inicial, você verá apenas um documento muito simples. O próximo capítulo ensinará como adicionar documentação da API ao seu código por meio de blocos de comentários especiais. O capítulo seguinte depois introduz <link linkend="metafiles">arquivos adicionais</link> e mostra como editar o <link linkend="metafiles_master">modelo mestre</link> para adicionar capítulos e seções adicionais aos seus arquivos de documentação.</para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integração com sistemas de compilação CMake</title>
-
- <para>GTK-Doc agora fornece um módulo <filename>GtkDocConfig.cmake</filename> (e o module <filename>GtkDocConfigVersion.cmake</filename> correspondente). Ele fornece um comando <literal>gtk_doc_add_module</literal> que você pode usar em seu arquivo <filename>CMakeLists.txt</filename>.</para>
-
- <para>O exemplo a seguir mostra como usar este comando. <example><title>Exemplo de uso do GTK-Doc no CMake</title>
- <programlisting>
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Cria o alvo doc-libmeep.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Compila doc-libmeep como parte do alvo padrão. Sem isso, você precisaria
-# executar explicitamente algo como `make doc-libmeep` para compilar os
-# documentos.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Instala os documentos. (Isso presume que você está usando o módulo
-# GNUInstallDirs do CMake para definir a variável CMAKE_INSTALL_DOCDIR
-# corretamente).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integração com makefiles simples ou outros sistemas de compilação</title>
-
- <para>Neste caso, não se deseja usar o automake e, portanto, <filename>gtk-doc.mak</filename>. Será necessário chamar as ferramentas do gtkdoc na ordem correta nos makefiles devidos (ou outras ferramentas de compilação).</para>
-
- <para>
- <example><title>Etapas de compilação da documentação</title>
- <programlisting>
-DOC_MODULE=meep
-// fontes foram alterados
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir=>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// arquivos xml foram alterados
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-</programlisting>
- </example>
- </para>
-
- <para>Será necessário olhar no <filename>Makefile.am</filename> e no <filename>gtk-doc.mak</filename> para obter as opções extras necessárias.</para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>Integração com sistemas de controle de versão</title>
-
- <para>Como uma regra de ouro, são aqueles arquivos que você edita que devem entrar no controle de versão. Para projetos normais, esses são os arquivos: <filename><pacote>.types</filename>, <filename><pacote>-docs.xml</filename> (no passado, .sgml), <filename><pacote>-sections.txt</filename>, <filename>Makefile.am</filename>.</para>
- <para>Arquivos nos diretórios <filename>xml/</filename> e <filename>html/</filename> não devem entrar no controle de versão. Da mesma forma, não devem entrar arquivos <filename>.stamp</filename>.</para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>Documentando o código</title>
-
- <para>GTK-Doc usa comentários do código-fonte com uma sintaxe especial para documentação do código. Além disso, ele obtém informações sobre a estrutura do seu projeto a partir de outros fontes. Na próxima seção, você vai descobrir todas as informações sobre a sintaxe dos comentários.</para>
-
- <para>O verificador do GTK-Doc sabe lidar com a maioria dos cabeçalhos de C sem problemas. Caso se receba avisos (warnings) na varredura que pareça ser um caso especial, pode-se informar ao GTK-Doc para ignorá-los. <example><title>Bloco de comentário do GTK-Doc</title>
- <programlisting>
-#ifndef __GTK_DOC_IGNORE__
-/* código não analisável aqui */
-#endif
-</programlisting>
- </example></para>
-
- <note>
- <title>Limitações</title>
- <para>Note que o GTK-Doc oferece suporte a <code>#ifndef(__GTK_DOC_IGNORE__)</code>, mas não a <code>#if !defined(__GTK_DOC_IGNORE__)</code> ou outras combinações.</para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>Comentários de documentação</title>
-
- <para>Um comentário multilinha que comece com um “*” adicional marca um bloco de documentação que será processado pelas ferramentas do GTK-Doc. <example><title>Bloco de comentário do GTK-Doc</title>
- <programlisting>
-/**
- * identificador:
- * documentação ...
- */
-</programlisting>
- </example></para>
-
- <para>O “identificador” é uma linha com o nome do item ao qual o comentário está relacionado. A sintaxe difere um pouco dependendo do item.</para>
-
- <para>O bloco “documentação” também é diferente para cada tipo de símbolo. Tipos de símbolos que levam parâmetros, como funções e macros, têm a descrição de parâmetro começando com uma linha vazia (apenas com um “*”). Posteriormente, segue com a descrição detalhada. Todas as linhas (fora das listagens do programa e seções CDATA) contendo apenas um “ *” (espaço em branco e asterisco) são convertidas para quebras de parágrafos. Se você não quiser uma quebra de parágrafo, altere isso para “ * “ (espaço, asterisco, espaço e espaço). Isso é útil em textos pré-formatados (listagens de código).</para>
-
- <tip>
- <para>Ao documentar um código, descreva dois aspectos: <itemizedlist>
- <listitem>
- <para>O que é: O nome de uma classe ou função pode, em alguns casos, levar a um entendimento equivocado pessoas com experiências diferentes.</para>
- </listitem>
- <listitem>
- <para>O que ele faz: Fale sobre usos comuns. Coloque em relação com a outra API.</para>
- </listitem>
- </itemizedlist></para>
- </tip>
-
- <para>Uma vantagem do hipertexto de texto simples é a habilidade de ter links no documento. Porém, escrever a marcação correta para cada link pode ser entediante. GTK-Doc vem para ajudar fornecendo abreviações úteis. <itemizedlist>
- <listitem>
- <para>Use function() para se referir às funções ou macros que levam argumentos.</para>
- </listitem>
- <listitem>
- <para>Use @param para se referir a parâmetros. Também, use isso ao se referir a parâmetros de outras funções, relacionadas àquele sendo descrito.</para>
- </listitem>
- <listitem>
- <para>Use %constant para se referir a uma constante, ex.: %G_TRAVERSE_LEAFS.</para>
- </listitem>
- <listitem>
- <para>Use #symbol para se referir a outros tipos de símbolos, ex.: structs, enums e macros que não levam argumentos.</para>
- </listitem>
- <listitem>
- <para>Use #Object::signal para se referir a um sinal de GObject.</para>
- </listitem>
- <listitem>
- <para>Use #Object:property para se referir a uma propriedade de GObject.</para>
- </listitem>
- <listitem>
- <para>Use #Struct.field para se referir a um campo dentro de uma estrutura e #GObjectClass.foo_bar() para se referir a um vmethod.</para>
- </listitem>
- </itemizedlist></para>
-
- <tip>
- <para>Se você precisar usar os caracteres especiais “<”, “>”, “()”, “@”, “%” ou “#” em sua documentação sem GTK-Doc alterando-os, você pode usar as entidades XML “&lt;”, “&gt;”, “&lpar;”, “&rpar;”, “&commat;”, “&percnt;” e “&num;”, respectivamente, ou escapá-los com uma contrabarra “\”.</para>
- </tip>
-
- <para>DocBook pode fazer mais do que apenas links. Ele também pode ter listas, exemplos, títulos e imagens. A partir da versão 1.20, a forma preferível é usar um subconjunto de sintaxe de formatação de texto básica chamada <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>. Em versões mais antigas do GTK-Doc, qualquer documentação que inclui Markdown será renderizada como está. Por exemplo, itens de lista aparecerão como linhas começando com um traço.</para>
-
- <para>Enquanto markdown é agora preferível, é possível misturar ambos. Uma limitação aqui é que é possível usar docbook xml no markdown, mas não há suporte a markdown no docbook xml.</para>
-
- <para>Em versões mais antigas do GTK-Doc, se você precisasse de suporte para formatação adicional, você precisaria de habilitar o uso de tags de XML de docbook dentro de comentários de documentação colocando <option>--xml-mode</option> (ou <option>--sgml-mode</option>) na variável <symbol>MKDB_OPTIONS</symbol> dentro de <filename>Makefile.am</filename>.</para>
-
- <para>
- <example><title>Bloco de comentário do GTK-Doc usando Markdown</title>
- <programlisting>
-/**
- * identificador:
- *
- * parágrafo de documentação ...
- *
- * # Subtítulo #
- *
- * ## Segundo subtítulo
- *
- * # Subtítulo com um link âncora # {#titulo-dois}
- *
- * mais documentação:
- *
- * - item 1 da lista
- *
- * Parágrafo dentro de um item de lista.
- *
- * - item 2 da lista
- *
- * 1. item numerado da lista
- *
- * 2. outro item numerado da lista
- *
- * Outro parágrafo. [Um link para o site do GNOME](http://www.gnome.org/)
- *
- * 
- *
- * [Um link para um título acima][titulo-dois]
- *
- * Um exemplo em linguagem C:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Esplêndido!");
- * ]|
- */
-</programlisting>
- </example>
- </para>
-
- <para>Mais exemplos de quais tags de markdown tags possui suporte podem ser encontrados na <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">Referência de sintaxe de markdown de documentação</ulink>.</para>
-
- <tip>
- <para>Como já mencionado anteriormente, GTK-Doc serve para documentar API pública. Portanto, não é possível escrever documentação para símbolos estáticos. Não obstante, é bom comentar estes símbolos também. Isso ajuda outros desenvolvedores a entender seu código. Portanto, é recomendado comentá-los usando comentários normais (sem o segundo “*” na primeira linha). Se, posteriormente, a função precisar ser publicada, tudo que precisa ser feito é adicionar outro “*” no bloco de comentário e inserir o nome do símbolo no lugar correto do arquivo e seções.</para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>Documentando seções</title>
-
- <para>Cada seção da documentação contém informações sobre uma classe ou um módulo. Para introduzir o componente, pode-se escrever um bloco de seção. A descrição curta também é usada dentro da tabela de conteúdo (sumário). Todos os @fields são opcionais.</para>
-
- <para>
- <example><title>Bloco de comentário de sessão</title>
- <programlisting>
-/**
- * SECTION:meepapp
- * @short_description: A classe do aplicativo
- * @title: Aplicativo Meep
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Estável
- * @include: meep/app.h
- * @image: aplicativo.png
- *
- * A classe do aplicativo cuida de ...
- */
-</programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<nome></term>
- <listitem>
- <para>O nome vincula a documentação da seção à respectiva parte do arquivo <filename><pacote>-sections.txt</filename>. O nome informado aqui deve corresponder à tag <FILE> no arquivo <filename><pacote>-sections.txt</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>Uma descrição de uma linha da sessão,que mais tarde aparecerá após os links no TOC (sumário) no topo da página da sessão.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>O padrão para título de seção é <nome> da declaração da SECTION. Ele pode ser sobrescrito com o campo @title.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>Sobrescreve o uso do título como um identificador de seção. Para GObjects, o <title> é usado como um section_id e para outras seções ele é <MÓDULO>-<title>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>Uma lista de símbolos que estão relacionados a esta sessão.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>Uma descrição informal do nível de estabilidade que esta API tem. Nós recomendamos o uso de um desses termos: <itemizedlist>
- <listitem>
- <para>Estável – A intenção de uma interface estável é permitir terceiros arbitrários desenvolverem aplicativos para essas interfaces, lançá-los e ter a confiança de que eles vão funcionar em todos os lançamentos menores do produto (após aquele no qual a interface foi introduzida e naquele mesmo lançamento maior). Atém mesmo em um lançamento maior, espera-se que alterações incompatíveis sejam raras e que tenham fortes justificativas.</para>
- </listitem>
- <listitem>
- <para>Instável – Interfaces instáveis são experimentais ou transicionais. Elas são normalmente usadas para dar a desenvolvedores externos um acesso prévio a nova tecnologia ou em rápida alteração, ou para fornecer uma solução interina para um problema que uma solução mais genérica foi antecipada. Nenhuma responsabilidade é assumida pela compatbilidade dos binários ou dos fontes de uma versão menor para a próxima.</para>
- </listitem>
- <listitem>
- <para>Privado – Uma interface que pode ser usada dentro da própria pilha do GNOME, mas que não está documentada para usuários finais. Tais funções deveriam ser usadas nas formas especificadas e documentadas.</para>
- </listitem>
- <listitem>
- <para>Interna – Uma interface que é interna a um módulo e não requer documentação para o usuário final. Funções que não estão documentadas são presumidas como sendo “Interna”.</para>
- </listitem>
- </itemizedlist></para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>Os arquivos <literal>#include</literal> a ser mostrado na sinopse da seção (uma lista separada por vírgulas), sobrescrevendo o valor global do <link linkend="metafiles_sections">arquivo de seção</link> ou linha de comando. Este item é opcional.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>A imagem a ser exibida no topo da página de referência desta seção. Isso frequentemente será um tipo de diagrama para ilustrar a aparência visual de uma classe ou uma diagrama de suas relações a outras classes. Este item é opcional.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>Para evitar recompilação desnecessária após alterações de documentação inseridas nas documentações de seção no fonte em C onde possível.</para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>Documentando símbolos</title>
-
- <para>Cada símbolo (função, macro, struct, enum, signal e property) é documentado em uma bloco separado. O bloco é melhor localizado perto da definição dos símbolos, de forma que seja fácil de mantê-los em sincronia. Portanto, as funções são normalmente documentadas no fonte em C e macros, scructs e enums no arquivo de header.</para>
-
- <sect2><title>Tags gerais</title>
-
- <para>Você pode adicionar informação sobre versionamento em todos os elementos de documentação para informar quando uma API foi introduzida ou quando ela se tornou obsoleta.</para>
-
- <variablelist><title>Tags de versionamento</title>
- <varlistentry><term>Since:</term>
- <listitem>
- <para>Descrição de desde qual versão do código a API está disponível.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Deprecated:</term>
- <listitem>
- <para>Parágrafo denotando que esta função deveria não mais ser usada. A descrição deveria apontar o leitor para a nova API.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Você também pode adicionar informação sobre estabilidade em todos os elementos de documentação para indicar se a estabilidade de uma API é garantida para eles para futuros lançamentos menores do projeto.</para>
-
- <para>O nível de estabilidade padrão para todos os elementos de documentação pode ser definido passando o argumento <option>--default-stability</option> para <application>gtkdoc-mkdb</application> com um dos valores abaixo.</para>
-
- <variablelist><title>Tags de estabilidade</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>Marca o elemento como estável. Isto é para APIs públicas cuja estabilidade é garantida para todos os próximos lançamentos menores do projeto.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>Marca o elemento como instável. Isto é para APIs públicas que são publicados como versão de desenvolvimento antes de se tornar estável.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>Marca o elemento como privado. Isto é para interfaces que podem ser usadas por um conjunto pequeno de módulos, mas não por terceiros.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>Tags gerais</title>
- <programlisting>
-/**
- * foo_get_bar:
- * @foo: Um foo
- *
- * Obtém o bar do @foo.
- *
- * Returns: bar do @foo
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() no seu lugar.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Anotações</title>
-
- <para>Blocos de documentação podem conter tags de anotação. Essas tags serão renderizadas com dicas de ferramentas descrevendo seu significados. As tags são usadas pelo gobject-introspection para garantir associações (bindings) de linguagens. Uma lista detalhada tags aceitas podem ser encontrada <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">no wiki</ulink>.</para>
-
- <example><title>Anotações</title>
- <programlisting>
-/**
- * foo_get_bar: (anotação)
- * @foo: (anotação): algum foo
- *
- * Obtém bar do @foo.
- *
- * Returns: (anotação): bar do @foo
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (anotação) (outra anotação)
- * (e uma outra anotação)
- * @foo: (anotação) (uma outra anotação): algum foo
- *
- * Define bar no @foo.
- */
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Bloco de comentário de função</title>
-
- <para>Por favor, lembre-se de: <itemizedlist>
- <listitem>
- <para>Documente se objetos, listas, strings, etc. retornados devem ser não usados/não referenciados/liberada.</para>
- </listitem>
- <listitem>
- <para>Documente se parâmetros pode ser NULL e o que acontece se eles o forem.</para>
- </listitem>
- <listitem>
- <para>Mencione pré-condições e pós-condições interessantes onde for apropriado.</para>
- </listitem>
- </itemizedlist></para>
-
- <para>Gtk-doc presume que todos os símbolos (macros, funções) começando com “_” são privados. Eles são tratados como funções estáticas.</para>
-
- <example><title>Bloco de comentário de função</title>
- <programlisting>
-/**
- * nome_da_função:
- * @par1: descrição do parâmetro 1. Esta pode se estender por mais de
- * uma linha.
- * @par2: descrição do parâmetro 2
- * @...: uma lista de bars terminada em %NULL
- *
- * A descrição da função vai aqui. Você pode usar @par1 para se referir a parâmetros
- * de forma que eles ficam em destaque na saída. Você também pode usar %constant
- * para constantes, nome_da_função2() para funções e #GtkWidget para links para
- * outras declarações (que pode ser documentada em outro lugar).
- *
- * Returns: um inteiro.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use outra_função() em seu lugar.
- */
-</programlisting>
- </example>
-
- <variablelist><title>Tags de função</title>
- <varlistentry><term>Returns:</term>
- <listitem>
- <para>Parágrafo descrevendo o resultado retornado.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>No caso da função possuir argumentos variados, você deveria usar esta tag (@Varargs: também funciona por motivos de histórico).</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>Bloco de comentário de propriedade</title>
-
- <example><title>Bloco de comentário de propriedade</title>
- <programlisting>
-/**
- * AlgumWidget:alguma-propriedade:
- *
- * Aqui você pode documentar uma propriedade.
- */
-g_object_propriedade_install_classe (object_classe, PROP_ALGUMA_PROPRIEDADE, ...);
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Bloco de comentário de sinal</title>
-
- <para>Por favor, lembre-se de: <itemizedlist>
- <listitem>
- <para>Documente quando o sinal é emitido e se ele é emitido antes ou após outros sinais.</para>
- </listitem>
- <listitem>
- <para>Documente o que um aplicativo pode fazer no manipulador do sinal.</para>
- </listitem>
- </itemizedlist></para>
-
- <example><title>Bloco de comentário de sinal</title>
- <programlisting>
-/**
- * FooWidget::foobarizado:
- * @widget: o widget que recebeu o sinal
- * @foo: algum foo
- * @bar: algum bar
- *
- * O sinal ::foobarized é emitido cada vez que alguém tenta foobarizar @widget.
- */
-foo_sinais[FOOBARIZADO] =
- g_signal_novo ("foobarizado",
- ...
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Bloco de comentário de struct</title>
- <example><title>Bloco de comentário de struct</title>
- <programlisting>
-/**
- * FooWidget:
- * @bar: algum #gboolean
- *
- * Este é o melhor widget, já mais visto.
- */
-typedef struct _FooWidget {
- GtkWidget parent_intance;
-
- gboolean bar;
-} FooWidget;
-</programlisting>
- </example>
-
- <para>Use <code>/*< private >*/</code> antes dos campos da struct privada que você deseja esconder. Use <code>/*< public >*/</code> para o comportamento inverso.</para>
-
- <para>Se o primeiro campo for “g_iface”, “parent_instance” ou “parent_class”, ele será automaticamente considerado como privado e não precisará ser mencionado no bloco de comentário.</para>
-
- <para>Blocos de comentário de struct também podem ser usados para GObjects e GObjectClasses. É normalmente uma boa ideia adicionar um bloco de comentário para uma classe, se ela possui vmethods (pois assim é como elas podem ser documentadas). Para o próprio GOBject pode-se usar os documentos de seção relacionados, tendo um bloco separado para a instância do struct seria útil se a instância possui campos públicos. Uma desvantagem aqui é que isso cria duas entradas no índice do mesmo nome (a estrutura e a seção).</para>
-
- </sect2>
-
- <sect2><title>Bloco de comentário de enum</title>
- <example><title>Bloco de comentário de enum</title>
- <programlisting>
-/**
- * Alguma coisa:
- * @ALGUMACOISA_FOO: alguma coisa foo
- * @ALGUMCAOISA_BAR: alguma coisa bar
- *
- * Valores de enum usados para a coisa, para especificar a coisa.
- */
-typedef enum {
- ALGUMACOISA_FOO,
- ALGUMACOISA_BAR,
- /*< private >*/
- ALGUMACOISA_CONTAGEM
-} Alguma coisa;
-</programlisting>
- </example>
-
- <para>Use <code>/*< private >*/</code> antes de valores privados de enum que você deseja ocultar. Use <code>/*< public >*/</code> para o comportamento inverso.</para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Documentação de programa em-linha</title>
- <para>Você pode documentar programas e sua interface de linha de comando usando documentação em-linha.</para>
-
- <variablelist>
- <title>Tags</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>Define o início da documentação de um programa.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>Define uma descrição breve do programa. (Opcional)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>Define os argumentos, ou lista de argumentos, que o programa pode receber. (Opcional)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>A seção “See Also” (Veja Também) de páginas de manual. (Opcional)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>Argumento(s) passado(s) para o programa e sua descrição. (Opcional)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>Um descrição mais longa do programa.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Returns:</term>
- <listitem>
- <para>Especifique qual(is) valor(es) o programa retorna. (Opcional)</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Exemplo de documentação de programa.</title>
- <example><title>Bloco de documentação de programa</title>
- <programlisting>
-/**
- * PROGRAM:programa-teste
- * @short_description: Um programa teste
- * @synopsis: programa-teste [*OPÇÕES*...] --arg1 *arg* *ARQUIVO*
- * @see_also: teste(1)
- * @--arg1 *arg*: define arg1 para *arg*
- * @--arg2 *arg*: define arg2 para *arg*
- * @-v, --version: Exibe o número da versão
- * @-h, --help: Exibe a mensagem de ajuda
- *
- * Descrição longa do programa.
- *
- * Returns: Zero no caso de sucesso, não-zero no caso de falha
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-</programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>Tags úteis do DocBook</title>
-
- <para>Aqui estão algumas tags de DocBook que são muito úteis quando se está documentado o código.</para>
-
- <para>Para vincular a outra seção nas documentações do GTK: <informalexample>
- <programlisting>
-<link linkend="glib-Hash-Tables">Tabela de hashes</link>
-</programlisting>
- </informalexample> O "linked" é a identificação SGML/XML no item superior da página a qual você deseja vincular. Para a maioria das páginas isto é atualmente a parte (“gtk”, “gdk”, “glib”) e, então, o título da página (“Hash Tables”). Para os widgets isso é apenas o nome da classe. Espaços e sublinhados são convertidos em '-' para estar em conformidade com SGML/XML.</para>
-
- <para>Para se referir a uma função externa, como, por exemplo, uma função padrão do C: <informalexample>
- <programlisting>
-<function>...</function>
-</programlisting>
- </informalexample></para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>Para incluir listas com marcadores: <informalexample>
- <programlisting>
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-</programlisting>
- </informalexample></para>
-
- <para>Para incluir uma nota que fique fora do texto: <informalexample>
- <programlisting>
-<note>
- <para>
- Certifique-se de que você liberou os dados após usá-los.
- </para>
-</note>
-</programlisting>
- </informalexample></para>
-
- <para>Para se referir a um tipo: <informalexample>
- <programlisting>
-<type>unsigned char</type>
-</programlisting>
- </informalexample></para>
-
- <para>Para se referir a uma estrutura externa (não uma descrita nos documentos do GTK): <informalexample>
- <programlisting>
-<structname>XFontStruct</structname>
-</programlisting>
- </informalexample></para>
-
- <para>Para se referir a um campo de uma estrutura: <informalexample>
- <programlisting>
-<structfield>len</structfield>
-</programlisting>
- </informalexample></para>
-
- <para>Para se referir a um nome de classe, nós possivelmente poderíamos usar: <informalexample>
- <programlisting>
-<classname>GtkWidget</classname>
-</programlisting>
- </informalexample> mas você provavelmente vai estar usando #GtkWidget em vez disso (para criar automaticamente um link para a página do GtkWidget – veja <link linkend="documenting_syntax">as abreviações</link>).</para>
-
- <para>Para enfatizar um texto: <informalexample>
- <programlisting>
-<emphasis>Isso é importante</emphasis>
-</programlisting>
- </informalexample></para>
-
- <para>Para nome de arquivos use: <informalexample>
- <programlisting>
-<filename>/home/usuario/documentos</filename>
-</programlisting>
- </informalexample></para>
-
- <para>Para se referir a chaves use: <informalexample>
- <programlisting>
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-</programlisting>
- </informalexample></para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Preenchendo os arquivos extras</title>
-
- <para>Há alguns poucos arquivos extras, que precisam ser mantidos junto com os comentários inseridos no código-fonte: <filename><pacote>.types</filename>, <filename><pacote>-docs.xml</filename> (no passado, .sgml), <filename><pacote>-sections.txt</filename>.</para>
-
- <sect1 id="metafiles_types">
- <title>Editando o arquivo de tipos</title>
-
- <para>Se sua biblioteca ou aplicativo inclui GObjects, você deseja que seus sinais, argumentos/parâmetros e posição na hierarquia sejam mostrados na documentação. Tudo que você precisa fazer é listar as funções <function>xxx_get_type</function> junto com seus include dentro do arquivo <filename><pacote>.types</filename>.</para>
-
- <para>
- <example><title>Exemplo de arquivo <pacote>.types</title>
- <programlisting>
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-</programlisting>
- </example>
- </para>
-
- <para>Desde o GTK-Doc 1.8, o <application>gtkdoc-scan</application> pode gerar esta lista para você. Basta adicionar “--rebuild-types” a SCAN_OPTIONS no <filename>Makefile.am</filename>. Se você usar esta abordagem, você não deveria distribuir o arquivo de tipos nem tê-lo sob um controle de versão.</para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>Editando o documento mestre</title>
-
- <para>O Gtk-Doc produz documentação em DocBook SGML/XML. Ao processar os comentários inseridos nos fontes, as ferramentas do GTK-Doc geram uma página de documentação por classe ou módulo como um arquivo separado. O documento mestre os inclui e os coloca em uma ordem.</para>
-
- <para>Enquanto o Gtk-Doc cria um modelo de documento mestre para você, execuções posteriores não vão tocá-lo novamente. Isso significa que se pode estruturar a documentação livremente. Isso inclui agrupamento de páginas e adição de páginas extras. O Gtk-Doc agora possui uma suíte de teste, na qual também o documento mestre é recriado do zero. É uma boa ideia verificar isso de tempo em tempo para ver se há itens a serem introduzidos lá.</para>
-
- <tip>
- <para>Não crie tutoriais como documentos extras. Apenas escreva capítulos extras. O benefício de embutir diretamente o tutorial para sua biblioteca na documentação da API é que é mais fácil vincular o tutorial a um símbolo da documentação. Além disso, as chances são mais altas que o tutorial obtenha atualizações junto com a biblioteca.</para>
- </tip>
-
- <para>Então, quais são as coisas para se alterar dentro do documento mestre? Para começar é apenas um pouco. Existem alguns mantedores de espaço (texto em colchetes) que você deve cuidar.</para>
-
- <para>
- <example><title>Cabeçalho do documento mestre</title>
- <programlisting>
-<bookinfo>
- <title>Manual de referência do NOMEDOMÓDULO</title>
- <releaseinfo>
- for NOMEDOMÓDULO [VERSÃO]
- A última versão desta documentação também pode ser encontrada on-line em
- <ulink role="online-location" url="http://[SERVIDOR]/NOMEDOMÓDULO/index.html">http://[SERVIDOR]/NOMEDOMÓDULO/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insira o título aqui]</title>
-</programlisting>
- </example>
- </para>
-
- <para>Além disso, alguns elementos de opção são criados na forma comentada. Você pode revisá-los e habilitá-los como preferir.</para>
-
- <para>
- <example><title>Parte opcional do documento mestre</title>
- <programlisting>
- <!-- habilite isso se você usa anotações do gobject introspection
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-</programlisting>
- </example>
- </para>
-
- <para>Finalmente você precisa adicionar nova seção sempre que você a introduzir. A ferramenta <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> vai lembrar você de arquivos xml recentemente gerados que ainda não foram incluídos na documentação.</para>
-
- <para>
- <example><title>Incluindo seções geradas</title>
- <programlisting>
- <chapter>
- <title>minha biblioteca</title>
- <xi:include href="xml/object.xml"/>
- ...
-</programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>Editando o arquivo de seção</title>
-
- <para>O arquivo de seção é usado para organizar a saída da documentação pelo GTK-Doc. Aqui pode-se especificar qual símbolo pertence a qual módulo ou classe e controla a visibilidade (pública ou privada).</para>
-
- <para>O arquivo de seção é uma arquivo texto simples com seções delimitadas por tags. Linhas em branco são ignoradas e linhas começando com um “#” são tratadas como linhas de comentários.</para>
-
- <note>
- <para>Enquanto as tags fazem o arquivo se parecer xml, ele não é. Por favor, não feche tags como <SUBSECTION>.</para>
- </note>
-
- <para>
- <example><title>Incluindo seções geradas</title>
- <programlisting>
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-</programlisting>
- </example>
- </para>
-
- <para>A tag <FILE> ... </FILE> é usada para especificar o nome de arquivo, sem qualquer sufixo. Por exemplo, ao usar “<FILE>gnome-config</FILE>” resultará nas declarações da seção serem retornadas no arquivo modelo <filename>tmpl/gnome-config.sgml</filename>, o qual será convertido no arquivo DocBook XML <filename>xml/gnome-config.sgml</filename> ou no arquivo DocBook XML <filename>xml/gnome-config.xml</filename>. (O nome do arquivo HTML é baseado no nome do módulo e no título da seção ou, para GObjects, é baseado no nome da classe GObjects convertidos os caracteres para minúsculos).</para>
-
- <para>A tag <TITLE> ... </TITLE> é usada para especificar o título da seção. Ela é usada apenas antes do modelo (se usado) ser criado inicialmente, já que o título definido no arquivo de modelo sobrescreve este. Também, se for usado o comentário SECTION nos fontes, isso está obsoleto.</para>
-
- <para>Você pode agrupar itens na seção usando a tag <SUBSECTION>. Atualmente, ela retorna uma linha em branco entre as subseções na seção de sinopse. Você também pode usar <SUBSECTION Standard> para declarações padrão do GObject (ex.: as funções como g_object_get_type e macros como G_OBJECT(), G_IS_OBJECT() etc.). Atualmente, estas são deixadas fora da documentação. Você também pode usar <SUBSECTION Private> para declarações privadas que não serão retornadas (é uma forma prática de evitar mensagens de aviso sobre declarações não usadas). Se sua biblioteca contém tipos privados que você não deseja que apareçam na hierarquia do objeto e a linha de classes implementadas ou exigidas, adicione-as a uma subseção privada. Se você colocaria o GObject e GObjectClass como structs numa seção padrão ou pública depende se há entradas públicas (variáveis, vmethods).</para>
-
- <para>Você também pode usar <INCLUDE> ... </INCLUDE> para especificar os arquivos #include que são mostrados nas seções de sinopse. Ela contém uma lista separada por vírgula de arquivos #include, sem os sinais de maior que e menor que. Se você define-a fora de quaisquer seções, ela age para todas as seções até o fim do arquivo. Se você define-a em uma seção, ela só vai se aplicar àquela seção.</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>Controlando o resultado</title>
-
- <para>Uma execução do GTK-Doc gera arquivos de relatórios dentro do diretório de documentação. Os arquivos gerados são chamados: <filename><pacote>-undocumented.txt</filename>, <filename><pacote>-undeclared.txt</filename> e <filename><pacote>-unused.txt</filename>. Todos eles são arquivos texto simples que podem ser facilmente visualizados e pós-processados.</para>
-
- <para>O arquivo <filename><pacote>-undocumented.txt</filename> começa com um sumário de cobertura da documentação. Abaixo estão duas seções divididas por linhas brancas. A primeira seção lista símbolos não documentados e incompletos. A segunda seção faz o mesmo para os documentos de seção. Entradas incompletas são aquelas que foram documentadas, mas nas quais, por exemplo, um novo parâmetro foi adicionado.</para>
-
- <para>O arquivo <filename><pacote>-undeclared.txt</filename> lista símbolos dados no <filename><pacote>-sections.txt</filename>, mas não encontrados nos fontes. Verifique se eles foram removidos ou se eles foram escritos incorretamente.</para>
-
- <para>O arquivo <filename><pacote>-unused.txt</filename> lista nomes de símbolo cuja documentação foi localizada na varredura do GTK-Doc, mas que não sabe onde colocá-los. Isso significa que o símbolo não foi adicionado ainda ao arquivo <filename><pacote>-sections.txt</filename>.</para>
-
- <tip>
- <para>Habilite ou adicione a linha <option>TESTS=$(GTKDOC_CHECK)</option> no Makefile.am. Se pelo menos GTK-Doc 1.9 estiver instalado, isso vai executar verificações de sanidade durante a execução de <command>make check</command>.</para>
- </tip>
-
- <para>Também pode-se buscar nos arquivos produzidos pela varredura do código-fonte: <filename><pacote>-decl-list.txt</filename> e <filename><pacote>-decl.txt</filename>. O primeiro pode ser comparado com o arquivo de seção, se ele for mantido manualmente. O segundo lista todas as declarações de cabeçalhos. Se um símbolo está faltando, pode-se verificar se este arquivo o contém.</para>
-
- <para>Se o projeto é baseado em GObject, pode-se também procurar nos arquivos produzidos pela varredura de objetos: <filename><pacote>.args.txt</filename>, <filename><pacote>.hierarchy.txt</filename>, <filename><pacote>.interfaces.txt</filename>, <filename><pacote>.prerequisites.txt</filename> e <filename><pacote>.signals.txt</filename>. Se há símbolos faltando em qualquer um deles, pode-se exigir que o GTK-Doc mantenha o arquivo intermediário de varredura para análise posterior, executando <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.</para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernizando a documentação</title>
-
- <para>GTK-Doc está por aí já faz um tempo. Nesta seção, nós listamos novas funcionalidades juntamente da versão desde a qual está disponível.</para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>Ao usar xml em vez de sgml, na verdade, é possível nomear o documento mestre <filename><pacote>-docs.xml</filename>.</para>
-
- <para>Essa versão provê suporte <option>SCAN_OPTIONS=--rebuild-sections</option> em <filename>Makefile.am</filename>. Quando esta opção está habilitada, o <filename><package>-sections.txt</filename> é auto-gerado e pode ser removido a partir do VCS. Isso só funciona corretamente para projetos que têm uma estrutura muito regular (ex.: cada par .{c,h} vai criar uma nova seção). Se uma pessoa organiza um projeto próximo a isso atualizando um arquivo de seção mantido manualmente pode ser tão simples quanto executando <code>meld <package>-decl-list.txt <package>-sections.txt</code>.</para>
-
- <para>A versão 1.8 já introduziu a sintaxe para documentação seções nos fontes em vez dos arquivos separados sob <filename class="directory">tmpl</filename>. Essa versão adiciona opções para alternar todo o módulo de documentação para não usar a etapa de compilação extra do tmpl, usando <option>--flavour no-tmpl</option> no <filename>configure.ac</filename>. Se você não possui um <filename class="directory">tmpl</filename> no seu sistema de controle de versão e ainda não trocou, basta adicionar uma opção ao <filename>configure.ac</filename> e está resolvido.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>Essa versão provê suporte <option>SCAN_OPTIONS=--rebuild-types</option> no <filename>Makefile.am</filename>. Quando isso está habilitado, o <filename><package>.types</filename> é auto-gerado e pode ser removido do VCS. Quando usando essa funcionalidade é importante também configurar o <varname>IGNORE_HFILES</varname> no <filename>Makefile.am</filename> para código que é compilado condicionalmente.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>Essa versão inclui uma nova ferramenta chamada gtkdoc-check. Essa ferramenta pode executar um conjunto de verificações de sanidade na sua documentação. Ela é habilitada adicionando essas linhas ao final do <filename>Makefile.am</filename>. <example><title>Habilitar gtkdoc-check</title>
- <programlisting>
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>A versão 1.18 trouxe algum suporte inicial a markdown. O uso de markdown em comentários de documentação é menos intrusiva do que escrever xml de docbook. Essa versão melhora em muito nisso e adiciona muito mais estilos. A seção que explica a <link linkend="documenting_syntax">sintaxe de comentário</link> tem todos os detalhes.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>Os makefiles fornecidos com esta versão geram um arquivo de entidade em <filename>xml/gtkdocentities.ent</filename>, contendo entidades para, por exemplo, nome-pacote e versão-pacote. Você pode usar isto, por exemplo, no arquivo xml principal para evitar ter que inserir diretamente o número de versão. Logo abaixo encontra-se um exemplo que mostra como o arquivo de entidade é incluído no modelo mestre e como as entidades são usadas. As entidades também podem ser usadas em todos arquivos gerados, GTK-Doc usará o mesmo cabeçalho xml nos arquivos xml gerados. <example><title>Usando entradas geradas previamente</title>
- <programlisting>
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>Manual de referência do &nome-pacote;</title>
- <releaseinfo>
- para &versão-pacote;.
- A última versão desta documentação pode ser encontra on-line em
- <ulink role="online-location" url="http://[SERVIDOR]/&nome-pacote;/index.html">http://[SERVIDOR]/&nome-pacote;/</ulink>.
- </releaseinfo>
- </bookinfo>
-</programlisting>
- </example></para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Documentando outras interfaces</title>
-
- <para>Até agora nós temos usado o GTK-Doc para documentar a API de um código. As próximas sessões contêm sugestões de como as ferramentas podem ser usadas para documentar outras interfaces, também.</para>
-
- <sect1 id="commandline-interfaces">
- <title>Opções de linha de comando e de páginas man</title>
-
- <para>Já que também é possível gerar páginas man para um refentry do docbook, soa como uma boa ideia usá-lo para este propósito. Desta forma, a interface é parte da referência e é possível obter a página man livremente.</para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Documentar a ferramenta</title>
-
- <para>Crie um arquivo refentry por ferramenta. Segundo <link linkend="settingup_docfiles">nosso exemplo</link> nós chamaríamos ele de <filename>meep/docs/reference/meeper/meep.xml</filename>. Para as tags xml que devem ser usadas e podem parecer no arquivo gerado no subdiretório xml assim como exemplos, por exemplo, em glib.</para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Adicionando a verificação extra ao configure</title>
-
- <para>
- <example><title>Verificações extra no configure</title>
- <programlisting>
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-</programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Adicionando as regras extras ao makefile</title>
-
- <para>
- <example><title>Verificações extra no configure</title>
- <programlisting>
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-</programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>Interfaces DBus</title>
-
- <para>(CORRIJA-ME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)</para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Perguntas frequentes</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>Questão</segtitle>
- <segtitle>Resposta</segtitle>
- <seglistitem>
- <seg>Sem hierarquia de classe.</seg>
- <seg>A função de objetos <function>xxx_get_type()</function> não foi inserida no arquivo <filename><pacote>.types</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Ainda sem hierarquia.</seg>
- <seg>Nomenclatura faltando ou incorreta no arquivo <filename><pacote>-sections.txt</filename> (veja a <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explicação</ulink>).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Droga. Eu ainda não tenho hierarquia de classes.</seg>
- <seg>Por acaso o nome do objeto (nome da struct da instância, ex. <type>GtkWidget</type>) faz parte da seção normal (não coloque isso em subseções Standard ou Private)?</seg>
- </seglistitem>
- <seglistitem>
- <seg>Nenhum símbolo de índice.</seg>
- <seg>O <filename><pacote>-docs.{xml,sgml}</filename> contém um índice que “xi:inclui” o índice gerado?</seg>
- </seglistitem>
- <seglistitem>
- <seg>Símbolos não estão vinculados ao seus doc-section.</seg>
- <seg>O doc-comment está usando a marcação correta (adicionado #,% or ())? Verifique se o gtkdoc-fixxref avisa sobre xrefs não resolvidos.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Uma nova classe não aparece nos documentos.</seg>
- <seg>A nova página foi “xi:incluída” do <filename><pacote>-docs.{xml,sgml}</filename>?</seg>
- </seglistitem>
- <seglistitem>
- <seg>Um novo símbolo não aparece nos documentos.</seg>
- <seg>O doc-comment está formatado adequadamente? Verifique erros de escrita no começo do comentário. Verifique se o gtkdoc-fixxref avisa sobre xrefs não resolvíveis. Verifique se o símbolo está listado corretamente no <filename><pacote>-sections.txt</filename> em uma subseção pública.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Um tipo está faltando da hierarquia de classe.</seg>
- <seg>Se o tipo está listado no <filename><pacote>.hierarchy</filename>, mas não em <filename>xml/tree_index.sgml</filename>, então certifique-se de que o tipo está colocado corretamente no <filename><pacote>-sections.txt</filename>. Se a instância do tipo (ex.: <type>GtkWidget</type>) não está listada ou incidentalmente marcada como privada, ela não será mostrada.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Obtenho links de seguimento de documentos para todas as anotações gobject.</seg>
- <seg>Verifique se <filename>xml/annotation-glossary.xml</filename> está “xi:incluído” de <filename><pacote>-docs.{xml,sgml}</filename>.</seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parâmetro descrito no bloco de comentário do código-fonte não existe</seg>
- <seg>Verifique se o protótipo no cabeçalho tem nomes de parâmetros diferentes da fonte.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>múltiplos “IDs” para restrições do fim do link XYZ</seg>
- <seg>O símbolo XYZ aparece duas vezes no arquivo <filename><pacote>-sections.txt</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Elemento typename no espaço de nome '' encontrado em para, mas nenhum modelo correspondeu.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Ferramentas relacionadas ao gtk-doc</title>
-
- <para>GtkDocPlugin – um plug-in de integração com <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>, que adiciona documentos de API a um site trac e integra com a pesquisa do trac.</para>
- <para>Gtkdoc-depscan – uma ferramenta (parte do gtk-doc) para verificar APIs usadas, a partir de suas tags, para determinar a versão mínima necessária.</para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Versão 1.1, Março de 2000</releaseinfo>
- <copyright><year>2000</year><holder>Free Software Foundation, Inc.</holder></copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address> É permitido a qualquer um copiar e distribuir cópias exatas deste documento de licença, embora não seja permitido alterá-lo.</para>
- </legalnotice>
- </appendixinfo>
- <title>Licença de Documentação Livre GNU</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREÂMBULO</title>
- <para>O objetivo desta Licença é tornar um manual, livro didático ou outro documento funcional e útil “livre” no sentido de liberdade: assegurar a todos a liberdade efetiva de copiá-lo e redistribuí-lo, com ou sem modificação do mesmo, comercialmente ou não. Em segundo lugar, esta Licença preserva para o autor e o editor uma maneira de obter crédito por seu trabalho, sem ser considerado responsável por modificações feitas por outros.</para>
-
- <para>Esta licença é um tipo de “copyleft”, o que significa que trabalhos derivados do documento devem ser livres no mesmo sentido. Ela complementa a Licença Pública Geral GNU (GNU General Public License), que é uma licença com copyleft projetada para software livre.</para>
-
- <para>Criamos esta Licença para usá-la para manuais para software livre, porque software livre precisa de documentação livre: um programa livre deve ser fornecido com manuais que proporcionam as mesmas liberdades que o software. Mas esta Licença não está limitada aos manuais de software; pode ser usada para qualquer trabalho textual, independentemente do assunto ou dele ser publicado como um livro impresso. Recomendamos esta Licença principalmente para trabalhos cujo propósito seja instrução ou referência.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APLICABILIDADE E DEFINIÇÕES</title>
- <para id="fdl-document">Esta Licença aplica-se a qualquer manual ou outro trabalho, em qualquer meio, que contenha um aviso colocado pelo detentor dos direitos autorais dizendo que pode ser distribuído nos termos desta Licença. Tal aviso concede uma licença mundial, sem royalties, de duração ilimitada, para usar esse trabalho nas condições aqui estabelecidas. O “Documento”, a seguir, refere-se a qualquer manual ou trabalho. Qualquer membro do público é um licenciado e é referido como “você”. Você aceita a licença se você copiar, modificar ou distribuir o trabalho de forma a exigir permissão de acordo com a lei de direitos autorais.</para>
-
- <para id="fdl-modified">Uma “Versão Modificada” do Documento significa qualquer trabalho contendo o Documento ou uma porção deste, seja uma cópia literal ou com modificações e/ou traduzido em outro idioma.</para>
-
- <para id="fdl-secondary">A “Seção Secundária” é um apêndice nomeado ou uma seção anterior do Documento que trata exclusivamente do relacionamento dos editores ou autores do <link linkend="fdl-document">Documento</link> com o assunto geral do documento (ou assuntos relacionados) e não contém nada que possa estar diretamente dentro desse assunto geral. (Assim, se o Documento for, em parte, um livro de texto de matemática, uma Seção Secundária pode não explicar qualquer matemática.) O relacionamento poderia ser uma questão de conexão histórica com o assunto ou com assuntos relacionados, ou de posição legal, comercial, filosófica, ética ou política em relação a eles.</para>
-
- <para id="fdl-invariant">As “Seções Invariantes” são certas <link linkend="fdl-secondary">Seções Secundárias</link> cujos títulos são designados, como sendo daquelas de Seções Invariantes, no aviso que diz que o <link linkend="fdl-document">Documento</link> é liberado sob esta Licença.</para>
-
- <para id="fdl-cover-texts">Os “Textos de Capa” são certas passagens de texto que são listadas como Textos de Capa Frontal ou Textos de Contracapa, no aviso que afirma que o <link linkend="fdl-document">Documento</link> foi publicado sob esta Licença.</para>
-
- <para id="fdl-transparent">Uma cópia “Transparente” do <link linkend="fdl-document"> Documento</link> significa uma cópia legível por máquina, representada em um formato cuja especificação está disponível para o público em geral, cujo conteúdo possa ser visto e editado diretamente com editores de texto genéricos ou (para imagens compostas de pixels) programas gráficos genéricos ou (para desenhos) algum editor de desenho amplamente disponível, e isso seja adequado para entrada para formatadores de texto ou para tradução automática para uma variedade de formatos adequados para entrada de formatadores de texto. Uma cópia feita em um formato de arquivo Transparente cuja marcação tenha sido projetada para frustrar ou desencorajar a modificação subsequente pelos leitores não é Transparente. Uma cópia que não é “Transparente” é chamada de “Opaca”.</para>
-
- <para>Exemplos de formatos adequados para cópias Transparentes incluem ASCII simples sem marcação, formato de entrada Texinfo, formato de entrada LaTeX, SGML ou XML usando DTD publicamente disponível e HTML simples, conforme padrão, projetados para modificação humana. Os formatos Opacos incluem PostScript, PDF, formatos proprietários que podem ser lidos e editados apenas por processadores de texto proprietários, SGML ou XML para os quais o DTD e/ou ferramentas de processamento não estão geralmente disponíveis e o HTML gerado por máquina produzido por alguns processadores de texto para apenas para fins de saída.</para>
-
- <para id="fdl-title-page">A “Página de Título” significa, para um livro impresso, a própria página do título, além das páginas subsequentes necessárias para conter, de forma legível, o material que esta Licença requer que apareça na página do título. Para trabalhos em formatos que não possuem qualquer página de título semelhante, “Página de Título” significa o texto próximo à ocorrência mais proeminente do título do trabalho, precedendo o início do corpo do texto.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. CÓPIA LITERAL</title>
- <para>Você pode copiar e distribuir o <link linkend="fdl-document">Documento</link> em qualquer meio, seja este de forma comercial ou não, desde que esta Licença, os avisos de direitos autorais e o aviso de licença afirmando que esta Licença se aplica ao Documento sejam reproduzidos em todas as cópias, e que você adicione nenhuma outra condição, qualquer que seja, às condições desta Licença. Você não pode usar de medidas técnicas para obstruir ou controlar a leitura ou cópia futura das cópias que você fizer ou distribuir. Contudo, você pode aceitar compensação em troca das cópias. Se você distribuir um número suficientemente grande de cópias, você deve também respeitar as condições descritas na <link linkend="fdl-section3">seção 3</link>.</para>
-
- <para>Você também pode emprestar cópias, nas mesmas condições acima mencionadas, e você pode publicar cópias.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPIANDO EM QUANTIDADE</title>
- <para>Se você publicar cópias impressas do <link linkend="fdl-document">Documento</link> em número maior que 100, e o aviso de licença do Documento exigir os <link linkend="fdl-cover-texts">Textos de Capa</link>, você deve incluir as cópias nas capas que carregam, de forma clara e legível, todas essas Textos de Capa: Textos de Capa Frontal na capa frontal e Textos de Contracapa na contracapa. Ambas as capas também devem identificá-lo claramente e legivelmente como o editor dessas cópias. A capa frontal deve apresentar o título completo com todas as palavras do título igualmente proeminentes e visíveis. Você também pode adicionar outros materiais nas capas. Copiar com as alterações limitadas às capas, desde que preservem o título do <link linkend="fdl-document">Documento</link> e satisfaçam estas condições, podem ser tratadas como cópias literais em outros aspectos.</para>
-
- <para>Se os textos necessários para qualquer uma das coberturas forem demasiado volumosos para se ajustar de forma legível, você deve colocar os primeiros listados (tanto quanto encaixar razoavelmente) na capa real e continuar o resto em páginas adjacentes.</para>
-
- <para>Se você publicar ou distribuir cópias <link linkend="fdl-transparent">Opacas</link> do <link linkend="fdl-document">Documento</link> em número superior a 100, você deve incluir uma cópia <link linkend="fdl-transparent">Transparente</link> legível por máquina junto com cada cópia Opaca ou estabelecer em ou com cada cópia Opaca uma localização de rede de computador publicamente acessível contendo uma cópia transparente completa do documento, sem material adicional, a partir da qual o público geral usuário de rede tem acesso para baixar anonimamente sem custo, usando protocolos de rede padrão público. Se você usar a última opção, você deve tomar medidas razoavelmente prudentes, quando você começar a distribuir cópias Opacas em quantidade, para garantir que esta cópia Transparente permanecerá acessível no local indicado até pelo menos um ano após a última vez que você distribuir uma cópia Opaca (diretamente ou através de seus agentes ou varejistas) dessa edição para o público.</para>
-
- <para>É solicitado, mas não é necessário, que você contate os autores do <link linkend="fdl-document">Documento</link> muito antes de redistribuir qualquer grande número de cópias, para dar a eles uma chance de lhe fornecer uma versão atualizada do Documento.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICAÇÕES</title>
- <para>Você pode copiar e distribuir uma <link linkend="fdl-modified">Versão Modificada</link> do <link linkend="fdl-document">Documento</link> sob as condições das seções <link linkend="fdl-section2">2</link> e <link linkend="fdl-section3">3</link> acima, desde que você forneça a Versão Modificada estritamente sob esta Licença, com a Versão Modificada preenchendo a função de Documento, permitindo assim a distribuição e modificação da Versão Modificada a quem quer que possua uma cópia desta. Além disso, você deve executar os seguintes procedimentos na Versão Modificada:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>Usar na <link linkend="fdl-title-page">Página de Título</link> (e nas capas, se existirem) um título distinto em relação ao do <link linkend="fdl-document">Documento</link>, e daqueles de versões anteriores (os quais devem, havendo algum, ser listados na seção “Histórico” do Documento). Você pode usar o mesmo título de uma versão anterior se o editor original daquela versão lhe conceder permissão.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>Listar na <link linkend="fdl-title-page">Página de Título</link>, como autores, uma ou mais pessoas ou entidades responsáveis pela autoria das modificações na <link linkend="fdl-modified">Versão Modificada</link>, juntamente com pelo menos cinco dos autores principais do <link linkend="fdl-document">Documento</link> (todos os seus principais autores, se tiverem menos de cinco).</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>Indicar na <link linkend="fdl-title-page">Página de Título</link> o nome do editor da <link linkend="fdl-modified">Versão Modificada</link>, como editor.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>Preservar todas as avisos de direitos autorais do <link linkend="fdl-document">Documento</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Adicionar um aviso de direitos autorais apropriado para suas modificações adjacentes aos outros avisos de direitos autorais.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>Incluir, imediatamente após os avisos de direitos autorais, um aviso de licença que dê permissão ao público para usar a <link linkend="fdl-modified">Versão Modificada</link> sob os termos desta Licença, na forma mostrada no Adendo abaixo.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>Preservar nesse aviso de licença as listas completas de <link linkend="fdl-invariant">Seções Invariantes</link> e os <link linkend="fdl-cover-texts">Textos de Capa</link> necessários fornecidos no aviso de licença do <link linkend="fdl-document">Documento</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Incluir uma cópia inalterada desta Licença.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>Preservar a seção intitulada “Histórico”, e seu título, e adicionar a ele um item que indique pelo menos o título, o ano, os novos autores e o editor da <link linkend="fdl-modified">Versão Modificada</link> conforme indicado na <link linkend="fdl-title-page">Página de Título</link>. Se não houver uma seção intitulada “Histórico” no <link linkend="fdl-document">Documento</link>, crie um que declare o título, o ano, os autores e o editor do Documento conforme indicado em sua Página de Título e, em seguida, adicione um item descrevendo a Versão Modificada, como indicado na frase anterior.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>Preservar a localização de rede, se for o caso, fornecida no <link linkend="fdl-document">Documento</link> para acesso público a uma cópia <link linkend="fdl-transparent">Transparente</link> do Documento, e também as localizações de rede fornecidas no Documento para versões anteriores nas quais ele foi baseado. Estas podem ser colocadas na seção “Histórico”. Você pode omitir uma localização de rede para um trabalho que foi publicado pelo menos quatro anos antes do Documento em si, ou se o editor original da versão a que se refere der permissão.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>Em qualquer seção intitulada “Agradecimentos” ou “Dedicatórias”, preservar o título da seção, e preservar na seção toda a substância e tom de cada um dos agradecimentos e/ou das dedicatórias dados nela.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>Preservar todas as <link linkend="fdl-invariant">Seções Invariantes</link> do <link linkend="fdl-document">Documento</link>, inalteradas em seus textos e em seus títulos. Os números de seção ou o equivalente não são considerados parte dos títulos das seções.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>Excluir qualquer seção intitulada “Endossos”. Essa seção pode não estar incluída na <link linkend="fdl-modified">Versão Modificada</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>Não mudar o título de qualquer seção existente para “Endossos” ou para conflitar em título com qualquer <link linkend="fdl-invariant">Seção Invariante</link>.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>Se a <link linkend="fdl-modified">Versão Modificada</link> incluir novas seções ou apêndices de primeira linha que se qualifiquem como <link linkend="fdl-secondary">Seções Secundárias</link> e não contenham material copiado do Documento, você pode, a sua escolha, designar algumas ou todas essas seções como invariantes. Para fazer isso, adicione seus títulos à lista de <link linkend="fdl-invariant">Seções Invariantes</link> no aviso de licença da Versão Modificada. Esses títulos devem ser distintos de qualquer outro título de seção.</para>
-
- <para>Você pode incluir uma seção intitulada “Endossos”, desde que contenha nada além do endosso da sua <link linkend="fdl-modified">Versão Modificada</link> por várias terceiros – por exemplo, declarações de revisão por pares ou de que o texto foi aprovado por uma organização como a definição oficial de um padrão.</para>
-
- <para>Você pode adicionar uma passagem de até cinco palavras como um <link linkend="fdl-cover-texts">Texto de Capa Frontal</link> e uma passagem de até 25 palavras como um <link linkend="fdl-cover-texts">Texto de Contracapa</link>, até o final da lista de <link linkend="fdl-cover-texts">Textos de Capa</link> na <link linkend="fdl-modified">Versão Modificada</link>. Apenas uma passagem de Texto de Capa Frontal e um de Texto de Contracapa pode ser adicionada por (ou por meio de acordos feitos por) qualquer entidade. Se o <link linkend="fdl-document">Documento</link> já incluir um texto de capa para a mesma capa, previamente adicionado por você ou por acordo feito pela mesma entidade em que você está agindo em nome de, você não pode adicionar outro; mas você pode substituir o antigo, mediante permissão explícita do editor anterior que adicionou o antigo.</para>
-
- <para>O(s) autor(es) e editor(es) do <link linkend="fdl-document">Documento</link> não concedem por esta Licença permissão para usar seus nomes para publicidade ou afirmar ou implicar o endosso de qualquer <link linkend="fdl-modified">Versão Modificada</link>.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINANDO DOCUMENTOS</title>
- <para>Você pode combinar o <link linkend="fdl-document">Documento</link> com outros documentos publicados sob esta Licença, nos termos definidos na <link linkend="fdl-section4">seção 4</link> acima para versões modificadas, desde que você inclua na combinação de todas as <link linkend="fdl-invariant">Seções Invariantes</link> de todos os documentos originais, não modificados, e liste todos eles como Seções Invariantes do seu trabalho combinado em seu aviso de licença.</para>
-
- <para>O trabalho combinado precisa conter somente uma cópia desta Licença, e várias <link linkend="fdl-invariant">Seções Invariantes</link> idênticas podem ser substituídas por uma única cópia. Se existirem várias Seções Invariantes de mesmo nome, porém com conteúdos diferentes, você deve tornar o título de cada uma destas seções único, adicionando ao fim deste, entre parênteses, o nome do autor ou, se conhecido, o editor original desta seção, ou ainda um número único. Faça o mesmo ajuste nos títulos de seção na lista de Seções Invariantes no aviso de licença do trabalho combinado.</para>
-
- <para>Na combinação, você deve combinar todas as seções intituladas “Histórico” nos vários documentos originais, formando uma seção intitulada “Histórico”; da mesma forma, combinar todas as seções intituladas “Agradecimentos” e quaisquer seções intituladas “Dedicatórias”. Você deve excluir todas as seções intituladas “Endossos”.</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLEÇÕES DE DOCUMENTOS</title>
- <para>Você pode fazer uma coleção que consiste do <link linkend="fdl-document">Documento</link> e outros documentos publicados sob esta Licença, e substituir as cópias individuais desta Licença, nos vários documentos, por uma única cópia a ser incluída na coleção, desde que você siga as regras desta Licença para cópias literais de cada documento em todos os outros aspectos.</para>
-
- <para>Você pode extrair um único documento de tal coleção e distribuí-lo individualmente sob esta Licença, desde que você insira uma cópia desta Licença no documento extraído e siga esta Licença em todos os outros aspectos referentes à cópia literal desse documento.</para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGREGAÇÃO COM TRABALHOS INDEPENDENTES</title>
- <para>Uma compilação do <link linkend="fdl-document">Documento</link> ou seus derivados com outros documentos ou trabalhos separados e independentes, em ou sobre um volume de um meio de armazenamento ou distribuição, não como um todo conta como uma <link linkend="fdl-modified">Versão Modificada</link> do Documento, desde que nenhuma compilação de direitos autorais seja reivindicada para a compilação. Tal compilação é chamada de “agregado” (aggregate), e esta Licença não se aplica aos outros trabalhos autônomos assim compilados com o Documento, por conta de serem assim compilados, se eles não forem eles próprios trabalhos derivados do Documento. Se o requisito do <link linkend="fdl-cover-texts">Texto da Capa</link> da <link linkend="fdl-section3">seção 3</link> for aplicável a essas cópias do Documento, então, se o Documento for inferior a um quarto do agregado inteiro, os Textos de Capa do Documento poderão ser colocados em capas que envolvam apenas o Documento no agregado. Caso contrário, eles devem aparecer nas capas envolvem todo o agregado.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRADUÇÃO</title>
- <para>A tradução é considerada um tipo de modificação, então você pode distribuir as traduções do <link linkend="fdl-document">Documento</link> nos termos da <link linkend="fdl-section4">seção 4</link>. A substituição das <link linkend="fdl-invariant">Seções Invariantes</link> com traduções requer permissão especial de seus detentores de direitos autorais, mas você pode incluir traduções de algumas ou todas as Seções Invariantes além das versões originais destas Seções Invariantes. Você pode incluir uma tradução desta Licença, desde que você também inclua a versão original em inglês desta Licença. Em caso de desacordo entre a tradução e a versão original desta Licença, a versão original prevalecerá.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINAÇÃO</title>
- <para>Você não pode copiar, modificar, sublicenciar ou distribuir o <link linkend="fdl-document">Documento</link>, exceto conforme expressamente previsto nesta Licença. Qualquer tentativa de copiar, modificar, sublicenciar ou distribuir o Documento é anulada e terminará automaticamente seus direitos sob esta Licença. No entanto, as partes que receberam cópias ou direitos de você sob esta Licença não terão suas licenças terminadas, desde que tais partes permaneçam em plena conformidade.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURAS REVISÕES DESTA LICENÇA</title>
- <para>A <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> pode publicar novas e revisadas versões da Licença de Documentação Livre GNU de vez em quando. Essas novas versões serão semelhantes em espírito à versão atual, mas podem diferir em detalhes para resolver novos problemas ou preocupações. Veja <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.A <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> pode publicar novas versões, revisadas, da Licença de Documentação Livre GNU de tempos em tempos. Tais versões posteriores terão ideologia similar à presente versão, embora possam diferir em detalhes a fim de abordar novos problemas ou preocupações. Consulte: <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>Cada versão da Licença recebe um número de versão distinto. Se o <link linkend="fdl-document">Documento</link> especifica que uma versão numerada específica desta Licença “ou qualquer versão posterior” aplica-se a ele, você tem a opção de seguir os termos e condições daquela versão especificada ou de qualquer versão posterior que tenha sido publicada (não como um rascunho) pela Free Software Foundation. Se o Documento não especificar um número de versão desta Licença, você pode escolher qualquer versão publicada (não como um rascunho) pela Free Software Foundation.</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Adendo</title>
- <para>Para usar esta Licença em um documento que você escreveu, inclua uma cópia da Licença no documento e coloque os seguintes avisos de direitos autorais e de licenças logo após a página de título:</para>
-
- <blockquote>
- <para>Copyright ANO SEU NOME.</para>
- <para>Permissão concedida para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão mais recente publicada pela Free Software Foundation; com as <link linkend="fdl-invariant">Seções Invariantes</link> sendo LISTE SEUS TÍTULOS, com os <link linkend="fdl-cover-texts">Textos de Capa Frontal</link> sendo LISTA e os <link linkend="fdl-cover-texts">Textos de Contracapa</link> sendo LISTA. Uma cópia da licença está incluída na seção intitulada "Licença de Documentação Livre GNU" (GNU Free Documentation License).</para>
- </blockquote>
-
- <para>Se você não tiver <link linkend="fdl-invariant">Seção Invariante</link>, escreva “sem Seções Invariantes” em vez de dizer quais são invariantes. Se você não tiver <link linkend="fdl-cover-texts">Textos de Capa Frontal</link>, escreva “sem Textos da Capa Frontal” em vez de “Textos de Capa Frontal sendo LIST”; Da mesma forma para <link linkend="fdl-cover-texts">Textos de Contracapa</link>.</para>
-
- <para>Se o seu documento contiver exemplos não triviais do código do programa, recomendamos que apresente esses exemplos em paralelo, sob sua escolha de licença de software livre, como a <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">Licença Pública Geral GNU</ulink> (GNU General Public License), para permitir sua utilização em software livre.</para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
# Brazilian Portuguese translation for gtk-doc help.
-# Copyright (C) 2018 gtk-doc's COPYRIGHT HOLDER
+# Copyright (C) 2019 gtk-doc's COPYRIGHT HOLDER
# This file is distributed under the same license as the gtk-doc package.
# Marcelo Rodrigues <marcelopires@mmsantos.com.br>, 2010.
-# Rafael Fontenelle <rafaelff@gnome.org>, 2013-2018.
+# Rafael Fontenelle <rafaelff@gnome.org>, 2013-2019.
+#
msgid ""
msgstr ""
"Project-Id-Version: gtk-doc help\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-"
"doc&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2018-10-03 08:17+0000\n"
-"PO-Revision-Date: 2018-10-05 17:26-0200\n"
+"POT-Creation-Date: 2019-08-15 19:15+0000\n"
+"PO-Revision-Date: 2019-09-08 20:25-0300\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Virtaal 1.0.0-beta1\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"X-Generator: Gtranslator 3.32.0\n"
"X-Project-Style: gnome\n"
#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
msgid "translator-credits"
msgstr ""
"Marcelo Rodrigues <marcelopires@mmsantos.com.br>, 2010\n"
-"Rafael Fontenelle <rafaelff@gnome.org>, 2013-2018"
+"Rafael Fontenelle <rafaelff@gnome.org>, 2013-2019"
#. (itstool) path: bookinfo/title
#: C/index.docbook:12
#. (itstool) path: bookinfo/copyright
#: C/index.docbook:52
-msgid "<year>2007-2015</year> <holder>Stefan Sauer (Kost)</holder>"
-msgstr "<year>2007-2015</year> <holder>Stefan Sauer (Kost)</holder>"
+#| msgid "<year>2007-2015</year> <holder>Stefan Sauer (Kost)</holder>"
+msgid "<year>2007-2019</year> <holder>Stefan Sauer (Kost)</holder>"
+msgstr "<year>2007-2019</year> <holder>Stefan Sauer (Kost)</holder>"
#. (itstool) path: legalnotice/para
#: C/index.docbook:65
#. (itstool) path: revhistory/revision
#: C/index.docbook:83
+#| msgid ""
+#| "<revnumber>1.29.1</revnumber> <date>28 Aug 2018</date> "
+#| "<authorinitials>ss</authorinitials> <revremark>development</revremark>"
msgid ""
-"<revnumber>1.29.1</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
-"authorinitials> <revremark>development</revremark>"
+"<revnumber>1.32.1</revnumber> <date>15 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>dev version</revremark>"
msgstr ""
-"<revnumber>1.29.1</revnumber> <date>24 Ago 2018</date> <authorinitials>ss</"
-"authorinitials> <revremark>desenvolvimento</revremark>"
+"<revnumber>1.32.1</revnumber> <date>15 ago 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>versão de desenvolvimento</revremark>"
#. (itstool) path: revhistory/revision
#: C/index.docbook:89
+#| msgid ""
+#| "<revnumber>1.19</revnumber> <date>05 Jun 2013</date> <authorinitials>ss</"
+#| "authorinitials> <revremark>bug fixes</revremark>"
msgid ""
-"<revnumber>1.29</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
-"authorinitials> <revremark>development</revremark>"
+"<revnumber>1.32</revnumber> <date>15 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>hotfix release</revremark>"
msgstr ""
-"<revnumber>1.29</revnumber> <date>28 Ago 2018</date> <authorinitials>ss</"
-"authorinitials> <revremark>desenvolvimento</revremark>"
+"<revnumber>1.32</revnumber> <date>15 ago 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>lançamento de correção de erros</revremark>"
#. (itstool) path: revhistory/revision
#: C/index.docbook:95
+#| msgid ""
+#| "<revnumber>1.19</revnumber> <date>05 Jun 2013</date> <authorinitials>ss</"
+#| "authorinitials> <revremark>bug fixes</revremark>"
msgid ""
-"<revnumber>1.28</revnumber> <date>24 Mar 2018</date> <authorinitials>ss</"
+"<revnumber>1.31</revnumber> <date>05 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>refactorings and more test coverage</revremark>"
+msgstr ""
+"<revnumber>1.31</revnumber> <date>05 ago 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>refatoramentos e mais cobertura de testes</"
+"revremark>"
+
+#. (itstool) path: revhistory/revision
+#: C/index.docbook:101
+#| msgid ""
+#| "<revnumber>1.23</revnumber> <date>17 May 2015</date> <authorinitials>ss</"
+#| "authorinitials> <revremark>bug fix</revremark>"
+msgid ""
+"<revnumber>1.30</revnumber> <date>08 May 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>more test coverage</revremark>"
+msgstr ""
+"<revnumber>1.30</revnumber> <date>08 maio 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>mais cobertura de testes</revremark>"
+
+#. (itstool) path: revhistory/revision
+#: C/index.docbook:107
+#| msgid ""
+#| "<revnumber>1.28</revnumber> <date>24 Mar 2018</date> <authorinitials>ss</"
+#| "authorinitials> <revremark>bug fixes</revremark>"
+msgid ""
+"<revnumber>1.29</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes</revremark>"
msgstr ""
+"<revnumber>1.29</revnumber> <date>28 ago 2018</date> <authorinitials>ss</"
+"authorinitials> <revremark>correções de erros</revremark>"
+
+#. (itstool) path: revhistory/revision
+#: C/index.docbook:113
+msgid ""
"<revnumber>1.28</revnumber> <date>24 Mar 2018</date> <authorinitials>ss</"
+"authorinitials> <revremark>bug fixes</revremark>"
+msgstr ""
+"<revnumber>1.28</revnumber> <date>24 mar 2018</date> <authorinitials>ss</"
"authorinitials> <revremark>correções de erros</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:101
+#: C/index.docbook:119
msgid ""
"<revnumber>1.27</revnumber> <date>07 Dec 2017</date> <authorinitials>ss</"
"authorinitials> <revremark>fine tuning of the python port</revremark>"
msgstr ""
-"<revnumber>1.27</revnumber> <date>07 Maio 2017</date> <authorinitials>ss</"
+"<revnumber>1.27</revnumber> <date>07 dez 2017</date> <authorinitials>ss</"
"authorinitials> <revremark>ajustes do porte para Python</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:107
+#: C/index.docbook:125
msgid ""
"<revnumber>1.26</revnumber> <date>11 Aug 2017</date> <authorinitials>ss</"
"authorinitials> <revremark>port all tools from perl/bash to python</"
"revremark>"
msgstr ""
-"<revnumber>1.26</revnumber> <date>11 Ago 2017</date> <authorinitials>ss</"
+"<revnumber>1.26</revnumber> <date>11 ago 2017</date> <authorinitials>ss</"
"authorinitials> <revremark>portadas todas ferramentas de perl/bash para "
"Python</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:113
+#: C/index.docbook:131
msgid ""
"<revnumber>1.25</revnumber> <date>21 March 2016</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, test cleanups</revremark>"
msgstr ""
-"<revnumber>1.25</revnumber> <date>21 Mar 2016</date> <authorinitials>ss</"
+"<revnumber>1.25</revnumber> <date>21 mar 2016</date> <authorinitials>ss</"
"authorinitials> <revremark>correção de erros, limpezas de testes</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:119
+#: C/index.docbook:137
msgid ""
"<revnumber>1.24</revnumber> <date>29 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fix</revremark>"
msgstr ""
-"<revnumber>1.24</revnumber> <date>29 Maio 2015</date> <authorinitials>ss</"
+"<revnumber>1.24</revnumber> <date>29 maio 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>correção de erros</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:125
+#: C/index.docbook:143
msgid ""
"<revnumber>1.23</revnumber> <date>17 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fix</revremark>"
msgstr ""
-"<revnumber>1.23</revnumber> <date>17 Maio 2015</date> <authorinitials>ss</"
+"<revnumber>1.23</revnumber> <date>17 maio 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>correção de erros</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:131
+#: C/index.docbook:149
msgid ""
"<revnumber>1.22</revnumber> <date>07 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, dropping deprecated features</"
"revremark>"
msgstr ""
-"<revnumber>1.22</revnumber> <date>07 Maio 2015</date> <authorinitials>ss</"
+"<revnumber>1.22</revnumber> <date>07 maio 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>correção de erros, desativadas funcionalidades "
"obsoletas</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:137
+#: C/index.docbook:155
msgid ""
"<revnumber>1.21</revnumber> <date>17 Jul 2014</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, dropping deprecated features</"
"revremark>"
msgstr ""
-"<revnumber>1.21</revnumber> <date>17 Jul 2014</date> <authorinitials>ss</"
+"<revnumber>1.21</revnumber> <date>17 jul 2014</date> <authorinitials>ss</"
"authorinitials> <revremark>correção de erros, desativadas funcionalidades "
"obsoletas</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:143
+#: C/index.docbook:161
msgid ""
"<revnumber>1.20</revnumber> <date>16 Feb 2014</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, markdown support, style improvements</"
"revremark>"
msgstr ""
-"<revnumber>1.20</revnumber> <date>14 Fev 2014</date> <authorinitials>ss</"
+"<revnumber>1.20</revnumber> <date>14 fev 2014</date> <authorinitials>ss</"
"authorinitials> <revremark>correção de erros, suporte a markdown, melhorias "
"no estilo</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:149
+#: C/index.docbook:167
msgid ""
"<revnumber>1.19</revnumber> <date>05 Jun 2013</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes</revremark>"
msgstr ""
-"<revnumber>1.19</revnumber> <date>05 Jun 2013</date> <authorinitials>ss</"
+"<revnumber>1.19</revnumber> <date>05 jun 2013</date> <authorinitials>ss</"
"authorinitials> <revremark>correção de erros</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:155
+#: C/index.docbook:173
msgid ""
"<revnumber>1.18</revnumber> <date>14 Sep 2011</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, speedups, markdown support</revremark>"
msgstr ""
-"<revnumber>1.18</revnumber> <date>14 Set 2011</date> <authorinitials>ss</"
+"<revnumber>1.18</revnumber> <date>14 set 2011</date> <authorinitials>ss</"
"authorinitials> <revremark>correção de erros, aceleração, suporte a "
"markdown</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:161
+#: C/index.docbook:179
msgid ""
"<revnumber>1.17</revnumber> <date>26 Feb 2011</date> <authorinitials>sk</"
"authorinitials> <revremark>urgent bug fix update</revremark>"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:167
+#: C/index.docbook:185
msgid ""
"<revnumber>1.16</revnumber> <date>14 Jan 2011</date> <authorinitials>sk</"
"authorinitials> <revremark>bugfixes, layout improvements</revremark>"
msgstr ""
-"<revnumber>1.16</revnumber> <date>14 Jan 2011</date> <authorinitials>sk</"
+"<revnumber>1.16</revnumber> <date>14 jan 2011</date> <authorinitials>sk</"
"authorinitials> <revremark>correção de erros, melhorias no layout</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:173
+#: C/index.docbook:191
msgid ""
"<revnumber>1.15</revnumber> <date>21 May 2010</date> <authorinitials>sk</"
"authorinitials> <revremark>bug and regression fixes</revremark>"
msgstr ""
-"<revnumber>1.15</revnumber> <date>21 Maio 2010</date> <authorinitials>sk</"
+"<revnumber>1.15</revnumber> <date>21 maio 2010</date> <authorinitials>sk</"
"authorinitials> <revremark>correção de erros e regressões</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:179
+#: C/index.docbook:197
msgid ""
"<revnumber>1.14</revnumber> <date>28 March 2010</date> <authorinitials>sk</"
"authorinitials> <revremark>bugfixes and performance improvements</revremark>"
msgstr ""
-"<revnumber>1.14</revnumber> <date>28 Mar 2010</date> <authorinitials>sk</"
+"<revnumber>1.14</revnumber> <date>28 mar 2010</date> <authorinitials>sk</"
"authorinitials> <revremark>Correção de erro e melhorias na performance</"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:185
+#: C/index.docbook:203
msgid ""
"<revnumber>1.13</revnumber> <date>18 December 2009</date> "
"<authorinitials>sk</authorinitials> <revremark>broken tarball update</"
"revremark>"
msgstr ""
-"<revnumber>1.13</revnumber> <date>18 Dez 2009</date> <authorinitials>sk</"
+"<revnumber>1.13</revnumber> <date>18 dez 2009</date> <authorinitials>sk</"
"authorinitials> <revremark>atualização de tarball defeituoso</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:191
+#: C/index.docbook:209
msgid ""
"<revnumber>1.12</revnumber> <date>18 December 2009</date> "
"<authorinitials>sk</authorinitials> <revremark>new tool features and "
"bugfixes</revremark>"
msgstr ""
-"<revnumber>1.12</revnumber> <date>18 Dez 2009</date> <authorinitials>sk</"
+"<revnumber>1.12</revnumber> <date>18 dez 2009</date> <authorinitials>sk</"
"authorinitials> <revremark>novas funcionalidades da ferramenta e correção de "
"erros</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:197
+#: C/index.docbook:215
msgid ""
"<revnumber>1.11</revnumber> <date>16 November 2008</date> "
"<authorinitials>mal</authorinitials> <revremark>GNOME doc-utils migration</"
"revremark>"
msgstr ""
-"<revnumber>1.11</revnumber> <date>16 Nov 2008</date> <authorinitials>mal</"
+"<revnumber>1.11</revnumber> <date>16 nov 2008</date> <authorinitials>mal</"
"authorinitials> <revremark>migração do GNOME doc-utils</revremark>"
#. (itstool) path: chapter/title
-#: C/index.docbook:210
+#: C/index.docbook:228
msgid "Introduction"
msgstr "Introdução"
#. (itstool) path: chapter/para
-#: C/index.docbook:212
+#: C/index.docbook:230
msgid ""
"This chapter introduces GTK-Doc and gives an overview of what it is and how "
"it is used."
"usado."
#. (itstool) path: sect1/title
-#: C/index.docbook:218
+#: C/index.docbook:236
msgid "What is GTK-Doc?"
msgstr "O que é GTK-Doc?"
#. (itstool) path: sect1/para
-#: C/index.docbook:220
+#: C/index.docbook:238
msgid ""
"GTK-Doc is used to document C code. It is typically used to document the "
"public API of libraries, such as the GTK+ and GNOME libraries. But it can "
"GNOME. Mas ele também pode ser usado para documentar código de aplicativos."
#. (itstool) path: sect1/title
-#: C/index.docbook:228
+#: C/index.docbook:246
msgid "How Does GTK-Doc Work?"
msgstr "Como o GTK-Doc funciona?"
#. (itstool) path: sect1/para
-#: C/index.docbook:230
+#: C/index.docbook:248
msgid ""
"GTK-Doc works by using documentation of functions placed inside the source "
"files in specially-formatted comment blocks, or documentation added to the "
"arquivos de cabeçalho; ele não irá produzir saída para funções estáticas)."
#. (itstool) path: sect1/para
-#: C/index.docbook:237
+#: C/index.docbook:255
msgid ""
"GTK-Doc consists of a number of python scripts, each performing a different "
"step in the process."
"etapa diferente no processo."
#. (itstool) path: sect1/para
-#: C/index.docbook:242
+#: C/index.docbook:260
msgid "There are 5 main steps in the process:"
msgstr "Há 5 etapas principais no processo:"
#. (itstool) path: listitem/para
-#: C/index.docbook:249
+#: C/index.docbook:267
msgid ""
"<guilabel>Writing the documentation.</guilabel> The author fills in the "
"source files with the documentation for each function, macro, structs or "
"fonte com a documentação para cada função, macro, structs ou unions, etc."
#. (itstool) path: listitem/para
-#: C/index.docbook:258
+#: C/index.docbook:276
msgid ""
"<guilabel>Gathering information about the code.</guilabel> "
"<application>gtkdoc-scan</application> scans the header files of the code "
"overrides.txt</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:275
+#: C/index.docbook:293
msgid ""
"<application>gtkdoc-scangobj</application> can also be used to dynamically "
"query a library about any GObject subclasses it exports. It saves "
"fornece."
#. (itstool) path: listitem/para
-#: C/index.docbook:281
+#: C/index.docbook:299
msgid ""
"<application>gtkdoc-scanobj</application> should not be used anymore. It was "
"needed in the past when GObject was still GtkObject inside gtk+."
"necessário no passado, quando GObject ainda era GtkObject dentro do gtk+."
#. (itstool) path: listitem/para
-#: C/index.docbook:288
+#: C/index.docbook:306
msgid ""
"<guilabel>Generating the XML and HTML/PDF.</guilabel> <application>gtkdoc-"
"mkdb</application> turns the template files into XML files in the <filename "
"documentos dos dados de introspecção e dos fontes."
#. (itstool) path: listitem/para
-#: C/index.docbook:297
+#: C/index.docbook:315
msgid ""
"<application>gtkdoc-mkhtml</application> turns the XML files into HTML files "
"in the <filename class=\"directory\">html/</filename> subdirectory. Likewise "
"pacote>.pdf</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:303
+#: C/index.docbook:321
msgid ""
"Files in <filename class=\"directory\">xml/</filename> and <filename class="
"\"directory\">html/</filename> directories are always overwritten. One "
"devem ser editados manualmente."
#. (itstool) path: listitem/para
-#: C/index.docbook:311
+#: C/index.docbook:329
msgid ""
"<guilabel>Fixing up cross-references between documents.</guilabel> After "
"installing the HTML files, <application>gtkdoc-fixxref</application> can be "
"volta para links locais (onde aquelas documentações estão instaladas)."
#. (itstool) path: sect1/title
-#: C/index.docbook:329
+#: C/index.docbook:347
msgid "Getting GTK-Doc"
msgstr "Obtendo GTK-Doc"
#. (itstool) path: sect2/title
-#: C/index.docbook:332
+#: C/index.docbook:350
msgid "Requirements"
msgstr "Requisitos"
#. (itstool) path: sect2/para
-#: C/index.docbook:333
+#: C/index.docbook:351
msgid ""
"<guilabel>python 2/3</guilabel> - the main scripts are written in python."
msgstr ""
"Python."
#. (itstool) path: sect2/para
-#: C/index.docbook:336
+#: C/index.docbook:354
msgid ""
"<guilabel>xsltproc</guilabel> - the xslt processor from libxslt <ulink url="
"\"http://xmlsoft.org/XSLT/\" type=\"http\">xmlsoft.org/XSLT/</ulink>"
"\"http://xmlsoft.org/XSLT/\" type=\"http\">xmlsoft.org/XSLT/</ulink>"
#. (itstool) path: sect2/para
-#: C/index.docbook:340
+#: C/index.docbook:358
msgid ""
"<guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets <ulink url="
"\"http://sourceforge.net/projects/docbook/files/docbook-xsl/\" type=\"http"
"\"http\">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>"
#. (itstool) path: sect2/para
-#: C/index.docbook:344
+#: C/index.docbook:362
msgid ""
"One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> "
"or <guilabel>vim</guilabel> - optional - used for syntax highlighting of "
"sintaxe de exemplos"
#. (itstool) path: sect1/title
-#: C/index.docbook:352
+#: C/index.docbook:370
msgid "About GTK-Doc"
msgstr "Sobre GTK-Doc"
#. (itstool) path: sect1/para
-#: C/index.docbook:354
-#| msgid ""
-#| "Historically GTK-Doc was used to generate template files from the soures "
-#| "code. These template files could be used by developers to enter the API "
-#| "documentation. This approach was rather inconvenient because it required "
-#| "to keep the generated files under version control. Since GTK-Doc 1.9 it "
-#| "became possible to place all API information into source comments, which "
-#| "made the template support obsolete. In version 1.26 template support has "
-#| "been removed."
+#: C/index.docbook:372
msgid ""
"Historically GTK-Doc was used to generate template files from the sources "
"code. These template files could be used by developers to enter the API "
"obsoleto. Na versão 1.26 suporte ao modelo foi removido."
#. (itstool) path: sect1/para
-#: C/index.docbook:364 C/index.docbook:378
+#: C/index.docbook:382 C/index.docbook:396
msgid "(FIXME)"
msgstr "(CORRIJA-ME)"
#. (itstool) path: sect1/para
-#: C/index.docbook:368
+#: C/index.docbook:386
msgid ""
"(authors, web pages, mailing list, license, future plans, comparison with "
"other similar systems.)"
"comparação com outros sistemas similares.)"
#. (itstool) path: sect1/title
-#: C/index.docbook:376
+#: C/index.docbook:394
msgid "About this Manual"
msgstr "Sobre este manual"
#. (itstool) path: sect1/para
-#: C/index.docbook:382
+#: C/index.docbook:400
msgid "(who it is meant for, where you can get it, license)"
msgstr "(pra quem ele serve, onde você pode obtê-lo, licença)"
#. (itstool) path: chapter/title
-#: C/index.docbook:391
+#: C/index.docbook:409
msgid "Project Setup"
msgstr "Configurando o projeto"
#. (itstool) path: chapter/para
-#: C/index.docbook:393
+#: C/index.docbook:411
msgid ""
"This Chapter describes the steps that are necessary to integrate GTK-Doc "
"into your project. The integration of GTK-Doc into a project includes the "
"projeto. A integração do GTK-Doc em um projeto inclui as seguintes etapas:"
#. (itstool) path: listitem/para
-#: C/index.docbook:401
+#: C/index.docbook:419
msgid ""
"Preparation of the directory structure and creating required configuration "
"files for your GTK-Doc documentation (see <link linkend=\"settingup_docfiles"
"\"settingup_docfiles\">Preparando o esqueleto de uma documentação</link>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:409
+#: C/index.docbook:427
msgid ""
"Adjusting the build system to build your documentation using the GTK-Doc "
"tools. Multiple build systems are supported, in this manual we describe how "
"simples</link>."
#. (itstool) path: listitem/para
-#: C/index.docbook:419
+#: C/index.docbook:437
msgid ""
"Adding GTK-Doc specific files to version control and deciding which files to "
"ignore (see <link linkend=\"settingup_vcs\"> Integration with version "
"Integração com sistemas de controle de versão</link>)."
#. (itstool) path: chapter/para
-#: C/index.docbook:427
+#: C/index.docbook:445
msgid ""
"The following sections assume we work on a project called <code>meep</code>. "
"This project contains two packages (or modules), a library called "
"chamado <code>meeper</code>."
#. (itstool) path: sect1/title
-#: C/index.docbook:436
+#: C/index.docbook:454
msgid "Setting up a skeleton documentation"
msgstr "Preparando o esqueleto de uma documentação"
#. (itstool) path: sect1/para
-#: C/index.docbook:438
+#: C/index.docbook:456
msgid ""
"A common convention is to place documentation into a folder called "
"<code>docs</code> inside your top-level project directory. We usually "
"diretório."
#. (itstool) path: example/title
-#: C/index.docbook:469
+#: C/index.docbook:487
msgid "Example directory structure of <emphasis>meep</emphasis> project"
msgstr ""
"Exemplo de estrutura de diretórios de projeto <emphasis>meep</emphasis>"
#. (itstool) path: example/programlisting
-#: C/index.docbook:471
+#: C/index.docbook:489
#, no-wrap
msgid ""
"\n"
" meeper/\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:463
+#: C/index.docbook:481
msgid ""
"In the following sections we will assume a directory structure for our "
"<emphasis>meep</emphasis> project that uses the above conventions. <_:"
"projeto <emphasis>meep</emphasis> que usa as convenções acima. <_:example-1/>"
#. (itstool) path: sect1/title
-#: C/index.docbook:488
+#: C/index.docbook:506
msgid "Integration with Autotools"
msgstr "Integração com Autotools"
#. (itstool) path: sect1/para
-#: C/index.docbook:489
+#: C/index.docbook:507
msgid ""
"Integration of GTK-Doc into an autotools-based build system requires the "
"following steps:"
"requer as seguintes etapas:"
#. (itstool) path: listitem/para
-#: C/index.docbook:495
+#: C/index.docbook:513
msgid ""
"Ensure that <application>gtkdocize</application> is run once before the "
"<filename>configure</filename> script. If an <filename>autogen.sh</filename> "
"GTK-Doc e adicione uma chamada ao <application>gtkdocize</application>."
#. (itstool) path: listitem/para
-#: C/index.docbook:503
+#: C/index.docbook:521
msgid ""
"The main purpose of <application>gtkdocize</application> is to make the "
"<filename>gtk-doc.make</filename> Makefile and the <filename>gtk-doc.m4</"
"a compilação sistema, seja copiando ou vinculando-o ao projeto."
#. (itstool) path: listitem/para
-#: C/index.docbook:512
+#: C/index.docbook:530
msgid ""
"Add the necessary <application>autoconf</application> macros to "
"<filename>configure.ac</filename> to enable GTK-Doc in your build system to "
"<filename>configure</filename> gerado."
#. (itstool) path: listitem/para
-#: C/index.docbook:518
+#: C/index.docbook:536
msgid ""
"Among others with registers the <code>--enable-gtk-doc</code> option with "
"the <filename>configure</filename> script."
"<filename>configure</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:524
+#: C/index.docbook:542
msgid ""
"Create an <application>automake</application> script for each application or "
"library in your project. In the example used in this documentation this step "
"se aplica tanto a <code>meeper</code> quanto a <code>libmeep</code>."
#. (itstool) path: sect1/para
-#: C/index.docbook:533
+#: C/index.docbook:551
msgid ""
"In the following sections, we will perform the above steps in reverse order. "
"We start with the <application>automake</application> scripts and work our "
"compilação e como compilar a documentação."
#. (itstool) path: sect2/title
-#: C/index.docbook:543
+#: C/index.docbook:561
msgid "Integration with automake"
msgstr "Integração com automake"
#. (itstool) path: sect2/para
-#: C/index.docbook:545
+#: C/index.docbook:563
msgid ""
"First copy the <filename>Makefile.am</filename> from the <filename class="
"\"directory\">examples</filename> sub-directory of the <ulink url=\"https://"
"cada um."
#. (itstool) path: note/simpara
-#: C/index.docbook:558
+#: C/index.docbook:576
msgid ""
"Do not forget to add each <filename>Makefile.am</filename> to the "
"<function>AC_CONFIG_FILES</function> macro in <filename>configure.ac</"
"para <function>AC_CONFIG_FILES</function>."
#. (itstool) path: example/title
-#: C/index.docbook:570
+#: C/index.docbook:588
msgid "Example directory structure with <filename>Makefiles.am</filename>"
msgstr ""
"Exemplo de estrutura de diretório com <filename>Makefiles.am</filename>"
#. (itstool) path: example/programlisting
-#: C/index.docbook:573
+#: C/index.docbook:591
#, no-wrap
msgid ""
"\n"
" meeper/\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:589
+#: C/index.docbook:607
msgid ""
"Next, you need to customize the copied Makefiles and provide values for the "
"various parameters in each <filename>Makefile.am</filename>. All settings "
"help</option> pra listar os parâmetros disponíveis."
#. (itstool) path: listitem/para
-#: C/index.docbook:613
+#: C/index.docbook:631
msgid ""
"<option>DOC_MODULE</option> is used to provide the name of the package that "
"is being documentated (e.g. <code>meeper</code>, or <code>libmeep</code>)."
"sendo documentado (por exemplo, <code>meeper</code> ou <code>libmeep</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:620
+#: C/index.docbook:638
msgid ""
"<option>DOC_SOURCE_DIR</option> is used to specify the location of source "
"directory which GTK-Doc searches for your API documentation. This will "
"subdiretório desse diretório."
#. (itstool) path: listitem/para
-#: C/index.docbook:633
+#: C/index.docbook:651
msgid ""
"<option>HFILE_GLOB</option> and <option>CFILE_GLOB</option> are used for "
"dependencies. Each option take a file-glob (e.g. <code>HFILE_GLOB="
"um dos arquivos correspondentes for alterado."
#. (itstool) path: listitem/para
-#: C/index.docbook:645
+#: C/index.docbook:663
msgid ""
"<option>EXTRA_HFILES</option> allows to specify extra header files to "
"include when scanning for API documentation, which are not found under "
"$(top_srcdir}/contrib/extra.h</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:655
+#: C/index.docbook:673
msgid ""
"<option>IGNORE_HFILES</option> allows to specify header files or directories "
"to ignore when scanning for API documentation. Use the basename of the file "
"gtkintl.h private_code_folder</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:665
+#: C/index.docbook:683
msgid ""
"<option>HTML_IMAGES</option> allows to specify images files which will be "
"copied into the <filename>html/</filename> directory of the generated "
"stock-icons/stock_about_24.png</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:678
+#: C/index.docbook:696
msgid ""
"<option>content_files</option> allows to specify extra files that are "
"included by <code>$(DOC_MAIN_SGML_FILE)</code> (e.g. <code> "
"<code>content_files=running.xml building.xml changes-2.0.xml</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:689
-#| msgid ""
-#| "<option>expand_content_files</option> allows to specify files where "
-#| "<emphasis>gtk-doc abbrevations</emphasis> such as <code>#GtkWidget</code> "
-#| "are expanded (e.g. <code> expand_content_files=running.xml</code>)."
+#: C/index.docbook:707
msgid ""
"<option>expand_content_files</option> allows to specify files where "
"<emphasis>gtk-doc abbreviations</emphasis> such as <code>#GtkWidget</code> "
"expandidas (por exemplo, <code>expand_content_files=running.xml</code>)."
#. (itstool) path: sect2/para
-#: C/index.docbook:607
+#: C/index.docbook:625
msgid ""
"The following list explains the most relevant options. Check the example "
"<filename>Makefile.am</filename> for additional options. <_:itemizedlist-1/>"
"<filename>Makefile.am</filename> para opções adicionais. <_:itemizedlist-1/>"
#. (itstool) path: sect2/title
-#: C/index.docbook:704
+#: C/index.docbook:722
msgid "Integration with autoconf"
msgstr "Integração com autoconf"
#. (itstool) path: sect2/para
-#: C/index.docbook:706
+#: C/index.docbook:724
msgid ""
"Integration with <application>autoconf</application> is very simple and "
"includes one required step and an additional optional (but recommended) "
"argumentos padrão para <application>gtkdocize</application>."
#. (itstool) path: warning/simpara
-#: C/index.docbook:718
+#: C/index.docbook:736
msgid ""
"Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented. The "
"macro must start at the beginning of the line and should not start with "
"branco."
#. (itstool) path: sect2/para
-#: C/index.docbook:725
+#: C/index.docbook:743
msgid ""
"The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code> to your "
"<filename>configure.ac</filename>. This is not required but helps "
"encontrar o arquivo de definição de macro."
#. (itstool) path: example/title
-#: C/index.docbook:738
+#: C/index.docbook:756
msgid "Minimal integration with autoconf"
msgstr "Integração mínima com autoconf"
#. (itstool) path: example/programlisting
-#: C/index.docbook:739
+#: C/index.docbook:757
#, no-wrap
msgid ""
"\n"
"GTK_DOC_CHECK([1.28])\n"
#. (itstool) path: example/title
-#: C/index.docbook:754
+#: C/index.docbook:772
msgid "Integration with optional gtk-doc dependency"
msgstr "Integração com dependência opcional do gtk-doc"
#. (itstool) path: example/programlisting
-#: C/index.docbook:755
+#: C/index.docbook:773
#, no-wrap
msgid ""
"\n"
"])\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:748
+#: C/index.docbook:766
msgid ""
"The above example works, but will require all developers to have gtk-doc "
"installed. A better way is to make building the documentation optional as "
"conforme mostrado no próximo exemplo: <_:example-1/>"
#. (itstool) path: sect2/para
-#: C/index.docbook:768
+#: C/index.docbook:786
msgid ""
"The first argument is used to check for the Gtk-Doc version at configure "
"time. The 2nd, optional argument is used by <application>gtkdocize</"
"também adiciona várias opções de configuração:"
#. (itstool) path: listitem/para
-#: C/index.docbook:777
+#: C/index.docbook:795
msgid "--with-html-dir=PATH : path to installed docs"
msgstr "--with-html-dir=CAMINHO : caminho para as documentações instaladas"
#. (itstool) path: listitem/para
-#: C/index.docbook:778
+#: C/index.docbook:796
msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
msgstr "--enable-gtk-doc : usa gtk-doc para compilar documentação [padrão=não]"
#. (itstool) path: listitem/para
-#: C/index.docbook:779
+#: C/index.docbook:797
msgid ""
"--enable-gtk-doc-html : build documentation in html format [default=yes]"
msgstr ""
"--enable-gtk-doc-html : compila documentação em formato html [padrão=sim]"
#. (itstool) path: listitem/para
-#: C/index.docbook:780
+#: C/index.docbook:798
msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
msgstr ""
"--enable-gtk-doc-pdf : compila documentação em formato pdf [padrão=não]"
#. (itstool) path: important/para
-#: C/index.docbook:784
+#: C/index.docbook:802
msgid ""
"GTK-Doc is disabled by default! Remember to pass the option <option>'--"
"enable-gtk-doc'</option> to the next <filename>configure</filename> run. "
"que faz sentido para usuários, mas não para desenvolvedores)."
#. (itstool) path: sect2/para
-#: C/index.docbook:792
+#: C/index.docbook:810
msgid ""
"After all changes to <filename>configure.ac</filename> are made, update the "
"<filename>configure</filename> file. This can be done by re-running "
"executando novamente <code>autogen.sh</code>."
#. (itstool) path: sect2/title
-#: C/index.docbook:800
+#: C/index.docbook:818
msgid "Integration with autogen"
msgstr "Integração com autogen"
#. (itstool) path: sect2/para
-#: C/index.docbook:802
+#: C/index.docbook:820
msgid ""
"Most projects will have an <filename>autogen.sh</filename> script to setup "
"the build infrastructure after the project was checked out from a version "
"os arquivos necessários pelo Gtk-Doc para o diretório fonte."
#. (itstool) path: sect2/para
-#: C/index.docbook:810
+#: C/index.docbook:828
msgid "It should be run before autoreconf, autoheader, automake or autoconf."
msgstr ""
"Ele deve ser executado antes de autoreconf, autoheader, automake or autoconf."
#. (itstool) path: example/title
-#: C/index.docbook:815
+#: C/index.docbook:833
msgid "Running gtkdocize from autogen.sh"
msgstr "Executando gtkdocize no autogen.sh"
#. (itstool) path: example/programlisting
-#: C/index.docbook:816
+#: C/index.docbook:834
#, no-wrap
msgid ""
"\n"
"gtkdocize || exit 1\n"
#. (itstool) path: example/title
-#: C/index.docbook:824
+#: C/index.docbook:842
msgid "Conditionally run gtkdocize from autogen.sh"
msgstr "Executa condicionalmente gtkdocize no autogen.sh"
#. (itstool) path: example/programlisting
-#: C/index.docbook:825
+#: C/index.docbook:843
#, no-wrap
msgid ""
"\n"
"fi\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:836
+#: C/index.docbook:854
msgid ""
"When running <application>gtkdocize</application> it copies <filename>gtk-"
"doc.make</filename> to your project root (or any directory specified by the "
"especificado pela opção <option>--docdir</option>)."
#. (itstool) path: sect2/para
-#: C/index.docbook:842
+#: C/index.docbook:860
msgid ""
"<application>gtkdocize</application> checks your <filename>configure.ac</"
"filename> script for the <function>GTK_DOC_CHECK</function> macro. The "
"extras para o script <application>gtkdocize</application>."
#. (itstool) path: sect2/para
-#: C/index.docbook:851
+#: C/index.docbook:869
msgid ""
"Alternatively, additional arguments can also be passed to "
"<application>gtkdocize</application> via the <function>GTKDOCIZE_FLAGS</"
"<application>gtkdocsize</application> no <filename>autogen.sh</filename>."
#. (itstool) path: sect2/title
-#: C/index.docbook:862
+#: C/index.docbook:880
msgid "Executing GTK-Doc from the Build System"
msgstr "Executando GTK-Doc a partir do sistema de compilação"
#. (itstool) path: sect2/para
-#: C/index.docbook:864
+#: C/index.docbook:882
msgid ""
"After the previous steps it's time to run the build. First we need to rerun "
"<filename>autogen.sh</filename>. If this script runs configure for you, then "
"<filename>configure</filename> com esta opção em seguida."
#. (itstool) path: sect2/para
-#: C/index.docbook:871
+#: C/index.docbook:889
msgid ""
"The first make run generates several additional files in the doc-"
"directories. The important ones are: <filename><package>.types</"
"<filename><pacote>-sections.txt</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:879
+#: C/index.docbook:897
msgid "Running the doc build"
msgstr "Executando a compilação da documentação"
#. (itstool) path: example/programlisting
-#: C/index.docbook:880
+#: C/index.docbook:898
#, no-wrap
msgid ""
"\n"
"make\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:887
+#: C/index.docbook:905
msgid ""
"Now you can point your browser to <filename>docs/reference/<package>/"
"index.html</filename>. With this initial setup you will only see a very "
"seções adicionais aos seus arquivos de documentação."
#. (itstool) path: sect1/title
-#: C/index.docbook:903
+#: C/index.docbook:921
msgid "Integration with CMake build systems"
msgstr "Integração com sistemas de compilação CMake"
#. (itstool) path: sect1/para
-#: C/index.docbook:905
+#: C/index.docbook:923
msgid ""
"GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module (and "
"the corresponding <filename>GtkDocConfigVersion.cmake</filename> module). "
"em seu arquivo <filename>CMakeLists.txt</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:915
+#: C/index.docbook:933
msgid "Example of using GTK-Doc from CMake"
msgstr "Exemplo de uso do GTK-Doc no CMake"
#. (itstool) path: example/programlisting
-#: C/index.docbook:916
+#: C/index.docbook:934
#, no-wrap
msgid ""
"\n"
" DESTINATION ${CMAKE_INSTALL_DOCDIR})\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:913
+#: C/index.docbook:931
msgid "The following example shows how to use this command. <_:example-1/>"
msgstr "O exemplo a seguir mostra como usar este comando. <_:example-1/>"
#. (itstool) path: sect1/title
-#: C/index.docbook:940
+#: C/index.docbook:958
msgid "Integration with plain makefiles or other build systems"
msgstr "Integração com makefiles simples ou outros sistemas de compilação"
#. (itstool) path: sect1/para
-#: C/index.docbook:942
+#: C/index.docbook:960
msgid ""
"In the case one does not want to use automake and therefore <filename>gtk-"
"doc.mak</filename> one will need to call the gtkdoc tools in the right order "
"correta nos makefiles devidos (ou outras ferramentas de compilação)."
#. (itstool) path: example/title
-#: C/index.docbook:949
+#: C/index.docbook:967
msgid "Documentation build steps"
msgstr "Etapas de compilação da documentação"
#. (itstool) path: example/programlisting
-#: C/index.docbook:950
+#: C/index.docbook:968
#, no-wrap
msgid ""
"\n"
"gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:964
+#: C/index.docbook:982
msgid ""
"One will need to look at the <filename>Makefile.am</filename> and "
"<filename>gtk-doc.mak</filename> to pick the extra options needed."
"doc.mak</filename> para obter as opções extras necessárias."
#. (itstool) path: sect1/title
-#: C/index.docbook:971
+#: C/index.docbook:989
msgid "Integration with version control systems"
msgstr "Integração com sistemas de controle de versão"
#. (itstool) path: sect1/para
-#: C/index.docbook:973
+#: C/index.docbook:991
msgid ""
"As a rule of thumb, it's the files you edit which should go under version "
"control. For typical projects it's these files: <filename><package>."
"filename>, <filename>Makefile.am</filename>."
#. (itstool) path: sect1/para
-#: C/index.docbook:981
+#: C/index.docbook:999
msgid ""
"Files in the <filename>xml/</filename> and <filename>html/</filename> "
"directories should not go under version control. Neither should any of the "
"entrar arquivos <filename>.stamp</filename>."
#. (itstool) path: chapter/title
-#: C/index.docbook:991
+#: C/index.docbook:1009
msgid "Documenting the code"
msgstr "Documentando o código"
#. (itstool) path: chapter/para
-#: C/index.docbook:993
+#: C/index.docbook:1011
msgid ""
"GTK-Doc uses source code comment with a special syntax for code "
"documentation. Further it retrieves information about your project structure "
"descobrir todas as informações sobre a sintaxe dos comentários."
#. (itstool) path: example/title
-#: C/index.docbook:1004 C/index.docbook:1030
+#: C/index.docbook:1022 C/index.docbook:1048
msgid "GTK-Doc comment block"
msgstr "Bloco de comentário do GTK-Doc"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1005
+#: C/index.docbook:1023
#, no-wrap
msgid ""
"\n"
"#endif\n"
#. (itstool) path: chapter/para
-#: C/index.docbook:1000
+#: C/index.docbook:1018
msgid ""
"The GTK-Doc scanner can handle the majority of C headers fine. In the case "
"of receiving warnings from the scanner that look like a special case, one "
"caso especial, pode-se informar ao GTK-Doc para ignorá-los. <_:example-1/>"
#. (itstool) path: note/title
-#: C/index.docbook:1014
+#: C/index.docbook:1032
msgid "Limitations"
msgstr "Limitações"
#. (itstool) path: note/para
-#: C/index.docbook:1015
+#: C/index.docbook:1033
msgid ""
"Note, that GTK-Doc's supports <code>#ifndef(__GTK_DOC_IGNORE__)</code> but "
"not <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations."
"combinações."
#. (itstool) path: sect1/title
-#: C/index.docbook:1025
+#: C/index.docbook:1043
msgid "Documentation comments"
msgstr "Comentários de documentação"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1031
+#: C/index.docbook:1049
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1027
+#: C/index.docbook:1045
msgid ""
"A multiline comment that starts with an additional '*' marks a documentation "
"block that will be processed by the GTK-Doc tools. <_:example-1/>"
"documentação que será processado pelas ferramentas do GTK-Doc. <_:example-1/>"
#. (itstool) path: sect1/para
-#: C/index.docbook:1040
+#: C/index.docbook:1058
msgid ""
"The 'identifier' is one line with the name of the item the comment is "
"related to. The syntax differs a little depending on the item. (TODO add "
"relacionado. A sintaxe difere um pouco dependendo do item."
#. (itstool) path: sect1/para
-#: C/index.docbook:1046
+#: C/index.docbook:1064
msgid ""
"The 'documentation' block is also different for each symbol type. Symbol "
"types that get parameters such as functions or macros have the parameter "
"espaço). Isso é útil em textos pré-formatados (listagens de código)."
#. (itstool) path: listitem/para
-#: C/index.docbook:1063
+#: C/index.docbook:1081
msgid ""
"What it is: The name for a class or function can sometimes be misleading for "
"people coming from a different background."
"entendimento equivocado pessoas com experiências diferentes."
#. (itstool) path: listitem/para
-#: C/index.docbook:1069
+#: C/index.docbook:1087
msgid ""
"What it does: Tell about common uses. Put it in relation with the other API."
msgstr ""
"O que ele faz: Fale sobre usos comuns. Coloque em relação com a outra API."
#. (itstool) path: tip/para
-#: C/index.docbook:1059
+#: C/index.docbook:1077
msgid "When documenting code, describe two aspects: <_:itemizedlist-1/>"
msgstr "Ao documentar um código, descreva dois aspectos: <_:itemizedlist-1/>"
#. (itstool) path: listitem/para
-#: C/index.docbook:1084
+#: C/index.docbook:1102
msgid "Use function() to refer to functions or macros which take arguments."
msgstr ""
"Use function() para se referir às funções ou macros que levam argumentos."
#. (itstool) path: listitem/para
-#: C/index.docbook:1089
+#: C/index.docbook:1107
msgid ""
"Use @param to refer to parameters. Also use this when referring to "
"parameters of other functions, related to the one being described."
"parâmetros de outras funções, relacionadas àquele sendo descrito."
#. (itstool) path: listitem/para
-#: C/index.docbook:1095
+#: C/index.docbook:1113
msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
msgstr "Use %constant para se referir a uma constante, ex.: %G_TRAVERSE_LEAFS."
#. (itstool) path: listitem/para
-#: C/index.docbook:1100
+#: C/index.docbook:1118
msgid ""
"Use #symbol to refer to other types of symbol, e.g. structs and enums and "
"macros which don't take arguments."
"e macros que não levam argumentos."
#. (itstool) path: listitem/para
-#: C/index.docbook:1106
+#: C/index.docbook:1124
msgid "Use #Object::signal to refer to a GObject signal."
msgstr "Use #Object::signal para se referir a um sinal de GObject."
#. (itstool) path: listitem/para
-#: C/index.docbook:1111
+#: C/index.docbook:1129
msgid "Use #Object:property to refer to a GObject property."
msgstr "Use #Object:property para se referir a uma propriedade de GObject."
#. (itstool) path: listitem/para
-#: C/index.docbook:1116
+#: C/index.docbook:1134
msgid ""
"Use #Struct.field to refer to a field inside a structure and #GObjectClass."
"foo_bar() to refer to a vmethod."
"#GObjectClass.foo_bar() para se referir a um vmethod."
#. (itstool) path: sect1/para
-#: C/index.docbook:1078
+#: C/index.docbook:1096
msgid ""
"One advantage of hyper-text over plain-text is the ability to have links in "
"the document. Writing the correct markup for a link can be tedious though. "
"itemizedlist-1/>"
#. (itstool) path: tip/para
-#: C/index.docbook:1125
+#: C/index.docbook:1143
msgid ""
"If you need to use the special characters '<', '>', '()', '@', '%', or "
"'#' in your documentation without GTK-Doc changing them you can use the XML "
"uma contrabarra “\\”."
#. (itstool) path: sect1/para
-#: C/index.docbook:1134
+#: C/index.docbook:1152
msgid ""
"DocBook can do more than just links. One can also have lists, examples, "
"headings, and images. As of version 1.20, the preferred way is to use a "
"linhas começando com um traço."
#. (itstool) path: sect1/para
-#: C/index.docbook:1145
+#: C/index.docbook:1163
msgid ""
"While markdown is now preferred one can mix both. One limitation here is "
"that one can use docbook xml within markdown, but markdown within docbook "
"suporte a markdown no docbook xml."
#. (itstool) path: sect1/para
-#: C/index.docbook:1151
+#: C/index.docbook:1169
msgid ""
"In older GTK-Doc releases, if you need support for additional formatting, "
"you would need to enable the usage of docbook XML tags inside doc-comments "
"symbol> dentro de <filename>Makefile.am</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:1160
+#: C/index.docbook:1178
msgid "GTK-Doc comment block using Markdown"
msgstr "Bloco de comentário do GTK-Doc usando Markdown"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1161
+#: C/index.docbook:1179
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1200
+#: C/index.docbook:1218
msgid ""
"More examples of what markdown tags are supported can be found in the <ulink "
"url=\"https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown"
"documentação</ulink>."
#. (itstool) path: tip/para
-#: C/index.docbook:1206
+#: C/index.docbook:1224
msgid ""
"As already mentioned earlier GTK-Doc is for documenting public API. Thus one "
"cannot write documentation for static symbols. Nevertheless it is good to "
"lugar correto do arquivo e seções."
#. (itstool) path: sect1/title
-#: C/index.docbook:1221
+#: C/index.docbook:1239
msgid "Documenting sections"
msgstr "Documentando seções"
#. (itstool) path: sect1/para
-#: C/index.docbook:1223
+#: C/index.docbook:1241
msgid ""
"Each section of the documentation contains information about one class or "
"module. To introduce the component one can write a section block. The short "
"os @fields são opcionais."
#. (itstool) path: example/title
-#: C/index.docbook:1231
+#: C/index.docbook:1249
msgid "Section comment block"
msgstr "Bloco de comentário de sessão"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1232
+#: C/index.docbook:1250
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1251
+#: C/index.docbook:1269
msgid "SECTION:<name>"
msgstr "SECTION:<nome>"
#. (itstool) path: listitem/para
-#: C/index.docbook:1253
+#: C/index.docbook:1271
msgid ""
"The name links the section documentation to the respective part in the "
"<filename><package>-sections.txt</filename> file. The name given here "
"txt</filename>."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1262
+#: C/index.docbook:1280
msgid "@short_description"
msgstr "@short_description"
#. (itstool) path: listitem/para
-#: C/index.docbook:1264
+#: C/index.docbook:1282
msgid ""
"A one line description of the section, that later will appear after the "
"links in the TOC and at the top of the section page."
"no TOC (sumário) no topo da página da sessão."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1271
+#: C/index.docbook:1289
msgid "@title"
msgstr "@title"
#. (itstool) path: listitem/para
-#: C/index.docbook:1273
+#: C/index.docbook:1291
msgid ""
"The section title defaults to <name> from the SECTION declaration. It "
"can be overridden with the @title field."
"pode ser sobrescrito com o campo @title."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1280
+#: C/index.docbook:1298
msgid "@section_id"
msgstr "@section_id"
#. (itstool) path: listitem/para
-#: C/index.docbook:1282
+#: C/index.docbook:1300
msgid ""
"Overrides the use of title as a section identifier. For GObjects the <"
"title> is used as a section_id and for other sections it is <"
"MÓDULO>-<title>."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1290
+#: C/index.docbook:1308
msgid "@see_also"
msgstr "@see_also"
#. (itstool) path: listitem/para
-#: C/index.docbook:1292
+#: C/index.docbook:1310
msgid "A list of symbols that are related to this section."
msgstr "Uma lista de símbolos que estão relacionados a esta sessão."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1298
+#: C/index.docbook:1316
msgid "@stability"
msgstr "@stability"
#. (itstool) path: listitem/para
-#: C/index.docbook:1305
+#: C/index.docbook:1323
msgid ""
"Stable - The intention of a Stable interface is to enable arbitrary third "
"parties to develop applications to these interfaces, release them, and have "
"alterações incompatíveis sejam raras e que tenham fortes justificativas."
#. (itstool) path: listitem/para
-#: C/index.docbook:1317
+#: C/index.docbook:1335
msgid ""
"Unstable - Unstable interfaces are experimental or transitional. They are "
"typically used to give outside developers early access to new or rapidly "
"fontes de uma versão menor para a próxima."
#. (itstool) path: listitem/para
-#: C/index.docbook:1329
+#: C/index.docbook:1347
msgid ""
"Private - An interface that can be used within the GNOME stack itself, but "
"that is not documented for end-users. Such functions should only be used in "
"usadas nas formas especificadas e documentadas."
#. (itstool) path: listitem/para
-#: C/index.docbook:1338
+#: C/index.docbook:1356
msgid ""
"Internal - An interface that is internal to a module and does not require "
"end-user documentation. Functions that are undocumented are assumed to be "
"sendo “Interna”."
#. (itstool) path: listitem/para
-#: C/index.docbook:1300
+#: C/index.docbook:1318
msgid ""
"An informal description of the stability level this API has. We recommend "
"the use of one of these terms: <_:itemizedlist-1/>"
"recomendamos o uso de um desses termos: <_:itemizedlist-1/>"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1350
+#: C/index.docbook:1368
msgid "@include"
msgstr "@include"
#. (itstool) path: listitem/para
-#: C/index.docbook:1352
+#: C/index.docbook:1370
msgid ""
"The <literal>#include</literal> files to show in the section synopsis (a "
"comma separated list), overriding the global value from the <link linkend="
"Este item é opcional."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1361
+#: C/index.docbook:1379
msgid "@image"
msgstr "@image"
#. (itstool) path: listitem/para
-#: C/index.docbook:1363
+#: C/index.docbook:1381
msgid ""
"The image to display at the top of the reference page for this section. This "
"will often be some sort of a diagram to illustrate the visual appearance of "
"opcional."
#. (itstool) path: tip/para
-#: C/index.docbook:1374
+#: C/index.docbook:1392
msgid ""
"To avoid unnecessary recompilation after doc-changes put the section docs "
"into the c-source where possible."
"inseridas nas documentações de seção no fonte em C onde possível."
#. (itstool) path: sect1/title
-#: C/index.docbook:1383
+#: C/index.docbook:1401
msgid "Documenting symbols"
msgstr "Documentando símbolos"
#. (itstool) path: sect1/para
-#: C/index.docbook:1385
+#: C/index.docbook:1403
msgid ""
"Each symbol (function, macro, struct, enum, signal and property) is "
"documented in a separate block. The block is best placed close to the "
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1393 C/index.docbook:1459
+#: C/index.docbook:1411 C/index.docbook:1477
msgid "General tags"
msgstr "Tags gerais"
#. (itstool) path: sect2/para
-#: C/index.docbook:1395
+#: C/index.docbook:1413
msgid ""
"You can add versioning information to all documentation elements to tell "
"when an API was introduced, or when it was deprecated."
"tornou obsoleta."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1400
+#: C/index.docbook:1418
msgid "Versioning Tags"
msgstr "Tags de versionamento"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1401
+#: C/index.docbook:1419
msgid "Since:"
msgstr "Since:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1403
+#: C/index.docbook:1421
msgid "Description since which version of the code the API is available."
msgstr "Descrição de desde qual versão do código a API está disponível."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1408
+#: C/index.docbook:1426
msgid "Deprecated:"
msgstr "Deprecated:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1410
+#: C/index.docbook:1428
msgid ""
"Paragraph denoting that this function should no be used anymore. The "
"description should point the reader to the new API."
"deveria apontar o leitor para a nova API."
#. (itstool) path: sect2/para
-#: C/index.docbook:1418
+#: C/index.docbook:1436
msgid ""
"You can also add stability information to all documentation elements to "
"indicate whether API stability is guaranteed for them for all future minor "
"garantida para eles para futuros lançamentos menores do projeto."
#. (itstool) path: sect2/para
-#: C/index.docbook:1424
+#: C/index.docbook:1442
msgid ""
"The default stability level for all documentation elements can be set by "
"passing the <option>--default-stability</option> argument to "
"<application>gtkdoc-mkdb</application> com um dos valores abaixo."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1430
+#: C/index.docbook:1448
msgid "Stability Tags"
msgstr "Tags de estabilidade"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1431
+#: C/index.docbook:1449
msgid "Stability: Stable"
msgstr "Stability: Stable"
#. (itstool) path: listitem/para
-#: C/index.docbook:1433
+#: C/index.docbook:1451
msgid ""
"Mark the element as stable. This is for public APIs which are guaranteed to "
"remain stable for all future minor releases of the project."
"garantida para todos os próximos lançamentos menores do projeto."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1440
+#: C/index.docbook:1458
msgid "Stability: Unstable"
msgstr "Stability: Unstable"
#. (itstool) path: listitem/para
-#: C/index.docbook:1442
+#: C/index.docbook:1460
msgid ""
"Mark the element as unstable. This is for public APIs which are released as "
"a preview before being stabilised."
"como versão de desenvolvimento antes de se tornar estável."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1448
+#: C/index.docbook:1466
msgid "Stability: Private"
msgstr "Stability: Private"
#. (itstool) path: listitem/para
-#: C/index.docbook:1450
+#: C/index.docbook:1468
msgid ""
"Mark the element as private. This is for interfaces which can be used by "
"tightly coupled modules, but not by arbitrary third parties."
"por um conjunto pequeno de módulos, mas não por terceiros."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1460
+#: C/index.docbook:1478
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1480 C/index.docbook:1490
+#: C/index.docbook:1498 C/index.docbook:1508
msgid "Annotations"
msgstr "Anotações"
#. (itstool) path: sect2/para
-#: C/index.docbook:1482
+#: C/index.docbook:1500
msgid ""
"Documentation blocks can contain annotation-tags. These tags will be "
"rendered with tooltips describing their meaning. The tags are used by "
"\">no wiki</ulink>."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1491
+#: C/index.docbook:1509
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1512 C/index.docbook:1541
+#: C/index.docbook:1530 C/index.docbook:1559
msgid "Function comment block"
msgstr "Bloco de comentário de função"
#. (itstool) path: listitem/para
-#: C/index.docbook:1518
+#: C/index.docbook:1536
msgid ""
"Document whether returned objects, lists, strings, etc, should be freed/"
"unrefed/released."
"não referenciados/liberada."
#. (itstool) path: listitem/para
-#: C/index.docbook:1524
+#: C/index.docbook:1542
msgid "Document whether parameters can be NULL, and what happens if they are."
msgstr ""
"Documente se parâmetros pode ser NULL e o que acontece se eles o forem."
#. (itstool) path: listitem/para
-#: C/index.docbook:1529
+#: C/index.docbook:1547
msgid ""
"Mention interesting pre-conditions and post-conditions where appropriate."
msgstr ""
"Mencione pré-condições e pós-condições interessantes onde for apropriado."
#. (itstool) path: sect2/para
-#: C/index.docbook:1514 C/index.docbook:1600
+#: C/index.docbook:1532 C/index.docbook:1618
msgid "Please remember to: <_:itemizedlist-1/>"
msgstr "Por favor, lembre-se de: <_:itemizedlist-1/>"
#. (itstool) path: sect2/para
-#: C/index.docbook:1536
+#: C/index.docbook:1554
msgid ""
"Gtk-doc assumes all symbols (macros, functions) starting with '_' are "
"private. They are treated like static functions."
"são privados. Eles são tratados como funções estáticas."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1542
+#: C/index.docbook:1560
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: variablelist/title
-#: C/index.docbook:1563
+#: C/index.docbook:1581
msgid "Function tags"
msgstr "Tags de função"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1564 C/index.docbook:1771
+#: C/index.docbook:1582 C/index.docbook:1789
msgid "Returns:"
msgstr "Returns:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1566
+#: C/index.docbook:1584
msgid "Paragraph describing the returned result."
msgstr "Parágrafo descrevendo o resultado retornado."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1571
+#: C/index.docbook:1589
msgid "@...:"
msgstr "@...:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1573
+#: C/index.docbook:1591
msgid ""
"In case the function has variadic arguments, you should use this tag "
"(@Varargs: does also work for historic reasons)."
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1583 C/index.docbook:1585
+#: C/index.docbook:1601 C/index.docbook:1603
msgid "Property comment block"
msgstr "Bloco de comentário de propriedade"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1586
+#: C/index.docbook:1604
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1598 C/index.docbook:1617
+#: C/index.docbook:1616 C/index.docbook:1635
msgid "Signal comment block"
msgstr "Bloco de comentário de sinal"
#. (itstool) path: listitem/para
-#: C/index.docbook:1604
+#: C/index.docbook:1622
msgid ""
"Document when the signal is emitted and whether it is emitted before or "
"after other signals."
"sinais."
#. (itstool) path: listitem/para
-#: C/index.docbook:1610
+#: C/index.docbook:1628
msgid "Document what an application might do in the signal handler."
msgstr "Documente o que um aplicativo pode fazer no manipulador do sinal."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1618
+#: C/index.docbook:1636
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1635 C/index.docbook:1636
+#: C/index.docbook:1653 C/index.docbook:1654
msgid "Struct comment block"
msgstr "Bloco de comentário de struct"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1637
+#: C/index.docbook:1655
#, no-wrap
msgid ""
"\n"
"} FooWidget;\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:1652
+#: C/index.docbook:1670
msgid ""
"Use <code>/*< private >*/</code> before the private struct fields you "
"want to hide. Use <code>/*< public >*/</code> for the reverse "
"comportamento inverso."
#. (itstool) path: sect2/para
-#: C/index.docbook:1658
+#: C/index.docbook:1676
msgid ""
"If the first field is \"g_iface\", \"parent_instance\" or \"parent_class\" "
"it will be considered private automatically and doesn't need to be mentioned "
"no bloco de comentário."
#. (itstool) path: sect2/para
-#: C/index.docbook:1664
+#: C/index.docbook:1682
msgid ""
"Struct comment blocks can also be used for GObjects and GObjectClasses. It "
"is usually a good idea to add a comment block for a class, if it has "
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1676 C/index.docbook:1677
+#: C/index.docbook:1694 C/index.docbook:1695
msgid "Enum comment block"
msgstr "Bloco de comentário de enum"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1678
+#: C/index.docbook:1696
#, no-wrap
msgid ""
"\n"
"} Alguma coisa;\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:1695
+#: C/index.docbook:1713
msgid ""
"Use <code>/*< private >*/</code> before the private enum values you "
"want to hide. Use <code>/*< public >*/</code> for the reverse "
"comportamento inverso."
#. (itstool) path: sect1/title
-#: C/index.docbook:1706
+#: C/index.docbook:1724
msgid "Inline program documentation"
msgstr "Documentação de programa em-linha"
#. (itstool) path: sect1/para
-#: C/index.docbook:1707
+#: C/index.docbook:1725
msgid ""
"You can document programs and their commandline interface using inline "
"documentation."
"documentação em-linha."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1713
+#: C/index.docbook:1731
msgid "Tags"
msgstr "Tags"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1715
+#: C/index.docbook:1733
msgid "PROGRAM"
msgstr "PROGRAM"
#. (itstool) path: listitem/para
-#: C/index.docbook:1718
+#: C/index.docbook:1736
msgid "Defines the start of a program documentation."
msgstr "Define o início da documentação de um programa."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1725
+#: C/index.docbook:1743
msgid "@short_description:"
msgstr "@short_description:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1727
+#: C/index.docbook:1745
msgid "Defines a short description of the program. (Optional)"
msgstr "Define uma descrição breve do programa. (Opcional)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1734
+#: C/index.docbook:1752
msgid "@synopsis:"
msgstr "@synopsis:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1736
+#: C/index.docbook:1754
msgid ""
"Defines the arguments, or list of arguments that the program can take. "
"(Optional)"
"(Opcional)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1744
+#: C/index.docbook:1762
msgid "@see_also:"
msgstr "@see_also:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1746
+#: C/index.docbook:1764
msgid "See Also manual page section. (Optional)"
msgstr "A seção “See Also” (Veja Também) de páginas de manual. (Opcional)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1753
+#: C/index.docbook:1771
msgid "@arg:"
msgstr "@arg:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1755
+#: C/index.docbook:1773
msgid "Argument(s) passed to the program and their description. (Optional)"
msgstr "Argumento(s) passado(s) para o programa e sua descrição. (Opcional)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1762
+#: C/index.docbook:1780
msgid "Description:"
msgstr "Description:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1764
+#: C/index.docbook:1782
msgid "A longer description of the program."
msgstr "Um descrição mais longa do programa."
#. (itstool) path: listitem/para
-#: C/index.docbook:1773
-#| msgid "Specificy what value(s) the program returns. (Optional)"
+#: C/index.docbook:1791
msgid "Specify what value(s) the program returns. (Optional)"
msgstr "Especifique qual(is) valor(es) o programa retorna. (Opcional)"
#. (itstool) path: sect2/title
-#: C/index.docbook:1782
+#: C/index.docbook:1800
msgid "Example of program documentation."
msgstr "Exemplo de documentação de programa."
#. (itstool) path: example/title
-#: C/index.docbook:1783
+#: C/index.docbook:1801
msgid "Program documentation block"
msgstr "Bloco de documentação de programa"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1784
+#: C/index.docbook:1802
#, no-wrap
msgid ""
"\n"
"}\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:1810
+#: C/index.docbook:1828
msgid "Useful DocBook tags"
msgstr "Tags úteis do DocBook"
#. (itstool) path: sect1/para
-#: C/index.docbook:1812
+#: C/index.docbook:1830
msgid ""
"Here are some DocBook tags which are most useful when documenting the code."
msgstr ""
"documentado o código."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1821
+#: C/index.docbook:1839
#, no-wrap
msgid ""
"\n"
"<link linkend=\"glib-Hash-Tables\">Tabela de hashes</link>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1817
+#: C/index.docbook:1835
msgid ""
"To link to another section in the GTK docs: <_:informalexample-1/> The "
"linkend is the SGML/XML id on the top item of the page you want to link to. "
"convertidos em '-' para estar em conformidade com SGML/XML."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1834
+#: C/index.docbook:1852
#, no-wrap
msgid ""
"\n"
"<function>...</function>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1831
+#: C/index.docbook:1849
msgid ""
"To refer to an external function, e.g. a standard C function: <_:"
"informalexample-1/>"
"do C: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1843
+#: C/index.docbook:1861
#, no-wrap
+#| msgid ""
+#| "\n"
+#| "<example>\n"
+#| " <title>Using a GHashTable.</title>\n"
+#| " <programlisting>\n"
+#| " ...\n"
+#| " </programlisting>\n"
+#| "</example>\n"
msgid ""
"\n"
"<example>\n"
" <title>Using a GHashTable.</title>\n"
-" <programlisting>\n"
+" <programlisting language=\"C\">\n"
" ...\n"
" </programlisting>\n"
"</example>\n"
"\n"
"<example>\n"
" <title>Usando uma GHashTable.</title>\n"
-" <programlisting>\n"
+" <programlisting language=\"C\">\n"
" ...\n"
" </programlisting>\n"
"</example>\n"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1854
+#: C/index.docbook:1872
#, no-wrap
+#| msgid ""
+#| "\n"
+#| "<informalexample>\n"
+#| " <programlisting>\n"
+#| " ...\n"
+#| " </programlisting>\n"
+#| "</informalexample>\n"
msgid ""
"\n"
"<informalexample>\n"
-" <programlisting>\n"
+" <programlisting language=\"C\">\n"
" ...\n"
" </programlisting>\n"
"</informalexample>\n"
msgstr ""
"\n"
"<informalexample>\n"
-" <programlisting>\n"
+" <programlisting language=\"C\">\n"
" ...\n"
" </programlisting>\n"
"</informalexample>\n"
+#. (itstool) path: informalexample/programlisting
+#: C/index.docbook:1884
+#, no-wrap
+msgid ""
+"\n"
+"|[<!-- language=\"C\" -->\n"
+" ...\n"
+"]|\n"
+msgstr ""
+"\n"
+"|[<!-- language=\"C\" -->\n"
+" ...\n"
+"]|\n"
+
#. (itstool) path: sect1/para
-#: C/index.docbook:1840
+#: C/index.docbook:1858
+#| msgid ""
+#| "To include example code: <_:informalexample-1/> or possibly this, for "
+#| "very short code fragments which don't need a title: <_:informalexample-2/"
+#| "> For the latter GTK-Doc also supports an abbreviation: |[ ... ]|"
msgid ""
"To include example code: <_:informalexample-1/> or possibly this, for very "
-"short code fragments which don't need a title: <_:informalexample-2/> For "
-"the latter GTK-Doc also supports an abbreviation: |[ ... ]|"
+"short code fragments which don't need a title: <_:informalexample-2/> In "
+"both cases, the language attribute is optional and is used as a hint to the "
+"syntax highlighting engine (pygments for html output). For the latter GTK-"
+"Doc also supports an abbreviation: <_:informalexample-3/>"
msgstr ""
"Para incluir um código de exemplo: <_:informalexample-1/> ou possivelmente "
"este, para fragmentos de código bem curtos que não precisam de um título: <_:"
-"informalexample-2/> Para este último, GTK-Doc também possui suporte a uma "
+"informalexample-2/>. Nos dois casos, o atributo language é opcional e é "
+"usado como uma dica para o mecanismo de destaque de sintaxe (pigmentos para "
+"saída html). Para este último, GTK-Doc também possui suporte a uma "
"abreviação: |[ ... ]|"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1873
+#: C/index.docbook:1895
#, no-wrap
msgid ""
"\n"
"</itemizedlist>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1870
+#: C/index.docbook:1892
msgid "To include bulleted lists: <_:informalexample-1/>"
msgstr "Para incluir listas com marcadores: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1893
+#: C/index.docbook:1915
#, no-wrap
msgid ""
"\n"
"</note>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1890
+#: C/index.docbook:1912
msgid ""
"To include a note which stands out from the text: <_:informalexample-1/>"
msgstr "Para incluir uma nota que fique fora do texto: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1906
+#: C/index.docbook:1928
#, no-wrap
msgid ""
"\n"
"<type>unsigned char</type>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1903
+#: C/index.docbook:1925
msgid "To refer to a type: <_:informalexample-1/>"
msgstr "Para se referir a um tipo: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1915
+#: C/index.docbook:1937
#, no-wrap
msgid ""
"\n"
"<structname>XFontStruct</structname>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1912
+#: C/index.docbook:1934
msgid ""
"To refer to an external structure (not one described in the GTK docs): <_:"
"informalexample-1/>"
"GTK): <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1924
+#: C/index.docbook:1946
#, no-wrap
msgid ""
"\n"
"<structfield>len</structfield>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1921
+#: C/index.docbook:1943
msgid "To refer to a field of a structure: <_:informalexample-1/>"
msgstr "Para se referir a um campo de uma estrutura: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1933
+#: C/index.docbook:1955
#, no-wrap
msgid ""
"\n"
"<classname>GtkWidget</classname>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1930
+#: C/index.docbook:1952
msgid ""
"To refer to a class name, we could possibly use: <_:informalexample-1/> but "
"you'll probably be using #GtkWidget instead (to automatically create a link "
"veja <link linkend=\"documenting_syntax\">as abreviações</link>)."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1944
+#: C/index.docbook:1966
#, no-wrap
msgid ""
"\n"
"<emphasis>Isso é importante</emphasis>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1941
+#: C/index.docbook:1963
msgid "To emphasize text: <_:informalexample-1/>"
msgstr "Para enfatizar um texto: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1953
+#: C/index.docbook:1975
#, no-wrap
msgid ""
"\n"
"<filename>/home/usuario/documentos</filename>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1950
+#: C/index.docbook:1972
msgid "For filenames use: <_:informalexample-1/>"
msgstr "Para nome de arquivos use: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1962
+#: C/index.docbook:1984
#, no-wrap
msgid ""
"\n"
"<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1959
+#: C/index.docbook:1981
msgid "To refer to keys use: <_:informalexample-1/>"
msgstr "Para se referir a chaves use: <_:informalexample-1/>"
#. (itstool) path: chapter/title
-#: C/index.docbook:1972
+#: C/index.docbook:1994
msgid "Filling the extra files"
msgstr "Preenchendo os arquivos extras"
#. (itstool) path: chapter/para
-#: C/index.docbook:1974
+#: C/index.docbook:1996
msgid ""
"There are a couple of extra files, that need to be maintained along with the "
"inline source code comments: <filename><package>.types</filename>, "
"<filename><pacote>-sections.txt</filename>."
#. (itstool) path: sect1/title
-#: C/index.docbook:1983
+#: C/index.docbook:2005
msgid "Editing the types file"
msgstr "Editando o arquivo de tipos"
#. (itstool) path: sect1/para
-#: C/index.docbook:1985
+#: C/index.docbook:2007
msgid ""
"If your library or application includes GObjects, you want their signals, "
"arguments/parameters and position in the hierarchy to be shown in the "
"<filename><pacote>.types</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:1994
+#: C/index.docbook:2016
msgid "Example <package>.types file"
msgstr "Exemplo de arquivo <pacote>.types"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1995
+#: C/index.docbook:2017
#, no-wrap
msgid ""
"\n"
"gtk_arrow_get_type\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2006
+#: C/index.docbook:2028
msgid ""
"Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this "
"list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in "
"deveria distribuir o arquivo de tipos nem tê-lo sob um controle de versão."
#. (itstool) path: sect1/title
-#: C/index.docbook:2015
+#: C/index.docbook:2037
msgid "Editing the master document"
msgstr "Editando o documento mestre"
#. (itstool) path: sect1/para
-#: C/index.docbook:2017
+#: C/index.docbook:2039
msgid ""
"GTK-Doc produces documentation in DocBook SGML/XML. When processing the "
"inline source comments, the GTK-Doc tools generate one documentation page "
"mestre os inclui e os coloca em uma ordem."
#. (itstool) path: sect1/para
-#: C/index.docbook:2024
+#: C/index.docbook:2046
msgid ""
"While GTK-Doc creates a template master document for you, later runs will "
"not touch it again. This means that one can freely structure the "
"em tempo para ver se há itens a serem introduzidos lá."
#. (itstool) path: tip/para
-#: C/index.docbook:2034
+#: C/index.docbook:2056
msgid ""
"Do not create tutorials as extra documents. Just write extra chapters. The "
"benefit of directly embedding the tutorial for your library into the API "
"atualizações junto com a biblioteca."
#. (itstool) path: sect1/para
-#: C/index.docbook:2043
+#: C/index.docbook:2065
msgid ""
"So what are the things to change inside the master document? For a start is "
"only a little. There are some placeholders (text in square brackets) there "
"colchetes) que você deve cuidar."
#. (itstool) path: example/title
-#: C/index.docbook:2050
+#: C/index.docbook:2072
msgid "Master document header"
msgstr "Cabeçalho do documento mestre"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2051
+#: C/index.docbook:2073
#, no-wrap
msgid ""
"\n"
" <title>[Insira o título aqui]</title>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2067
+#: C/index.docbook:2089
msgid ""
"In addition a few option elements are created in commented form. You can "
"review these and enable them as you like."
"pode revisá-los e habilitá-los como preferir."
#. (itstool) path: example/title
-#: C/index.docbook:2073
+#: C/index.docbook:2095
msgid "Optional part in the master document"
msgstr "Parte opcional do documento mestre"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2074
+#: C/index.docbook:2096
#, no-wrap
msgid ""
"\n"
" -->\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2082
+#: C/index.docbook:2104
msgid ""
"Finally you need to add new section whenever you introduce one. The <link "
"linkend=\"modernizing-gtk-doc-1-16\">gtkdoc-check</link> tool will remind "
"incluídos na documentação."
#. (itstool) path: example/title
-#: C/index.docbook:2090 C/index.docbook:2125
+#: C/index.docbook:2112 C/index.docbook:2147
msgid "Including generated sections"
msgstr "Incluindo seções geradas"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2091
+#: C/index.docbook:2113
#, no-wrap
msgid ""
"\n"
" ...\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:2103
+#: C/index.docbook:2125
msgid "Editing the section file"
msgstr "Editando o arquivo de seção"
#. (itstool) path: sect1/para
-#: C/index.docbook:2105
+#: C/index.docbook:2127
msgid ""
"The section file is used to organise the documentation output by GTK-Doc. "
"Here one specifies which symbol belongs to which module or class and control "
"e controla a visibilidade (pública ou privada)."
#. (itstool) path: sect1/para
-#: C/index.docbook:2111
+#: C/index.docbook:2133
msgid ""
"The section file is a plain text file with tags delimiting sections. Blank "
"lines are ignored and lines starting with a '#' are treated as comment lines."
"tratadas como linhas de comentários."
#. (itstool) path: note/para
-#: C/index.docbook:2118
+#: C/index.docbook:2140
msgid ""
"While the tags make the file look like xml, it is not. Please do not close "
"tags like <SUBSECTION>."
"feche tags como <SUBSECTION>."
#. (itstool) path: example/programlisting
-#: C/index.docbook:2126
+#: C/index.docbook:2148
#, no-wrap
msgid ""
"\n"
"</SECTION>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2143
+#: C/index.docbook:2165
msgid ""
"The <FILE> ... </FILE> tag is used to specify the file name, "
"without any suffix. For example, using '<FILE>gnome-config</"
"para minúsculos)."
#. (itstool) path: sect1/para
-#: C/index.docbook:2155
+#: C/index.docbook:2177
msgid ""
"The <TITLE> ... </TITLE> tag is used to specify the title of the "
"section. It is only useful before the templates (if used) are initially "
"obsoleto."
#. (itstool) path: sect1/para
-#: C/index.docbook:2162
+#: C/index.docbook:2184
msgid ""
"You can group items in the section by using the <SUBSECTION> tag. "
"Currently it outputs a blank line between subsections in the synopsis "
"padrão ou pública depende se há entradas públicas (variáveis, vmethods)."
#. (itstool) path: sect1/para
-#: C/index.docbook:2181
+#: C/index.docbook:2203
msgid ""
"You can also use <INCLUDE> ... </INCLUDE> to specify the "
"#include files which are shown in the synopsis sections. It contains a comma-"
"aplicar àquela seção."
#. (itstool) path: chapter/title
-#: C/index.docbook:2195
+#: C/index.docbook:2217
msgid "Controlling the result"
msgstr "Controlando o resultado"
#. (itstool) path: chapter/para
-#: C/index.docbook:2197
+#: C/index.docbook:2219
msgid ""
"A GTK-Doc run generates report files inside the documentation directory. The "
"generated files are named: <filename><package>-undocumented.txt</"
"processados."
#. (itstool) path: chapter/para
-#: C/index.docbook:2206
+#: C/index.docbook:2228
msgid ""
"The <filename><package>-undocumented.txt</filename> file starts with "
"the documentation coverage summary. Below are two sections divided by blank "
"exemplo, um novo parâmetro foi adicionado."
#. (itstool) path: chapter/para
-#: C/index.docbook:2215
+#: C/index.docbook:2237
msgid ""
"The <filename><package>-undeclared.txt</filename> file lists symbols "
"given in the <filename><package>-sections.txt</filename> but not found "
"escritos incorretamente."
#. (itstool) path: chapter/para
-#: C/index.docbook:2222
+#: C/index.docbook:2244
msgid ""
"The <filename><package>-unused.txt</filename> file lists symbol names, "
"where the GTK-Doc scanner has found documentation, but does not know where "
"ainda ao arquivo <filename><pacote>-sections.txt</filename>."
#. (itstool) path: tip/para
-#: C/index.docbook:2230
+#: C/index.docbook:2252
msgid ""
"Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile."
"am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during "
"verificações de sanidade durante a execução de <command>make check</command>."
#. (itstool) path: chapter/para
-#: C/index.docbook:2237
+#: C/index.docbook:2259
msgid ""
"One can also look at the files produced by the source code scanner: "
"<filename><package>-decl-list.txt</filename> and <filename><"
"este arquivo o contém."
#. (itstool) path: chapter/para
-#: C/index.docbook:2246
+#: C/index.docbook:2268
msgid ""
"If the project is GObject based, one can also look into the files produced "
"by the object scanner: <filename><package>.args.txt</filename>, "
"executando <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
#. (itstool) path: chapter/title
-#: C/index.docbook:2261
+#: C/index.docbook:2283
msgid "Modernizing the documentation"
msgstr "Modernizando a documentação"
#. (itstool) path: chapter/para
-#: C/index.docbook:2263
+#: C/index.docbook:2285
msgid ""
"GTK-Doc has been around for quite some time. In this section we list new "
"features together with the version since when it is available."
"funcionalidades juntamente da versão desde a qual está disponível."
#. (itstool) path: sect1/title
-#: C/index.docbook:2269
+#: C/index.docbook:2291
msgid "GTK-Doc 1.9"
msgstr "GTK-Doc 1.9"
#. (itstool) path: sect1/para
-#: C/index.docbook:2271
+#: C/index.docbook:2293
msgid ""
"When using xml instead of sgml, one can actually name the master document "
"<filename><package>-docs.xml</filename>."
"<filename><pacote>-docs.xml</filename>."
#. (itstool) path: sect1/para
-#: C/index.docbook:2276
+#: C/index.docbook:2298
msgid ""
"This version supports <option>SCAN_OPTIONS=--rebuild-sections</option> in "
"<filename>Makefile.am</filename>. When this is enabled, the <filename><"
"<code>meld <package>-decl-list.txt <package>-sections.txt</code>."
#. (itstool) path: sect1/para
-#: C/index.docbook:2287
+#: C/index.docbook:2309
msgid ""
"Version 1.8 already introduced the syntax for documenting sections in the "
"sources instead of the separate files under <filename class=\"directory"
"ao <filename>configure.ac</filename> e está resolvido."
#. (itstool) path: sect1/title
-#: C/index.docbook:2299
+#: C/index.docbook:2321
msgid "GTK-Doc 1.10"
msgstr "GTK-Doc 1.10"
#. (itstool) path: sect1/para
-#: C/index.docbook:2301
+#: C/index.docbook:2323
msgid ""
"This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in "
"<filename>Makefile.am</filename>. When this is enabled, the <filename><"
"código que é compilado condicionalmente."
#. (itstool) path: sect1/title
-#: C/index.docbook:2312
+#: C/index.docbook:2334
msgid "GTK-Doc 1.16"
msgstr "GTK-Doc 1.16"
#. (itstool) path: example/title
-#: C/index.docbook:2318
+#: C/index.docbook:2340
msgid "Enable gtkdoc-check"
msgstr "Habilitar gtkdoc-check"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2319
+#: C/index.docbook:2341
#, no-wrap
msgid ""
"\n"
"endif\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2314
+#: C/index.docbook:2336
msgid ""
"This version includes a new tool called gtkdoc-check. This tool can run a "
"set of sanity checks on your documentation. It is enabled by adding these "
"filename>. <_:example-1/>"
#. (itstool) path: sect1/title
-#: C/index.docbook:2332
+#: C/index.docbook:2354
msgid "GTK-Doc 1.20"
msgstr "GTK-Doc 1.20"
#. (itstool) path: sect1/para
-#: C/index.docbook:2334
+#: C/index.docbook:2356
msgid ""
"Version 1.18 brought some initial markdown support. Using markdown in doc "
"comments is less intrusive than writing docbook xml. This version improves a "
"comentário</link> tem todos os detalhes."
#. (itstool) path: sect1/title
-#: C/index.docbook:2344
+#: C/index.docbook:2366
msgid "GTK-Doc 1.25"
msgstr "GTK-Doc 1.25"
#. (itstool) path: example/title
-#: C/index.docbook:2355
+#: C/index.docbook:2377
msgid "Use pre-generated entities"
msgstr "Usando entradas geradas previamente"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2356
+#: C/index.docbook:2378
#, no-wrap
msgid ""
"\n"
" </bookinfo>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2346
+#: C/index.docbook:2368
msgid ""
"The makefiles shipped with this version generate an entity file at "
"<filename>xml/gtkdocentities.ent</filename>, containing entities for e.g. "
"mesmo cabeçalho xml nos arquivos xml gerados. <_:example-1/>"
#. (itstool) path: chapter/title
-#: C/index.docbook:2381
+#: C/index.docbook:2403
msgid "Documenting other interfaces"
msgstr "Documentando outras interfaces"
#. (itstool) path: chapter/para
-#: C/index.docbook:2383
+#: C/index.docbook:2405
msgid ""
"So far we have been using GTK-Doc to document the API of code. The next "
"sections contain suggestions how the tools can be used to document other "
"para documentar outras interfaces, também."
#. (itstool) path: sect1/title
-#: C/index.docbook:2390
+#: C/index.docbook:2412
msgid "Command line options and man pages"
msgstr "Opções de linha de comando e de páginas man"
# RefEntry é uma página de referência do DocBook (http://www.docbook.org/tdg/en/html/refentry.html)
#. (itstool) path: sect1/para
-#: C/index.docbook:2392
+#: C/index.docbook:2414
msgid ""
"As one can generate man pages for a docbook refentry as well, it sounds like "
"a good idea to use it for that purpose. This way the interface is part of "
"parte da referência e é possível obter a página man livremente."
#. (itstool) path: sect2/title
-#: C/index.docbook:2399
+#: C/index.docbook:2421
msgid "Document the tool"
msgstr "Documentar a ferramenta"
#. (itstool) path: sect2/para
-#: C/index.docbook:2401
+#: C/index.docbook:2423
msgid ""
"Create one refentry file per tool. Following <link linkend="
"\"settingup_docfiles\">our example</link> we would call it <filename>meep/"
"assim como exemplos, por exemplo, em glib."
#. (itstool) path: sect2/title
-#: C/index.docbook:2411
+#: C/index.docbook:2433
msgid "Adding the extra configure check"
msgstr "Adicionando a verificação extra ao configure"
#. (itstool) path: example/title
-#: C/index.docbook:2414 C/index.docbook:2432
+#: C/index.docbook:2436 C/index.docbook:2454
msgid "Extra configure checks"
msgstr "Verificações extra no configure"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2415
+#: C/index.docbook:2437
#, no-wrap
msgid ""
"\n"
"AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)\n"
#. (itstool) path: sect2/title
-#: C/index.docbook:2429
+#: C/index.docbook:2451
msgid "Adding the extra makefile rules"
msgstr "Adicionando as regras extras ao makefile"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2433
+#: C/index.docbook:2455
#, no-wrap
msgid ""
"\n"
"EXTRA_DIST += meep.xml\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:2455
+#: C/index.docbook:2477
msgid "DBus interfaces"
msgstr "Interfaces DBus"
#. (itstool) path: sect1/para
-#: C/index.docbook:2457
+#: C/index.docbook:2479
msgid ""
"(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://"
"cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
"http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
#. (itstool) path: chapter/title
-#: C/index.docbook:2466
+#: C/index.docbook:2488
msgid "Frequently asked questions"
msgstr "Perguntas frequentes"
#. (itstool) path: segmentedlist/segtitle
-#: C/index.docbook:2470
+#: C/index.docbook:2492
msgid "Question"
msgstr "Questão"
#. (itstool) path: segmentedlist/segtitle
-#: C/index.docbook:2471
+#: C/index.docbook:2493
msgid "Answer"
msgstr "Resposta"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2473
+#: C/index.docbook:2495
msgid "No class hierarchy."
msgstr "Sem hierarquia de classe."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2474
+#: C/index.docbook:2496
msgid ""
"The objects <function>xxx_get_type()</function> function has not been "
"entered into the <filename><package>.types</filename> file."
"arquivo <filename><pacote>.types</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2480
+#: C/index.docbook:2502
msgid "Still no class hierarchy."
msgstr "Ainda sem hierarquia."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2481
+#: C/index.docbook:2503
msgid ""
"Missing or wrong naming in <filename><package>-sections.txt</filename> "
"file (see <ulink url=\"http://mail.gnome.org/archives/gtk-doc-list/2003-"
"gtk-doc-list/2003-October/msg00006.html\">explicação</ulink>)."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2487
+#: C/index.docbook:2509
msgid "Damn, I have still no class hierarchy."
msgstr "Droga. Eu ainda não tenho hierarquia de classes."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2488
+#: C/index.docbook:2510
msgid ""
"Is the object name (name of the instance struct, e.g. <type>GtkWidget</"
"type>) part of the normal section (don't put this into Standard or Private "
"subseções Standard ou Private)?"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2495
+#: C/index.docbook:2517
msgid "No symbol index."
msgstr "Nenhum símbolo de índice."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2496
+#: C/index.docbook:2518
msgid ""
"Does the <filename><package>-docs.{xml,sgml}</filename> contain a "
"index that xi:includes the generated index?"
"“xi:inclui” o índice gerado?"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2502
+#: C/index.docbook:2524
msgid "Symbols are not linked to their doc-section."
msgstr "Símbolos não estão vinculados ao seus doc-section."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2503
+#: C/index.docbook:2525
msgid ""
"Is the doc-comment using the correct markup (added #,% or ())? Check if the "
"gtkdoc-fixxref warns about unresolvable xrefs."
"Verifique se o gtkdoc-fixxref avisa sobre xrefs não resolvidos."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2509
+#: C/index.docbook:2531
msgid "A new class does not appear in the docs."
msgstr "Uma nova classe não aparece nos documentos."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2510
+#: C/index.docbook:2532
msgid ""
"Is the new page xi:included from <filename><package>-docs.{xml,sgml}</"
"filename>."
"filename>?"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2516
+#: C/index.docbook:2538
msgid "A new symbol does not appear in the docs."
msgstr "Um novo símbolo não aparece nos documentos."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2517
+#: C/index.docbook:2539
msgid ""
"Is the doc-comment properly formatted. Check for spelling mistakes in the "
"begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable "
"<filename><pacote>-sections.txt</filename> em uma subseção pública."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2525
+#: C/index.docbook:2547
msgid "A type is missing from the class hierarchy."
msgstr "Um tipo está faltando da hierarquia de classe."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2526
+#: C/index.docbook:2548
msgid ""
"If the type is listed in <filename><package>.hierarchy</filename> but "
"not in <filename>xml/tree_index.sgml</filename> then double check that the "
"listada ou incidentalmente marcada como privada, ela não será mostrada."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2535
+#: C/index.docbook:2557
msgid "I get foldoc links for all gobject annotations."
msgstr ""
"Obtenho links de seguimento de documentos para todas as anotações gobject."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2536
+#: C/index.docbook:2558
msgid ""
"Check that <filename>xml/annotation-glossary.xml</filename> is xi:included "
"from <filename><package>-docs.{xml,sgml}</filename>."
"incluído” de <filename><pacote>-docs.{xml,sgml}</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2544
+#: C/index.docbook:2566
msgid "Parameter described in source code comment block but does not exist"
msgstr "Parâmetro descrito no bloco de comentário do código-fonte não existe"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2545
+#: C/index.docbook:2567
msgid ""
"Check if the prototype in the header has different parameter names as in the "
"source."
"fonte."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2550
+#: C/index.docbook:2572
msgid "multiple \"IDs\" for constraint linkend: XYZ"
msgstr "múltiplos “IDs” para restrições do fim do link XYZ"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2551
+#: C/index.docbook:2573
msgid ""
"Symbol XYZ appears twice in <filename><package>-sections.txt</"
"filename> file."
"sections.txt</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2554
+#: C/index.docbook:2576
msgid ""
"Element typename in namespace '' encountered in para, but no template "
"matches."
"correspondeu."
#. (itstool) path: chapter/title
-#: C/index.docbook:2561
+#: C/index.docbook:2583
msgid "Tools related to gtk-doc"
msgstr "Ferramentas relacionadas ao gtk-doc"
#. (itstool) path: chapter/para
-#: C/index.docbook:2563
+#: C/index.docbook:2585
msgid ""
"GtkDocPlugin - a <ulink url=\"http://trac-hacks.org/wiki/GtkDocPlugin\">Trac "
"GTK-Doc</ulink> integration plugin, that adds API docs to a trac site and "
"a um site trac e integra com a pesquisa do trac."
#. (itstool) path: chapter/para
-#: C/index.docbook:2568
+#: C/index.docbook:2590
msgid ""
"Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since "
"tags in the API to determine the minimum required version."
"software livre que você escolher, como, por exemplo, a <_:ulink-1/>, para "
"permitir seu uso em software livre."
+#~ msgid ""
+#~ "<revnumber>1.29</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
+#~ "authorinitials> <revremark>development</revremark>"
+#~ msgstr ""
+#~ "<revnumber>1.29</revnumber> <date>28 Ago 2018</date> <authorinitials>ss</"
+#~ "authorinitials> <revremark>desenvolvimento</revremark>"
+
#~ msgid "Setting up your project"
#~ msgstr "Preparando seu projeto"
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>
- Version 1.1, March 2000
- </releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="sl">
- <bookinfo>
- <title>GTK-Doc Manual</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>User manual for developers with instructions of GTK-Doc usage.</para></abstract>
- <authorgroup>
- <author>
- <firstname>Chris</firstname>
- <surname>Lyttle</surname>
- <affiliation>
- <address>
- <email>chris@wilddev.net</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Dan</firstname>
- <surname>Mueth</surname>
- <affiliation>
- <address>
- <email>d-mueth@uchicago.edu</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Stefan</firstname>
- <surname>Sauer (Kost)</surname>
- <affiliation>
- <address>
- <email>ensonic@users.sf.net</email>
- </address>
- </affiliation>
- </author>
- </authorgroup>
- <publisher role="maintainer">
- <publishername>GTK-Doc project</publishername>
- <address><email>gtk-doc-list@gnome.org</email></address>
- </publisher>
- <copyright>
- <year>2000, 2005</year>
- <holder>Dan Mueth and Chris Lyttle</holder>
- </copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the <citetitle>GNU Free Documentation
- License</citetitle>, Version 1.1 or any later version published
- by the Free Software Foundation with no Invariant Sections, no
- Front-Cover Texts, and no Back-Cover Texts. A copy of the license
- is <link linkend="fdl">included</link>.
- </para>
- <para>
- Many of the names used by companies to distinguish their products and
- services are claimed as trademarks. Where those names appear in any
- GNOME documentation, and those trademarks are made aware to the members
- of the GNOME Documentation Project, the names have been printed in caps
- or initial caps.
- </para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.28</revnumber>
- <date>24 Mar 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.27</revnumber>
- <date>07 Dec 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>fine tuning of the python port</revremark>
- </revision>
- <revision>
- <revnumber>1.26</revnumber>
- <date>11 Aug 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>port all tools from perl/bash to python</revremark>
- </revision>
- <revision>
- <revnumber>1.25</revnumber>
- <date>21 March 2016</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, test cleanups</revremark>
- </revision>
- <revision>
- <revnumber>1.24</revnumber>
- <date>29 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.23</revnumber>
- <date>17 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.22</revnumber>
- <date>07 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.21</revnumber>
- <date>17 Jul 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.20</revnumber>
- <date>16 Feb 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, markdown support, style improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.19</revnumber>
- <date>05 Jun 2013</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.18</revnumber>
- <date>14 Sep 2011</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, speedups, markdown support</revremark>
- </revision>
- <revision>
- <revnumber>1.17</revnumber>
- <date>26 Feb 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>urgent bug fix update</revremark>
- </revision>
- <revision>
- <revnumber>1.16</revnumber>
- <date>14 Jan 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes, layout improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.15</revnumber>
- <date>21 May 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bug and regression fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.14</revnumber>
- <date>28 March 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes and performance improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.13</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>broken tarball update</revremark>
- </revision>
- <revision>
- <revnumber>1.12</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>new tool features and bugfixes</revremark>
- </revision>
- <revision>
- <revnumber>1.11</revnumber>
- <date>16 November 2008</date>
- <authorinitials>mal</authorinitials>
- <revremark>GNOME doc-utils migration</revremark>
- </revision>
- </revhistory>
-
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>Uvod</title>
-
- <para>
- This chapter introduces GTK-Doc and gives an overview of what it is and
- how it is used.
- </para>
-
- <sect1 id="whatisgtkdoc">
- <title>What is GTK-Doc?</title>
-
- <para>
- GTK-Doc is used to document C code. It is typically used to document the public
- API of libraries, such as the GTK+ and GNOME libraries. But it can also be
- used to document application code.
- </para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>How Does GTK-Doc Work?</title>
-
- <para>
- GTK-Doc works by using documentation of functions placed inside the source files in
- specially-formatted comment blocks, or documentation added to the template files
- which GTK-Doc uses (though note that GTK-Doc will only document functions that
- are declared in header files; it won't produce output for static functions).
- </para>
-
- <para>
- GTK-Doc consists of a number of python scripts, each performing a different step
- in the process.
- </para>
-
- <para>
- There are 5 main steps in the process:
- </para>
-
- <orderedlist>
-
- <listitem>
- <para>
- <guilabel>Writing the documentation.</guilabel>
-
- The author fills in the source files with the documentation for each
- function, macro, structs or unions, etc.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Gathering information about the code.</guilabel>
-
- <application>gtkdoc-scan</application> scans the header files of the
- code looking for declarations of functions, macros, enums, structs, and unions.
- It creates the file <filename><module>-decl-list.txt</filename> containing a list of the
- declarations, placing them into sections according to which header file they
- are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
- The author can rearrange the sections, and the order of the
- declarations within them, to produce the final desired order.
- The second file it generates is <filename><module>-decl.txt</filename>.
- This file contains the full declarations found by the scanner. If for
- some reason one would like some symbols to show up in the docs, where
- the full declaration cannot be found by the scanner or the declaration
- should appear differently, one can place entities similar to the ones in
- <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
- </para>
- <para>
- <application>gtkdoc-scangobj</application> can also be used to dynamically query a library about
- any GObject subclasses it exports. It saves information about each
- object's position in the class hierarchy and about any GObject properties
- and signals it provides.
- </para>
- <para>
- <application>gtkdoc-scanobj</application> should not be used anymore.
- It was needed in the past when GObject was still GtkObject inside gtk+.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Generating the XML and HTML/PDF.</guilabel>
-
- <application>gtkdoc-mkdb</application> turns the template files into
- XML files in the <filename class="directory">xml/</filename> subdirectory.
- If the source code contains documentation on functions, using the
- special comment blocks, it gets merged in here. If there are no tmpl files used
- it only reads docs from sources and introspection data.
- </para>
- <para>
- <application>gtkdoc-mkhtml</application> turns the XML files into HTML
- files in the <filename class="directory">html/</filename> subdirectory.
- Likewise <application>gtkdoc-mkpdf</application> turns the XML files into a PDF
- document called <filename><package>.pdf</filename>.
- </para>
- <para>
- Files in <filename class="directory">xml/</filename> and
- <filename class="directory">html/</filename> directories are always
- overwritten. One should never edit them directly.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Fixing up cross-references between documents.</guilabel>
-
- After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any
- cross-references between separate documents. For example, the GTK+
- documentation contains many cross-references to types documented in the GLib manual.
-
- When creating the source tarball for distribution, <application>gtkdoc-rebase</application>
- turns all external links into web-links. When installing distributed (pregenerated) docs
- the same application will try to turn links back to local links
- (where those docs are installed).
- </para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>Getting GTK-Doc</title>
-
- <sect2 id="requirements">
- <title>Requirements</title>
- <para>
- <guilabel>python 2/3</guilabel> - the main scripts are written in python.
- </para>
- <para>
- <guilabel>xsltproc</guilabel> - the xslt processor from libxslt
- <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink>
- </para>
- <para>
- <guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets
- <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>
- </para>
- <para>
- One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> or
- <guilabel>vim</guilabel> - optional - used for syntax highlighting of examples
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>About GTK-Doc</title>
-
- <para>
- Historically GTK-Doc was used to generate template files from the sources
- code. These template files could be used by developers to enter the
- API documentation. This approach was rather inconvenient because it
- required to keep the generated files under version control.
- Since GTK-Doc 1.9 it became possible to place all API information
- into source comments, which made the template support obsolete.
- In version 1.26 template support has been removed.
- </para>
-
- <para>
- (FIXME)
- </para>
-
- <para>
- (authors, web pages, mailing list, license, future plans,
- comparison with other similar systems.)
- </para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>About this Manual</title>
-
- <para>
- (FIXME)
- </para>
-
- <para>
- (who it is meant for, where you can get it, license)
- </para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Project Setup</title>
-
- <para>
- This Chapter describes the steps that are necessary to integrate GTK-Doc
- into your project. The integration of GTK-Doc into a project includes the
- following steps:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Preparation of the directory structure and creating required
- configuration files for your GTK-Doc documentation (see
- <link linkend="settingup_docfiles">
- Setting up a skeleton documentation</link>).
- </para>
- </listitem>
- <listitem>
- <para>
- Adjusting the build system to build your documentation using the
- GTK-Doc tools. Multiple build systems are supported, in
- this manual we describe how to integrate GTK-Doc with
- <link linkend="settingup_autotools">Autotools</link>,
- <link linkend="settingup_cmake">CMake</link>, and
- <link linkend="settingup_plain_makefiles">plain Makefiles</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adding GTK-Doc specific files to version control and deciding which
- files to ignore (see <link linkend="settingup_vcs">
- Integration with version control systems</link>).
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The following sections assume we work on a project called
- <code>meep</code>.
- This project contains two packages (or modules),
- a library called <code>libmeep</code> and an end-user app
- called <code>meeper</code>.
- </para>
-
- <sect1 id="settingup_docfiles">
- <title>Setting up a skeleton documentation</title>
-
- <para>
- A common convention is to place documentation into a folder called
- <code>docs</code> inside your top-level project directory.
- We usually distinguish between <emphasis>reference
- documentation</emphasis> intended for developers and an
- <emphasis>user manual</emphasis> intended for end-users.
- Again the convention is to have separate folders for both.
- We usually place the reference documentation in a folder named
- <code>reference</code> and the end-user manual in a folder named
- <code>help</code> as.
-
- According to the above convention the documentation for our
- <code>libmeep</code> package would be placed into:
- <code>docs/reference/libmeep</code>.
-
- For packages with just one library or application
- the documentation could also be placed directly into
- <code>docs/reference</code>.
-
- It is not mandatory to use the above convention, but if you
- choose to use a different directory structure you must adjust
- your build system configuration to match your directory
- structure.
- </para>
-
- <para>
- In the following sections we will assume a directory structure
- for our <emphasis>meep</emphasis> project that uses the above
- conventions.
-
- <example>
- <title>Example directory structure of <emphasis>meep</emphasis>
- project</title>
- <programlisting><![CDATA[
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integration with Autotools</title>
- <para>
- Integration of GTK-Doc into an autotools-based build system requires the
- following steps:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Ensure that <application>gtkdocize</application> is run once before
- the <filename>configure</filename> script. If an
- <filename>autogen.sh</filename> script is present, adjust it to
- check for GTK-Doc and add a call to
- <application>gtkdocize</application>.
- </para>
-
- <para>
- The main purpose of <application>gtkdocize</application> is to
- make the <filename>gtk-doc.make</filename> Makefile and the
- <filename>gtk-doc.m4</filename> macro definition file available
- to the build system, either by copying or linking it
- into the project.
- </para>
- </listitem>
- <listitem>
- <para>
- Add the necessary <application>autoconf</application> macros to
- <filename>configure.ac</filename> to enable GTK-Doc in your build
- system to allow configuration of GTK-Doc via the generated
- <filename>configure</filename> script.
- </para>
- <para>
- Among others with registers the <code>--enable-gtk-doc</code>
- option with the <filename>configure</filename> script.
- </para>
- </listitem>
- <listitem>
- <para>
- Create an <application>automake</application> script for each
- application or library in your project. In the example used in this
- documentation this step applies to both <code>meeper</code> and
- <code>libmeep</code>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the following sections, we will perform the above steps in reverse
- order. We start with the <application>automake</application> scripts
- and work our way up to <filename>configure.ac</filename> and
- <filename>autogen.sh</filename>.
- Then we show how enable Gtk-Doc in the build system and
- how to build the documentation.
- </para>
-
- <sect2 id="settingup_automake">
- <title>Integration with automake</title>
-
- <para>
- First copy the <filename>Makefile.am</filename> from the
- <filename class="directory">examples</filename> sub-directory of the
- <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">
- gtkdoc-sources</ulink>
- to your project's reference documentation directory (e.g.
- <filename class="directory">docs/reference/<package></filename>).
- A local copy should be available under e.g.
- <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>.
- If you have multiple packages repeat this for each one.
- </para>
-
- <note>
- <simpara>
- Do not forget to add each <filename>Makefile.am</filename>
- to the <function>AC_CONFIG_FILES</function> macro in
- <filename>configure.ac</filename>. For
- <filename>docs/reference/libmeep/Makefile.am</filename> you will
- need to add the entry
- <filename>docs/reference/libmeep/Makefile</filename>
- to <function>AC_CONFIG_FILES</function>.
- </simpara>
- </note>
-
- <example>
- <title>
- Example directory structure with <filename>Makefiles.am</filename>
- </title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>
- Next, you need to customize the copied Makefiles
- and provide values for the various parameters in each
- <filename>Makefile.am</filename>.
-
- All settings have a comment above them that describes their purpose
- and how to customize the setting.
-
- Most settings are used to supply extra flags to the respective tools
- to which they apply. Every tool
- has a variable of the form <option><TOOLNAME>_OPTIONS</option>
- (e.g. the tool <application>gtkdoc-mkhtml</application> has
- an option named <code>MKHTML_OPTIONS</code>).
-
- All the tools support <option>--help</option> to list the supported
- options.
- </para>
-
- <para>
- The following list explains the most relevant options. Check the
- example <filename>Makefile.am</filename> for additional options.
-
- <itemizedlist>
- <listitem>
- <para>
- <option>DOC_MODULE</option> is used to provide the name of the
- package that is being documentated (e.g. <code>meeper</code>, or
- <code>libmeep</code>).
- </para>
- </listitem>
- <listitem>
- <para>
- <option>DOC_SOURCE_DIR</option>
- is used to specify the location
- of source directory which GTK-Doc searches for your API
- documentation. This will usually be
- <code>
- DOC_SOURCE_DIR=$(top_srcdir)/src
- </code>
- or a sub-directory of that directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HFILE_GLOB</option>
- and
- <option>CFILE_GLOB</option>
- are used for dependencies. Each option take a file-glob (e.g.
- <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>).
- The documentation will be rebuilt if any of the matched files
- change.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>EXTRA_HFILES</option>
- allows to specify extra header files
- to include when scanning for API documentation, which are not
- found under <code>DOC_SOURCE_DIR</code> (e.g. <code>
- EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>IGNORE_HFILES</option>
- allows to specify header files
- or directories to ignore when scanning for API documentation.
- Use the basename of the file or directory (e.g. <code>
- IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HTML_IMAGES</option>
- allows to specify images files which
- will be copied into the <filename>html/</filename> directory of
- the generated documentation.
- If your API documentation includes any images they need to be
- added to this
- option (e.g. <code>
- HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>content_files</option>
- allows to specify extra files
- that are included by
- <code>$(DOC_MAIN_SGML_FILE)</code>
- (e.g. <code>
- content_files=running.xml building.xml changes-2.0.xml</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>expand_content_files</option>
- allows to specify files
- where <emphasis>gtk-doc abbreviations</emphasis> such as
- <code>#GtkWidget</code>
- are expanded (e.g. <code>
- expand_content_files=running.xml</code>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>Integration with autoconf</title>
-
- <para>
- Integration with <application>autoconf</application> is very simple
- and includes one required step and an additional optional
- (but recommended) step.
-
- The first step is to add the <function>GTK_DOC_CHECK</function> macro
- to your <filename>configure.ac</filename> script. This registers
- several configure options to enable GTK-Doc and allows you
- to set default arguments for <application>gtkdocize</application>.
- </para>
-
- <warning>
- <simpara>
- Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented.
- The macro must start at the beginning of the line and should not
- start with whitespace.
- </simpara>
- </warning>
-
- <para>
- The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code>
- to your <filename>configure.ac</filename>. This is not required
- but helps <application>gtkdocize</application> to automatically copy
- the macro definition (e.g <filename>gtk-doc.m4</filename>) which
- contains the <function>GTK_DOC_CHECK</function> macro to your
- project's macro directory. Without this, the GTK_DOC_CHECK macro
- might not be found and you would need to explicitly tell the
- <application>aclocal</application> tool where to find the macro
- definition file.
- </para>
-
- <para>
- <example><title>Minimal integration with autoconf</title>
- <programlisting><![CDATA[
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The above example works, but will require all developers to have
- gtk-doc installed. A better way is to make building the documentation
- optional as shown in the next example:
-
- <example>
- <title>Integration with optional gtk-doc dependency</title>
- <programlisting><![CDATA[
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The first argument is used to check for the Gtk-Doc version at
- configure time. The 2nd, optional argument is used by
- <application>gtkdocize</application>.
- The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure
- switches:
- </para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=PATH : path to installed docs</para></listitem>
- <listitem><para>--enable-gtk-doc : use gtk-doc to build documentation [default=no]</para></listitem>
- <listitem><para>--enable-gtk-doc-html : build documentation in html format [default=yes]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : build documentation in pdf format [default=no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>
- GTK-Doc is disabled by default! Remember to pass the option
- <option>'--enable-gtk-doc'</option> to the next
- <filename>configure</filename> run. Otherwise pregenerated documentation is installed
- (which makes sense for users but not for developers).
- </para>
- </important>
-
- <para>
- After all changes to <filename>configure.ac</filename> are made,
- update the <filename>configure</filename> file. This can be done by
- re-running <code>autogen.sh</code>.
- </para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>Integration with autogen</title>
-
- <para>
- Most projects will have an <filename>autogen.sh</filename> script to
- setup the build infrastructure after the project was checked out from
- a version control system (such as git or svn). GTK-Doc comes with a
- script called <application>gtkdocize</application> which can be used
- to copy the necessary files needed by Gtk-Doc to the source directory.
- </para>
-
- <para>
- It should be run before autoreconf, autoheader, automake or autoconf.
- </para>
-
- <para>
- <example><title>Running gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-gtkdocize || exit 1
-]]></programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Conditionally run gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-]]></programlisting>
- </example>
- </para>
-
- <para>
- When running <application>gtkdocize</application> it copies
- <filename>gtk-doc.make</filename> to your project root (or any
- directory specified by the <option>--docdir</option> option).
- </para>
-
- <para>
- <application>gtkdocize</application> checks your
- <filename>configure.ac</filename> script for
- the <function>GTK_DOC_CHECK</function> macro.
- The <function>GTK_DOC_CHECK</function> macro can be used to pass
- extra arguments to the <application>gtkdocize</application> script.
- the 2nd parameter in the <function>GTK_DOC_CHECK</function> macro.
- </para>
-
- <para>
- Alternatively, additional arguments can also be passed to
- <application>gtkdocize</application> via the
- <function>GTKDOCIZE_FLAGS</function> environment variable, or by
- directly specifying them to <application>gtkdocize</application>
- in <filename>autogen.sh</filename>.
- </para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Executing GTK-Doc from the Build System</title>
-
- <para>
- After the previous steps it's time to run the build. First we need to
- rerun <filename>autogen.sh</filename>. If this script runs configure
- for you, then give it the <option>--enable-gtk-doc</option> option.
- Otherwise manually run <filename>configure</filename> with this option
- afterwards.
- </para>
- <para>
- The first make run generates several additional files in the doc-directories.
- The important ones are:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
- <para>
- <example><title>Running the doc build</title>
- <programlisting><![CDATA[
-./autogen.sh --enable-gtk-doc
-make
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Now you can point your browser to
- <filename>docs/reference/<package>/index.html</filename>.
- With this initial setup you will only see a very simple document.
- The next chapter will teach you how to add API documentation to your
- code via special comment blocks. The Chapter afterwards introduces
- <link linkend="metafiles">additional files</link> and shows how to
- edit the <link linkend="metafiles_master">master template</link> to
- add additional chapters and sections to your documentation files.
- </para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integration with CMake build systems</title>
-
- <para>
- GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module
- (and the corresponding <filename>GtkDocConfigVersion.cmake</filename>
- module). This provides a <literal>gtk_doc_add_module</literal>
- command that you can set in your <filename>CMakeLists.txt</filename>
- file.
- </para>
-
- <para>
- The following example shows how to use this command.
- <example><title>Example of using GTK-Doc from CMake</title>
- <programlisting><![CDATA[
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integration with plain makefiles or other build systems</title>
-
- <para>
- In the case one does not want to use automake and therefore
- <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
- in the right order in own makefiles (or other build tools).
- </para>
-
- <para>
- <example><title>Documentation build steps</title>
- <programlisting><![CDATA[
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-]]></programlisting>
- </example>
- </para>
-
- <para>
- One will need to look at the <filename>Makefile.am</filename> and
- <filename>gtk-doc.mak</filename> to pick the extra options needed.
- </para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>Integration with version control systems</title>
-
- <para>
- As a rule of thumb, it's the files you edit which should go under
- version control. For typical projects it's these files:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>,
- <filename>Makefile.am</filename>.
- </para>
- <para>
- Files in the <filename>xml/</filename> and <filename>html/</filename>
- directories should not go under version control. Neither should any of
- the <filename>.stamp</filename> files.
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>Documenting the code</title>
-
- <para>
- GTK-Doc uses source code comment with a special syntax for code documentation.
- Further it retrieves information about your project structure from other
- sources. During the next section you will find all information about the
- syntax of the comments.
- </para>
-
- <para>
- The GTK-Doc scanner can handle the majority of C headers fine. In the
- case of receiving warnings from the scanner that look like a special
- case, one can hint GTK-Doc to skip over them.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-]]></programlisting>
- </example>
- </para>
-
- <note>
- <title>Limitations</title>
- <para>
- Note, that GTK-Doc's supports
- <code>#ifndef(__GTK_DOC_IGNORE__)</code> but not
- <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations.
- </para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>Documentation comments</title>
-
- <para>
- A multiline comment that starts with an additional '*' marks a
- documentation block that will be processed by the GTK-Doc tools.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-/**
- * identifier:
- * documentation ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The 'identifier' is one line with the name of the item the comment is
- related to. The syntax differs a little depending on the item.
- (TODO add table showing identifiers)
- </para>
-
- <para>
- The 'documentation' block is also different for each symbol type. Symbol
- types that get parameters such as functions or macros have the parameter
- description first followed by a blank line (just a '*').
- Afterwards follows the detailed description. All lines (outside program
- listings and CDATA sections) just containing a ' *' (blank-asterisk) are
- converted to paragraph breaks.
- If you don't want a paragraph break, change that into ' * '
- (blank-asterisk-blank-blank). This is useful in preformatted text (code
- listings).
- </para>
-
- <tip>
- <para>
- When documenting code, describe two aspects:
- <itemizedlist>
- <listitem>
- <para>
- What it is: The name for a class or function can sometimes
- be misleading for people coming from a different background.
- </para>
- </listitem>
- <listitem>
- <para>
- What it does: Tell about common uses. Put it in relation
- with the other API.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </tip>
-
- <para>
- One advantage of hyper-text over plain-text is the ability to have links
- in the document. Writing the correct markup for a link can be tedious
- though. GTK-Doc comes to help by providing several useful abbreviations.
- <itemizedlist>
- <listitem>
- <para>
- Use function() to refer to functions or macros which take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use @param to refer to parameters. Also use this when referring to
- parameters of other functions, related to the one being described.
- </para>
- </listitem>
- <listitem>
- <para>
- Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #symbol to refer to other types of symbol, e.g. structs and
- enums and macros which don't take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object::signal to refer to a GObject signal.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object:property to refer to a GObject property.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Struct.field to refer to a field inside a structure and
- #GObjectClass.foo_bar() to refer to a vmethod.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <tip>
- <para>
- If you need to use the special characters '<', '>', '()', '@',
- '%', or '#' in your documentation without GTK-Doc changing them you
- can use the XML entities "&lt;", "&gt;", "&lpar;",
- "&rpar;", "&commat;", "&percnt;" and "&num;"
- respectively or escape them with a backslash '\'.
- </para>
- </tip>
-
- <para>
- DocBook can do more than just links. One can also have lists,
- examples, headings, and images. As of version 1.20, the
- preferred way is to use a subset of the basic text formatting
- syntax called
- <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>.
- On older GTK-Doc versions any documentation that includes
- Markdown will be rendered as is. For example, list items will
- appear as lines starting with a dash.
- </para>
-
- <para>
- While markdown is now preferred one can mix both. One limitation here is
- that one can use docbook xml within markdown, but markdown within
- docbook xml is not supported.
- </para>
-
- <para>
- In older GTK-Doc releases, if you need support for additional
- formatting, you would need to enable the usage of docbook
- XML tags inside doc-comments by putting <option>--xml-mode</option>
- (or <option>--sgml-mode</option>) in the variable
- <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
- </para>
-
- <para>
- <example><title>GTK-Doc comment block using Markdown</title>
- <programlisting><
- *
- * 
- *
- * [A link to the heading anchor above][heading-two]
- *
- * A C-language example:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- More examples of what markdown tags are supported can be found in the
- <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">GTK+ Documentation Markdown Syntax Reference</ulink>.
- </para>
-
- <tip>
- <para>
- As already mentioned earlier GTK-Doc is for documenting public API. Thus
- one cannot write documentation for static symbols. Nevertheless it is good
- to comment those symbols too. This helps other developers to understand
- your code.
- Therefore we recommend to comment these using normal comments (without the
- 2nd '*' in the first line).
- If later the function needs to be made public, all one needs to do is to
- add another '*' in the comment block and insert the symbol name at the
- right place inside the sections file.
- </para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>Documenting sections</title>
-
- <para>
- Each section of the documentation contains information about one class
- or module. To introduce the component one can write a section block.
- The short description is also used inside the table of contents.
- All the @fields are optional.
- </para>
-
- <para>
- <example><title>Section comment block</title>
- <programlisting><![CDATA[
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<name></term>
- <listitem>
- <para>
- The name links the section documentation to the respective part in
- the <filename><package>-sections.txt</filename> file. The
- name given here should match the <FILE> tag in the
- <filename><package>-sections.txt</filename> file.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>
- A one line description of the section, that later will appear after
- the links in the TOC and at the top of the section page.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>
- The section title defaults to <name> from the SECTION
- declaration. It can be overridden with the @title field.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>
- Overrides the use of title as a section identifier. For GObjects
- the <title> is used as a section_id and for other sections
- it is <MODULE>-<title>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>
- A list of symbols that are related to this section.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>
- An informal description of the stability level this API has.
- We recommend the use of one of these terms:
- <itemizedlist>
- <listitem>
- <para>
- Stable
- - The intention of a Stable interface is to enable arbitrary
- third parties to develop applications to these interfaces,
- release them, and have confidence that they will run on all
- minor releases of the product (after the one in which the
- interface was introduced, and within the same major release).
- Even at a major release, incompatible changes are expected
- to be rare, and to have strong justifications.
- </para>
- </listitem>
- <listitem>
- <para>
- Unstable
- - Unstable interfaces are experimental or transitional.
- They are typically used to give outside developers early
- access to new or rapidly changing technology, or to provide
- an interim solution to a problem where a more general
- solution is anticipated.
- No claims are made about either source or binary
- compatibility from one minor release to the next.
- </para>
- </listitem>
- <listitem>
- <para>
- Private
- - An interface that can be used within the GNOME stack
- itself, but that is not documented for end-users. Such
- functions should only be used in specified and documented
- ways.
- </para>
- </listitem>
- <listitem>
- <para>
- Internal
- - An interface that is internal to a module and does not
- require end-user documentation. Functions that are
- undocumented are assumed to be Internal.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>
- The <literal>#include</literal> files to show in the section
- synopsis (a comma separated list), overriding the global
- value from the <link linkend="metafiles_sections">section
- file</link> or command line. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>
- The image to display at the top of the reference page for this
- section. This will often be some sort of a diagram to illustrate
- the visual appearance of a class or a diagram of its relationship
- to other classes. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>
- To avoid unnecessary recompilation after doc-changes put the section
- docs into the c-source where possible.
- </para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>Documenting symbols</title>
-
- <para>
- Each symbol (function, macro, struct, enum, signal and property) is
- documented in a separate block. The block is best placed close to the
- definition of the symbols so that it is easy to keep them in sync.
- Thus functions are usually documented in the c-source and macros,
- structs and enums in the header file.
- </para>
-
- <sect2><title>General tags</title>
-
- <para>
- You can add versioning information to all documentation elements to tell
- when an API was introduced, or when it was deprecated.
- </para>
-
- <variablelist><title>Versioning Tags</title>
- <varlistentry><term>Since:</term>
- <listitem>
- <para>
- Description since which version of the code the API is available.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Deprecated:</term>
- <listitem>
- <para>
- Paragraph denoting that this function should no be used anymore.
- The description should point the reader to the new API.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- You can also add stability information to all documentation elements
- to indicate whether API stability is guaranteed for them for all
- future minor releases of the project.
- </para>
-
- <para>
- The default stability level for all documentation elements can be set
- by passing the <option>--default-stability</option> argument to
- <application>gtkdoc-mkdb</application> with one of the values below.
- </para>
-
- <variablelist><title>Stability Tags</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>
- Mark the element as stable. This is for public APIs which are
- guaranteed to remain stable for all future minor releases of the
- project.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>
- Mark the element as unstable. This is for public APIs which are
- released as a preview before being stabilised.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>
- Mark the element as private. This is for interfaces which can be
- used by tightly coupled modules, but not by arbitrary third
- parties.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>General tags</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Annotations</title>
-
- <para>
- Documentation blocks can contain annotation-tags. These tags will be
- rendered with tooltips describing their meaning. The tags are used by
- gobject-introspection to generate language bindings. A detailed list
- of the supported tags can be found on
- <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">the wiki</ulink>.
- </para>
-
- <example><title>Annotations</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: (annotation): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (another annotation)
- * (and another annotation)
- * @foo: (annotation) (another annotation): some foo
- *
- * Sets bar on @foo.
- */
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Function comment block</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document whether returned objects, lists, strings, etc, should be
- freed/unrefed/released.
- </para>
- </listitem>
- <listitem>
- <para>
- Document whether parameters can be NULL, and what happens if they are.
- </para>
- </listitem>
- <listitem>
- <para>
- Mention interesting pre-conditions and post-conditions where appropriate.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <para>
- Gtk-doc assumes all symbols (macros, functions) starting with '_' are
- private. They are treated like static functions.
- </para>
-
- <example><title>Function comment block</title>
- <programlisting><![CDATA[
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-]]></programlisting>
- </example>
-
- <variablelist><title>Function tags</title>
- <varlistentry><term>Returns:</term>
- <listitem>
- <para>
- Paragraph describing the returned result.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>
- In case the function has variadic arguments, you should use this
- tag (@Varargs: does also work for historic reasons).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>Property comment block</title>
-
- <example><title>Property comment block</title>
- <programlisting><![CDATA[
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Signal comment block</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document when the signal is emitted and whether it is emitted before
- or after other signals.
- </para>
- </listitem>
- <listitem>
- <para>
- Document what an application might do in the signal handler.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <example><title>Signal comment block</title>
- <programlisting><![CDATA[
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Struct comment block</title>
- <example><title>Struct comment block</title>
- <programlisting><![CDATA[
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private struct fields
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- <para>
- If the first field is "g_iface", "parent_instance" or "parent_class"
- it will be considered private automatically and doesn't need to be
- mentioned in the comment block.
- </para>
-
- <para>
- Struct comment blocks can also be used for GObjects and GObjectClasses.
- It is usually a good idea to add a comment block for a class, if it has
- vmethods (as this is how they can be documented). For the GObject
- itself one can use the related section docs, having a separate block
- for the instance struct would be useful if the instance has public
- fields. One disadvantage here is that this creates two index entries
- of the same name (the structure and the section).
- </para>
-
- </sect2>
-
- <sect2><title>Enum comment block</title>
- <example><title>Enum comment block</title>
- <programlisting><![CDATA[
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private enum values
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Inline program documentation</title>
- <para>
- You can document programs and their commandline interface using inline
- documentation.
- </para>
-
- <variablelist>
- <title>Tags</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>
- Defines the start of a program documentation.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>
- Defines a short description of the program. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>
- Defines the arguments, or list of arguments that the program can take.
- (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>
- See Also manual page section. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>
- Argument(s) passed to the program and their description. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>
- A longer description of the program.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Returns:</term>
- <listitem>
- <para>
- Specify what value(s) the program returns. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Example of program documentation.</title>
- <example><title>Program documentation block</title>
- <programlisting><![CDATA[
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-]]></programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>Useful DocBook tags</title>
-
- <para>
- Here are some DocBook tags which are most useful when documenting the
- code.
- </para>
-
- <para>
- To link to another section in the GTK docs:
-
- <informalexample>
- <programlisting><![CDATA[
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-]]></programlisting>
- </informalexample>
- The linkend is the SGML/XML id on the top item of the page you want to link to.
- For most pages this is currently the part ("gtk", "gdk", "glib") and then
- the page title ("Hash Tables"). For widgets it is just the class name.
- Spaces and underscores are converted to '-' to conform to SGML/XML.
- </para>
-
- <para>
- To refer to an external function, e.g. a standard C function:
- <informalexample>
- <programlisting><![CDATA[
-<function>...</function>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include bulleted lists:
- <informalexample>
- <programlisting><![CDATA[
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include a note which stands out from the text:
- <informalexample>
- <programlisting><![CDATA[
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a type:
- <informalexample>
- <programlisting><![CDATA[
-<type>unsigned char</type>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to an external structure (not one described in the GTK docs):
- <informalexample>
- <programlisting><![CDATA[
-<structname>XFontStruct</structname>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a field of a structure:
- <informalexample>
- <programlisting><![CDATA[
-<structfield>len</structfield>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a class name, we could possibly use:
- <informalexample>
- <programlisting><![CDATA[
-<classname>GtkWidget</classname>
-]]></programlisting>
- </informalexample>
- but you'll probably be using #GtkWidget instead (to automatically create
- a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
- </para>
-
- <para>
- To emphasize text:
- <informalexample>
- <programlisting><![CDATA[
-<emphasis>This is important</emphasis>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- For filenames use:
- <informalexample>
- <programlisting><![CDATA[
-<filename>/home/user/documents</filename>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to keys use:
- <informalexample>
- <programlisting><![CDATA[
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-]]></programlisting>
- </informalexample>
- </para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Filling the extra files</title>
-
- <para>
- There are a couple of extra files, that need to be maintained along with
- the inline source code comments:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
-
- <sect1 id="metafiles_types">
- <title>Editing the types file</title>
-
- <para>
- If your library or application includes GObjects, you want
- their signals, arguments/parameters and position in the hierarchy to be
- shown in the documentation. All you need to do, is to list the
- <function>xxx_get_type</function> functions together with their include
- inside the <filename><package>.types</filename> file.
- </para>
-
- <para>
- <example><title>Example <package>.types file</title>
- <programlisting><![CDATA[
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
- Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
- use this approach you should not dist the types file nor have it under version control.
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>Editing the master document</title>
-
- <para>
- GTK-Doc produces documentation in DocBook SGML/XML. When processing the
- inline source comments, the GTK-Doc tools generate one documentation
- page per class or module as a separate file. The master document
- includes them and place them in an order.
- </para>
-
- <para>
- While GTK-Doc creates a template master document for you, later runs will
- not touch it again. This means that one can freely structure the
- documentation. That includes grouping pages and adding extra pages.
- GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
- Its a good idea to look at this from time to time to see if there are
- some new goodies introduced there.
- </para>
-
- <tip>
- <para>
- Do not create tutorials as extra documents. Just write extra chapters.
- The benefit of directly embedding the tutorial for your library into
- the API documentation is that it is easy to link for the tutorial to
- symbol documentation. Apart chances are higher that the tutorial gets
- updates along with the library.
- </para>
- </tip>
-
- <para>
- So what are the things to change inside the master document? For a start
- is only a little. There are some placeholders (text in square brackets)
- there which you should take care of.
- </para>
-
- <para>
- <example><title>Master document header</title>
- <programlisting><![CDATA[
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- In addition a few option elements are created in commented form. You can
- review these and enable them as you like.
- </para>
-
- <para>
- <example><title>Optional part in the master document</title>
- <programlisting><![CDATA[
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Finally you need to add new section whenever you introduce one. The
- <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> tool will
- remind you of newly generated xml files that are not yet included into
- the doc.
- </para>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
- <chapter>
- <title>my library</title>
- <xi:include href="xml/object.xml"/>
- ...
-]]></programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>Editing the section file</title>
-
- <para>
- The section file is used to organise the documentation output by
- GTK-Doc. Here one specifies which symbol belongs to which module or
- class and control the visibility (public or private).
- </para>
-
- <para>
- The section file is a plain text file with tags delimiting sections.
- Blank lines are ignored and lines starting with a '#' are treated as
- comment lines.
- </para>
-
- <note>
- <para>
- While the tags make the file look like xml, it is not. Please do not
- close tags like <SUBSECTION>.
- </para>
- </note>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The <FILE> ... </FILE> tag is used to specify the file name,
- without any suffix. For example, using '<FILE>gnome-config</FILE>'
- will result in the section declarations being output in the template
- file <filename>tmpl/gnome-config.sgml</filename>, which will be
- converted into the DocBook XML file <filename>xml/gnome-config.sgml</filename>
- or the DocBook XML file <filename>xml/gnome-config.xml</filename>.
- (The name of the HTML file is based on the module name and the section
- title, or for GObjects it is based on the GObjects class name converted
- to lower case).
- </para>
-
- <para>
- The <TITLE> ... </TITLE> tag is used to specify the title of
- the section. It is only useful before the templates (if used) are
- initially created, since the title set in the template file overrides
- this. Also if one uses SECTION comment in the sources, this is obsolete.
- </para>
-
- <para>
- You can group items in the section by using the <SUBSECTION> tag.
- Currently it outputs a blank line between subsections in the synopsis
- section.
- You can also use <SUBSECTION Standard> for standard GObject
- declarations (e.g. the functions like g_object_get_type and macros like
- G_OBJECT(), G_IS_OBJECT() etc.).
- Currently these are left out of the documentation.
- You can also use <SUBSECTION Private> for private declarations
- which will not be output (it is a handy way to avoid warning messages
- about unused declarations).
- If your library contains private types which you don't want to appear in
- the object hierarchy and the list of implemented or required interfaces,
- add them to a Private subsection.
- Whether you would place GObject and GObjectClass like structs in public
- or Standard section depends if they have public entries (variables,
- vmethods).
- </para>
-
- <para>
- You can also use <INCLUDE> ... </INCLUDE> to specify the
- #include files which are shown in the synopsis sections.
- It contains a comma-separate list of #include files, without the angle
- brackets. If you set it outside of any sections, it acts for all
- sections until the end of the file. If you set it within a section, it
- only applies to that section.
- </para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>Controlling the result</title>
-
- <para>
- A GTK-Doc run generates report files inside the documentation directory.
- The generated files are named:
- <filename><package>-undocumented.txt</filename>,
- <filename><package>-undeclared.txt</filename> and
- <filename><package>-unused.txt</filename>.
- All those are plain text files that can be viewed and postprocessed easily.
- </para>
-
- <para>
- The <filename><package>-undocumented.txt</filename> file starts with
- the documentation coverage summary. Below are two sections divided by
- blank lines. The first section lists undocumented or incomplete symbols.
- The second section does the same for section docs. Incomplete entries are
- those, which have documentation, but where e.g. a new parameter has been
- added.
- </para>
-
- <para>
- The <filename><package>-undeclared.txt</filename> file lists symbols
- given in the <filename><package>-sections.txt</filename> but not
- found in the sources. Check if they have been removed or if they are
- misspelled.
- </para>
-
- <para>
- The <filename><package>-unused.txt</filename> file lists symbol
- names, where the GTK-Doc scanner has found documentation, but does not
- know where to put it. This means that the symbol has not yet been added to
- the <filename><package>-sections.txt</filename> file.
- </para>
-
- <tip>
- <para>
- Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
- If at least GTK-Doc 1.9 is installed, this will run sanity checks during
- <command>make check</command> run.
- </para>
- </tip>
-
- <para>
- One can also look at the files produced by the source code scanner:
- <filename><package>-decl-list.txt</filename> and
- <filename><package>-decl.txt</filename>. The first one can be
- compared with the section file if that is manually maintained. The second
- lists all declarations from the headers. If a symbol is missing one could
- check if this file contains it.
- </para>
-
- <para>
- If the project is GObject based, one can also look into the files produced
- by the object scanner:
- <filename><package>.args.txt</filename>,
- <filename><package>.hierarchy.txt</filename>,
- <filename><package>.interfaces.txt</filename>,
- <filename><package>.prerequisites.txt</filename> and
- <filename><package>.signals.txt</filename>. If there are missing
- symbols in any of those, one can ask GTK-Doc to keep the intermediate
- scanner file for further analysis, by running it as
- <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
- </para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernizing the documentation</title>
-
- <para>
- GTK-Doc has been around for quite some time. In this section we list new
- features together with the version since when it is available.
- </para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>
- When using xml instead of sgml, one can actually name the master
- document <filename><package>-docs.xml</filename>.
- </para>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-sections</option>
- in <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>-sections.txt</filename> is autogenerated and
- can be removed from the vcs. This only works nicely for projects that
- have a very regular structure (e.g. each .{c,h} pair will create new
- section). If one organize a project close to that updating a manually
- maintained section file can be as simple as running
- <code>meld <package>-decl-list.txt <package>-sections.txt</code>.
- </para>
-
- <para>
- Version 1.8 already introduced the syntax for documenting sections in
- the sources instead of the separate files under <filename class="directory">tmpl</filename>.
- This version adds options to switch the whole doc module to not use the
- extra tmpl build step at all, by using <option>--flavour no-tmpl</option>
- in <filename>configure.ac</filename>. If you don't have a <filename class="directory">tmpl</filename>
- checked into your source control system and haven't yet switched, just
- add the flag to <filename>configure.ac</filename> and you are done.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in
- <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>.types</filename> is autogenerated and can be
- removed from the vcs. When using this feature it is important to also
- setup the <varname>IGNORE_HFILES</varname> in
- <filename>Makefile.am</filename> for code that is build conditionally.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>
- This version includes a new tool called gtkdoc-check. This tool can run
- a set of sanity checks on your documentation. It is enabled by adding
- these lines to the end of <filename>Makefile.am</filename>.
- <example><title>Enable gtkdoc-check</title>
- <programlisting><![CDATA[
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>
- Version 1.18 brought some initial markdown support. Using markdown in
- doc comments is less intrusive than writing docbook xml. This version
- improves a lot on this and add a lot more styles. The section that
- explains the <link linkend="documenting_syntax">comment syntax</link>
- has all the details.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>
- The makefiles shipped with this version generate an entity file at <filename>xml/gtkdocentities.ent</filename>,
- containing entities for e.g. package_name and package_version. You can
- use this e.g. in the main xml file to avoid hardcoding the version
- number. Below is an example that shows how the entity file is included
- in the master template and how the entities are used.
- The entities can also be used in all
- generated files, GTK-Doc will use the same xml header in generated xml
- files.
- <example><title>Use pre-generated entities</title>
- <programlisting><![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-]]></programlisting>
- </example>
- </para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Documenting other interfaces</title>
-
- <para>
- So far we have been using GTK-Doc to document the API of code. The next
- sections contain suggestions how the tools can be used to document other
- interfaces too.
- </para>
-
- <sect1 id="commandline-interfaces">
- <title>Command line options and man pages</title>
-
- <para>
- As one can generate man pages for a docbook refentry as well, it sounds
- like a good idea to use it for that purpose. This way the interface is
- part of the reference and one gets the man-page for free.
- </para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Document the tool</title>
-
- <para>
- Create one refentry file per tool. Following
- <link linkend="settingup_docfiles">our example</link> we would call it
- <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
- tags that should be used and can look at generated file in the xml
- subdirectory as well as examples e.g. in glib.
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Adding the extra configure check</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-]]></programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Adding the extra makefile rules</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-]]></programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>DBus interfaces</title>
-
- <para>
- (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
-http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Frequently asked questions</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>Vprašanje</segtitle>
- <segtitle>Odgovor</segtitle>
- <seglistitem>
- <seg>No class hierarchy.</seg>
- <seg>
- The objects <function>xxx_get_type()</function> function has not been
- entered into the <filename><package>.types</filename> file.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Still no class hierarchy.</seg>
- <seg>
- Missing or wrong naming in <filename><package>-sections.txt</filename>
- file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explanation</ulink>).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Damn, I have still no class hierarchy.</seg>
- <seg>
- Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
- part of the normal section (don't put this into Standard or Private
- subsections).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>No symbol index.</seg>
- <seg>
- Does the <filename><package>-docs.{xml,sgml}</filename> contain a
- index that xi:includes the generated index?
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Symbols are not linked to their doc-section.</seg>
- <seg>
- Is the doc-comment using the correct markup (added #,% or ())?
- Check if the gtkdoc-fixxref warns about unresolvable xrefs.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new class does not appear in the docs.</seg>
- <seg>
- Is the new page xi:included from
- <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new symbol does not appear in the docs.</seg>
- <seg>
- Is the doc-comment properly formatted. Check for spelling mistakes in
- the begin of the comment. Check if the gtkdoc-fixxref warns about
- unresolvable xrefs. Check if the symbol is correctly listed in the
- <filename><package>-sections.txt</filename> in a public subsection.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A type is missing from the class hierarchy.</seg>
- <seg>
- If the type is listed in <filename><package>.hierarchy</filename>
- but not in <filename>xml/tree_index.sgml</filename> then double check
- that the type is correctly placed in the <filename><package>-sections.txt</filename>.
- If the type instance (e.g. <type>GtkWidget</type>) is not listed or
- incidentally marked private it will not be shown.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>I get foldoc links for all gobject annotations.</seg>
- <seg>
- Check that <filename>xml/annotation-glossary.xml</filename> is
- xi:included from <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parameter described in source code comment block but does not exist</seg>
- <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>multiple "IDs" for constraint linkend: XYZ</seg>
- <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Tools related to gtk-doc</title>
-
- <para>
- GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
- integration plugin, that adds API docs to a trac site and integrates with
- the trac search.
- </para>
- <para>
- Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
- tags in the API to determine the minimum required version.
- </para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>
- Version 1.1, March 2000
- </releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Version 1.1, mars 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>. Alla är tillåtna kopiera och distribuera ordagranna kopior av detta licensdokument, men att ändra det är ej tillåtet.</para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. BAKGRUND</title>
- <para>Syftet med denna licens är att göra en handbok, bok, eller annat praktiskt och användbart dokument <quote>fritt</quote> som i frihet: att försäkra var och en den faktiska friheten att kopiera och sprida det vidare, med eller utan förändringar, antingen kommersiellt eller ideellt. Sekundärt bevarar denna licens ett sätt för författaren och förläggaren att få ära för deras arbete utan att de anses vara ansvariga för förändringar gjorda av andra.</para>
-
- <para>Denna Licens är en sorts <quote>copyleft</quote>, vilket betyder att derivativa verk av detta dokument själva måste vara fria på samma sätt. Den kompletterar GNU General Public License, som är en copyleft-licens utformad för fri programvara.</para>
-
- <para>Vi har utformat denna licens för att den skall användas för handböcker till fri programvara, eftersom fri programvara behöver fri dokumentation: ett fritt program bör ha en handbok som erbjuder samma friheter som programmet gör. Men denna licens är inte begränsad till programvaruhandböcker; den kan användas för vilket textverk som helst oavsett ämne eller huruvida det är en utgiven, tryckt bok. Vi rekommenderar denna licens huvudsakligen för alla verk vars syfte är instruktion eller referens.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. TILLÄMPNINGSOMRÅDE OCH DEFINITIONER</title>
- <para id="fdl-document">Denna licens [det engelska originalet] gäller för varje handbok eller annat verk, oavsett uttrycksform, som innehåller ett meddelande där upphovsrättsinnehavaren stadgat att verket kan spridas enligt villkoren i GNU Free Documentation License. Ett sådant meddelande ger en internationell frihet utan krav på ersättning och utan tidsbegränsning att använda verket under villkoren i denna licens [det engelska originalet]. <quote>Dokument</quote> nedan syftar på godtycklig handbok eller verk. Var och en är licenstagare och benämns som <quote>du</quote>.</para>
-
- <para id="fdl-modified">En <quote>förändrad version</quote> av dokumentet avser varje verk som innehåller dokumentet eller en del av det, antingen ordagranna kopior, eller med ändringar och/eller översatt till ett annat språk.</para>
-
- <para id="fdl-secondary">Ett <quote>sekundärt avsnitt</quote> är en märkt bilaga eller förord till <link linkend="fdl-document">dokumentet</link> som exklusivt behandlar förhållandet mellan dokumentets förläggare eller författare och dokumentets huvudsakliga ämne (eller till relaterade ämnen) och som inte innehåller något som direkt faller under det huvudsakliga ämnet. (Således, om dokumentet delvis är en lärobok i matematik så får ett sekundärt avsnitt inte förklara någon matematik.) Förhållandet kan vara en historisk koppling till ämnet eller något relaterat, eller en juridisk, kommersiell, filosofisk, etisk eller politisk ställning till det.</para>
-
- <para id="fdl-invariant">De <quote>oföränderliga avsnitten</quote> är <link linkend="fdl-secondary">sekundära avsnitt</link> vars titlar är angivna som oföränderliga avsnitt i meddelandet som stadgar att <link linkend="fdl-document">Dokument</link> är utgivet under denna licens [det engelska originalet].</para>
-
- <para id="fdl-cover-texts"><quote>Omslagstexterna</quote> är speciella korta ordföljder som är listade som framsidestexter eller baksidestexter i meddelandet som stadgar att <link linkend="fdl-document">Dokument</link> är utgivet under denna licens [det engelska originalet].</para>
-
- <para id="fdl-transparent">En <quote>transparent</quote> kopia av <link linkend="fdl-document">Dokument</link> är en maskinläsbar kopia, representerad i ett format vars specifikation finns tillgänglig för allmänheten, som lämpar sig för att revidera dokumentet på ett enkelt sätt med generella textredigeringsprogram eller (för pixelbaserade bilder) generella grafikprogram eller (för ritningar) något väl tillgängligt ritprogram, och som är passande som indata till textformaterare eller för automatisk konvertering till en mängd format som passar som indata till textformaterare. En kopia i ett för övrigt transparent filformat vars markeringar, eller avsaknad av markeringar, har ordnats för att hindra eller motverka att vidare förändring vidtas av läsare är inte transparent. En kopia som inte är <quote>transparent</quote> kallas <quote>opak</quote>.</para>
-
- <para>Exempel på passande format för transparenta kopior innefattar ren ASCII utan markeringar, Texinfo indataformat, LaTeX indataformat, SGML eller XML som använder en publikt tillgänglig DTD, och standardenlig HTML, PostScript eller PDF utformat för mänsklig förändring. Opaka format innefattar Postscript, PDF, leverantörsspecifika format som bara kan läsas och editeras med leverantörsspecifika ordbehandlare, SGML eller XML för vilket DTD och/eller verktyg för behandling inte finns allmänt tillgängliga, och den maskingenererade HTML som produceras av vissa ordbehandlare enbart avsett som utdata.</para>
-
- <para id="fdl-title-page"><quote>Titelsidan</quote> innebär, för en tryckt bok, titelsidan själv, och sådana därpå följande sidor som krävs för att göra det material som enligt denna licens skall synas på titelsidan läsbart. För verk i sådana format som inte har någon egentlig titelsida, avses med <quote>Titelsidan</quote> den text som är närmast den mest framstående förekomsten av verkets titel, föregående den huvudsakliga textmassan.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. ORDAGRANN KOPIERING</title>
- <para>Du äger kopiera och sprida <link linkend="fdl-document">Dokument</link> på valfritt medium, antingen kommersiellt eller ideellt, förutsatt att denna licens [det engelska originalet], upphovsrättsklausul, och meddelandet som stadgar att GNU Free Documentation License gäller för dokumentet finns med på alla kopior, och att du inte lägger till några som helst andra villkor än de som ingår i denna licens. Du äger inte vidta tekniska åtgärder för att begränsa eller kontrollera läsande eller vidare kopiering av de kopior du skapar eller sprider. Dock äger du ta emot kompensation i utbyte mot kopior. Om du sprider tillräckligt många kopior måste du också följa villkoren i <link linkend="fdl-section3">paragraf 3</link>.</para>
-
- <para>Du äger också låna ut kopior, under samma villkor som ovan, och du äger visa kopior offentligt.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. OMFATTANDE KOPIERING</title>
- <para>Om du publicerar tryckta kopior (eller kopior i medier som normalt har tryckta omslag) av <link linkend="fdl-document">Dokument</link>, i en upplaga överstigande 100 exemplar, och dokumentets licensmeddelande kräver <link linkend="fdl-cover-texts">Omslagstexterna</link>, så måste du förse kopiorna med omslag som, klart och tydligt, visar alla omslagstexter: framsidestexter på framsidan och baksidestexter på baksidan. Båda omslagen måste klart och tydligt identifiera dig som utgivare av dessa kopior. Framsidan måste presentera dokumentets hela titel, med alla ord i titeln lika framträdande och synliga. Du äger lägga till ytterligare stoff på omslagen. Kopiering med förändringar gjorda bara på omslaget, så länge som de bevarar titeln för <link linkend="fdl-document">Dokument</link> och i övrigt uppfyller dessa krav kan anses vara ordagrann kopiering i andra avseenden.</para>
-
- <para>Om de obligatoriska texterna för något omslag är för omfattande för att rymmas i läsbart skick skall du placera de första (så många som får plats) på det egentliga omslaget, och fortsätta med resten på de direkt intilliggande sidorna.</para>
-
- <para>Om du publicerar <link linkend="fdl-transparent">opak</link>a kopior av <link linkend="fdl-document">Dokument</link> i upplagor om mer än 100, måste du antingen bifoga en maskinläsbar <link linkend="fdl-transparent">transparent</link> kopia med varje opak kopia, eller ange i eller med varje opak kopia en nätverksadress som är tillgänglig för den allmänna nätverksanvändande massan där man, med öppet standardiserade protokoll, anonymt och utan kostnad kan ladda ner en komplett transparent kopia av dokumentet, utan extra material. Om du väljer det senare alternativet, måste du vidta skäliga åtgärder, när du börjar sprida opaka kopior i kvantitet, för att denna transparenta kopia skall förbli tillgänglig på angivna platsen till åtminstone ett år efter den sista gången du spred en opak kopia (direkt eller via ombud eller återförsäljare) av den utgåvan till allmänheten.</para>
-
- <para>Det är önskvärt, men inte ett krav, att du kontaktar författarna till <link linkend="fdl-document">Dokument</link> i god tid innan du sprider något större antal kopior, för att ge dem en chans att förse dig med en uppdaterad version av dokumentet.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. FÖRÄNDRINGAR</title>
- <para>Du äger kopiera och sprida en <link linkend="fdl-modified">förändrad version</link> av <link linkend="fdl-document">Dokument</link> under de villkor som beskrivs i paragraf <link linkend="fdl-section2">2</link> och <link linkend="fdl-section3">3</link> av GNU Free Documentation License, förutsatt att du släpper den förändrade versionen under exakt denna licens, och att den förändrade versionen antar dokumentets roll, och således medger spridning och förändring av den förändrade versionen till envar som erhåller en kopia av den. Utöver detta måste du göra följande med den ändrade versionen:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>På <link linkend="fdl-title-page">Titelsidan</link> (och omslagen om det finns några) använda en titel skild från den som [original]<link linkend="fdl-document">Dokument</link> har, och skild från tidigare versioners titel (som skall, om det finns några, finnas listade i historikavsnittet i dokumentet). Du äger använda samma titel som det föregående dokumentet om den ursprungliga utgivaren ger sitt tillstånd.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>Lista på <link linkend="fdl-title-page">Titelsidan</link>, som författare, en eller flera personer eller juridiska personer som ansvarat för förändringarna i <link linkend="fdl-modified">förändrad version</link>, tillsammans med minst fem av de huvudsakliga författarna av <link linkend="fdl-document">Dokument</link> (alla dess huvudsakliga författare, om det har mindre än fem).</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>Ange namnet på utgivaren av <link linkend="fdl-title-page">Titelsidan</link>, som utgivare, på <link linkend="fdl-modified">förändrad version</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>Bibehålla alla upphovsrättsklausuler för <link linkend="fdl-document">Dokument</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Lägga till en upphovsrättsklausul för dina förändringar angränsande till de andra upphovsrättsklausulerna.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>Direkt efter upphovsrättsklausulerna innefatta ett meddelande som ger allmänheten tillstånd att använda <link linkend="fdl-modified">förändrad version</link> under villkoren i denna licens [det engelska originalet] i den form som visas i Tillägg nedan.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>I meddelandet om licensen bevara den fullständiga listan över <link linkend="fdl-invariant">oföränderliga avsnitten</link> och obligatoriska <link linkend="fdl-cover-texts">Omslagstexterna</link> som finns i <link linkend="fdl-document">dokumentets</link> meddelande om licensen.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Inkludera en oförändrad kopia av denna licens [Det är den engelska originalversionen som avses].</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>Bevara avsnittet med titeln <quote>historik</quote> (History), bevara dess titel och lägg i avsnittet till en post med åtminstone titeln, året, nya författare och utgivaren av <link linkend="fdl-modified">förändrad version</link> så som angivet på <link linkend="fdl-title-page">Titelsidan</link>. Om det inte finns något avsnitt med titeln <quote>historik</quote> (History) i <link linkend="fdl-document">Dokument</link> så skapa en med titeln, året, författare och utgivaren av dokumentet så som det står på [original]dokumentets titelsida. Lägg sedan till en post som beskriver den förändrade versionen så som beskrivits ovan.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>Bevara den nätverksadress, om det finns någon, angiven i <link linkend="fdl-document">Dokument</link> till den allmänt tillgängliga <link linkend="fdl-transparent">transparent</link>a kopian av dokumentet, och likaså nätverksadresserna till de föregående versioner som dokumentet baseras på. Dessa får placeras i avsnittet <quote>historik</quote> (History). Du äger utelämna en nätverksadress för ett verk som är publicerat mer än fyra år före dokumentet självt, eller om den ursprunglige utgivaren vars verk nätverksadressen hänvisar till ger sitt tillstånd.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>För alla avsnitt med titlarna <quote>tillkännagivanden</quote> (Acknowledgements) eller <quote>dedikationer</quote> (Dedications), bevara titeln på avsnittet, och bevara allt innehåll och prägel på alla tillkännagivanden och/eller dedikationer gjorda av varje bidragsgivare.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>Bevara alla <link linkend="fdl-invariant">oföränderliga avsnitten</link> i <link linkend="fdl-document">Dokument</link> oförändrade till text och titel. Avsnittsnummer eller motsvarande anses inte tillhöra avsnittets titel.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>Radera varje avsnitt med titeln <quote>endossering</quote> (Endorsements). Ett sådant avsnitt får inte inkluderas i en <link linkend="fdl-modified">förändrad version</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>Inte byta titel på något existerande avsnitt så att det blir <quote>endossering</quote> (Endorsements) eller så att titeln kan förväxlas med något <link linkend="fdl-invariant">oföränderligt avsnitt</link>.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>Om <link linkend="fdl-modified">förändrad version</link> innehåller nya framsidestexter eller bilagor som är att anses som <link linkend="fdl-secondary">sekundära avsnitt</link> och inte innehåller något material kopierat från dokumentet, så äger du, om du vill, benämna några eller samtliga av dessa som oföränderliga. För att göra detta, lägg deras titlar till listan över <link linkend="fdl-invariant">oföränderliga avsnitten</link> i den förändrade versionens licensmeddelande. Dessa titlar måste vara skilda från alla andra avsnitts titlar.</para>
-
- <para>Du äger lägga till ett avsnitt med titeln <quote>endossering</quote> (Endorsements), förutsatt att det inte innehåller något annat än endosseringar för din <link linkend="fdl-modified">förändrad version</link> från olika aktörer -- till exempel, meddelanden om utförd korrekturläsning eller att texten har godkänts av en organisation som en officiell definition av en standard.</para>
-
- <para>Du äger lägga till ett textavsnitt på upp till fem ord som <link linkend="fdl-cover-texts">framsidestext</link>, och ett textavsnitt på upp till 25 ord som <link linkend="fdl-cover-texts">baksidestext</link> i listan över <link linkend="fdl-cover-texts">Omslagstexterna</link> i <link linkend="fdl-modified">förändrad version</link>. Bara ett textavsnitt med framsidestexter och ett med baksidestexter får läggas till av (eller genom försorg av) en enda juridisk person. Om <link linkend="fdl-document">Dokument</link> redan innehåller en omslagstext för något av omslagen, tidigare tillagd av dig eller genom försorg av samma juridiska person som du företräder, äger du inte lägga till en till, men du äger ändra den gamla med tillstånd från den tidigare utgivaren som lade till den förra.</para>
-
- <para>Författaren (författarna) och utgivaren (utgivarna) av <link linkend="fdl-document">Dokument</link> ger inte via denna licens sitt tillstånd att använda sina namn för publicitet eller för att lägga till eller antyda endossering av någon <link linkend="fdl-modified">förändrad version</link>.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. KOMBINERA DOKUMENT</title>
- <para>Du äger kombinera <link linkend="fdl-document">Dokument</link> med andra dokument som är utgivna under denna licens, under de villkor som definieras i <link linkend="fdl-section4">paragraf 4</link> av GNU Free Documentation License för förändrade versioner, förutsatt att du, i det kombinerade dokumentet, innefattar alla <link linkend="fdl-invariant">oföränderliga avsnitten</link> från originaldokumenten, omodifierade, och listar dem som oföränderliga avsnitt i ditt kombinerade verk i dess licensklausul, och att du bevarar alla deras garantiavsägelseklausuler.</para>
-
- <para>Det kombinerade verket behöver bara innehålla en enstaka kopia av denna licens [engelska originalversionen], och flera identiska <link linkend="fdl-invariant">oföränderliga avsnitten</link> kan ersättas med en kopia. Om det finns flera oföränderliga stycken med samma namn men olika innehåll, se till att titeln på varje sådant avsnitt är unik genom att i slutet på den, inom parentes, lägga till namnet på den ursprunglige författaren eller utgivaren av det avsnittet om dessa är kända, annars ett unikt nummer. Gör samma justeringar av titlarna i listan över oföränderliga avsnitt i licensklausulen i det kombinerade verket.</para>
-
- <para>I det kombinerade verket måste du kombinera alla avsnitt med titlarna <quote>historik</quote> (History) i de ursprungliga dokumenten, till ett avsnitt med titeln <quote>historik</quote> (History); på samma sätt skall alla avsnitt med titlarna <quote>tillkännagivanden</quote> (Acknowledgements), alla avsnitt med titlarna <quote>dedikationer</quote> (Dedications) kombineras. Du måste ta bort alla avsnitt med titlarna <quote>endossering</quote> (Endorsements).</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. SAMLINGAR AV DOKUMENT</title>
- <para>Du äger skapa en samling bestående av <link linkend="fdl-document">Dokument</link> och andra dokument som är släppta under GNU Free Documentation License, och ersätta individuella kopior i dokumenten av denna licens med en enda kopia [av den engelska originalversionen] som inkluderas i samlingen, förutsatt att du följer villkoren för ordagrann kopiering i denna licens för varje inkluderat dokument i alla andra avseenden.</para>
-
- <para>Du äger lyfta ut ett dokument från en sådan samling, och sprida det enskilt under GNU Free Documentation License, förutsatt att du lägger till en kopia av denna licens [den engelska originalversionen] i det utlyfta dokumentet, och följer villkoren för ordagrann kopiering i denna licens för det utlyfta dokumentet i alla andra avseenden.</para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. SAMMANSLAGNING MED OBEROENDE VERK</title>
- <para>En samling av <link linkend="fdl-document">Dokument</link> eller av dess derivat med andra separata och oberoende dokument eller verk, på eller i en lagringsvolym eller ett spridningsmedium, kallas för en <quote>sammanslagning</quote> om den sammanslagna upphovsrätten inte används för att begränsa samlingens användares rättigheter som de enskilda dokumenten medger. När dokumentet ingår i en sådan sammanslagning, gäller inte denna licens de andra verken i samlingen som inte själva är deriverat av dokumentet. Om kravet på <link linkend="fdl-cover-texts">omslagstexter</link> enligt <link linkend="fdl-section3">paragraf 3</link> är tillämpligt på dessa kopior av dokumentet, så kan dokumentets omslagstexter, om dokumentet utgör mindre än en fjärdedel av hela samlingen, placeras på det omslag som omger dokumentet inuti samlingen, eller den elektroniska motsvarigheten till omslag om dokumentet är i elektronisk form. Annars måste de synas på det omslag som omger hela samlingen.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. ÖVERSÄTTNING</title>
- <para>Översättning anses vara en sorts förändring, så du äger sprida översättningar av <link linkend="fdl-document">Dokument</link> enligt de villkor som sätts i <link linkend="fdl-section4">paragraf 4</link>. <link linkend="fdl-invariant">oföränderliga avsnitten</link> som ersätts med översättningar kräver tillstånd från deras upphovsrättsinnehavare, men du äger inkludera översättningar av alla eller vissa av dessa oföränderliga avsnitt tillsammans med originalversionerna av dessa oföränderliga avsnitt. Du äger inkludera en översättning av denna licens, och alla licensklausuler i dokumentet, och alla garantiavsägelser, förutsatt att du också innefattar den engelska originalversionen av denna licens och originalversionerna av dessa klausuler. Skulle det finnas skillnader mellan översättningen och originalversionen av denna licens eller någon klausul så gäller originalversionen.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. UPPHÖRANDE</title>
- <para>Du äger inte kopiera, förändra, omlicensiera eller sprida <link linkend="fdl-document">Dokument</link> annat än enligt villkoren i GNU Free Documentation License. Alla övriga försök att kopiera, modifiera, omlicensiera, eller sprida dokumentet är ogiltiga och kommer automatiskt medföra att du förlorar dina rättigheter enligt denna licens. Tredje man som har mottagit kopior eller rättigheter från dig enligt dessa licensvillkor kommer dock inte att förlora sina rättigheter så länge de följer licensvillkoren.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FRAMTIDA VERSIONER AV DENNA LICENS</title>
- <para><ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> kan publicera nya, reviderade versioner av GNU Free Documentation License då och då. Sådana nya versioner kommer att vara likadana i andemening som den nuvarande versionen, men kan skilja i detalj för att behandla nya problem eller angelägenheter. Se <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>Varje version av licensen ges ett unikt versionsnummer. Om <link linkend="fdl-document">Dokument</link> stadgar att en specifik numrerad version av denna licens <quote>eller valfri senare version</quote> gäller för det, så äger du rätten att följa villkoren enligt antingen den angivna versionen eller vilken senare version som helst som publicerats (inte som utkast) av Free Software Foundation. Om dokumentet inte anger en version av denna licens, äger du välja vilken version som helst som publicerats (inte som utkast) av Free Software Foundation.</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>TILLÄGG</title>
- <para>För att använda GNU Free Documentation License för ett dokument du har skrivit, inkludera en kopia av licensen [det engelska originalet] i dokumentet och placera följande copyrightklausul omedelbart efter titelsidan:</para>
-
- <blockquote>
- <para>Copyright © YEAR YOUR NAME.</para>
- <para>Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend="fdl-invariant">oföränderliga avsnitten</link> being LIST THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST, and with the <link linkend="fdl-cover-texts">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>.</para>
- </blockquote>
-
- <para>Om du inte har några <link linkend="fdl-invariant">oföränderliga avsnitten</link>, skriv <quote>with no Invariant Sections</quote> istället för att ange vilka som är oföränderliga. Om du inte har några <link linkend="fdl-cover-texts">Front-Cover Texts</link>, skriv <quote>no Front-Cover Texts</quote> istället för <quote>Front-Cover Texts being LIST</quote>; såväl som för <link linkend="fdl-cover-texts">Back-Cover Texts</link>.</para>
-
- <para>Om ditt dokument innehåller icke-triviala exempel med programkod, så rekommenderar vi att du släpper dessa exempel parallellt under en, av dig vald, fri programvarulicens, som till exempel <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</ulink>, för att möjliggöra deras användning i fri programvara.</para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="sv">
- <bookinfo>
- <title>Handbok för GTK-Doc</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>Användarhandbok för utvecklare med användningsinstruktioner för GTK-Doc.</para></abstract>
- <authorgroup>
- <author><firstname>Chris</firstname> <surname>Lyttle</surname> <affiliation> <address> <email>chris@wilddev.net</email> </address> </affiliation></author>
- <author><firstname>Dan</firstname> <surname>Mueth</surname> <affiliation> <address> <email>d-mueth@uchicago.edu</email> </address> </affiliation></author>
- <author><firstname>Stefan</firstname> <surname>Sauer (Kost)</surname> <affiliation> <address> <email>ensonic@users.sf.net</email> </address> </affiliation></author>
- </authorgroup>
- <publisher role="maintainer"><publishername>GTK-Doc-projektet</publishername> <address><email>gtk-doc-list@gnome.org</email></address></publisher>
- <copyright><year>2000, 2005</year> <holder>Dan Mueth and Chris Lyttle</holder></copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>Tillstånd att kopiera, distribuera och/eller modifiera detta dokument ges under villkoren i <citetitle>GNU Free Documentation License</citetitle>, version 1.1 eller senare, utgivet av Free Software Foundation utan standardavsnitt och omslagstexter. En kopia av licensen finns <link linkend="fdl">inkluderad</link>.</para>
- <para>Flera namn på produkter och tjänster är registrerade varumärken. I de fall dessa namn förekommer i GNOME-dokumentation - och medlemmarna i GNOME-dokumentationsprojektet är medvetna om dessa varumärken - är de skrivna med versaler eller med inledande versal.</para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision><revnumber>1.28</revnumber> <date>24 mar 2018</date> <authorinitials>ss</authorinitials> <revremark>programfixar</revremark></revision>
- <revision><revnumber>1.27</revnumber> <date>07 dec 2017</date> <authorinitials>ss</authorinitials> <revremark>finjustering av python-porteringen</revremark></revision>
- <revision><revnumber>1.26</revnumber> <date>11 aug 2017</date> <authorinitials>ss</authorinitials> <revremark>portera alla verktyg från perl/bash till python</revremark></revision>
- <revision><revnumber>1.25</revnumber> <date>21 mars 2016</date> <authorinitials>ss</authorinitials> <revremark>programfixar, uppstädning av tester</revremark></revision>
- <revision><revnumber>1.24</revnumber> <date>29 maj 2015</date> <authorinitials>ss</authorinitials> <revremark>programfix</revremark></revision>
- <revision><revnumber>1.23</revnumber> <date>17 maj 2015</date> <authorinitials>ss</authorinitials> <revremark>programfix</revremark></revision>
- <revision><revnumber>1.22</revnumber> <date>07 maj 2015</date> <authorinitials>ss</authorinitials> <revremark>programfixar, borttagning av föråldrade funktioner</revremark></revision>
- <revision><revnumber>1.21</revnumber> <date>17 jul 2014</date> <authorinitials>ss</authorinitials> <revremark>programfixar, borttagning av föråldrade funktioner</revremark></revision>
- <revision><revnumber>1.20</revnumber> <date>16 feb 2014</date> <authorinitials>ss</authorinitials> <revremark>programfixar, stöd för markdown, stilförbättringar</revremark></revision>
- <revision><revnumber>1.19</revnumber> <date>05 jun 2013</date> <authorinitials>ss</authorinitials> <revremark>programfixar</revremark></revision>
- <revision><revnumber>1.18</revnumber> <date>14 sep 2011</date> <authorinitials>ss</authorinitials> <revremark>programfixar, uppsnabbningar, stöd för markdown</revremark></revision>
- <revision><revnumber>1.17</revnumber> <date>26 feb 2011</date> <authorinitials>sk</authorinitials> <revremark>brådskande programfixuppdatering</revremark></revision>
- <revision><revnumber>1.16</revnumber> <date>14 jan 2011</date> <authorinitials>sk</authorinitials> <revremark>programfixar, layoutförbättringar</revremark></revision>
- <revision><revnumber>1.15</revnumber> <date>21 maj 2010</date> <authorinitials>sk</authorinitials> <revremark>program- och regressionsfixar</revremark></revision>
- <revision><revnumber>1.14</revnumber> <date>28 mars 2010</date> <authorinitials>sk</authorinitials> <revremark>programfixar och prestandaförbättringar</revremark></revision>
- <revision><revnumber>1.13</revnumber> <date>18 december 2009</date> <authorinitials>sk</authorinitials> <revremark>uppdatering på grund av trasigt tar-arkiv</revremark></revision>
- <revision><revnumber>1.12</revnumber> <date>18 december 2009</date> <authorinitials>sk</authorinitials> <revremark>nya verktygsfunktioner och programfixar</revremark></revision>
- <revision><revnumber>1.11</revnumber> <date>16 november 2008</date> <authorinitials>mal</authorinitials> <revremark>GNOME doc-utils migration</revremark></revision>
- </revhistory>
-
-
- <othercredit class="translator">
- <personname>
- <firstname>Sebastian Rasmussen</firstname>
- </personname>
- <email>sebras@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2016</year>
-
- <holder>Sebastian Rasmussen</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Daniel Nylander</firstname>
- </personname>
- <email>po@danielnylander.se</email>
- </othercredit>
- <copyright>
-
- <year>2009</year>
-
- <holder>Daniel Nylander</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Marcus Rejås och Alexander Nordström</firstname>
- </personname>
- <email>info@se.linux.org</email>
- </othercredit>
- <copyright>
-
- <year>2004</year>
-
- <holder>Marcus Rejås och Alexander Nordström</holder>
- </copyright>
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>Introduktion</title>
-
- <para>Detta kapitel introducerar GTK-Doc och ger en överblick över vad det är och hur det används.</para>
-
- <sect1 id="whatisgtkdoc">
- <title>Vad är GTK-Doc?</title>
-
- <para>GTK-Doc används för att dokumentera C-kod. Det används vanligen för att dokumentera det publika API:t för bibliotek, så som GTK+- och GNOME-biblioteken. Men det kan också användas för att dokumentera programkod.</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>Hur fungerar GTK-Doc?</title>
-
- <para>GTK-Doc fungerar så att det använder dokumentation för funktioner placerad inuti källkodsfilerna i speciellt formaterade kommentarsblock, eller dokumentation som lagts till i mallfilerna som GTK-Doc använder (notera dock att GTK-Doc endast kommer att dokumentera funktioner som deklarerats i huvudfiler; det kommer inte att producera utdata för statiska funktioner).</para>
-
- <para>GTK-Doc består av ett antal python-skript som vart och ett utför olika steg i processen.</para>
-
- <para>Det finns 5 huvudsteg i processen:</para>
-
- <orderedlist>
-
- <listitem>
- <para><guilabel>Skriva dokumentationen.</guilabel> Författaren fyller i källkodsfilerna med dokumentation för varje funktion, makro, struct eller union, o.s.v.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Samla ihop information om koden.</guilabel> <application>gtkdoc-scan</application> söker genom huvudfilerna för koden och letar efter deklarationer av funktioner, makron, uppräkningar, strukturer och unioner. Det skapar sedan filen <filename><module>-decl-list.txt</filename> som innehåller en lista över deklarationerna, och placerar dem i avsnitt efter vilken huvudfil de finns i. Vid första körningen kommer denna fil att kopieras till <filename><module>-sections.txt</filename>. Författaren kan, genom att omarrangera avsnitten och ändra ordningen för deklarationerna inom dem, framställa den önskade, slutgiltiga ordningen. Den andra filen det genererar är <filename><module>-decl.txt</filename>. Denna fil innehåller de fullständiga deklarationerna som hittats av detektorn. Om man av något skäl vill att vissa symboler ska visas i dokumentation då den fullständiga deklarationen inte kan hittas av detektorn, eller om deklarationen ska visas annorlunda, kan man placera rader liknande de som finns i <filename><module>-decl.txt</filename> i <filename><module>-overrides.txt</filename>.</para>
- <para><application>gtkdoc-scangobj</application> kan också användas för att dynamiskt fråga ett bibliotek om vilka GObject-underklasser det exporterar. Det sparar information om varje objekts position i klasshierarkin och om vilka GObject-egenskaper och signaler det tillhandahåller.</para>
- <para><application>gtkdoc-scanobj</application> bör inte användas längre. Det behövdes tidigare när GObject fortfarande var GtkObject inuti gtk+.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Generera XML och HTML/PDF.</guilabel> <application>gtkdoc-mkdb</application> förvandlar mallfilerna till XML-filer i underkatalogen <filename class="directory">xml/</filename>. Om källkoden innehåller dokumentation över funktioner i speciella kommentarsblock, så kommer denna att sammanfogas här. Om det inte finns några tmpl-filer som används så kommer det endast att läsa dokumentation från källkoden och introspektionsdata.</para>
- <para><application>gtkdoc-mkhtml</application> förvandlar XML-filer till HTML-filer i underkatalogen <filename class="directory">html/</filename>. På samma sätt förvandlar <application>gtkdoc-mkpdf</application> XML-filerna till ett PDF-dokument kallat <filename><package>.pdf</filename>.</para>
- <para>Filer i <filename class="directory">xml/</filename>- och <filename class="directory">html/</filename>-katalogerna skrivs alltid över. Man bör aldrig redigera dem direkt.</para>
- </listitem>
-
- <listitem>
- <para><guilabel>Fixa korsreferenser mellan dokument.</guilabel> Efter att ha installerat HTML-filerna kan <application>gtkdoc-fixxref</application> köras för att fixa korsreferenser mellan separata dokument. Till exempel GTK+-dokumentationen innehåller många korsreferenser till typer som dokumenterats i GLib-manualen. När tar-arkivet med källkod skapas för distribution, förvandlar <application>gtkdoc-rebase</application> alla externa länkar till webblänkar. När (förgenererad) distribuerad dokumentation installeras kommer samma program att försöka att förvandla länkarna tillbaka till lokala länkar (i de fall där dokumentationen finns installerad).</para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>Hämta GTK-Doc</title>
-
- <sect2 id="requirements">
- <title>Krav</title>
- <para><guilabel>python 2/3</guilabel> - huvudskripten är skrivna i python.</para>
- <para><guilabel>xsltproc</guilabel> - xslt-processorn från libxslt <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink></para>
- <para><guilabel>docbook-xsl</guilabel> - docbook xsl-stilmallar <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink></para>
- <para>Endera av <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> eller <guilabel>vim</guilabel> - valfritt - används för syntaxfärgning av exempel</para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>Om GTK-Doc</title>
-
- <para>Historiskt användes GTK-Doc för att generera mallfiler från källkoden. Dessa mallfiler kunde användas av utvecklare för att ange API-dokumentationen. Detta tillvägagångssätt var ganska obekvämt då det krävde att genererade filer hölls under versionshantering. Sedan GTK-Doc 1.9 är det möjligt att placera all API-information i källkodskommentarer, vilket gör mallstödet föråldrat. I version 1.26 har mallstödet tagits bort.</para>
-
- <para>(FIXME)</para>
-
- <para>(författare, webbsidor, sändlistor, licens, framtida planer, jämförelse med andra liknande system.)</para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>Om denna handbok</title>
-
- <para>(FIXME)</para>
-
- <para>(vem är den avsett för, var kan du få tag i den, licens)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Projektkonfiguration</title>
-
- <para>Detta kapitel beskriver stegen som är nödvändiga för att integrera GTK-Doc i ditt projekt. Integreringen av GTK-Doc till ett projekt inkluderar följande steg:</para>
-
- <itemizedlist>
- <listitem>
- <para>Förberedelse av katalogstrukturen och skapande av konfigurationsfiler som krävs för din GTK-Doc-dokumentation (se <link linkend="settingup_docfiles"> Att ställa in en skelettstruktur för dokumentation</link>).</para>
- </listitem>
- <listitem>
- <para>Justering av byggsystemet för att bygga din dokumentation med GTK-Doc-verktygen. Flera byggsystem stöds, i denna handbok beskriver vi hur GTK-Doc kan integreras med <link linkend="settingup_autotools">Autotools</link>, <link linkend="settingup_cmake">CMake</link> och <link linkend="settingup_plain_makefiles">vanliga Makefiler</link>.</para>
- </listitem>
- <listitem>
- <para>Tillägg av GTK-Doc-specifika filer till versionshantering och att bestämma vilka filer som ska ignoreras (se <link linkend="settingup_vcs"> Integrering med versionshanteringssystem</link>).</para>
- </listitem>
- </itemizedlist>
-
- <para>De följande avsnitten utgår från att vi arbetar på ett projekt som kallas <code>meep</code>. Detta projekt innehåller två paket (eller moduler), ett bibliotek som kallas <code>libmeep</code> och ett program för slutanvändare som kallas <code>meeper</code>.</para>
-
- <sect1 id="settingup_docfiles">
- <title>Att ställa in en skelettstruktur för dokumentation</title>
-
- <para>En vanlig konvention är att placera dokumentation i en mapp kallad <code>docs</code> i toppnivåkatalogen för ditt projekt. Vi skiljer vanligen mellan <emphasis>referensdokumentation</emphasis> som är avsedd för utvecklare och en <emphasis>användarhandbok</emphasis> som är avsedd för slutanvändare. Konventionen är återigen att ha olika mappar för båda. Vi placerar vanligen referensdokumentationen i en mapp med namnet <code>reference</code> handboken för slutanvändare i en mapp med namnet <code>help</code>. Enligt konventionen ovan skulle dokumentationen för vårt paket <code>libmeep</code> placeras i: <code>docs/reference/libmeep</code>. För paket med bara ett bibliotek eller program kan dokumentationen också placeras direkt i <code>docs/reference</code>. Det är inte obligatoriskt att använda konventionen ovan, men om du väljer att använda en annan katalogstruktur måste du anpassa din konfiguration för byggsystemet så att den matchar din katalogstruktur.</para>
-
- <para>I avsnitten som följer kommer vi anta en katalogstruktur för vårt projekt <emphasis>meep</emphasis> som följer konventionerna ovan. <example>
- <title>Exempel på katalogstruktur för projektet <emphasis>meep</emphasis></title>
- <programlisting>
-meep/
- docs/
- reference/ # referensdokumentation
- libmeep/
- meeper/
- help/ # valfritt: användarhandbok
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integrering med Autotools</title>
- <para>Integrering av GTK-Doc i ett autotools-baserat byggsystem kräver följande steg:</para>
- <itemizedlist>
- <listitem>
- <para>Säkerställ att <application>gtkdocize</application> körs en gång innan skriptet <filename>configure</filename>. Om skriptet <filename>autogen.sh</filename> finns tillgängligt, justera det så att det söker efter GTK-Doc och lägg till ett anrop till <application>gtkdocize</application>.</para>
-
- <para>Huvudsyftet med <application>gtkdocize</application> är att göra Makefilen <filename>gtk-doc.make</filename> och makrodefinitionsfilen <filename>gtk-doc.m4</filename> tillgängliga för byggsystemet, antingen genom att kopiera eller länka in dem i projektet.</para>
- </listitem>
- <listitem>
- <para>Lägg till de nödvändiga <application>autoconf</application>-makrona till <filename>configure.ac</filename> för att aktivera GTK-Doc i ditt byggsystem för att tillåta konfiguration av GTK-Doc via det genererade <filename>configure</filename>-skriptet.</para>
- <para>Bland andra med register flaggan <code>--enable-gtk-doc</code> med <filename>configure</filename>-skriptet.</para>
- </listitem>
- <listitem>
- <para>Skapa ett <application>automake</application>-skript för varje program eller bibliotek i ditt projekt. I exemplet som används i denna dokumentation tillämpas detta steg för både <code>meeper</code> och <code>libmeep</code>.</para>
- </listitem>
- </itemizedlist>
-
- <para>I de följande avsnitten utför vi stegen ovan i omvänd ordning. Vi börjar med <application>automake</application>-skripten och arbetar vår väg upp till <filename>configure.ac</filename> och <filename>autogen.sh</filename>. Sedan visar vi hur Gtk-Doc aktiveras i byggsystemet och hur dokumentationen byggs.</para>
-
- <sect2 id="settingup_automake">
- <title>Integrering med automake</title>
-
- <para>Kopiera först <filename>Makefile.am</filename> från underkatalogen <filename class="directory">examples</filename> från <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">gtkdoc-sources</ulink> till ditt projekts referensdokumentationskatalog (t.ex. <filename class="directory">docs/reference/<paket></filename>). En lokal kopia bör finnas tillgänglig under t.ex. <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>. Om du har flera paket, repetera detta för vart och ett.</para>
-
- <note>
- <simpara>Glöm inte att lägga till varje <filename>Makefile.am</filename> till makrot <function>AC_CONFIG_FILES</function> i <filename>configure.ac</filename>. För <filename>docs/reference/libmeep/Makefile.am</filename> kommer du behöva lägga till posten <filename>docs/reference/libmeep/Makefile</filename> till <function>AC_CONFIG_FILES</function>.</simpara>
- </note>
-
- <example>
- <title>Exempelkatalogstruktur med <filename>Makefiles.am</filename></title>
- <programlisting>
-meep/
- docs/
- reference/ # referensdokumentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # valfritt: användarhandbok
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>Härnäst behöver du anpassa de kopierade Makefilerna och tillhandahålla värden för de olika parametrarna i varje <filename>Makefile.am</filename>. Alla inställningarna har en kommentar ovanför som beskriver deras syfte och hur inställningen kan anpassas. De flesta inställningarna används för att tillhandahålla extraflaggor till respektive verktyg för vilket de är aktuella. Varje verktyg har en variabel på formen <option><VERKTYGSNAMN>_OPTIONS</option> (t.ex. har verktyget <application>gtkdoc-mkhtml</application> en flagga med namnet <code>MKHTML_OPTIONS</code>). Alla verktygen har stöd för <option>--help</option> för att lista de flaggor som stöds.</para>
-
- <para>Följande lista förklarar de mest relevanta flaggorna. Se <filename>Makefile.am</filename>-exemplet för ytterligare flaggor. <itemizedlist>
- <listitem>
- <para><option>DOC_MODULE</option> används för att tillhandahålla namnet på paketet som dokumenteras (t.ex. <code>meeper</code> eller <code>libmeep</code>).</para>
- </listitem>
- <listitem>
- <para><option>DOC_SOURCE_DIR</option> används för att ange platsen för källkatalogen där GTK-Doc söker efter din API-dokumentation. Detta kommer vanligen vara <code> DOC_SOURCE_DIR=$(top_srcdir)/src </code> eller en underkatalog till den katalogen.</para>
- </listitem>
-
- <listitem>
- <para><option>HFILE_GLOB</option> och <option>CFILE_GLOB</option> används för beroenden. Varje flagga tar en file-glob (t.ex. <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>). Dokumentationen kommer att byggas om ifall någon av de matchande filerna ändras.</para>
- </listitem>
-
- <listitem>
- <para><option>EXTRA_HFILES</option> låter dig ange extra huvudfiler som ska inkluderas då API-dokumentation eftersöks, vilka inte hittas under <code>DOC_SOURCE_DIR</code> (t.ex. <code> EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>IGNORE_HFILES</option> låter dig ange huvudfiler eller kataloger som ska ignoreras då API-dokumentation eftersöks. Använd basnamnet på filen eller katalogen (t.ex. <code> IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>HTML_IMAGES</option> låter dig ange bildfiler som kommer att kopieras till katalogen <filename>html/</filename> av den genererade dokumentationen. Om din API-dokumentation inkluderar några bilder behöver de läggas till i denna flagga (t.ex. <code> HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>content_files</option> låter dig ange extrafiler som inkluderas av <code>$(DOC_MAIN_SGML_FILE)</code> (t.ex. <code> content_files=running.xml building.xml changes-2.0.xml</code>).</para>
- </listitem>
-
- <listitem>
- <para><option>expand_content_files</option> låter dig ange filer där <emphasis>gtk-doc-förkortningar</emphasis> så som <code>#GtkWidget</code> expanderas (t.ex. <code> expand_content_files=running.xml</code>).</para>
- </listitem>
- </itemizedlist></para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>Integrering med autoconf</title>
-
- <para>Integrering med <application>autoconf</application> är väldigt enkel och inkluderar ett obligatoriskt steg och ett ytterligare valfritt (men rekommenderat) steg. Det första steget är att lägga till <function>GTK_DOC_CHECK</function>-makrot till ditt <filename>configure.ac</filename>-skript. Detta registrerar flera konfigurationsflaggor för att aktivera GTK-Doc och låter dig ställa in standardargument för <application>gtkdocize</application>.</para>
-
- <warning>
- <simpara>Säkerställ att makrot <code>GTK_DOC_CHECK</code> inte är indenterat. Makrot måste inledas på början av raden och får inte börja med blanktecken.</simpara>
- </warning>
-
- <para>Det andra steget är att lägga till <code>AC_CONFIG_MACRO_DIR(m4)</code> till din <filename>configure.ac</filename>. Detta krävs inte men hjälper <application>gtkdocize</application> att automatiskt kopiera makrodefinitionen (t.ex. <filename>gtk-doc.m4</filename>) som innehåller <function>GTK_DOC_CHECK</function>-makrot till ditt projekts makrokatalog. Utan detta kanske GTK_DOC_CHECK-makrot inte hittas och du skulle behöva explicit berätta för <application>aclocal</application>-verktyget var makrodefinitionsfilen kan hittas.</para>
-
- <para>
- <example><title>Minimal integrering med autoconf</title>
- <programlisting>
-# rekommenderat: ställ in m4-katalog
-AC_CONFIG_MACRO_DIR(m4)
-# valfritt: registrera gtk-doc i configure
-GTK_DOC_CHECK([1.28])
-</programlisting>
- </example>
- </para>
-
- <para>Exemplet ovan fungerar, men skulle kräva att alla utvecklare har gtk-doc installerat. Ett bättre sätt är att göra byggande av dokumentationen valfritt på det sätt som visas i nästa exempel: <example>
- <title>Integrering med valfritt gtk-doc-beroende</title>
- <programlisting>
-m4_ifdef([GTK_DOC_CHECK], [
-# rekommenderat: ställ in m4-katalog
-AC_CONFIG_MACRO_DIR(m4)
-# valfritt: registrera gtk-doc i configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-</programlisting>
- </example></para>
-
- <para>Det första argumentet används för att leta efter Gtk-Doc-versionen under konfigurationen. Det andra, valfria, argumentet används av <application>gtkdocize</application>. Makrot <symbol>GTK_DOC_CHECK</symbol> lägger också till flera configure-flaggor:</para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=SÖKVÄG : sökväg till installerad dokumentation</para></listitem>
- <listitem><para>--enable-gtk-doc : använd gtk-doc för att bygga dokumentation [standardvärde=no]</para></listitem>
- <listitem><para>--enable-gtk-doc-html : bygg dokumentation i html-format [standardvärde=yes]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : bygg dokumentation i pdf-format [standardvärde=no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>GTK-Doc är inaktiverat som standard! Kom ihåg att skicka flaggan <option>”--enable-gtk-doc”</option> vid nästa körning av <filename>configure</filename>. Annars kommer förgenererad dokumentation att installeras (vilket är rimligt för användare men inte för utvecklare).</para>
- </important>
-
- <para>Efter att alla ändringar i <filename>configure.ac</filename> är gjorda, uppdatera filen <filename>configure</filename>. Detta kan göras genom att köra om <code>autogen.sh</code>.</para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>Integrering med autogen</title>
-
- <para>De flesta projekt kommer att ha ett <filename>autogen.sh</filename>-skript för att ställa in infrastrukturen för bygget efter utcheckning från ett versionshanteringssystem (så som git eller svn). GTK-Doc kommer med ett skript som heter <application>gtkdocize</application> som kan användas för att kopiera nödvändiga filer som behövs av Gtk-Doc till källkatalogen.</para>
-
- <para>Det bör köras före autoreconf, autoheader, automake eller autoconf.</para>
-
- <para>
- <example><title>Köra gtkdocize från autogen.sh</title>
- <programlisting>
-gtkdocize || exit 1
-</programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Köra gtkdocize villkorligt från autogen.sh</title>
- <programlisting>
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "Inget gtk-doc-stöd funnet. Du kan inte bygga dokumentationen."
-else
- $GTKDOCIZE || exit 1
-fi
-</programlisting>
- </example>
- </para>
-
- <para>När <application>gtkdocize</application> kör kopierar det <filename>gtk-doc.make</filename> till din projektrot (eller den katalog som anges med flaggan <option>--docdir</option>).</para>
-
- <para><application>gtkdocize</application> söker i ditt <filename>configure.ac</filename>-skript efter makrot <function>GTK_DOC_CHECK</function>. Makrot <function>GTK_DOC_CHECK</function> kan användas för att skicka extra argument till skriptet <application>gtkdocize</application>. den andra parametern i <function>GTK_DOC_CHECK</function>-makrot.</para>
-
- <para>Alternativt kan ytterligare argument också skickas till <application>gtkdocize</application> via miljövariabeln <function>GTKDOCIZE_FLAGS</function>, eller genom att ange dem direkt till <application>gtkdocize</application> i <filename>autogen.sh</filename>.</para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Köra GTK-Doc från byggsystemet</title>
-
- <para>Efter de tidigare stegen är det dags att köra bygget. Först måste vi köra om <filename>autogen.sh</filename>. Om detta skript kör configure åt dig, kan du ge det flaggan <option>--enable-gtk-doc</option>. Annars kör manuellt <filename>configure</filename> med denna flagga efteråt.</para>
- <para>Den första körningen av make genererar flera extra filer i doc-katalogerna. De viktiga är <filename><paket>.types</filename>, <filename><paket>-docs.xml</filename> (tidigare .sgml), <filename><paket>-sections.txt</filename>.</para>
- <para>
- <example><title>Att köra dokumentationsbygget</title>
- <programlisting>
-./autogen.sh --enable-gtk-doc
-make
-</programlisting>
- </example>
- </para>
-
- <para>Nu kan du peka din webbläsare till <filename>docs/reference/<paket>/index.html</filename>. Med denna ursprungliga konfiguration kommer du bara se ett väldigt enkelt dokument. Nästa kapitel kommer att lära dig hur du lägger till API-dokumentation till din kod via speciella kommentarsblock. Kapitlet efteråt introducerar <link linkend="metafiles">ytterligare filer</link> och visar hur <link linkend="metafiles_master">huvudmallen</link> redigeras för att lägga till ytterligare kapitel och avsnitt till dina dokumentationsfiler.</para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integrering med CMake-byggsystem</title>
-
- <para>GTK-Doc kommer nu att producera en <filename>GtkDocConfig.cmake</filename>-modul (och motsvarande <filename>GtkDocConfigVersion.cmake</filename>-modul). Detta tillhandahåller ett <literal>gtk_doc_add_module</literal>-kommando som du kan ställa in i din <filename>CMakeLists.txt</filename>-fil.</para>
-
- <para>Det följande exemplet visar hur du använder detta kommando. <example><title>Exempel på användning av GTK-Doc från CMake</title>
- <programlisting>
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Skapa målet doc-libmeep.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Bygg doc-libmeep som standardmålet. Utan detta måste du uttryckligen
-# köra något i stil med `make doc-libmeep` för att bygga dokumentationen.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Installera dokumentationen. (Detta förutsätter att du använder CMake-modulen
-# GNUInstallDirs för att ställa in variabeln CMAKE_INSTALL_DOCDIR korrekt).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integrering med vanliga makefiler eller andra byggsystem</title>
-
- <para>I det fall man inte vill använda automake och därför inte heller <filename>gtk-doc.mak</filename> kommer man att behöva anropa gtkdoc-verktygen i rätt ordning i sina egna makefiler (eller andra byggverktyg).</para>
-
- <para>
- <example><title>Byggsteg för dokumentation</title>
- <programlisting>
-DOC_MODULE=meep
-// källkod har ändrats
-gtkdoc-scan --module=$(DOC_MODULE) <källkodskatalog>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<källkodskatalog>
-// xml-filer har ändrats
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-</programlisting>
- </example>
- </para>
-
- <para>Man kommer att behöva titta i <filename>Makefile.am</filename> och <filename>gtk-doc.mak</filename> för att plocka ut de extra flaggor som behövs.</para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>Integrering med versionshanteringssystem</title>
-
- <para>Som en tumregel är det filerna du redigerar som bör versionshanteras. För typiska projekt är det följande filer: <filename><paket>.types</filename>, <filename><paket>-docs.xml</filename> (tidigare .sgml), <filename><paket>-sections.txt</filename>, <filename>Makefile.am</filename>.</para>
- <para>Filer i katalogerna <filename>xml/</filename> och <filename>html/</filename> bör inte versionshanteras. Detsamma gäller <filename>.stamp</filename>-filerna.</para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>Att dokumentera koden</title>
-
- <para>GTK-Doc använder källkodskommentarer med en speciell syntax för koddokumentation. Vidare så hämtar det information om din projektstruktur från olika källor. Under nästa avsnitt kommer du att hitta information om syntaxen i kommentarerna.</para>
-
- <para>GTK-Doc-detektorn kan hantera majoriteten av C-huvuden bra. I det fall när du får varningar från detektorn som ser ut som ett specialfall, kan du tipsa GTK-Doc att hoppa över dem. <example><title>GTK-Doc-kommentarsblock</title>
- <programlisting>
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-</programlisting>
- </example></para>
-
- <note>
- <title>Begränsningar</title>
- <para>Notera att GTK-Doc har stöd för <code>#ifndef(__GTK_DOC_IGNORE__)</code> men inte <code>#if !defined(__GTK_DOC_IGNORE__)</code> eller andra kombinationer.</para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>Dokumentationskommentarer</title>
-
- <para>En flerradskommentar som börjar med en extra ”*” markerar ett dokumentationsblock som kommer att hanteras av GTK-Doc-verktygen. <example><title>GTK-Doc-kommentarsblock</title>
- <programlisting>
-/**
- * identifierare:
- * dokumentation …
- */
-</programlisting>
- </example></para>
-
- <para>'Identifierare' är en rad med namnet på det objekt som kommentaren är relaterad till. Syntaxen skiljer sig lite beroende på objekt. (TODO lägg till tabell som visar identifierare)</para>
-
- <para>Blocket 'dokumentation' skiljer sig också för varje symboltyp. Symboltyper som får parametrar så som funktioner eller makron har en parameterbeskrivning först, åtföljd av en blankrad (bara en ”*”). Efteråt följer den detaljerade beskrivningen. Alla rader (utanför programlistningar och CDATA-avsnitt) som endast innehåller ” *” (blanksteg-asterisk) konverteras till styckeavgränsare. Om du inte vill ha en styckeavgränsare, ändra till ” * ” (blanksteg-asterisk-blanksteg-blanksteg). Detta är användbart i förformaterad text (kodlistningar).</para>
-
- <tip>
- <para>När du dokumenterar kod, beskriv två aspekter: <itemizedlist>
- <listitem>
- <para>Vad är detta: Namnet på en klass eller en funktion kan ibland vara vilseledande för personer med annan bakgrund.</para>
- </listitem>
- <listitem>
- <para>Vad gör det: Berättar om vanliga användningsfall. Sätter det i relation med det andra API:t.</para>
- </listitem>
- </itemizedlist></para>
- </tip>
-
- <para>En fördel med hypertext framför vanlig text är möjligheten att ha länkar i dokumentet. Att skriva korrekta taggar för en länk kan dock vara tröttsamt. GTK-Doc hjälper då till med att tillhandahålla flera användbara förkortningar. <itemizedlist>
- <listitem>
- <para>Använd funktion() för att referera till funktioner eller makron som tar argument.</para>
- </listitem>
- <listitem>
- <para>Använd @param för att referera till parametrar. Använd också detta när du refererar till parametrar för andra funktioner, relaterade till den som beskrivs.</para>
- </listitem>
- <listitem>
- <para>Använd %konstant för att referera till en konstant, t.ex. %G_TRAVERSE_LEAFS.</para>
- </listitem>
- <listitem>
- <para>Använd #symbol för att referera till andra typer av symboler, t.ex. strukturer eller uppräkningar och makron som inte tar argument.</para>
- </listitem>
- <listitem>
- <para>Använd #Objekt::signal för att referera till en GObject-signal.</para>
- </listitem>
- <listitem>
- <para>Använd #Objekt:egenskap för att referera till en GObject-egenskap.</para>
- </listitem>
- <listitem>
- <para>Använd #Struktur.fält för att referera till ett fält inuti en struktur och #GObjectKlass.foo_bar() för att referera till en virtuell metod.</para>
- </listitem>
- </itemizedlist></para>
-
- <tip>
- <para>Om du behöver använda specialtecken ”<”, ”>”, ”()”, ”@”, ”%” eller ”#” i din dokumentation utan att GTK-Doc ändrar dem kan du använda XML-entiteterna ”&lt;”, ”&gt;”, ”&lpar;”, ”&rpar;”, ”&commat;”, ”&percnt;” respektive ”&num;” eller använda kontrollsekvensen ”\”.</para>
- </tip>
-
- <para>DocBook kan mer än bara länkar. Du kan också ha listor, exempel, rubriker och bilder. Från och med version 1.20, är det föredragna sättet att använda en delmängd av den grundläggande textformateringssyntaxen som kallas <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>. Äldre GTK-Doc-versioner kommer dokumentation som inkluderar markdown att renderas som den är. Till exempel kommer listobjekt att visas som att de börjar med ett bindestreck.</para>
-
- <para>Då markdown numera föredras kan du blanda båda. En begränsning här är att du kan använda docbook-xml inuti markdown, men markdown inuti docbook-xml stöds inte.</para>
-
- <para>I äldre GTK-Doc-versioner var du tvungen, om du ville ha stöd för ytterligare formatering, att aktivera användningen av docbook-XML-taggar inuti dok-kommentarer genom att lägga till <option>--xml-mode</option> (eller <option>--sgml-mode</option>) i variabeln <symbol>MKDB_OPTIONS</symbol> inuti <filename>Makefile.am</filename>.</para>
-
- <para>
- <example><title>GTK-Doc-kommentarsblock som använder Markdown</title>
- <programlisting>
-/**
- * Identifierare:
- *
- * stycke med dokumentation …
- *
- * # Underrubrik #
- *
- * ## Underunderrubrik
- *
- * # Underrubrik med länkankare # {#andra-rubriken}
- *
- * mer dokumentation:
- *
- * - listobjekt 1
- *
- * Stycke inuti listobjekt.
- *
- * - listobjekt 2
- *
- * 1. numrerat listobjekt
- *
- * 2. ytterligare ett numrerat listobjekt
- *
- * Ett annat stycke. [En länk till GNOME:s webbplats](http://www.gnome.org/)
- *
- * 
- *
- * [En länk till rubrikankaret ovan][andra-rubriken]
- *
- * Ett C-exempel:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Vackert!");
- * ]|
- */
-</programlisting>
- </example>
- </para>
-
- <para>Fler exempel på vilka markdown-taggar som stöds hittas i <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">Referensen för GTK+-dokumentationens markdown-syntax</ulink>.</para>
-
- <tip>
- <para>Som redan nämnts är GTK-Doc avsett för att dokumentera publika API:er. Du kan därför inte skriva dokumentation för statiska symboler. Likväl är det bra att kommentera även dessa symboler. Det hjälper andra utvecklare att förstå din kod. Därför rekommenderar vi att du kommenterar dessa med normala kommentarer (utan den andra ”*” på den första raden). Om funktionen vid ett senare tillfälle måste göras publik är allt du behöver göra att lägga till ytterligare en ”*” i kommentarsblocket och infoga symbolnamnet på rätt ställe i avsnittsfilen.</para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>Dokumentationsavsnitt</title>
-
- <para>Varje avsnitt av dokumentation innehåller information om en klass eller en modul. För att introducera komponenten kan man skriva ett avsnittsblock. Den korta beskrivningen används också i innehållsförteckningen. Alla @fälten är valfria.</para>
-
- <para>
- <example><title>Kommentarsblock för avsnitt</title>
- <programlisting>
-/**
- * SECTION:meepapp
- * @short_description: programklassen
- * @title: Meep-programmet
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * Programklassen hanterar …
- */
-</programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<namn></term>
- <listitem>
- <para>Namnet länkar till avsnittsdokumentationen för respektive del i filen <filename><paket>-sections.txt</filename>. Namnet som anges här bör matcha taggen <FILE> i filen <filename><paket>-sections.txt</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>En enradsbeskrivning av avsnittet som senare kommer att visas efter länkar i innehållsförteckningen och lägst upp på avsnittssidan.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>Avsnittstiteln är som standard <namn> från SECTION-deklarationen. Den kan åsidosättas med fältet @title.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>Åsidosätter användningen av titeln som avsnittsidentifierare. För GObjects används <title> som ett section_id och för andra avsnitt är det <MODULE>-<title>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>En lista över symboler som är relaterade till detta avsnitt.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>En informell beskrivning över stabiliteten för detta API. Vi rekommenderar att använda en av dessa termer: <itemizedlist>
- <listitem>
- <para>Stable - Avsikten med ett stabilt gränssnitt är att möjliggöra för tredje parter att utveckla program mot dessa gränssnitt, släppa dem och vara säkra på att de kommer att köra på alla programfixversioner av produkten (efter den i vilken gränssnittet introducerats, och inom samma huvudversion). Även vid en ny huvudversion förväntas inkompatibla ändringar vara få och vara väl motiverade.</para>
- </listitem>
- <listitem>
- <para>Unstable - Instabila gränssnitt är experimentella eller i en övergångsfas. De används typiskt för att ge utomstående utvecklare tidig tillgång till ny eller snabbt föränderlig teknologi, eller för att tillhandahålla provisoriska lösningar för ett problem där en mer generell lösning förutses. Inga påståenden görs om endera källkods- eller binärkompatibilitet från en programfixversion till nästa.</para>
- </listitem>
- <listitem>
- <para>Private - Ett gränssnitt som kan användas inom GNOME-stacken i sig, men som inte dokumenterats för slutanvändare. Sådana funktioner bör endast användas på angivna och dokumenterade sätt.</para>
- </listitem>
- <listitem>
- <para>Internal - ett gränssnitt som är internt för en modul och inte behöver slutanvändardokumentation. Funktioner som är odokumenterade förutsätts vara interna.</para>
- </listitem>
- </itemizedlist></para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para><literal>#include</literal>-filerna som ska visas i avsnittssammanfattningen (en kommaavgränsad lista), vilket åsidosätter det globala värdet från <link linkend="metafiles_sections">avsnittsfilen</link> eller kommandoraden. Detta objekt är valfritt.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>Bilden som ska visas längst upp på referenssidan för detta avsnitt. Detta kommer ofta att vara någon form av diagram för att illustrera det visuella utseendet för en klass eller ett diagram över dess relationer med andra klasser. Detta objekt är valfritt.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>För att undvika onödig omkompilering efter dokumentationsändringar, placera avsnittsdokumentationen i c-källkoden där möjligt.</para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>Dokumentationssymboler</title>
-
- <para>Varje symbol (funktion, makro, struktur, uppräkning, signal och egenskap) är dokumenterad i ett separat block. Blocket placeras bäst intill definitionen av symbolerna så att det är enkelt att hålla dem synkroniserade. Därför dokumenteras funktioner vanligtvis i c-källkoden och makron, strukturer och uppräkningar i huvudfilen.</para>
-
- <sect2><title>Generella taggar</title>
-
- <para>Du kan lägga till versioneringsinformation i alla dokumentationselement för att berätta när ett API introducerats eller blev föråldrat.</para>
-
- <variablelist><title>Versioneringstaggar</title>
- <varlistentry><term>Since:</term>
- <listitem>
- <para>Beskrivning över från och med vilken version av koden som API:t är tillgängligt.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Deprecated:</term>
- <listitem>
- <para>Stycke som betecknar att denna funktion inte bör användas längre. Beskrivningen bör peka läsaren vidare till det nya API:t.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Du kan också lägga till stabilitetsinformation för alla dokumentationselement för att indikera huruvida API-stabilitet är garanterad för dem för alla framtida programfix-versioner av projektet.</para>
-
- <para>Standardvärdet för stabilitetsnivån för alla dokumentations element kan ställas in genom att ange argumentet <option>--default-stability</option> till <application>gtkdoc-mkdb</application> med endera av värdena nedan.</para>
-
- <variablelist><title>Stabilitetstaggar</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>Markera elementet som stabilt. Detta är för publika API:er som är garanterade att hållas stabila i alla framtida programfix-versioner av projektet.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>Markera elementet som instabilt. Detta är för publika API:er som är släppta på förhand innan de blivit stabiliserade.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>Markera element som privat. Detta är avsett för gränssnitt som kan användas av tätt sammankopplade moduler, men inte av godtyckliga tredje parter.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>Generella taggar</title>
- <programlisting>
-/**
- * foo_get_bar:
- * @foo: någon foo
- *
- * Hämtar bar från @foo.
- *
- * Returns: bar från @foo
- *
- * Since: 2.6
- * Deprecated: 2.12: Använd foo_baz_get_bar() istället.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-…
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Noteringar</title>
-
- <para>Dokumentationsblock kan innehålla noteringstaggar. Dessa taggar kommer att renderas som verktygstips som beskriver deras syfte. Taggarna används av gobject-introspection för att generera språkbindningar. En detaljerad lista över vilka taggar som stöds hittas på <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">wikisidan</ulink>.</para>
-
- <example><title>Noteringar</title>
- <programlisting>
-/**
- * foo_get_bar: (notering)
- * @foo: (notering): någon foo
- *
- * Hämtar bar från @foo.
- *
- * Returns: (notering): bar från @foo
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (notering) (an annan notering)
- * (ytterligare en annan notering)
- * @foo: (notering) (en annan notering): någon foo
- *
- * Ställer in bar i @foo.
- */
-</programlisting>
- </example>
- </sect2>
-
- <sect2><title>Kommentarsblock för funktioner</title>
-
- <para>Kom ihåg att: <itemizedlist>
- <listitem>
- <para>Dokumentera huruvida returnerade objekt, listor, strängar, etc. bör frigöras/avrefereras/släppas.</para>
- </listitem>
- <listitem>
- <para>Dokumentera huruvida parametrar tillåts vara NULL och vad som händer om de är NULL.</para>
- </listitem>
- <listitem>
- <para>Nämn intressanta förvillkor och eftervillkor där lämpligt.</para>
- </listitem>
- </itemizedlist></para>
-
- <para>Gtk-doc förutsätter att alla symboler (makron, funktioner) som börjar med ”_” är privata. De behandlas på samma sätt som statiska funktioner.</para>
-
- <example><title>Kommentarsblock för funktioner</title>
- <programlisting>
-/**
- * funktionsnamn:
- * @par1: beskrivning av parameter 1. Dessa kan sträcka sig
- * över mer än en rad.
- * @par2: beskrivning av parameter 2
- * @...: en %NULL-terminerad lista av flera bar
- *
- * Funktionsbeskrivningen ska vara här. Du kan använda @par1 för att
- * referera till parametrar så att de färgmarkeras i utdata. Du kan också
- * använda %konstant för konstanter, funktionsnamn2() för funktioner och
- * #GtkWidget för länkar till andra deklarationer (vilka kan vara dokumenterade
- * på annat håll).
- *
- * Returns: ett heltal.
- *
- * Since: 2.2
- * Deprecated: 2.18: Använd annan_funktion() istället.
- */
-</programlisting>
- </example>
-
- <variablelist><title>Funktions-taggar</title>
- <varlistentry><term>Returns:</term>
- <listitem>
- <para>Stycke som beskriver det returnerade resultatet.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>Om funktionen har variadiska argument bör du använda denna tagg (@Varargs: fungerar också på grund av historiska skäl).</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>Kommentarsblock för egenskaper</title>
-
- <example><title>Kommentarsblock för egenskaper</title>
- <programlisting>
-/**
- * EnKomponent:en-egenskap:
- *
- * Här kan du dokumentera en egenskap.
- */
-g_object_class_install_property (object_class, PROP_EN_EGENSKAP, …);
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Kommentarsblock för signaler</title>
-
- <para>Kom ihåg att: <itemizedlist>
- <listitem>
- <para>Dokumentera när en signal sänds ut och huruvida den sänds ut före eller efter andra signaler.</para>
- </listitem>
- <listitem>
- <para>Dokumentera vad ett program kan göra i signalhanteraren.</para>
- </listitem>
- </itemizedlist></para>
-
- <example><title>Kommentarsblock för signaler</title>
- <programlisting>
-/**
- * FooWidget::foobariserad:
- * @widget: komponenten som erhåller signalen
- * @foo: någon foo
- * @bar: någon bar
- *
- * Signalen ::foobariserad sänds ut varje gång någon försöker att foobarisera @widget.
- */
-foo_signals[FOOBARIZE] =
- g_signal_new ("foobariserad",
- ...
-</programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Kommentarsblock för strukturer</title>
- <example><title>Kommentarsblock för strukturer</title>
- <programlisting>
-/**
- * FooWidget:
- * @bar: någon #gboolean
- *
- * Detta är den bästa komponenten någonsin.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-</programlisting>
- </example>
-
- <para>Använd<code>/*< private >*/</code> före privata strukturfält som du vill gömma. Använd <code>/*< public >*/</code> för det omvända beteendet.</para>
-
- <para>Om det första fältet är ”g_iface”, ”parent_instance” eller ”parent_class” kommer det att anses vara privat automatiskt och behöver inte nämnas i kommentarsblocket.</para>
-
- <para>Kommentarsblock för strukturer kan också användas för GObject och GObjectClass. Det är vanligtvis en bra idé att lägga till ett kommentarsblock för en klass om den har virtuella metoder (då detta är sättet på vilket de kan dokumenteras). För GObject i sig kan man använda den relaterade avsnittsdokumentationen, och ha ett separat block för varje instansstruktur vore användbart om instansen har publika fält. En nackdel här är att det skapar två indexposter med samma namn (strukturen och avsnittet).</para>
-
- </sect2>
-
- <sect2><title>Kommentarsblock för uppräkningar</title>
- <example><title>Kommentarsblock för uppräkningar</title>
- <programlisting>
-/**
- * Something:
- * @SOMETHING_FOO: någonting foo
- * @SOMETHING_BAR: någonting bar
- *
- * Uppräkningsvärden som används för saken, för att specificera saken.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-</programlisting>
- </example>
-
- <para>Använd <code>/*< private >*/</code> före privata uppräkningsvärden som du vill gömma. Använd <code>/*< public >*/</code> för det omvända beteendet.</para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Infogad programdokumentation</title>
- <para>Du kan dokumentera program och deras kommandoradsgränssnitt med infogad dokumentation.</para>
-
- <variablelist>
- <title>Taggar</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>Definierar början av programdokumentationen.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>Definierar en kort beskrivning av programmet. (Valfritt)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>Definierar argumenten, eller en lista av argument som programmet kan ta. (Valfritt)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>Se vidare i manualavsnitt. (Valfritt)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>Argument som skickas vidare till programmet och deras beskrivningar. (Valfritt)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Beskrivning:</term>
- <listitem>
- <para>En längre beskrivning av programmet.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Returns:</term>
- <listitem>
- <para>Ange vilka värden programmet returnerar. (Valfritt)</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Exempel på programdokumentation.</title>
- <example><title>Dokumentationsblock för program</title>
- <programlisting>
-/**
- * PROGRAM:test-program
- * @short_description: Ett testprogram
- * @synopsis: test-program [*FLAGGOR*...] --arg1 *arg* *FIL*
- * @see_also: test(1)
- * @--arg1 *arg*: ställ in arg1 på *arg*
- * @--arg2 *arg*: ställ in arg2 på *arg*
- * @-v, --version: Skriv ut versionsinformation
- * @-h, --help: Skriv ut hjälpmeddelandet
- *
- * En längre beskrivning av programmet.
- *
- * Returns: Noll vid framgång, icke-noll vid fel
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-</programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>Användbara DocBook-taggar</title>
-
- <para>Här är några DocBook-taggar som är användbara när man dokumenterar koden.</para>
-
- <para>För att länka till ett annat avsnitt i GTK-dokumentationen: <informalexample>
- <programlisting>
-<link linkend="glib-Hash-Tables">Hashtabeller</link>
-</programlisting>
- </informalexample> Länkslutet är XGML/XML-id:t för toppnivåobjektet på sidan du vill länka till. För de flesta sidorna är detta för närvarande delen (”gtk”, ”gdk”, ”glib”) och sedan sidans titel (”Hashtabeller”). För komponenter är detta helt enkelt klassnamnet. Blanksteg och understreck konverteras till ”-” för att överensstämma med SGML/XML.</para>
-
- <para>För att referera till en extern funktion, t.ex. en standardfunktion i C: <informalexample>
- <programlisting>
-<function>…</function>
-</programlisting>
- </informalexample></para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>För att inkludera punktlistor: <informalexample>
- <programlisting>
-<itemizedlist>
- <listitem>
- <para>
- …
- </para>
- </listitem>
- <listitem>
- <para>
- …
- </para>
- </listitem>
-</itemizedlist>
-</programlisting>
- </informalexample></para>
-
- <para>För att inkludera en not som skiljer sig från texten: <informalexample>
- <programlisting>
-<note>
- <para>
- Säkerställ att du frigjort data efter användning.
- </para>
-</note>
-</programlisting>
- </informalexample></para>
-
- <para>För att refera till en typ: <informalexample>
- <programlisting>
-<type>unsigned char</type>
-</programlisting>
- </informalexample></para>
-
- <para>För att referera till en extern struktur (som inte beskrivs i GTK-dokumentationen): <informalexample>
- <programlisting>
-<structname>XFontStruct</structname>
-</programlisting>
- </informalexample></para>
-
- <para>För att referera till ett fält för en struktur: <informalexample>
- <programlisting>
-<structfield>len</structfield>
-</programlisting>
- </informalexample></para>
-
- <para>För att referera till ett klassnamn kan vi möjligen använda: <informalexample>
- <programlisting>
-<classname>GtkWidget</classname>
-</programlisting>
- </informalexample> men du kommer troligt att använda #GtkWidget istället (för att automatiskt skapa en länk till GtkWidget-sidan - se <link linkend="documenting_syntax">förkortningarna</link>).</para>
-
- <para>För att betona text: <informalexample>
- <programlisting>
-<emphasis>Detta är viktigt</emphasis>
-</programlisting>
- </informalexample></para>
-
- <para>För filnamn använd: <informalexample>
- <programlisting>
-<filename>/home/användare/dokument</filename>
-</programlisting>
- </informalexample></para>
-
- <para>För att referera till tangenter använd: <informalexample>
- <programlisting>
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-</programlisting>
- </informalexample></para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Fylla i de extra filerna</title>
-
- <para>Det finns ett antal extra filer som behöver underhållas tillsammans med de infogade källkodskommentarerna: <filename><paket>.types</filename>, <filename><paket>-docs.xml</filename> (tidigare .sgml), <filename><paket>-sections.txt</filename>.</para>
-
- <sect1 id="metafiles_types">
- <title>Redigera typfilen</title>
-
- <para>Om ditt bibliotek eller program inkluderar GObject så kommer du att vilja att deras signaler, argument/parametrar och position i hierarkin visas i dokumentationen. Allt du behöver göra är att lista <function>xxx_get_type</function>-funktionerna tillsammans med deras huvudfil i filen <filename><paket>.types</filename>.</para>
-
- <para>
- <example><title>Exempel på filen <paket>.types</title>
- <programlisting>
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-</programlisting>
- </example>
- </para>
-
- <para>Sedan GTK-Doc 1.8 kan <application>gtkdoc-scan</application> generera denna lista åt dig. Lägg bara till ”--rebuild-types” i SCAN_OPTIONS i <filename>Makefile.am</filename>. Om du använder detta tillvägagångssätt bör du inte distribuera typfilen eller versionshantera den.</para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>Redigera huvuddokumentet</title>
-
- <para>GTK-Doc producerar dokumentation i DocBook SGML/XML. När infogade källkodskommentarer behandlas genererar GTK-Doc en dokumentationssida per klass eller modul som en separat fil. Huvuddokumentet inkluderar dem och placerar dem i en ordning.</para>
-
- <para>Även om GTK-Doc skapar en mall för huvuddokumentet åt dig kommer senare körningar inte att röra det igen. Detta innebär att man är fri att strukturera om dokumentationen. Detta inkluderar att gruppera sidor och lägga till extra sidor. GTK-Doc har numera en testsvit där också huvuddokumentet återskapas från grunden. Det är en bra idé att titta på detta då och då för att se om några nya godsaker införts där.</para>
-
- <tip>
- <para>Skapa inte handledningar som extra dokument. Skriv bara extra kapitel. Fördelen med att bädda in handledningen direkt i ditt biblioteks gränssnittsdokumentation är att det är enkelt att länka från handledningen till symboldokumentationen. Inbäddad är det större chans att handledningen blir uppdaterad tillsammans med biblioteket.</para>
- </tip>
-
- <para>Så vilka saker ska ändras i huvuddokumentet? I början är det väldigt lite. Det finns en del platshållare (text i hakparenteser) som du bör ta hand om.</para>
-
- <para>
- <example><title>Huvuddokumentets huvud</title>
- <programlisting>
-<bookinfo>
- <title>MODULNAMN handbok</title>
- <releaseinfo>
- för MODULNAMN [VERSION]
- Den senaste versionen av detta dokument kan hittas på nätet på
- <ulink role="online-location" url="http://[SERVER]/MODULNAMN/index.html">http://[SERVER]/MODULNAMN/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Infoga titel här]</title>
-</programlisting>
- </example>
- </para>
-
- <para>Dessutom finns det ett antal valfria element som skapas i kommenterad form. Du kan granska dessa och aktivera dem enligt dina egna önskemål.</para>
-
- <para>
- <example><title>Valfri del i huvuddokumentet</title>
- <programlisting>
- <!-- aktivera detta om du vill använda gobject introspection-noteringar
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-</programlisting>
- </example>
- </para>
-
- <para>Slutligen behöver du lägga till ett nytt avsnitt när du infogar det. Verktyget <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> kommer att påminna dig om nyligen genererade xml-filer som ännu inte infogats i dokumentationen.</para>
-
- <para>
- <example><title>Inkludera genererade avsnitt</title>
- <programlisting>
- <chapter>
- <title>mitt bibliotek</title>
- <xi:include href="xml/object.xml"/>
- ...
-</programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>Redigera avsnittsfilen</title>
-
- <para>Avsnittsfilen används för att organisera dokumentationsutdata från GTK-Doc. Här kan man ange vilken symbol som hör till vilken modul eller klass och styra synligheten (publik eller privat).</para>
-
- <para>Avsnittsfilen är en vanlig textfil med taggar som avgränsar avsnitt. Blankrader ignoreras och rader som börjar med ett ”#” behandlas som kommentarsrader.</para>
-
- <note>
- <para>Även om taggarna får filen att se ut som xml, är det inte det. Avsluta inte taggar så som <SUBSECTION>.</para>
- </note>
-
- <para>
- <example><title>Inkludera genererade avsnitt</title>
- <programlisting>
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-</programlisting>
- </example>
- </para>
-
- <para>Taggen <FILE> … </FILE> används för att ange filnamnet, utan något suffix. Om man t.ex. använder ”<FILE>gnome-config</FILE>” blir resultatet att avsnittsdeklarationerna matas ut i mallfilen <filename>tmpl/gnome-config.sgml</filename>, som kommer att konverteras till DocBook XML-filen <filename>xml/gnome-config.sgml</filename> eller DocBook XML-filen <filename>xml/gnome-config.xml</filename>. (Namnet på HTML-filen baseras på modulnamnet och avsnittstiteln, för GObject baseras det på klassnamnet för GObjectet konverterat till gemener).</para>
-
- <para>Taggen <TITLE> … </TITLE> används för att ange titeln på avsnittet. Det är bara användbart före mallar skapas initialt (om de används), eftersom titeln som ställs in i avsnittsfilen åsidosätter denna. Vidare är detta föråldrat om man använder SECTIONS-kommentarer i källkoden.</para>
-
- <para>Du kan gruppera objekt i avsnittet genom att använda taggen <SUBSECTION>. För närvarande matas en blankrad ut mellan underavsnitt i sammanfattningsavsnittet. Du kan också använda <SUBSECTION Standard> för standard GObject-deklarationer (t.ex. funktioner så som g_object_get_type och makron som G_OBJECT(), G_IS_OBJECT(), etc.). För närvarande utelämnas dessa ur dokumentationen. Du kan också använda <SUBSECTION Private> för privata deklarationer som inte kommer att matas ut (det är ett bekvämt sätt att undvika varningsmeddelanden om oanvända deklarationer). Om ditt bibliotek innehåller privata typer som du inte vill ska dyka upp i objekthierarkin och i listan över implementerade eller krävda gränssnitt, lägg till dem i ett privat avsnitt. Huruvida du vill placera GObject och GObjectClass-liknande strukturer i publika eller standardavsnitt beror på om de har publika poster (variabler, virtuella metoder).</para>
-
- <para>Du kan också använda <INCLUDE> ... </INCLUDE> för att ange #include-filerna som ska visas i sammanfattningsavsnitten. Den innehåller en kommaavgränsad lista av #include-filer, utan vinkelparenteser. Om du ställer in det utanför några avsnitt kommer det att påverka alla avsnitt tills slutet på filen. Om du ställer in det inom ett avsnitt kommer det bara att påverka det avsnittet.</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>Kontrollera resultatet</title>
-
- <para>En GTK-Doc-körning genererar rapportfiler inuti dokumentationskatalogen. De genererade filerna heter: <filename><paket>-undocumented.txt</filename>, <filename><paket>-undeclared.txt</filename> och <filename><paket>-unused.txt</filename>. Alla är vanliga textfiler och kan visas eller efterbehandlas enkelt.</para>
-
- <para>Filen <filename><paket>-undocumented.txt</filename> inleds med en sammanfattning över hur mycket dokumentation som skrivits. Under det finns två avsnitt avgränsade av blankrader. Det första avsnittet listar odokumenterade eller ofullständiga symboler. Det andra avsnittet gör detsamma för avsnittsdokumentation. Ofullständiga poster är de som har dokumentation, men där en ny parameter har lagts till.</para>
-
- <para>Filen <filename><paket>-undeclared.txt</filename> listar symboler som anges i <filename><paket>-sections.txt</filename> men inte hittas i källkoden. Kontrollera om de har tagits bort eller om de är felstavade.</para>
-
- <para>Filen <filename><paket>-unused.txt</filename> listar symbolnamn där GTK-Doc-detektorn har hittat dokumentation men inte vet var den ska placeras. Detta innebär att symbolen ännu inte har lagts till i filen <filename><package>-sections.txt</filename>.</para>
-
- <tip>
- <para>Aktivera eller lägg till raden <option>TESTS=$(GTKDOC_CHECK)</option> i Makefile.am. Om åtminstone GTK-Doc 1.9 finns installerat kommer detta att köra rimlighetskontroller under körning av <command>make check</command>.</para>
- </tip>
-
- <para>Man kan också titta på filerna som producerats av källkodsdetektorn: <filename><paket>-decl-list.txt</filename> och <filename><paket>-decl.txt</filename>. Den första kan jämföras med avsnittsfilen om den underhålls manuellt. Den andra listar alla deklarationer från huvudena. Om en symbol saknas bör man kontrollera om denna filen innehåller den.</para>
-
- <para>Om projektet är GObject-baserat kan man också titta på filerna som producerats av objekt-detektorn: <filename><paket>.args.txt</filename>, <filename><paket>.hierarchy.txt</filename>, <filename><paket>.interfaces.txt</filename>, <filename><paket>.prerequisites.txt</filename> och <filename><paket>.signals.txt</filename>. Om det saknas symboler i någon av dem kan man be GTK-Doc att bibehålla de temporära detektorfilerna för vidare analys, genom att köra det som <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.</para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernisera dokumentationen</title>
-
- <para>GTK-Doc har funnits ett tag. I detta avsnitt listar vi nya funktioner tillsammans med vilken version de gjordes tillgängliga.</para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>När man använder xml istället för sgml, kan man faktiskt kalla huvuddokumentet <filename><paket>-docs.xml</filename>.</para>
-
- <para>Denna version har stöd för <option>SCAN_OPTIONS=--rebuild-sections</option> i <filename>Makefile.am</filename>. När detta är aktiverat kommer <filename><paket>-sections.txt</filename> att autogenereras och kan tas bort från versionshanteringssystemet. Detta fungerar bra för projekt som har en väldigt standardiserad struktur (t.ex. kommer varje .{c,h}-par att skapa ett nytt avsnitt). Om man organiserar ett projekt likt detta kommer den manuella uppdateringen av en avsnittsfil att vara så enkelt som att köra <code>meld <paket>-decl-list.txt <paket>-sections.txt</code>.</para>
-
- <para>Redan version 1.8 introducerade syntaxen för avsnittsdokumentation i källkoden istället för separata filer under <filename class="directory">tmpl</filename>. Denna version lägger till flaggor för att kunna ställa om hela dokumentationsmodulen till att inte använda det extra tmpl-byggsteget alls, genom att använda <option>--flavour no-tmpl</option> i <filename>configure.ac</filename>. Om du inte har <filename class="directory">tmpl</filename> incheckat i ditt versionshanteringssystem just nu och inte har gått över än bara lägg till flaggan i <filename>configure.ac</filename> så är du klar.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>Denna version har stöd för <option>SCAN_OPTIONS=--rebuild-types</option> i <filename>Makefile.am</filename>. När det är aktiverat kommer <filename><package>.types</filename> att autogenereras och kan tas bort från versionshanteringssystemet. När denna funktion används är det viktigt att också ställa in <varname>IGNORE_HFILES</varname> i <filename>Makefile.am</filename> för kod som bara byggs ibland.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>Denna version har stöd för ett nytt verktyg som heter gtkdoc-check. Detta verktyg kan köra en uppsättning kontroller på din dokumentation. Det aktiveras genom att lägga till dessa raderna i slutet av <filename>Makefile.am</filename>. <example><title>Aktivera gtkdoc-check</title>
- <programlisting>
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-</programlisting>
- </example></para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>Version 1.18 införde inledande stöd för markdown. Att använda markdown i dokumentationskommentarer är mindre påträngande än att skriva docbook xml. Denna version förbättrar detta väsentligt och lägger till många fler stilar. Avsnittet som beskriver <link linkend="documenting_syntax">kommentarsyntax</link> finnas alla detaljer.</para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>Makefilerna som skeppas med denna version genererar en entitetsfil vid namn <filename>xml/gtkdocentities.ent</filename> som innehåller entiteter för t.ex. package_name och package_version. Du kan använda detta för att t.ex. i filen main xml undvika att hårdkoda versionsnumret. Nedan finns ett exempel som visar hur entitetsfilen inkluderas i huvudmallen och hur entiteterna används. Entiteterna kan också användas i alla genererade filer, GTK-Doc kommer att använda samma xml-huvud i genererade xml-filer. <example><title>Att använda förgenererade entiteter</title>
- <programlisting>
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; handbok</title>
- <releaseinfo>
- för &package_string;.
- Den senaste versionen av detta dokument kan hittas på nätet på
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-</programlisting>
- </example></para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Dokumentera andra gränssnitt</title>
-
- <para>Så här långt har vi använt GTK-Doc för att dokumentera API:t för koden. Följande avsnitt innehåller förslag om hur verktyget kan användas för att också dokumentera andra gränssnitt.</para>
-
- <sect1 id="commandline-interfaces">
- <title>Kommandoradsflaggor och mansidor</title>
-
- <para>Då man också kan generera mansidor för ett docbook-refentry, låter det som en bra idé att använda det för detta ändamål. På detta sättet kommer gränssnittet att vara en del av referensen och man får mansidan gratis.</para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Dokumentera verktyget</title>
-
- <para>Skapa en refentry-fil per verktyg. Om du följer <link linkend="settingup_docfiles">vårt exempel</link> borde vi kalla det <filename>meep/docs/reference/meeper/meep.xml</filename>. För xml-taggarna bör detta användas och man kan studera den genererade filen i xml-underkatalogen så väl som exempel i glib.</para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Lägga till den extra configure-kontrollen</title>
-
- <para>
- <example><title>Lägga till extra configure-kontroller</title>
- <programlisting>
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [omgenerera mansidor från Docbook [standardvärde=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-</programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Lägga till de extra makefilsreglerna</title>
-
- <para>
- <example><title>Lägga till extra configure-kontroller</title>
- <programlisting>
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-</programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>DBus-gränssnitt</title>
-
- <para>(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)</para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Frågor och svar</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>Fråga</segtitle>
- <segtitle>Svar</segtitle>
- <seglistitem>
- <seg>Ingen klasshierarki.</seg>
- <seg>Objektens <function>xxx_get_type()</function>-funktion har inte matats in i filen <filename><paket>.types</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Fortfarande ingen klasshierarki.</seg>
- <seg>Saknat eller fel namn i filen <filename><paket>-sections.txt</filename> (se <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">förklaring</ulink>).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Förbannat, jag har fortfarande ingen klasshierarki.</seg>
- <seg>Är objektnamnet (namnet på instansstrukturen, t.ex. <type>GtkWidget</type>) del av det normala avsnittet (stoppa inte detta i underavsnitt så som Standard eller Private).</seg>
- </seglistitem>
- <seglistitem>
- <seg>Inget symbolindex.</seg>
- <seg>Innehåller <filename><paket>-docs.{xml,sgml}</filename> ett index som inkluderar det genererade indexet med xi:include?</seg>
- </seglistitem>
- <seglistitem>
- <seg>Symboler är inte länkade till deras dokumentationsavsnitt.</seg>
- <seg>Använder dokumentationskommentaren korrekta taggar (har du lagt till #, % eller ())? Kontrollera om gtkdoc-fixxref varnar om oupplösbara korsreferenser.</seg>
- </seglistitem>
- <seglistitem>
- <seg>En ny klass dyker inte upp i dokumentationen.</seg>
- <seg>Är den nya sidan inkluderad med xi:include från <filename><package>-docs.{xml,sgml}</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>En ny symbol dyker inte upp i dokumentationen.</seg>
- <seg>Är dokumentationskommentaren korrekt formaterad. Leta efter stavfel i början av kommentaren. Kontrollera om gtkdoc-fixxref varnar om oupplösbara korsreferenser. Kontrollera om symbolen finns korrekt listad i <filename><paket>-sections.txt</filename> i ett publikt avsnitt.</seg>
- </seglistitem>
- <seglistitem>
- <seg>En typ saknas från klasshierarkin.</seg>
- <seg>Om typen finns listad i <filename><paket>.hierarchy</filename> men inte i <filename>xml/tree_index.sgml</filename>, dubbelkolla då att typen finns korrekt placerad i <filename><paket>-sections.txt</filename>. Om typinstansen (t.ex. <type>GtkWidget</type>) inte visas eller är markerad privat kommer den inte att visas.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Jag får foldoc-länkar för alla gobject-noteringar.</seg>
- <seg>Kontrollera att <filename>xml/annotation-glossary.xml</filename> är inkluderad med xi:include från <filename><package>-docs.{xml,sgml}</filename>.</seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parameter beskriven i kommentarsblock i källkoden men existerar inte</seg>
- <seg>Kontrollera om prototypen i huvudet har andra parameternamn än i källkoden.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>multipla ”ID:n” för begränsat länkslut: XYZ</seg>
- <seg>Symbolen XYZ förekommer två gånger i filen <filename><paket>-sections.txt</filename>.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Elementtypnamn i namnrymd ”” påträffat i para, men ingen mall matchar.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Verktyg relaterade till gtk-doc</title>
-
- <para>GtkDocPlugin - en insticksmodul för <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>-integrering som lägger till API-dokumentation till en trac-webbplats och integrerar med trac-sökningen.</para>
- <para>Gtkdoc-depscan - ett verktyg (del av gtk-doc) för att kontrollera använda API mot since-taggar i API:t för att avgöra minsta version som krävs.</para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>Version 1.1, mars 2000</releaseinfo>
- <copyright><year>2000</year><holder>Free Software Foundation, Inc.</holder></copyright>
- <legalnotice id="fdl-legalnotice">
- <para><address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>. Alla är tillåtna kopiera och distribuera ordagranna kopior av detta licensdokument, men att ändra det är ej tillåtet.</para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. BAKGRUND</title>
- <para>Syftet med denna licens är att göra en handbok, bok, eller annat praktiskt och användbart dokument <quote>fritt</quote> som i frihet: att försäkra var och en den faktiska friheten att kopiera och sprida det vidare, med eller utan förändringar, antingen kommersiellt eller ideellt. Sekundärt bevarar denna licens ett sätt för författaren och förläggaren att få ära för deras arbete utan att de anses vara ansvariga för förändringar gjorda av andra.</para>
-
- <para>Denna Licens är en sorts <quote>copyleft</quote>, vilket betyder att derivativa verk av detta dokument själva måste vara fria på samma sätt. Den kompletterar GNU General Public License, som är en copyleft-licens utformad för fri programvara.</para>
-
- <para>Vi har utformat denna licens för att den skall användas för handböcker till fri programvara, eftersom fri programvara behöver fri dokumentation: ett fritt program bör ha en handbok som erbjuder samma friheter som programmet gör. Men denna licens är inte begränsad till programvaruhandböcker; den kan användas för vilket textverk som helst oavsett ämne eller huruvida det är en utgiven, tryckt bok. Vi rekommenderar denna licens huvudsakligen för alla verk vars syfte är instruktion eller referens.</para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. TILLÄMPNINGSOMRÅDE OCH DEFINITIONER</title>
- <para id="fdl-document">Denna licens [det engelska originalet] gäller för varje handbok eller annat verk, oavsett uttrycksform, som innehåller ett meddelande där upphovsrättsinnehavaren stadgat att verket kan spridas enligt villkoren i GNU Free Documentation License. Ett sådant meddelande ger en internationell frihet utan krav på ersättning och utan tidsbegränsning att använda verket under villkoren i denna licens [det engelska originalet]. <quote>Dokument</quote> nedan syftar på godtycklig handbok eller verk. Var och en är licenstagare och benämns som <quote>du</quote>.</para>
-
- <para id="fdl-modified">En <quote>förändrad version</quote> av dokumentet avser varje verk som innehåller dokumentet eller en del av det, antingen ordagranna kopior, eller med ändringar och/eller översatt till ett annat språk.</para>
-
- <para id="fdl-secondary">Ett <quote>sekundärt avsnitt</quote> är en märkt bilaga eller förord till <link linkend="fdl-document">dokumentet</link> som exklusivt behandlar förhållandet mellan dokumentets förläggare eller författare och dokumentets huvudsakliga ämne (eller till relaterade ämnen) och som inte innehåller något som direkt faller under det huvudsakliga ämnet. (Således, om dokumentet delvis är en lärobok i matematik så får ett sekundärt avsnitt inte förklara någon matematik.) Förhållandet kan vara en historisk koppling till ämnet eller något relaterat, eller en juridisk, kommersiell, filosofisk, etisk eller politisk ställning till det.</para>
-
- <para id="fdl-invariant">De <quote>oföränderliga avsnitten</quote> är <link linkend="fdl-secondary">sekundära avsnitt</link> vars titlar är angivna som oföränderliga avsnitt i meddelandet som stadgar att <link linkend="fdl-document">dokumentet</link> är utgivet under denna licens [det engelska originalet].</para>
-
- <para id="fdl-cover-texts"><quote>Omslagstexterna</quote> är speciella korta ordföljder som är listade som framsidestexter eller baksidestexter i meddelandet som stadgar att <link linkend="fdl-document">dokumentet</link> är utgivet under denna licens [det engelska originalet].</para>
-
- <para id="fdl-transparent">En <quote>transparent</quote> kopia av <link linkend="fdl-document">dokumentet</link> är en maskinläsbar kopia, representerad i ett format vars specifikation finns tillgänglig för allmänheten, som lämpar sig för att revidera dokumentet på ett enkelt sätt med generella textredigeringsprogram eller (för pixelbaserade bilder) generella grafikprogram eller (för ritningar) något väl tillgängligt ritprogram, och som är passande som indata till textformaterare eller för automatisk konvertering till en mängd format som passar som indata till textformaterare. En kopia i ett för övrigt transparent filformat vars markeringar, eller avsaknad av markeringar, har ordnats för att hindra eller motverka att vidare förändring vidtas av läsare är inte transparent. En kopia som inte är <quote>transparent</quote> kallas <quote>opak</quote>.</para>
-
- <para>Exempel på passande format för transparenta kopior innefattar ren ASCII utan markeringar, Texinfo indataformat, LaTeX indataformat, SGML eller XML som använder en publikt tillgänglig DTD, och standardenlig HTML, PostScript eller PDF utformat för mänsklig förändring. Opaka format innefattar Postscript, PDF, leverantörsspecifika format som bara kan läsas och editeras med leverantörsspecifika ordbehandlare, SGML eller XML för vilket DTD och/eller verktyg för behandling inte finns allmänt tillgängliga, och den maskingenererade HTML som produceras av vissa ordbehandlare enbart avsett som utdata.</para>
-
- <para id="fdl-title-page"><quote>Titelsidan</quote> innebär, för en tryckt bok, titelsidan själv, och sådana därpå följande sidor som krävs för att göra det material som enligt denna licens skall synas på titelsidan läsbart. För verk i sådana format som inte har någon egentlig titelsida, avses med <quote>titelsida</quote> den text som är närmast den mest framstående förekomsten av verkets titel, föregående den huvudsakliga textmassan.</para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. ORDAGRANN KOPIERING</title>
- <para>Du äger kopiera och sprida <link linkend="fdl-document">dokumentet</link> på valfritt medium, antingen kommersiellt eller ideellt, förutsatt att denna licens [det engelska originalet], upphovsrättsklausul, och meddelandet som stadgar att GNU Free Documentation License gäller för dokumentet finns med på alla kopior, och att du inte lägger till några som helst andra villkor än de som ingår i denna licens. Du äger inte vidta tekniska åtgärder för att begränsa eller kontrollera läsande eller vidare kopiering av de kopior du skapar eller sprider. Dock äger du ta emot kompensation i utbyte mot kopior. Om du sprider tillräckligt många kopior måste du också följa villkoren i <link linkend="fdl-section3">paragraf 3</link>.</para>
-
- <para>Du äger också låna ut kopior, under samma villkor som ovan, och du äger visa kopior offentligt.</para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. OMFATTANDE KOPIERING</title>
- <para>Om du publicerar tryckta kopior (eller kopior i medier som normalt har tryckta omslag) av <link linkend="fdl-document">dokumentet</link>, i en upplaga överstigande 100 exemplar, och dokumentets licensmeddelande kräver <link linkend="fdl-cover-texts">omslagstexter</link>, så måste du förse kopiorna med omslag som, klart och tydligt, visar alla omslagstexter: framsidestexter på framsidan och baksidestexter på baksidan. Båda omslagen måste klart och tydligt identifiera dig som utgivare av dessa kopior. Framsidan måste presentera dokumentets hela titel, med alla ord i titeln lika framträdande och synliga. Du äger lägga till ytterligare stoff på omslagen. Kopiering med förändringar gjorda bara på omslaget, så länge som de bevarar <link linkend="fdl-document">dokumentets</link> titel och i övrigt uppfyller dessa krav kan anses vara ordagrann kopiering i andra avseenden.</para>
-
- <para>Om de obligatoriska texterna för något omslag är för omfattande för att rymmas i läsbart skick skall du placera de första (så många som får plats) på det egentliga omslaget, och fortsätta med resten på de direkt intilliggande sidorna.</para>
-
- <para>Om du publicerar <link linkend="fdl-transparent">opaka</link> kopior av <link linkend="fdl-document">dokumentet</link> i upplagor om mer än 100, måste du antingen bifoga en maskinläsbar <link linkend="fdl-transparent">transparent</link> kopia med varje opak kopia, eller ange i eller med varje opak kopia en nätverksadress som är tillgänglig för den allmänna nätverksanvändande massan där man, med öppet standardiserade protokoll, anonymt och utan kostnad kan ladda ner en komplett transparent kopia av dokumentet, utan extra material. Om du väljer det senare alternativet, måste du vidta skäliga åtgärder, när du börjar sprida opaka kopior i kvantitet, för att denna transparenta kopia skall förbli tillgänglig på angivna platsen till åtminstone ett år efter den sista gången du spred en opak kopia (direkt eller via ombud eller återförsäljare) av den utgåvan till allmänheten.</para>
-
- <para>Det är önskvärt, men inte ett krav, att du kontaktar författarna till <link linkend="fdl-document">dokumentet</link> i god tid innan du sprider något större antal kopior, för att ge dem en chans att förse dig med en uppdaterad version av dokumentet.</para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. FÖRÄNDRINGAR</title>
- <para>Du äger kopiera och sprida en <link linkend="fdl-modified">förändrad version</link> av <link linkend="fdl-document">dokumentet</link> under de villkor som beskrivs i paragraf <link linkend="fdl-section2">2</link> och <link linkend="fdl-section3">3</link> av GNU Free Documentation License, förutsatt att du släpper den förändrade versionen under exakt denna licens, och att den förändrade versionen antar dokumentets roll, och således medger spridning och förändring av den förändrade versionen till envar som erhåller en kopia av den. Utöver detta måste du göra följande med den ändrade versionen:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>På <link linkend="fdl-title-page">titelsidan</link> (och omslagen om det finns några) använda en titel skild från den som [original]<link linkend="fdl-document">dokumentet</link> har, och skild från tidigare versioners titel (som skall, om det finns några, finnas listade i historikavsnittet i dokumentet). Du äger använda samma titel som det föregående dokumentet om den ursprungliga utgivaren ger sitt tillstånd.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>Lista på <link linkend="fdl-title-page">titelsidan</link>, som författare, en eller flera personer eller juridiska personer som ansvarat för förändringarna i den <link linkend="fdl-modified">förändrade versionen</link>, tillsammans med minst fem av de huvudsakliga författarna av <link linkend="fdl-document">dokumentet</link> (alla dess huvudsakliga författare, om det har mindre än fem).</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>Ange namnet på utgivaren av den <link linkend="fdl-modified">förändrade versionen</link>, som utgivare, på <link linkend="fdl-title-page">titelsidan</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>Bibehålla <link linkend="fdl-document">dokumentets</link> alla upphovsrättsklausuler.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>Lägga till en upphovsrättsklausul för dina förändringar angränsande till de andra upphovsrättsklausulerna.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>Direkt efter upphovsrättsklausulerna innefatta ett meddelande som ger allmänheten tillstånd att använda den <link linkend="fdl-modified">förändrade versionen</link> under villkoren i denna licens [det engelska originalet] i den form som visas i Tillägg nedan.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>I meddelandet om licensen bevara den fullständiga listan över <link linkend="fdl-invariant">oföränderliga avsnitt</link> och obligatoriska <link linkend="fdl-cover-texts">omslagstexter</link> som finns i <link linkend="fdl-document">dokumentets</link> meddelande om licensen.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>Inkludera en oförändrad kopia av denna licens [Det är den engelska originalversionen som avses].</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>Bevara avsnittet med titeln <quote>historik</quote> (History), bevara dess titel och lägg i avsnittet till en post med åtminstone titeln, året, nya författare och utgivaren av den <link linkend="fdl-modified">förändrade versionen</link> så som angivet på <link linkend="fdl-title-page">titelsidan</link>. Om det inte finns något avsnitt med titeln <quote>historik</quote> (History) i <link linkend="fdl-document">dokumentet</link> så skapa en med titeln, året, författare och utgivaren av dokumentet så som det står på [original]dokumentets titelsida. Lägg sedan till en post som beskriver den förändrade versionen så som beskrivits ovan.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>Bevara den nätverksadress, om det finns någon, angiven i <link linkend="fdl-document">dokumentet</link> till den allmänt tillgängliga <link linkend="fdl-transparent">transparenta</link> kopian av dokumentet, och likaså nätverksadresserna till de föregående versioner som dokumentet baseras på. Dessa får placeras i avsnittet <quote>historik</quote> (History). Du äger utelämna en nätverksadress för ett verk som är publicerat mer än fyra år före dokumentet självt, eller om den ursprunglige utgivaren vars verk nätverksadressen hänvisar till ger sitt tillstånd.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>För alla avsnitt med titlarna <quote>tillkännagivanden</quote> (Acknowledgements) eller <quote>dedikationer</quote> (Dedications), bevara titeln på avsnittet, och bevara allt innehåll och prägel på alla tillkännagivanden och/eller dedikationer gjorda av varje bidragsgivare.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>Bevara alla <link linkend="fdl-invariant">oföränderliga avsnitt</link> i <link linkend="fdl-document">dokumentet</link> oförändrade till text och titel. Avsnittsnummer eller motsvarande anses inte tillhöra avsnittets titel.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>Radera varje avsnitt med titeln <quote>endossering</quote> (Endorsements). Ett sådant avsnitt får inte inkluderas i en <link linkend="fdl-modified">förändrad version</link>.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>Inte byta titel på något existerande avsnitt så att det blir <quote>endossering</quote> (Endorsements) eller så att titeln kan förväxlas med något <link linkend="fdl-invariant">oföränderligt avsnitt</link>.</para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>Om den <link linkend="fdl-modified">förändrade versionen</link> innehåller nya framsidestexter eller bilagor som är att anses som <link linkend="fdl-secondary">sekundära avsnitt</link> och inte innehåller något material kopierat från dokumentet, så äger du, om du vill, benämna några eller samtliga av dessa som oföränderliga. För att göra detta, lägg deras titlar till listan över <link linkend="fdl-invariant">oföränderliga avsnitt</link> i den förändrade versionens licensmeddelande. Dessa titlar måste vara skilda från alla andra avsnitts titlar.</para>
-
- <para>Du äger lägga till ett avsnitt med titeln <quote>endossering</quote> (Endorsements), förutsatt att det inte innehåller något annat än endosseringar för din <link linkend="fdl-modified">förändrade version</link> från olika aktörer -- till exempel, meddelanden om utförd korrekturläsning eller att texten har godkänts av en organisation som en officiell definition av en standard.</para>
-
- <para>Du äger lägga till ett textavsnitt på upp till fem ord som <link linkend="fdl-cover-texts">framsidestext</link>, och ett textavsnitt på upp till 25 ord som <link linkend="fdl-cover-texts">baksidestext</link> i listan över <link linkend="fdl-cover-texts">omslagstexter</link> i den <link linkend="fdl-modified">förändrade versionen</link>. Bara ett textavsnitt med framsidestexter och ett med baksidestexter får läggas till av (eller genom försorg av) en enda juridisk person. Om <link linkend="fdl-document">dokumentet</link> redan innehåller en omslagstext för något av omslagen, tidigare tillagd av dig eller genom försorg av samma juridiska person som du företräder, äger du inte lägga till en till, men du äger ändra den gamla med tillstånd från den tidigare utgivaren som lade till den förra.</para>
-
- <para>Författaren (författarna) och utgivaren (utgivarna) av <link linkend="fdl-document">dokumentet</link> ger inte via denna licens sitt tillstånd att använda sina namn för publicitet eller för att lägga till eller antyda endossering av någon <link linkend="fdl-modified">förändrad version</link>.</para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. KOMBINERA DOKUMENT</title>
- <para>Du äger kombinera <link linkend="fdl-document">dokumentet</link> med andra dokument som är utgivna under denna licens, under de villkor som definieras i <link linkend="fdl-section4">paragraf 4</link> av GNU Free Documentation License för förändrade versioner, förutsatt att du, i det kombinerade dokumentet, innefattar alla <link linkend="fdl-invariant">oföränderliga avsnitt</link> från originaldokumenten, omodifierade, och listar dem som oföränderliga avsnitt i ditt kombinerade verk i dess licensklausul, och att du bevarar alla deras garantiavsägelseklausuler.</para>
-
- <para>Det kombinerade verket behöver bara innehålla en enstaka kopia av denna licens [engelska originalversionen], och flera identiska <link linkend="fdl-invariant">oföränderliga stycken</link> kan ersättas med en kopia. Om det finns flera oföränderliga stycken med samma namn men olika innehåll, se till att titeln på varje sådant avsnitt är unik genom att i slutet på den, inom parentes, lägga till namnet på den ursprunglige författaren eller utgivaren av det avsnittet om dessa är kända, annars ett unikt nummer. Gör samma justeringar av titlarna i listan över oföränderliga avsnitt i licensklausulen i det kombinerade verket.</para>
-
- <para>I det kombinerade verket måste du kombinera alla avsnitt med titlarna <quote>historik</quote> (History) i de ursprungliga dokumenten, till ett avsnitt med titeln <quote>historik</quote> (History); på samma sätt skall alla avsnitt med titlarna <quote>tillkännagivanden</quote> (Acknowledgements), alla avsnitt med titlarna <quote>dedikationer</quote> (Dedications) kombineras. Du måste ta bort alla avsnitt med titlarna <quote>endossering</quote> (Endorsements).</para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. SAMLINGAR AV DOKUMENT</title>
- <para>Du äger skapa en samling bestående av <link linkend="fdl-document">dokumentet</link> och andra dokument som är släppta under GNU Free Documentation License, och ersätta individuella kopior i dokumenten av denna licens med en enda kopia [av den engelska originalversionen] som inkluderas i samlingen, förutsatt att du följer villkoren för ordagrann kopiering i denna licens för varje inkluderat dokument i alla andra avseenden.</para>
-
- <para>Du äger lyfta ut ett dokument från en sådan samling, och sprida det enskilt under GNU Free Documentation License, förutsatt att du lägger till en kopia av denna licens [den engelska originalversionen] i det utlyfta dokumentet, och följer villkoren för ordagrann kopiering i denna licens för det utlyfta dokumentet i alla andra avseenden.</para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. SAMMANSLAGNING MED OBEROENDE VERK</title>
- <para>En samling av <link linkend="fdl-document">dokumentet</link> eller av dess derivat med andra separata och oberoende dokument eller verk, på eller i en lagringsvolym eller ett spridningsmedium, kallas för en <quote>sammanslagning</quote> om den sammanslagna upphovsrätten inte används för att begränsa samlingens användares rättigheter som de enskilda dokumenten medger. När dokumentet ingår i en sådan sammanslagning, gäller inte denna licens de andra verken i samlingen som inte själva är deriverat av dokumentet. Om kravet på <link linkend="fdl-cover-texts">omslagstexter</link> enligt <link linkend="fdl-section3">paragraf 3</link> är tillämpligt på dessa kopior av dokumentet, så kan dokumentets omslagstexter, om dokumentet utgör mindre än en fjärdedel av hela samlingen, placeras på det omslag som omger dokumentet inuti samlingen, eller den elektroniska motsvarigheten till omslag om dokumentet är i elektronisk form. Annars måste de synas på det omslag som omger hela samlingen.</para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. ÖVERSÄTTNING</title>
- <para>Översättning anses vara en sorts förändring, så du äger sprida översättningar av <link linkend="fdl-document">dokumentet</link> enligt de villkor som sätts i <link linkend="fdl-section4">paragraf 4</link>. <link linkend="fdl-invariant">Oföränderliga avsnitt</link> som ersätts med översättningar kräver tillstånd från deras upphovsrättsinnehavare, men du äger inkludera översättningar av alla eller vissa av dessa oföränderliga avsnitt tillsammans med originalversionerna av dessa oföränderliga avsnitt. Du äger inkludera en översättning av denna licens, och alla licensklausuler i dokumentet, och alla garantiavsägelser, förutsatt att du också innefattar den engelska originalversionen av denna licens och originalversionerna av dessa klausuler. Skulle det finnas skillnader mellan översättningen och originalversionen av denna licens eller någon klausul så gäller originalversionen.</para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. UPPHÖRANDE</title>
- <para>Du äger inte kopiera, förändra, omlicensiera eller sprida <link linkend="fdl-document">dokumentet</link> annat än enligt villkoren i GNU Free Documentation License. Alla övriga försök att kopiera, modifiera, omlicensiera, eller sprida dokumentet är ogiltiga och kommer automatiskt medföra att du förlorar dina rättigheter enligt denna licens. Tredje man som har mottagit kopior eller rättigheter från dig enligt dessa licensvillkor kommer dock inte att förlora sina rättigheter så länge de följer licensvillkoren.</para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FRAMTIDA VERSIONER AV DENNA LICENS</title>
- <para><ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> kan publicera nya, reviderade versioner av GNU Free Documentation License då och då. Sådana nya versioner kommer att vara likadana i andemening som den nuvarande versionen, men kan skilja i detalj för att behandla nya problem eller angelägenheter. Se <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
-
- <para>Varje version av licensen ges ett unikt versionsnummer. Om <link linkend="fdl-document">dokumentet</link> stadgar att en specifik numrerad version av denna licens <quote>eller valfri senare version</quote> gäller för det, så äger du rätten att följa villkoren enligt antingen den angivna versionen eller vilken senare version som helst som publicerats (inte som utkast) av Free Software Foundation. Om dokumentet inte anger en version av denna licens, äger du välja vilken version som helst som publicerats (inte som utkast) av Free Software Foundation.</para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>TILLÄGG</title>
- <para>För att använda GNU Free Documentation License för ett dokument du har skrivit, inkludera en kopia av licensen [det engelska originalet] i dokumentet och placera följande copyrightklausul omedelbart efter titelsidan:</para>
-
- <blockquote>
- <para>Copyright © YEAR YOUR NAME.</para>
- <para>Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST, and with the <link linkend="fdl-cover-texts">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>.</para>
- </blockquote>
-
- <para>Om du inte har några <link linkend="fdl-invariant">oföränderliga avsnitt</link>, skriv <quote>with no Invariant Sections</quote> istället för att ange vilka som är oföränderliga. Om du inte har några <link linkend="fdl-cover-texts">framsidestexter</link>, skriv <quote>no Front-Cover Texts</quote> istället för <quote>Front-Cover Texts being LIST</quote>; såväl som för <link linkend="fdl-cover-texts">baksidestexter</link>.</para>
-
- <para>Om ditt dokument innehåller icke-triviala exempel med programkod, så rekommenderar vi att du släpper dessa exempel parallellt under en, av dig vald, fri programvarulicens, som till exempel <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</ulink>, för att möjliggöra deras användning i fri programvara.</para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
# Swedish translation of gtk-doc.
-# Copyright © 2009-2018 Free Software Foundation, Inc.
+# Copyright © 2009-2019 Free Software Foundation, Inc.
# This file is distributed under the same license as the gtk-doc package.
# Daniel Nylander <po@danielnylander.se>, 2009.
# Sebastian Rasmussen <sebras@gmail.com>, 2016.
-# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2017, 2018.
+# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2017, 2018, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: gtk-doc master\n"
-"POT-Creation-Date: 2018-10-03 08:17+0000\n"
-"PO-Revision-Date: 2018-11-24 22:38+0100\n"
+"POT-Creation-Date: 2019-08-15 19:15+0000\n"
+"PO-Revision-Date: 2019-08-18 22:15+0200\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.2\n"
+"X-Generator: Poedit 2.2.3\n"
#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
msgctxt "_"
#. (itstool) path: bookinfo/copyright
#: C/index.docbook:52
-msgid "<year>2007-2015</year> <holder>Stefan Sauer (Kost)</holder>"
-msgstr "<year>2007-2015</year> <holder>Stefan Sauer (Kost)</holder>"
+#| msgid "<year>2007-2015</year> <holder>Stefan Sauer (Kost)</holder>"
+msgid "<year>2007-2019</year> <holder>Stefan Sauer (Kost)</holder>"
+msgstr "<year>2007-2019</year> <holder>Stefan Sauer (Kost)</holder>"
#. (itstool) path: legalnotice/para
#: C/index.docbook:65
#. (itstool) path: revhistory/revision
#: C/index.docbook:83
msgid ""
-"<revnumber>1.29.1</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
-"authorinitials> <revremark>development</revremark>"
+"<revnumber>1.32.1</revnumber> <date>15 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>dev version</revremark>"
msgstr ""
-"<revnumber>1.29.1</revnumber> <date>28 aug 2018</date> <authorinitials>ss</"
+"<revnumber>1.32.1</revnumber> <date>15 Aug 2019</date> <authorinitials>ss</"
"authorinitials> <revremark>utveckling</revremark>"
#. (itstool) path: revhistory/revision
#: C/index.docbook:89
msgid ""
-"<revnumber>1.29</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
-"authorinitials> <revremark>development</revremark>"
+"<revnumber>1.32</revnumber> <date>15 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>hotfix release</revremark>"
msgstr ""
-"<revnumber>1.29</revnumber> <date>28 aug 2018</date> <authorinitials>ss</"
-"authorinitials> <revremark>utveckling</revremark>"
+"<revnumber>1.32</revnumber> <date>15 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>snabb fixutgåva</revremark>"
#. (itstool) path: revhistory/revision
#: C/index.docbook:95
msgid ""
+"<revnumber>1.31</revnumber> <date>05 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>refactorings and more test coverage</revremark>"
+msgstr ""
+"<revnumber>1.31</revnumber> <date>05 Aug 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>omstrukturering och större testtäckning</"
+"revremark>"
+
+#. (itstool) path: revhistory/revision
+#: C/index.docbook:101
+msgid ""
+"<revnumber>1.30</revnumber> <date>08 May 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>more test coverage</revremark>"
+msgstr ""
+"<revnumber>1.30</revnumber> <date>08 maj 2019</date> <authorinitials>ss</"
+"authorinitials> <revremark>större testtäckning</revremark>"
+
+#. (itstool) path: revhistory/revision
+#: C/index.docbook:107
+msgid ""
+"<revnumber>1.29</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
+"authorinitials> <revremark>bug fixes</revremark>"
+msgstr ""
+"<revnumber>1.29</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
+"authorinitials> <revremark>programfixar</revremark>"
+
+#. (itstool) path: revhistory/revision
+#: C/index.docbook:113
+msgid ""
"<revnumber>1.28</revnumber> <date>24 Mar 2018</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes</revremark>"
msgstr ""
"authorinitials> <revremark>programfixar</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:101
+#: C/index.docbook:119
msgid ""
"<revnumber>1.27</revnumber> <date>07 Dec 2017</date> <authorinitials>ss</"
"authorinitials> <revremark>fine tuning of the python port</revremark>"
"authorinitials> <revremark>finjustering av python-porteringen</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:107
+#: C/index.docbook:125
msgid ""
"<revnumber>1.26</revnumber> <date>11 Aug 2017</date> <authorinitials>ss</"
"authorinitials> <revremark>port all tools from perl/bash to python</"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:113
+#: C/index.docbook:131
msgid ""
"<revnumber>1.25</revnumber> <date>21 March 2016</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, test cleanups</revremark>"
"authorinitials> <revremark>programfixar, uppstädning av tester</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:119
+#: C/index.docbook:137
msgid ""
"<revnumber>1.24</revnumber> <date>29 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fix</revremark>"
"authorinitials> <revremark>programfix</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:125
+#: C/index.docbook:143
msgid ""
"<revnumber>1.23</revnumber> <date>17 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fix</revremark>"
"authorinitials> <revremark>programfix</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:131
+#: C/index.docbook:149
msgid ""
"<revnumber>1.22</revnumber> <date>07 May 2015</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, dropping deprecated features</"
"funktioner</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:137
+#: C/index.docbook:155
msgid ""
"<revnumber>1.21</revnumber> <date>17 Jul 2014</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, dropping deprecated features</"
"funktioner</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:143
+#: C/index.docbook:161
msgid ""
"<revnumber>1.20</revnumber> <date>16 Feb 2014</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, markdown support, style improvements</"
"stilförbättringar</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:149
+#: C/index.docbook:167
msgid ""
"<revnumber>1.19</revnumber> <date>05 Jun 2013</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes</revremark>"
"authorinitials> <revremark>programfixar</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:155
+#: C/index.docbook:173
msgid ""
"<revnumber>1.18</revnumber> <date>14 Sep 2011</date> <authorinitials>ss</"
"authorinitials> <revremark>bug fixes, speedups, markdown support</revremark>"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:161
+#: C/index.docbook:179
msgid ""
"<revnumber>1.17</revnumber> <date>26 Feb 2011</date> <authorinitials>sk</"
"authorinitials> <revremark>urgent bug fix update</revremark>"
"authorinitials> <revremark>brådskande programfixuppdatering</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:167
+#: C/index.docbook:185
msgid ""
"<revnumber>1.16</revnumber> <date>14 Jan 2011</date> <authorinitials>sk</"
"authorinitials> <revremark>bugfixes, layout improvements</revremark>"
"authorinitials> <revremark>programfixar, layoutförbättringar</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:173
+#: C/index.docbook:191
msgid ""
"<revnumber>1.15</revnumber> <date>21 May 2010</date> <authorinitials>sk</"
"authorinitials> <revremark>bug and regression fixes</revremark>"
"authorinitials> <revremark>program- och regressionsfixar</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:179
+#: C/index.docbook:197
msgid ""
"<revnumber>1.14</revnumber> <date>28 March 2010</date> <authorinitials>sk</"
"authorinitials> <revremark>bugfixes and performance improvements</revremark>"
"revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:185
+#: C/index.docbook:203
msgid ""
"<revnumber>1.13</revnumber> <date>18 December 2009</date> "
"<authorinitials>sk</authorinitials> <revremark>broken tarball update</"
"trasigt tar-arkiv</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:191
+#: C/index.docbook:209
msgid ""
"<revnumber>1.12</revnumber> <date>18 December 2009</date> "
"<authorinitials>sk</authorinitials> <revremark>new tool features and "
"programfixar</revremark>"
#. (itstool) path: revhistory/revision
-#: C/index.docbook:197
+#: C/index.docbook:215
msgid ""
"<revnumber>1.11</revnumber> <date>16 November 2008</date> "
"<authorinitials>mal</authorinitials> <revremark>GNOME doc-utils migration</"
"revremark>"
#. (itstool) path: chapter/title
-#: C/index.docbook:210
+#: C/index.docbook:228
msgid "Introduction"
msgstr "Introduktion"
#. (itstool) path: chapter/para
-#: C/index.docbook:212
+#: C/index.docbook:230
msgid ""
"This chapter introduces GTK-Doc and gives an overview of what it is and how "
"it is used."
"hur det används."
#. (itstool) path: sect1/title
-#: C/index.docbook:218
+#: C/index.docbook:236
msgid "What is GTK-Doc?"
msgstr "Vad är GTK-Doc?"
#. (itstool) path: sect1/para
-#: C/index.docbook:220
+#: C/index.docbook:238
msgid ""
"GTK-Doc is used to document C code. It is typically used to document the "
"public API of libraries, such as the GTK+ and GNOME libraries. But it can "
"biblioteken. Men det kan också användas för att dokumentera programkod."
#. (itstool) path: sect1/title
-#: C/index.docbook:228
+#: C/index.docbook:246
msgid "How Does GTK-Doc Work?"
msgstr "Hur fungerar GTK-Doc?"
# sebras: how do I translate header files?
#. (itstool) path: sect1/para
-#: C/index.docbook:230
+#: C/index.docbook:248
msgid ""
"GTK-Doc works by using documentation of functions placed inside the source "
"files in specially-formatted comment blocks, or documentation added to the "
"huvudfiler; det kommer inte att producera utdata för statiska funktioner)."
#. (itstool) path: sect1/para
-#: C/index.docbook:237
+#: C/index.docbook:255
msgid ""
"GTK-Doc consists of a number of python scripts, each performing a different "
"step in the process."
"i processen."
#. (itstool) path: sect1/para
-#: C/index.docbook:242
+#: C/index.docbook:260
msgid "There are 5 main steps in the process:"
msgstr "Det finns 5 huvudsteg i processen:"
#. (itstool) path: listitem/para
-#: C/index.docbook:249
+#: C/index.docbook:267
msgid ""
"<guilabel>Writing the documentation.</guilabel> The author fills in the "
"source files with the documentation for each function, macro, structs or "
# sebras: more header files...
#. (itstool) path: listitem/para
-#: C/index.docbook:258
+#: C/index.docbook:276
msgid ""
"<guilabel>Gathering information about the code.</guilabel> "
"<application>gtkdoc-scan</application> scans the header files of the code "
"module>-overrides.txt</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:275
+#: C/index.docbook:293
msgid ""
"<application>gtkdoc-scangobj</application> can also be used to dynamically "
"query a library about any GObject subclasses it exports. It saves "
"vilka GObject-egenskaper och signaler det tillhandahåller."
#. (itstool) path: listitem/para
-#: C/index.docbook:281
+#: C/index.docbook:299
msgid ""
"<application>gtkdoc-scanobj</application> should not be used anymore. It was "
"needed in the past when GObject was still GtkObject inside gtk+."
"behövdes tidigare när GObject fortfarande var GtkObject inuti gtk+."
#. (itstool) path: listitem/para
-#: C/index.docbook:288
+#: C/index.docbook:306
msgid ""
"<guilabel>Generating the XML and HTML/PDF.</guilabel> <application>gtkdoc-"
"mkdb</application> turns the template files into XML files in the <filename "
"introspektionsdata."
#. (itstool) path: listitem/para
-#: C/index.docbook:297
+#: C/index.docbook:315
msgid ""
"<application>gtkdoc-mkhtml</application> turns the XML files into HTML files "
"in the <filename class=\"directory\">html/</filename> subdirectory. Likewise "
"till ett PDF-dokument kallat <filename><package>.pdf</filename>."
#. (itstool) path: listitem/para
-#: C/index.docbook:303
+#: C/index.docbook:321
msgid ""
"Files in <filename class=\"directory\">xml/</filename> and <filename class="
"\"directory\">html/</filename> directories are always overwritten. One "
"aldrig redigera dem direkt."
#. (itstool) path: listitem/para
-#: C/index.docbook:311
+#: C/index.docbook:329
msgid ""
"<guilabel>Fixing up cross-references between documents.</guilabel> After "
"installing the HTML files, <application>gtkdoc-fixxref</application> can be "
"(i de fall där dokumentationen finns installerad)."
#. (itstool) path: sect1/title
-#: C/index.docbook:329
+#: C/index.docbook:347
msgid "Getting GTK-Doc"
msgstr "Hämta GTK-Doc"
#. (itstool) path: sect2/title
-#: C/index.docbook:332
+#: C/index.docbook:350
msgid "Requirements"
msgstr "Krav"
#. (itstool) path: sect2/para
-#: C/index.docbook:333
+#: C/index.docbook:351
msgid ""
"<guilabel>python 2/3</guilabel> - the main scripts are written in python."
msgstr "<guilabel>python 2/3</guilabel> - huvudskripten är skrivna i python."
#. (itstool) path: sect2/para
-#: C/index.docbook:336
+#: C/index.docbook:354
msgid ""
"<guilabel>xsltproc</guilabel> - the xslt processor from libxslt <ulink url="
"\"http://xmlsoft.org/XSLT/\" type=\"http\">xmlsoft.org/XSLT/</ulink>"
"\"http://xmlsoft.org/XSLT/\" type=\"http\">xmlsoft.org/XSLT/</ulink>"
#. (itstool) path: sect2/para
-#: C/index.docbook:340
+#: C/index.docbook:358
msgid ""
"<guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets <ulink url="
"\"http://sourceforge.net/projects/docbook/files/docbook-xsl/\" type=\"http"
# sebras: remind me how was highlighting translated..?
#. (itstool) path: sect2/para
-#: C/index.docbook:344
+#: C/index.docbook:362
msgid ""
"One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> "
"or <guilabel>vim</guilabel> - optional - used for syntax highlighting of "
"syntaxfärgning av exempel"
#. (itstool) path: sect1/title
-#: C/index.docbook:352
+#: C/index.docbook:370
msgid "About GTK-Doc"
msgstr "Om GTK-Doc"
# TODO: https://gitlab.gnome.org/GNOME/gtk-doc/issues/52
# +sources code
#. (itstool) path: sect1/para
-#: C/index.docbook:354
+#: C/index.docbook:372
msgid ""
"Historically GTK-Doc was used to generate template files from the sources "
"code. These template files could be used by developers to enter the API "
"föråldrat. I version 1.26 har mallstödet tagits bort."
#. (itstool) path: sect1/para
-#: C/index.docbook:364 C/index.docbook:378
+#: C/index.docbook:382 C/index.docbook:396
msgid "(FIXME)"
msgstr "(FIXME)"
#. (itstool) path: sect1/para
-#: C/index.docbook:368
+#: C/index.docbook:386
msgid ""
"(authors, web pages, mailing list, license, future plans, comparison with "
"other similar systems.)"
"andra liknande system.)"
#. (itstool) path: sect1/title
-#: C/index.docbook:376
+#: C/index.docbook:394
msgid "About this Manual"
msgstr "Om denna handbok"
#. (itstool) path: sect1/para
-#: C/index.docbook:382
+#: C/index.docbook:400
msgid "(who it is meant for, where you can get it, license)"
msgstr "(vem är den avsett för, var kan du få tag i den, licens)"
#. (itstool) path: chapter/title
-#: C/index.docbook:391
+#: C/index.docbook:409
msgid "Project Setup"
msgstr "Projektkonfiguration"
#. (itstool) path: chapter/para
-#: C/index.docbook:393
+#: C/index.docbook:411
msgid ""
"This Chapter describes the steps that are necessary to integrate GTK-Doc "
"into your project. The integration of GTK-Doc into a project includes the "
"steg:"
#. (itstool) path: listitem/para
-#: C/index.docbook:401
+#: C/index.docbook:419
msgid ""
"Preparation of the directory structure and creating required configuration "
"files for your GTK-Doc documentation (see <link linkend=\"settingup_docfiles"
"\"> Att ställa in en skelettstruktur för dokumentation</link>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:409
+#: C/index.docbook:427
msgid ""
"Adjusting the build system to build your documentation using the GTK-Doc "
"tools. Multiple build systems are supported, in this manual we describe how "
"\"settingup_plain_makefiles\">vanliga Makefiler</link>."
#. (itstool) path: listitem/para
-#: C/index.docbook:419
+#: C/index.docbook:437
msgid ""
"Adding GTK-Doc specific files to version control and deciding which files to "
"ignore (see <link linkend=\"settingup_vcs\"> Integration with version "
"Integrering med versionshanteringssystem</link>)."
#. (itstool) path: chapter/para
-#: C/index.docbook:427
+#: C/index.docbook:445
msgid ""
"The following sections assume we work on a project called <code>meep</code>. "
"This project contains two packages (or modules), a library called "
"som kallas <code>meeper</code>."
#. (itstool) path: sect1/title
-#: C/index.docbook:436
+#: C/index.docbook:454
msgid "Setting up a skeleton documentation"
msgstr "Att ställa in en skelettstruktur för dokumentation"
# https://gitlab.gnome.org/GNOME/gtk-doc/issues/52
#. (itstool) path: sect1/para
-#: C/index.docbook:438
+#: C/index.docbook:456
msgid ""
"A common convention is to place documentation into a folder called "
"<code>docs</code> inside your top-level project directory. We usually "
"den matchar din katalogstruktur."
#. (itstool) path: example/title
-#: C/index.docbook:469
+#: C/index.docbook:487
msgid "Example directory structure of <emphasis>meep</emphasis> project"
msgstr "Exempel på katalogstruktur för projektet <emphasis>meep</emphasis>"
#. (itstool) path: example/programlisting
-#: C/index.docbook:471
+#: C/index.docbook:489
#, no-wrap
msgid ""
"\n"
" meeper/\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:463
+#: C/index.docbook:481
msgid ""
"In the following sections we will assume a directory structure for our "
"<emphasis>meep</emphasis> project that uses the above conventions. <_:"
"<emphasis>meep</emphasis> som följer konventionerna ovan. <_:example-1/>"
#. (itstool) path: sect1/title
-#: C/index.docbook:488
+#: C/index.docbook:506
msgid "Integration with Autotools"
msgstr "Integrering med Autotools"
#. (itstool) path: sect1/para
-#: C/index.docbook:489
+#: C/index.docbook:507
msgid ""
"Integration of GTK-Doc into an autotools-based build system requires the "
"following steps:"
"steg:"
#. (itstool) path: listitem/para
-#: C/index.docbook:495
+#: C/index.docbook:513
msgid ""
"Ensure that <application>gtkdocize</application> is run once before the "
"<filename>configure</filename> script. If an <filename>autogen.sh</filename> "
"lägg till ett anrop till <application>gtkdocize</application>."
#. (itstool) path: listitem/para
-#: C/index.docbook:503
+#: C/index.docbook:521
msgid ""
"The main purpose of <application>gtkdocize</application> is to make the "
"<filename>gtk-doc.make</filename> Makefile and the <filename>gtk-doc.m4</"
"eller länka in dem i projektet."
#. (itstool) path: listitem/para
-#: C/index.docbook:512
+#: C/index.docbook:530
msgid ""
"Add the necessary <application>autoconf</application> macros to "
"<filename>configure.ac</filename> to enable GTK-Doc in your build system to "
# TODO: What? Can't parse this one.
#. (itstool) path: listitem/para
-#: C/index.docbook:518
+#: C/index.docbook:536
msgid ""
"Among others with registers the <code>--enable-gtk-doc</code> option with "
"the <filename>configure</filename> script."
"<filename>configure</filename>-skriptet."
#. (itstool) path: listitem/para
-#: C/index.docbook:524
+#: C/index.docbook:542
msgid ""
"Create an <application>automake</application> script for each application or "
"library in your project. In the example used in this documentation this step "
# TODO: how *TO* enable
#. (itstool) path: sect1/para
-#: C/index.docbook:533
+#: C/index.docbook:551
msgid ""
"In the following sections, we will perform the above steps in reverse order. "
"We start with the <application>automake</application> scripts and work our "
"visar vi hur Gtk-Doc aktiveras i byggsystemet och hur dokumentationen byggs."
#. (itstool) path: sect2/title
-#: C/index.docbook:543
+#: C/index.docbook:561
msgid "Integration with automake"
msgstr "Integrering med automake"
#. (itstool) path: sect2/para
-#: C/index.docbook:545
+#: C/index.docbook:563
msgid ""
"First copy the <filename>Makefile.am</filename> from the <filename class="
"\"directory\">examples</filename> sub-directory of the <ulink url=\"https://"
"vart och ett."
#. (itstool) path: note/simpara
-#: C/index.docbook:558
+#: C/index.docbook:576
msgid ""
"Do not forget to add each <filename>Makefile.am</filename> to the "
"<function>AC_CONFIG_FILES</function> macro in <filename>configure.ac</"
"<function>AC_CONFIG_FILES</function>."
#. (itstool) path: example/title
-#: C/index.docbook:570
+#: C/index.docbook:588
msgid "Example directory structure with <filename>Makefiles.am</filename>"
msgstr "Exempelkatalogstruktur med <filename>Makefiles.am</filename>"
#. (itstool) path: example/programlisting
-#: C/index.docbook:573
+#: C/index.docbook:591
#, no-wrap
msgid ""
"\n"
" meeper/\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:589
+#: C/index.docbook:607
msgid ""
"Next, you need to customize the copied Makefiles and provide values for the "
"various parameters in each <filename>Makefile.am</filename>. All settings "
"stöds."
#. (itstool) path: listitem/para
-#: C/index.docbook:613
+#: C/index.docbook:631
msgid ""
"<option>DOC_MODULE</option> is used to provide the name of the package that "
"is being documentated (e.g. <code>meeper</code>, or <code>libmeep</code>)."
"som dokumenteras (t.ex. <code>meeper</code> eller <code>libmeep</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:620
+#: C/index.docbook:638
msgid ""
"<option>DOC_SOURCE_DIR</option> is used to specify the location of source "
"directory which GTK-Doc searches for your API documentation. This will "
"underkatalog till den katalogen."
#. (itstool) path: listitem/para
-#: C/index.docbook:633
+#: C/index.docbook:651
msgid ""
"<option>HFILE_GLOB</option> and <option>CFILE_GLOB</option> are used for "
"dependencies. Each option take a file-glob (e.g. <code>HFILE_GLOB="
# TODO: (top_srcdir)
#. (itstool) path: listitem/para
-#: C/index.docbook:645
+#: C/index.docbook:663
msgid ""
"<option>EXTRA_HFILES</option> allows to specify extra header files to "
"include when scanning for API documentation, which are not found under "
"extra.h</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:655
+#: C/index.docbook:673
msgid ""
"<option>IGNORE_HFILES</option> allows to specify header files or directories "
"to ignore when scanning for API documentation. Use the basename of the file "
# TODO: *image files*
#. (itstool) path: listitem/para
-#: C/index.docbook:665
+#: C/index.docbook:683
msgid ""
"<option>HTML_IMAGES</option> allows to specify images files which will be "
"copied into the <filename>html/</filename> directory of the generated "
"icons/stock_about_24.png</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:678
+#: C/index.docbook:696
msgid ""
"<option>content_files</option> allows to specify extra files that are "
"included by <code>$(DOC_MAIN_SGML_FILE)</code> (e.g. <code> "
"building.xml changes-2.0.xml</code>)."
#. (itstool) path: listitem/para
-#: C/index.docbook:689
+#: C/index.docbook:707
msgid ""
"<option>expand_content_files</option> allows to specify files where "
"<emphasis>gtk-doc abbreviations</emphasis> such as <code>#GtkWidget</code> "
"ex. <code> expand_content_files=running.xml</code>)."
#. (itstool) path: sect2/para
-#: C/index.docbook:607
+#: C/index.docbook:625
msgid ""
"The following list explains the most relevant options. Check the example "
"<filename>Makefile.am</filename> for additional options. <_:itemizedlist-1/>"
"am</filename>-exemplet för ytterligare flaggor. <_:itemizedlist-1/>"
#. (itstool) path: sect2/title
-#: C/index.docbook:704
+#: C/index.docbook:722
msgid "Integration with autoconf"
msgstr "Integrering med autoconf"
#. (itstool) path: sect2/para
-#: C/index.docbook:706
+#: C/index.docbook:724
msgid ""
"Integration with <application>autoconf</application> is very simple and "
"includes one required step and an additional optional (but recommended) "
"<application>gtkdocize</application>."
#. (itstool) path: warning/simpara
-#: C/index.docbook:718
+#: C/index.docbook:736
msgid ""
"Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented. The "
"macro must start at the beginning of the line and should not start with "
"måste inledas på början av raden och får inte börja med blanktecken."
#. (itstool) path: sect2/para
-#: C/index.docbook:725
+#: C/index.docbook:743
msgid ""
"The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code> to your "
"<filename>configure.ac</filename>. This is not required but helps "
"makrodefinitionsfilen kan hittas."
#. (itstool) path: example/title
-#: C/index.docbook:738
+#: C/index.docbook:756
msgid "Minimal integration with autoconf"
msgstr "Minimal integrering med autoconf"
#. (itstool) path: example/programlisting
-#: C/index.docbook:739
+#: C/index.docbook:757
#, no-wrap
msgid ""
"\n"
"GTK_DOC_CHECK([1.28])\n"
#. (itstool) path: example/title
-#: C/index.docbook:754
+#: C/index.docbook:772
msgid "Integration with optional gtk-doc dependency"
msgstr "Integrering med valfritt gtk-doc-beroende"
#. (itstool) path: example/programlisting
-#: C/index.docbook:755
+#: C/index.docbook:773
#, no-wrap
msgid ""
"\n"
"])\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:748
+#: C/index.docbook:766
msgid ""
"The above example works, but will require all developers to have gtk-doc "
"installed. A better way is to make building the documentation optional as "
# sebras: <function> or <symbol>?
#. (itstool) path: sect2/para
-#: C/index.docbook:768
+#: C/index.docbook:786
msgid ""
"The first argument is used to check for the Gtk-Doc version at configure "
"time. The 2nd, optional argument is used by <application>gtkdocize</"
"lägger också till flera configure-flaggor:"
#. (itstool) path: listitem/para
-#: C/index.docbook:777
+#: C/index.docbook:795
msgid "--with-html-dir=PATH : path to installed docs"
msgstr "--with-html-dir=SÖKVÄG : sökväg till installerad dokumentation"
#. (itstool) path: listitem/para
-#: C/index.docbook:778
+#: C/index.docbook:796
msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
msgstr ""
"--enable-gtk-doc : använd gtk-doc för att bygga dokumentation "
"[standardvärde=no]"
#. (itstool) path: listitem/para
-#: C/index.docbook:779
+#: C/index.docbook:797
msgid ""
"--enable-gtk-doc-html : build documentation in html format [default=yes]"
msgstr ""
"--enable-gtk-doc-html : bygg dokumentation i html-format [standardvärde=yes]"
#. (itstool) path: listitem/para
-#: C/index.docbook:780
+#: C/index.docbook:798
msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
msgstr ""
"--enable-gtk-doc-pdf : bygg dokumentation i pdf-format [standardvärde=no]"
#. (itstool) path: important/para
-#: C/index.docbook:784
+#: C/index.docbook:802
msgid ""
"GTK-Doc is disabled by default! Remember to pass the option <option>'--"
"enable-gtk-doc'</option> to the next <filename>configure</filename> run. "
"är rimligt för användare men inte för utvecklare)."
#. (itstool) path: sect2/para
-#: C/index.docbook:792
+#: C/index.docbook:810
msgid ""
"After all changes to <filename>configure.ac</filename> are made, update the "
"<filename>configure</filename> file. This can be done by re-running "
"köra om <code>autogen.sh</code>."
#. (itstool) path: sect2/title
-#: C/index.docbook:800
+#: C/index.docbook:818
msgid "Integration with autogen"
msgstr "Integrering med autogen"
#. (itstool) path: sect2/para
-#: C/index.docbook:802
+#: C/index.docbook:820
msgid ""
"Most projects will have an <filename>autogen.sh</filename> script to setup "
"the build infrastructure after the project was checked out from a version "
"att kopiera nödvändiga filer som behövs av Gtk-Doc till källkatalogen."
#. (itstool) path: sect2/para
-#: C/index.docbook:810
+#: C/index.docbook:828
msgid "It should be run before autoreconf, autoheader, automake or autoconf."
msgstr "Det bör köras före autoreconf, autoheader, automake eller autoconf."
#. (itstool) path: example/title
-#: C/index.docbook:815
+#: C/index.docbook:833
msgid "Running gtkdocize from autogen.sh"
msgstr "Köra gtkdocize från autogen.sh"
#. (itstool) path: example/programlisting
-#: C/index.docbook:816
+#: C/index.docbook:834
#, no-wrap
msgid ""
"\n"
"gtkdocize || exit 1\n"
#. (itstool) path: example/title
-#: C/index.docbook:824
+#: C/index.docbook:842
msgid "Conditionally run gtkdocize from autogen.sh"
msgstr "Köra gtkdocize villkorligt från autogen.sh"
#. (itstool) path: example/programlisting
-#: C/index.docbook:825
+#: C/index.docbook:843
#, no-wrap
msgid ""
"\n"
"fi\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:836
+#: C/index.docbook:854
msgid ""
"When running <application>gtkdocize</application> it copies <filename>gtk-"
"doc.make</filename> to your project root (or any directory specified by the "
# TODO: Strange last sentence
#. (itstool) path: sect2/para
-#: C/index.docbook:842
+#: C/index.docbook:860
msgid ""
"<application>gtkdocize</application> checks your <filename>configure.ac</"
"filename> script for the <function>GTK_DOC_CHECK</function> macro. The "
"parametern i <function>GTK_DOC_CHECK</function>-makrot."
#. (itstool) path: sect2/para
-#: C/index.docbook:851
+#: C/index.docbook:869
msgid ""
"Alternatively, additional arguments can also be passed to "
"<application>gtkdocize</application> via the <function>GTKDOCIZE_FLAGS</"
"<application>gtkdocize</application> i <filename>autogen.sh</filename>."
#. (itstool) path: sect2/title
-#: C/index.docbook:862
+#: C/index.docbook:880
msgid "Executing GTK-Doc from the Build System"
msgstr "Köra GTK-Doc från byggsystemet"
#. (itstool) path: sect2/para
-#: C/index.docbook:864
+#: C/index.docbook:882
msgid ""
"After the previous steps it's time to run the build. First we need to rerun "
"<filename>autogen.sh</filename>. If this script runs configure for you, then "
"<filename>configure</filename> med denna flagga efteråt."
#. (itstool) path: sect2/para
-#: C/index.docbook:871
+#: C/index.docbook:889
msgid ""
"The first make run generates several additional files in the doc-"
"directories. The important ones are: <filename><package>.types</"
"sections.txt</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:879
+#: C/index.docbook:897
msgid "Running the doc build"
msgstr "Att köra dokumentationsbygget"
#. (itstool) path: example/programlisting
-#: C/index.docbook:880
+#: C/index.docbook:898
#, no-wrap
msgid ""
"\n"
"make\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:887
+#: C/index.docbook:905
msgid ""
"Now you can point your browser to <filename>docs/reference/<package>/"
"index.html</filename>. With this initial setup you will only see a very "
"dokumentationsfiler."
#. (itstool) path: sect1/title
-#: C/index.docbook:903
+#: C/index.docbook:921
msgid "Integration with CMake build systems"
msgstr "Integrering med CMake-byggsystem"
#. (itstool) path: sect1/para
-#: C/index.docbook:905
+#: C/index.docbook:923
msgid ""
"GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module (and "
"the corresponding <filename>GtkDocConfigVersion.cmake</filename> module). "
"kommando som du kan ställa in i din <filename>CMakeLists.txt</filename>-fil."
#. (itstool) path: example/title
-#: C/index.docbook:915
+#: C/index.docbook:933
msgid "Example of using GTK-Doc from CMake"
msgstr "Exempel på användning av GTK-Doc från CMake"
#. (itstool) path: example/programlisting
-#: C/index.docbook:916
+#: C/index.docbook:934
#, no-wrap
msgid ""
"\n"
" DESTINATION ${CMAKE_INSTALL_DOCDIR})\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:913
+#: C/index.docbook:931
msgid "The following example shows how to use this command. <_:example-1/>"
msgstr ""
"Det följande exemplet visar hur du använder detta kommando. <_:example-1/>"
#. (itstool) path: sect1/title
-#: C/index.docbook:940
+#: C/index.docbook:958
msgid "Integration with plain makefiles or other build systems"
msgstr "Integrering med vanliga makefiler eller andra byggsystem"
#. (itstool) path: sect1/para
-#: C/index.docbook:942
+#: C/index.docbook:960
msgid ""
"In the case one does not want to use automake and therefore <filename>gtk-"
"doc.mak</filename> one will need to call the gtkdoc tools in the right order "
"verktygen i rätt ordning i sina egna makefiler (eller andra byggverktyg)."
#. (itstool) path: example/title
-#: C/index.docbook:949
+#: C/index.docbook:967
msgid "Documentation build steps"
msgstr "Byggsteg för dokumentation"
#. (itstool) path: example/programlisting
-#: C/index.docbook:950
+#: C/index.docbook:968
#, no-wrap
msgid ""
"\n"
"gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:964
+#: C/index.docbook:982
msgid ""
"One will need to look at the <filename>Makefile.am</filename> and "
"<filename>gtk-doc.mak</filename> to pick the extra options needed."
"behövs."
#. (itstool) path: sect1/title
-#: C/index.docbook:971
+#: C/index.docbook:989
msgid "Integration with version control systems"
msgstr "Integrering med versionshanteringssystem"
#. (itstool) path: sect1/para
-#: C/index.docbook:973
+#: C/index.docbook:991
msgid ""
"As a rule of thumb, it's the files you edit which should go under version "
"control. For typical projects it's these files: <filename><package>."
"filename>."
#. (itstool) path: sect1/para
-#: C/index.docbook:981
+#: C/index.docbook:999
msgid ""
"Files in the <filename>xml/</filename> and <filename>html/</filename> "
"directories should not go under version control. Neither should any of the "
"filerna."
#. (itstool) path: chapter/title
-#: C/index.docbook:991
+#: C/index.docbook:1009
msgid "Documenting the code"
msgstr "Att dokumentera koden"
#. (itstool) path: chapter/para
-#: C/index.docbook:993
+#: C/index.docbook:1011
msgid ""
"GTK-Doc uses source code comment with a special syntax for code "
"documentation. Further it retrieves information about your project structure "
"syntaxen i kommentarerna."
#. (itstool) path: example/title
-#: C/index.docbook:1004 C/index.docbook:1030
+#: C/index.docbook:1022 C/index.docbook:1048
msgid "GTK-Doc comment block"
msgstr "GTK-Doc-kommentarsblock"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1005
+#: C/index.docbook:1023
#, no-wrap
msgid ""
"\n"
"#endif\n"
#. (itstool) path: chapter/para
-#: C/index.docbook:1000
+#: C/index.docbook:1018
msgid ""
"The GTK-Doc scanner can handle the majority of C headers fine. In the case "
"of receiving warnings from the scanner that look like a special case, one "
"GTK-Doc att hoppa över dem. <_:example-1/>"
#. (itstool) path: note/title
-#: C/index.docbook:1014
+#: C/index.docbook:1032
msgid "Limitations"
msgstr "Begränsningar"
# sebras: no 's in the original
#. (itstool) path: note/para
-#: C/index.docbook:1015
+#: C/index.docbook:1033
msgid ""
"Note, that GTK-Doc's supports <code>#ifndef(__GTK_DOC_IGNORE__)</code> but "
"not <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations."
"inte <code>#if !defined(__GTK_DOC_IGNORE__)</code> eller andra kombinationer."
#. (itstool) path: sect1/title
-#: C/index.docbook:1025
+#: C/index.docbook:1043
msgid "Documentation comments"
msgstr "Dokumentationskommentarer"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1031
+#: C/index.docbook:1049
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1027
+#: C/index.docbook:1045
msgid ""
"A multiline comment that starts with an additional '*' marks a documentation "
"block that will be processed by the GTK-Doc tools. <_:example-1/>"
"example-1/>"
#. (itstool) path: sect1/para
-#: C/index.docbook:1040
+#: C/index.docbook:1058
msgid ""
"The 'identifier' is one line with the name of the item the comment is "
"related to. The syntax differs a little depending on the item. (TODO add "
"till tabell som visar identifierare)"
#. (itstool) path: sect1/para
-#: C/index.docbook:1046
+#: C/index.docbook:1064
msgid ""
"The 'documentation' block is also different for each symbol type. Symbol "
"types that get parameters such as functions or macros have the parameter "
"användbart i förformaterad text (kodlistningar)."
#. (itstool) path: listitem/para
-#: C/index.docbook:1063
+#: C/index.docbook:1081
msgid ""
"What it is: The name for a class or function can sometimes be misleading for "
"people coming from a different background."
"vilseledande för personer med annan bakgrund."
#. (itstool) path: listitem/para
-#: C/index.docbook:1069
+#: C/index.docbook:1087
msgid ""
"What it does: Tell about common uses. Put it in relation with the other API."
msgstr ""
"det andra API:t."
#. (itstool) path: tip/para
-#: C/index.docbook:1059
+#: C/index.docbook:1077
msgid "When documenting code, describe two aspects: <_:itemizedlist-1/>"
msgstr "När du dokumenterar kod, beskriv två aspekter: <_:itemizedlist-1/>"
#. (itstool) path: listitem/para
-#: C/index.docbook:1084
+#: C/index.docbook:1102
msgid "Use function() to refer to functions or macros which take arguments."
msgstr ""
"Använd funktion() för att referera till funktioner eller makron som tar "
"argument."
#. (itstool) path: listitem/para
-#: C/index.docbook:1089
+#: C/index.docbook:1107
msgid ""
"Use @param to refer to parameters. Also use this when referring to "
"parameters of other functions, related to the one being described."
"beskrivs."
#. (itstool) path: listitem/para
-#: C/index.docbook:1095
+#: C/index.docbook:1113
msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
msgstr ""
"Använd %konstant för att referera till en konstant, t.ex. %G_TRAVERSE_LEAFS."
#. (itstool) path: listitem/para
-#: C/index.docbook:1100
+#: C/index.docbook:1118
msgid ""
"Use #symbol to refer to other types of symbol, e.g. structs and enums and "
"macros which don't take arguments."
"strukturer eller uppräkningar och makron som inte tar argument."
#. (itstool) path: listitem/para
-#: C/index.docbook:1106
+#: C/index.docbook:1124
msgid "Use #Object::signal to refer to a GObject signal."
msgstr "Använd #Objekt::signal för att referera till en GObject-signal."
#. (itstool) path: listitem/para
-#: C/index.docbook:1111
+#: C/index.docbook:1129
msgid "Use #Object:property to refer to a GObject property."
msgstr "Använd #Objekt:egenskap för att referera till en GObject-egenskap."
#. (itstool) path: listitem/para
-#: C/index.docbook:1116
+#: C/index.docbook:1134
msgid ""
"Use #Struct.field to refer to a field inside a structure and #GObjectClass."
"foo_bar() to refer to a vmethod."
"#GObjectKlass.foo_bar() för att referera till en virtuell metod."
#. (itstool) path: sect1/para
-#: C/index.docbook:1078
+#: C/index.docbook:1096
msgid ""
"One advantage of hyper-text over plain-text is the ability to have links in "
"the document. Writing the correct markup for a link can be tedious though. "
"förkortningar. <_:itemizedlist-1/>"
#. (itstool) path: tip/para
-#: C/index.docbook:1125
+#: C/index.docbook:1143
msgid ""
"If you need to use the special characters '<', '>', '()', '@', '%', or "
"'#' in your documentation without GTK-Doc changing them you can use the XML "
"kontrollsekvensen ”\\”."
#. (itstool) path: sect1/para
-#: C/index.docbook:1134
+#: C/index.docbook:1152
msgid ""
"DocBook can do more than just links. One can also have lists, examples, "
"headings, and images. As of version 1.20, the preferred way is to use a "
"ett bindestreck."
#. (itstool) path: sect1/para
-#: C/index.docbook:1145
+#: C/index.docbook:1163
msgid ""
"While markdown is now preferred one can mix both. One limitation here is "
"that one can use docbook xml within markdown, but markdown within docbook "
"inte."
#. (itstool) path: sect1/para
-#: C/index.docbook:1151
+#: C/index.docbook:1169
msgid ""
"In older GTK-Doc releases, if you need support for additional formatting, "
"you would need to enable the usage of docbook XML tags inside doc-comments "
# sebras: markdown or Markdown?
#. (itstool) path: example/title
-#: C/index.docbook:1160
+#: C/index.docbook:1178
msgid "GTK-Doc comment block using Markdown"
msgstr "GTK-Doc-kommentarsblock som använder Markdown"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1161
+#: C/index.docbook:1179
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1200
+#: C/index.docbook:1218
msgid ""
"More examples of what markdown tags are supported can be found in the <ulink "
"url=\"https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown"
"\">Referensen för GTK+-dokumentationens markdown-syntax</ulink>."
#. (itstool) path: tip/para
-#: C/index.docbook:1206
+#: C/index.docbook:1224
msgid ""
"As already mentioned earlier GTK-Doc is for documenting public API. Thus one "
"cannot write documentation for static symbols. Nevertheless it is good to "
"ställe i avsnittsfilen."
#. (itstool) path: sect1/title
-#: C/index.docbook:1221
+#: C/index.docbook:1239
msgid "Documenting sections"
msgstr "Dokumentationsavsnitt"
#. (itstool) path: sect1/para
-#: C/index.docbook:1223
+#: C/index.docbook:1241
msgid ""
"Each section of the documentation contains information about one class or "
"module. To introduce the component one can write a section block. The short "
"valfria."
#. (itstool) path: example/title
-#: C/index.docbook:1231
+#: C/index.docbook:1249
msgid "Section comment block"
msgstr "Kommentarsblock för avsnitt"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1232
+#: C/index.docbook:1250
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1251
+#: C/index.docbook:1269
msgid "SECTION:<name>"
msgstr "SECTION:<namn>"
#. (itstool) path: listitem/para
-#: C/index.docbook:1253
+#: C/index.docbook:1271
msgid ""
"The name links the section documentation to the respective part in the "
"<filename><package>-sections.txt</filename> file. The name given here "
"filename>."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1262
+#: C/index.docbook:1280
msgid "@short_description"
msgstr "@short_description"
#. (itstool) path: listitem/para
-#: C/index.docbook:1264
+#: C/index.docbook:1282
msgid ""
"A one line description of the section, that later will appear after the "
"links in the TOC and at the top of the section page."
"innehållsförteckningen och lägst upp på avsnittssidan."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1271
+#: C/index.docbook:1289
msgid "@title"
msgstr "@title"
#. (itstool) path: listitem/para
-#: C/index.docbook:1273
+#: C/index.docbook:1291
msgid ""
"The section title defaults to <name> from the SECTION declaration. It "
"can be overridden with the @title field."
"kan åsidosättas med fältet @title."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1280
+#: C/index.docbook:1298
msgid "@section_id"
msgstr "@section_id"
#. (itstool) path: listitem/para
-#: C/index.docbook:1282
+#: C/index.docbook:1300
msgid ""
"Overrides the use of title as a section identifier. For GObjects the <"
"title> is used as a section_id and for other sections it is <"
"MODULE>-<title>."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1290
+#: C/index.docbook:1308
msgid "@see_also"
msgstr "@see_also"
#. (itstool) path: listitem/para
-#: C/index.docbook:1292
+#: C/index.docbook:1310
msgid "A list of symbols that are related to this section."
msgstr "En lista över symboler som är relaterade till detta avsnitt."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1298
+#: C/index.docbook:1316
msgid "@stability"
msgstr "@stability"
#. (itstool) path: listitem/para
-#: C/index.docbook:1305
+#: C/index.docbook:1323
msgid ""
"Stable - The intention of a Stable interface is to enable arbitrary third "
"parties to develop applications to these interfaces, release them, and have "
"motiverade."
#. (itstool) path: listitem/para
-#: C/index.docbook:1317
+#: C/index.docbook:1335
msgid ""
"Unstable - Unstable interfaces are experimental or transitional. They are "
"typically used to give outside developers early access to new or rapidly "
"programfixversion till nästa."
#. (itstool) path: listitem/para
-#: C/index.docbook:1329
+#: C/index.docbook:1347
msgid ""
"Private - An interface that can be used within the GNOME stack itself, but "
"that is not documented for end-users. Such functions should only be used in "
"på angivna och dokumenterade sätt."
#. (itstool) path: listitem/para
-#: C/index.docbook:1338
+#: C/index.docbook:1356
msgid ""
"Internal - An interface that is internal to a module and does not require "
"end-user documentation. Functions that are undocumented are assumed to be "
"interna."
#. (itstool) path: listitem/para
-#: C/index.docbook:1300
+#: C/index.docbook:1318
msgid ""
"An informal description of the stability level this API has. We recommend "
"the use of one of these terms: <_:itemizedlist-1/>"
"att använda en av dessa termer: <_:itemizedlist-1/>"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1350
+#: C/index.docbook:1368
msgid "@include"
msgstr "@include"
#. (itstool) path: listitem/para
-#: C/index.docbook:1352
+#: C/index.docbook:1370
msgid ""
"The <literal>#include</literal> files to show in the section synopsis (a "
"comma separated list), overriding the global value from the <link linkend="
"Detta objekt är valfritt."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1361
+#: C/index.docbook:1379
msgid "@image"
msgstr "@image"
#. (itstool) path: listitem/para
-#: C/index.docbook:1363
+#: C/index.docbook:1381
msgid ""
"The image to display at the top of the reference page for this section. This "
"will often be some sort of a diagram to illustrate the visual appearance of "
"klasser. Detta objekt är valfritt."
#. (itstool) path: tip/para
-#: C/index.docbook:1374
+#: C/index.docbook:1392
msgid ""
"To avoid unnecessary recompilation after doc-changes put the section docs "
"into the c-source where possible."
"avsnittsdokumentationen i c-källkoden där möjligt."
#. (itstool) path: sect1/title
-#: C/index.docbook:1383
+#: C/index.docbook:1401
msgid "Documenting symbols"
msgstr "Dokumentationssymboler"
#. (itstool) path: sect1/para
-#: C/index.docbook:1385
+#: C/index.docbook:1403
msgid ""
"Each symbol (function, macro, struct, enum, signal and property) is "
"documented in a separate block. The block is best placed close to the "
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1393 C/index.docbook:1459
+#: C/index.docbook:1411 C/index.docbook:1477
msgid "General tags"
msgstr "Generella taggar"
#. (itstool) path: sect2/para
-#: C/index.docbook:1395
+#: C/index.docbook:1413
msgid ""
"You can add versioning information to all documentation elements to tell "
"when an API was introduced, or when it was deprecated."
"att berätta när ett API introducerats eller blev föråldrat."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1400
+#: C/index.docbook:1418
msgid "Versioning Tags"
msgstr "Versioneringstaggar"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1401
+#: C/index.docbook:1419
msgid "Since:"
msgstr "Since:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1403
+#: C/index.docbook:1421
msgid "Description since which version of the code the API is available."
msgstr ""
"Beskrivning över från och med vilken version av koden som API:t är "
"tillgängligt."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1408
+#: C/index.docbook:1426
msgid "Deprecated:"
msgstr "Deprecated:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1410
+#: C/index.docbook:1428
msgid ""
"Paragraph denoting that this function should no be used anymore. The "
"description should point the reader to the new API."
"Beskrivningen bör peka läsaren vidare till det nya API:t."
#. (itstool) path: sect2/para
-#: C/index.docbook:1418
+#: C/index.docbook:1436
msgid ""
"You can also add stability information to all documentation elements to "
"indicate whether API stability is guaranteed for them for all future minor "
"för dem för alla framtida programfix-versioner av projektet."
#. (itstool) path: sect2/para
-#: C/index.docbook:1424
+#: C/index.docbook:1442
msgid ""
"The default stability level for all documentation elements can be set by "
"passing the <option>--default-stability</option> argument to "
"till <application>gtkdoc-mkdb</application> med endera av värdena nedan."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1430
+#: C/index.docbook:1448
msgid "Stability Tags"
msgstr "Stabilitetstaggar"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1431
+#: C/index.docbook:1449
msgid "Stability: Stable"
msgstr "Stability: Stable"
#. (itstool) path: listitem/para
-#: C/index.docbook:1433
+#: C/index.docbook:1451
msgid ""
"Mark the element as stable. This is for public APIs which are guaranteed to "
"remain stable for all future minor releases of the project."
"projektet."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1440
+#: C/index.docbook:1458
msgid "Stability: Unstable"
msgstr "Stability: Unstable"
#. (itstool) path: listitem/para
-#: C/index.docbook:1442
+#: C/index.docbook:1460
msgid ""
"Mark the element as unstable. This is for public APIs which are released as "
"a preview before being stabilised."
"på förhand innan de blivit stabiliserade."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1448
+#: C/index.docbook:1466
msgid "Stability: Private"
msgstr "Stability: Private"
#. (itstool) path: listitem/para
-#: C/index.docbook:1450
+#: C/index.docbook:1468
msgid ""
"Mark the element as private. This is for interfaces which can be used by "
"tightly coupled modules, but not by arbitrary third parties."
"av tätt sammankopplade moduler, men inte av godtyckliga tredje parter."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1460
+#: C/index.docbook:1478
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1480 C/index.docbook:1490
+#: C/index.docbook:1498 C/index.docbook:1508
msgid "Annotations"
msgstr "Noteringar"
# sebras: was it called verkygstips? verktygshjälp? I forget...
#. (itstool) path: sect2/para
-#: C/index.docbook:1482
+#: C/index.docbook:1500
msgid ""
"Documentation blocks can contain annotation-tags. These tags will be "
"rendered with tooltips describing their meaning. The tags are used by "
"GObjectIntrospection/Annotations\" type=\"http\">wikisidan</ulink>."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1491
+#: C/index.docbook:1509
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1512 C/index.docbook:1541
+#: C/index.docbook:1530 C/index.docbook:1559
msgid "Function comment block"
msgstr "Kommentarsblock för funktioner"
#. (itstool) path: listitem/para
-#: C/index.docbook:1518
+#: C/index.docbook:1536
msgid ""
"Document whether returned objects, lists, strings, etc, should be freed/"
"unrefed/released."
"avrefereras/släppas."
#. (itstool) path: listitem/para
-#: C/index.docbook:1524
+#: C/index.docbook:1542
msgid "Document whether parameters can be NULL, and what happens if they are."
msgstr ""
"Dokumentera huruvida parametrar tillåts vara NULL och vad som händer om de "
"är NULL."
#. (itstool) path: listitem/para
-#: C/index.docbook:1529
+#: C/index.docbook:1547
msgid ""
"Mention interesting pre-conditions and post-conditions where appropriate."
msgstr "Nämn intressanta förvillkor och eftervillkor där lämpligt."
#. (itstool) path: sect2/para
-#: C/index.docbook:1514 C/index.docbook:1600
+#: C/index.docbook:1532 C/index.docbook:1618
msgid "Please remember to: <_:itemizedlist-1/>"
msgstr "Kom ihåg att: <_:itemizedlist-1/>"
# sebras: Gtk-doc? GTK-Doc? gtk-doc? macros and functions?
#. (itstool) path: sect2/para
-#: C/index.docbook:1536
+#: C/index.docbook:1554
msgid ""
"Gtk-doc assumes all symbols (macros, functions) starting with '_' are "
"private. They are treated like static functions."
# sebras: how to translate highlight?
#. (itstool) path: example/programlisting
-#: C/index.docbook:1542
+#: C/index.docbook:1560
#, no-wrap
msgid ""
"\n"
" */\n"
#. (itstool) path: variablelist/title
-#: C/index.docbook:1563
+#: C/index.docbook:1581
msgid "Function tags"
msgstr "Funktions-taggar"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1564 C/index.docbook:1771
+#: C/index.docbook:1582 C/index.docbook:1789
msgid "Returns:"
msgstr "Returns:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1566
+#: C/index.docbook:1584
msgid "Paragraph describing the returned result."
msgstr "Stycke som beskriver det returnerade resultatet."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1571
+#: C/index.docbook:1589
msgid "@...:"
msgstr "@...:"
# sebras: variadic?
#. (itstool) path: listitem/para
-#: C/index.docbook:1573
+#: C/index.docbook:1591
msgid ""
"In case the function has variadic arguments, you should use this tag "
"(@Varargs: does also work for historic reasons)."
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1583 C/index.docbook:1585
+#: C/index.docbook:1601 C/index.docbook:1603
msgid "Property comment block"
msgstr "Kommentarsblock för egenskaper"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1586
+#: C/index.docbook:1604
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1598 C/index.docbook:1617
+#: C/index.docbook:1616 C/index.docbook:1635
msgid "Signal comment block"
msgstr "Kommentarsblock för signaler"
#. (itstool) path: listitem/para
-#: C/index.docbook:1604
+#: C/index.docbook:1622
msgid ""
"Document when the signal is emitted and whether it is emitted before or "
"after other signals."
"efter andra signaler."
#. (itstool) path: listitem/para
-#: C/index.docbook:1610
+#: C/index.docbook:1628
msgid "Document what an application might do in the signal handler."
msgstr "Dokumentera vad ett program kan göra i signalhanteraren."
#. (itstool) path: example/programlisting
-#: C/index.docbook:1618
+#: C/index.docbook:1636
#, no-wrap
msgid ""
"\n"
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1635 C/index.docbook:1636
+#: C/index.docbook:1653 C/index.docbook:1654
msgid "Struct comment block"
msgstr "Kommentarsblock för strukturer"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1637
+#: C/index.docbook:1655
#, no-wrap
msgid ""
"\n"
"} FooWidget;\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:1652
+#: C/index.docbook:1670
msgid ""
"Use <code>/*< private >*/</code> before the private struct fields you "
"want to hide. Use <code>/*< public >*/</code> for the reverse "
"beteendet."
#. (itstool) path: sect2/para
-#: C/index.docbook:1658
+#: C/index.docbook:1676
msgid ""
"If the first field is \"g_iface\", \"parent_instance\" or \"parent_class\" "
"it will be considered private automatically and doesn't need to be mentioned "
"kommentarsblocket."
#. (itstool) path: sect2/para
-#: C/index.docbook:1664
+#: C/index.docbook:1682
msgid ""
"Struct comment blocks can also be used for GObjects and GObjectClasses. It "
"is usually a good idea to add a comment block for a class, if it has "
#. (itstool) path: sect2/title
#. (itstool) path: example/title
-#: C/index.docbook:1676 C/index.docbook:1677
+#: C/index.docbook:1694 C/index.docbook:1695
msgid "Enum comment block"
msgstr "Kommentarsblock för uppräkningar"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1678
+#: C/index.docbook:1696
#, no-wrap
msgid ""
"\n"
"} Something;\n"
#. (itstool) path: sect2/para
-#: C/index.docbook:1695
+#: C/index.docbook:1713
msgid ""
"Use <code>/*< private >*/</code> before the private enum values you "
"want to hide. Use <code>/*< public >*/</code> for the reverse "
"beteendet."
#. (itstool) path: sect1/title
-#: C/index.docbook:1706
+#: C/index.docbook:1724
msgid "Inline program documentation"
msgstr "Infogad programdokumentation"
# sebras: how to translate inline?
#. (itstool) path: sect1/para
-#: C/index.docbook:1707
+#: C/index.docbook:1725
msgid ""
"You can document programs and their commandline interface using inline "
"documentation."
"dokumentation."
#. (itstool) path: variablelist/title
-#: C/index.docbook:1713
+#: C/index.docbook:1731
msgid "Tags"
msgstr "Taggar"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1715
+#: C/index.docbook:1733
msgid "PROGRAM"
msgstr "PROGRAM"
#. (itstool) path: listitem/para
-#: C/index.docbook:1718
+#: C/index.docbook:1736
msgid "Defines the start of a program documentation."
msgstr "Definierar början av programdokumentationen."
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1725
+#: C/index.docbook:1743
msgid "@short_description:"
msgstr "@short_description:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1727
+#: C/index.docbook:1745
msgid "Defines a short description of the program. (Optional)"
msgstr "Definierar en kort beskrivning av programmet. (Valfritt)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1734
+#: C/index.docbook:1752
msgid "@synopsis:"
msgstr "@synopsis:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1736
+#: C/index.docbook:1754
msgid ""
"Defines the arguments, or list of arguments that the program can take. "
"(Optional)"
"(Valfritt)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1744
+#: C/index.docbook:1762
msgid "@see_also:"
msgstr "@see_also:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1746
+#: C/index.docbook:1764
msgid "See Also manual page section. (Optional)"
msgstr "Se vidare i manualavsnitt. (Valfritt)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1753
+#: C/index.docbook:1771
msgid "@arg:"
msgstr "@arg:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1755
+#: C/index.docbook:1773
msgid "Argument(s) passed to the program and their description. (Optional)"
msgstr ""
"Argument som skickas vidare till programmet och deras beskrivningar. "
"(Valfritt)"
#. (itstool) path: varlistentry/term
-#: C/index.docbook:1762
+#: C/index.docbook:1780
msgid "Description:"
msgstr "Beskrivning:"
#. (itstool) path: listitem/para
-#: C/index.docbook:1764
+#: C/index.docbook:1782
msgid "A longer description of the program."
msgstr "En längre beskrivning av programmet."
#. (itstool) path: listitem/para
-#: C/index.docbook:1773
+#: C/index.docbook:1791
msgid "Specify what value(s) the program returns. (Optional)"
msgstr "Ange vilka värden programmet returnerar. (Valfritt)"
#. (itstool) path: sect2/title
-#: C/index.docbook:1782
+#: C/index.docbook:1800
msgid "Example of program documentation."
msgstr "Exempel på programdokumentation."
#. (itstool) path: example/title
-#: C/index.docbook:1783
+#: C/index.docbook:1801
msgid "Program documentation block"
msgstr "Dokumentationsblock för program"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1784
+#: C/index.docbook:1802
#, no-wrap
msgid ""
"\n"
"}\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:1810
+#: C/index.docbook:1828
msgid "Useful DocBook tags"
msgstr "Användbara DocBook-taggar"
#. (itstool) path: sect1/para
-#: C/index.docbook:1812
+#: C/index.docbook:1830
msgid ""
"Here are some DocBook tags which are most useful when documenting the code."
msgstr ""
"Här är några DocBook-taggar som är användbara när man dokumenterar koden."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1821
+#: C/index.docbook:1839
#, no-wrap
msgid ""
"\n"
"<link linkend=\"glib-Hash-Tables\">Hashtabeller</link>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1817
+#: C/index.docbook:1835
msgid ""
"To link to another section in the GTK docs: <_:informalexample-1/> The "
"linkend is the SGML/XML id on the top item of the page you want to link to. "
"konverteras till ”-” för att överensstämma med SGML/XML."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1834
+#: C/index.docbook:1852
#, no-wrap
msgid ""
"\n"
"<function>…</function>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1831
+#: C/index.docbook:1849
msgid ""
"To refer to an external function, e.g. a standard C function: <_:"
"informalexample-1/>"
"informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1843
+#: C/index.docbook:1861
#, no-wrap
+#| msgid ""
+#| "\n"
+#| "<example>\n"
+#| " <title>Using a GHashTable.</title>\n"
+#| " <programlisting>\n"
+#| " ...\n"
+#| " </programlisting>\n"
+#| "</example>\n"
msgid ""
"\n"
"<example>\n"
" <title>Using a GHashTable.</title>\n"
-" <programlisting>\n"
+" <programlisting language=\"C\">\n"
" ...\n"
" </programlisting>\n"
"</example>\n"
msgstr ""
"\n"
"<example>\n"
-" <title>Att använda en hashtabell.</title>\n"
-" <programlisting>\n"
-" …\n"
+" <title>Att använda en GHashTable.</title>\n"
+" <programlisting language=\"C\">\n"
+" ...\n"
" </programlisting>\n"
"</example>\n"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1854
+#: C/index.docbook:1872
#, no-wrap
+#| msgid ""
+#| "\n"
+#| "<informalexample>\n"
+#| " <programlisting>\n"
+#| " ...\n"
+#| " </programlisting>\n"
+#| "</informalexample>\n"
msgid ""
"\n"
"<informalexample>\n"
-" <programlisting>\n"
+" <programlisting language=\"C\">\n"
" ...\n"
" </programlisting>\n"
"</informalexample>\n"
msgstr ""
"\n"
"<informalexample>\n"
-" <programlisting>\n"
-" …\n"
+" <programlisting language=\"C\">\n"
+" ...\n"
" </programlisting>\n"
"</informalexample>\n"
+#. (itstool) path: informalexample/programlisting
+#: C/index.docbook:1884
+#, no-wrap
+msgid ""
+"\n"
+"|[<!-- language=\"C\" -->\n"
+" ...\n"
+"]|\n"
+msgstr ""
+"\n"
+"|[<!-- language=\"C\" -->\n"
+" ...\n"
+"]|\n"
+
#. (itstool) path: sect1/para
-#: C/index.docbook:1840
+#: C/index.docbook:1858
msgid ""
"To include example code: <_:informalexample-1/> or possibly this, for very "
-"short code fragments which don't need a title: <_:informalexample-2/> For "
-"the latter GTK-Doc also supports an abbreviation: |[ ... ]|"
+"short code fragments which don't need a title: <_:informalexample-2/> In "
+"both cases, the language attribute is optional and is used as a hint to the "
+"syntax highlighting engine (pygments for html output). For the latter GTK-"
+"Doc also supports an abbreviation: <_:informalexample-3/>"
msgstr ""
"För att inkludera exempelkod: <_:informalexample-1/> eller möjligen "
"följande, för väldigt korta kodfragment som inte behöver en titel: <_:"
-"informalexample-2/> För det senare fallet har GTK-Doc också stöd för "
-"förkortningen: |[ … ]|"
+"informalexample-2/> I båda fallen är språkattributet valfritt och används "
+"som ett tips för syntaxmarkeringsmotorn (pygments för html-utmatning). För "
+"det senare fallet har GTK-Doc också stöd för en förkortning: <_:"
+"informalexample-3/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1873
+#: C/index.docbook:1895
#, no-wrap
msgid ""
"\n"
"</itemizedlist>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1870
+#: C/index.docbook:1892
msgid "To include bulleted lists: <_:informalexample-1/>"
msgstr "För att inkludera punktlistor: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1893
+#: C/index.docbook:1915
#, no-wrap
msgid ""
"\n"
"</note>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1890
+#: C/index.docbook:1912
msgid ""
"To include a note which stands out from the text: <_:informalexample-1/>"
msgstr ""
"För att inkludera en not som skiljer sig från texten: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1906
+#: C/index.docbook:1928
#, no-wrap
msgid ""
"\n"
"<type>unsigned char</type>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1903
+#: C/index.docbook:1925
msgid "To refer to a type: <_:informalexample-1/>"
msgstr "För att refera till en typ: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1915
+#: C/index.docbook:1937
#, no-wrap
msgid ""
"\n"
"<structname>XFontStruct</structname>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1912
+#: C/index.docbook:1934
msgid ""
"To refer to an external structure (not one described in the GTK docs): <_:"
"informalexample-1/>"
"dokumentationen): <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1924
+#: C/index.docbook:1946
#, no-wrap
msgid ""
"\n"
"<structfield>len</structfield>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1921
+#: C/index.docbook:1943
msgid "To refer to a field of a structure: <_:informalexample-1/>"
msgstr "För att referera till ett fält för en struktur: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1933
+#: C/index.docbook:1955
#, no-wrap
msgid ""
"\n"
"<classname>GtkWidget</classname>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1930
+#: C/index.docbook:1952
msgid ""
"To refer to a class name, we could possibly use: <_:informalexample-1/> but "
"you'll probably be using #GtkWidget instead (to automatically create a link "
"\"documenting_syntax\">förkortningarna</link>)."
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1944
+#: C/index.docbook:1966
#, no-wrap
msgid ""
"\n"
"<emphasis>Detta är viktigt</emphasis>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1941
+#: C/index.docbook:1963
msgid "To emphasize text: <_:informalexample-1/>"
msgstr "För att betona text: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1953
+#: C/index.docbook:1975
#, no-wrap
msgid ""
"\n"
"<filename>/home/användare/dokument</filename>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1950
+#: C/index.docbook:1972
msgid "For filenames use: <_:informalexample-1/>"
msgstr "För filnamn använd: <_:informalexample-1/>"
#. (itstool) path: informalexample/programlisting
-#: C/index.docbook:1962
+#: C/index.docbook:1984
#, no-wrap
msgid ""
"\n"
"<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:1959
+#: C/index.docbook:1981
msgid "To refer to keys use: <_:informalexample-1/>"
msgstr "För att referera till tangenter använd: <_:informalexample-1/>"
#. (itstool) path: chapter/title
-#: C/index.docbook:1972
+#: C/index.docbook:1994
msgid "Filling the extra files"
msgstr "Fylla i de extra filerna"
#. (itstool) path: chapter/para
-#: C/index.docbook:1974
+#: C/index.docbook:1996
msgid ""
"There are a couple of extra files, that need to be maintained along with the "
"inline source code comments: <filename><package>.types</filename>, "
"paket>-sections.txt</filename>."
#. (itstool) path: sect1/title
-#: C/index.docbook:1983
+#: C/index.docbook:2005
msgid "Editing the types file"
msgstr "Redigera typfilen"
#. (itstool) path: sect1/para
-#: C/index.docbook:1985
+#: C/index.docbook:2007
msgid ""
"If your library or application includes GObjects, you want their signals, "
"arguments/parameters and position in the hierarchy to be shown in the "
"paket>.types</filename>."
#. (itstool) path: example/title
-#: C/index.docbook:1994
+#: C/index.docbook:2016
msgid "Example <package>.types file"
msgstr "Exempel på filen <paket>.types"
#. (itstool) path: example/programlisting
-#: C/index.docbook:1995
+#: C/index.docbook:2017
#, no-wrap
msgid ""
"\n"
"gtk_arrow_get_type\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2006
+#: C/index.docbook:2028
msgid ""
"Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this "
"list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in "
"du inte distribuera typfilen eller versionshantera den."
#. (itstool) path: sect1/title
-#: C/index.docbook:2015
+#: C/index.docbook:2037
msgid "Editing the master document"
msgstr "Redigera huvuddokumentet"
#. (itstool) path: sect1/para
-#: C/index.docbook:2017
+#: C/index.docbook:2039
msgid ""
"GTK-Doc produces documentation in DocBook SGML/XML. When processing the "
"inline source comments, the GTK-Doc tools generate one documentation page "
# sebras: Its -> it's
#. (itstool) path: sect1/para
-#: C/index.docbook:2024
+#: C/index.docbook:2046
msgid ""
"While GTK-Doc creates a template master document for you, later runs will "
"not touch it again. This means that one can freely structure the "
# sebras: for -> from Apart -> together/embedded...
#. (itstool) path: tip/para
-#: C/index.docbook:2034
+#: C/index.docbook:2056
msgid ""
"Do not create tutorials as extra documents. Just write extra chapters. The "
"benefit of directly embedding the tutorial for your library into the API "
"blir uppdaterad tillsammans med biblioteket."
#. (itstool) path: sect1/para
-#: C/index.docbook:2043
+#: C/index.docbook:2065
msgid ""
"So what are the things to change inside the master document? For a start is "
"only a little. There are some placeholders (text in square brackets) there "
"Det finns en del platshållare (text i hakparenteser) som du bör ta hand om."
#. (itstool) path: example/title
-#: C/index.docbook:2050
+#: C/index.docbook:2072
msgid "Master document header"
msgstr "Huvuddokumentets huvud"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2051
+#: C/index.docbook:2073
#, no-wrap
msgid ""
"\n"
" <title>[Infoga titel här]</title>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2067
+#: C/index.docbook:2089
msgid ""
"In addition a few option elements are created in commented form. You can "
"review these and enable them as you like."
"Du kan granska dessa och aktivera dem enligt dina egna önskemål."
#. (itstool) path: example/title
-#: C/index.docbook:2073
+#: C/index.docbook:2095
msgid "Optional part in the master document"
msgstr "Valfri del i huvuddokumentet"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2074
+#: C/index.docbook:2096
#, no-wrap
msgid ""
"\n"
" -->\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2082
+#: C/index.docbook:2104
msgid ""
"Finally you need to add new section whenever you introduce one. The <link "
"linkend=\"modernizing-gtk-doc-1-16\">gtkdoc-check</link> tool will remind "
"infogats i dokumentationen."
#. (itstool) path: example/title
-#: C/index.docbook:2090 C/index.docbook:2125
+#: C/index.docbook:2112 C/index.docbook:2147
msgid "Including generated sections"
msgstr "Inkludera genererade avsnitt"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2091
+#: C/index.docbook:2113
#, no-wrap
msgid ""
"\n"
" ...\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:2103
+#: C/index.docbook:2125
msgid "Editing the section file"
msgstr "Redigera avsnittsfilen"
#. (itstool) path: sect1/para
-#: C/index.docbook:2105
+#: C/index.docbook:2127
msgid ""
"The section file is used to organise the documentation output by GTK-Doc. "
"Here one specifies which symbol belongs to which module or class and control "
"styra synligheten (publik eller privat)."
#. (itstool) path: sect1/para
-#: C/index.docbook:2111
+#: C/index.docbook:2133
msgid ""
"The section file is a plain text file with tags delimiting sections. Blank "
"lines are ignored and lines starting with a '#' are treated as comment lines."
"kommentarsrader."
#. (itstool) path: note/para
-#: C/index.docbook:2118
+#: C/index.docbook:2140
msgid ""
"While the tags make the file look like xml, it is not. Please do not close "
"tags like <SUBSECTION>."
"taggar så som <SUBSECTION>."
#. (itstool) path: example/programlisting
-#: C/index.docbook:2126
+#: C/index.docbook:2148
#, no-wrap
msgid ""
"\n"
"</SECTION>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2143
+#: C/index.docbook:2165
msgid ""
"The <FILE> ... </FILE> tag is used to specify the file name, "
"without any suffix. For example, using '<FILE>gnome-config</"
"klassnamnet för GObjectet konverterat till gemener)."
#. (itstool) path: sect1/para
-#: C/index.docbook:2155
+#: C/index.docbook:2177
msgid ""
"The <TITLE> ... </TITLE> tag is used to specify the title of the "
"section. It is only useful before the templates (if used) are initially "
"Vidare är detta föråldrat om man använder SECTIONS-kommentarer i källkoden."
#. (itstool) path: sect1/para
-#: C/index.docbook:2162
+#: C/index.docbook:2184
msgid ""
"You can group items in the section by using the <SUBSECTION> tag. "
"Currently it outputs a blank line between subsections in the synopsis "
"beror på om de har publika poster (variabler, virtuella metoder)."
#. (itstool) path: sect1/para
-#: C/index.docbook:2181
+#: C/index.docbook:2203
msgid ""
"You can also use <INCLUDE> ... </INCLUDE> to specify the "
"#include files which are shown in the synopsis sections. It contains a comma-"
"påverka det avsnittet."
#. (itstool) path: chapter/title
-#: C/index.docbook:2195
+#: C/index.docbook:2217
msgid "Controlling the result"
msgstr "Kontrollera resultatet"
#. (itstool) path: chapter/para
-#: C/index.docbook:2197
+#: C/index.docbook:2219
msgid ""
"A GTK-Doc run generates report files inside the documentation directory. The "
"generated files are named: <filename><package>-undocumented.txt</"
"kan visas eller efterbehandlas enkelt."
#. (itstool) path: chapter/para
-#: C/index.docbook:2206
+#: C/index.docbook:2228
msgid ""
"The <filename><package>-undocumented.txt</filename> file starts with "
"the documentation coverage summary. Below are two sections divided by blank "
"dokumentation, men där en ny parameter har lagts till."
#. (itstool) path: chapter/para
-#: C/index.docbook:2215
+#: C/index.docbook:2237
msgid ""
"The <filename><package>-undeclared.txt</filename> file lists symbols "
"given in the <filename><package>-sections.txt</filename> but not found "
"källkoden. Kontrollera om de har tagits bort eller om de är felstavade."
#. (itstool) path: chapter/para
-#: C/index.docbook:2222
+#: C/index.docbook:2244
msgid ""
"The <filename><package>-unused.txt</filename> file lists symbol names, "
"where the GTK-Doc scanner has found documentation, but does not know where "
# sebras: <filename>?
#. (itstool) path: tip/para
-#: C/index.docbook:2230
+#: C/index.docbook:2252
msgid ""
"Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile."
"am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during "
"köra rimlighetskontroller under körning av <command>make check</command>."
#. (itstool) path: chapter/para
-#: C/index.docbook:2237
+#: C/index.docbook:2259
msgid ""
"One can also look at the files produced by the source code scanner: "
"<filename><package>-decl-list.txt</filename> and <filename><"
"en symbol saknas bör man kontrollera om denna filen innehåller den."
#. (itstool) path: chapter/para
-#: C/index.docbook:2246
+#: C/index.docbook:2268
msgid ""
"If the project is GObject based, one can also look into the files produced "
"by the object scanner: <filename><package>.args.txt</filename>, "
"<command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
#. (itstool) path: chapter/title
-#: C/index.docbook:2261
+#: C/index.docbook:2283
msgid "Modernizing the documentation"
msgstr "Modernisera dokumentationen"
#. (itstool) path: chapter/para
-#: C/index.docbook:2263
+#: C/index.docbook:2285
msgid ""
"GTK-Doc has been around for quite some time. In this section we list new "
"features together with the version since when it is available."
"tillsammans med vilken version de gjordes tillgängliga."
#. (itstool) path: sect1/title
-#: C/index.docbook:2269
+#: C/index.docbook:2291
msgid "GTK-Doc 1.9"
msgstr "GTK-Doc 1.9"
#. (itstool) path: sect1/para
-#: C/index.docbook:2271
+#: C/index.docbook:2293
msgid ""
"When using xml instead of sgml, one can actually name the master document "
"<filename><package>-docs.xml</filename>."
"huvuddokumentet <filename><paket>-docs.xml</filename>."
#. (itstool) path: sect1/para
-#: C/index.docbook:2276
+#: C/index.docbook:2298
msgid ""
"This version supports <option>SCAN_OPTIONS=--rebuild-sections</option> in "
"<filename>Makefile.am</filename>. When this is enabled, the <filename><"
"<code>meld <paket>-decl-list.txt <paket>-sections.txt</code>."
#. (itstool) path: sect1/para
-#: C/index.docbook:2287
+#: C/index.docbook:2309
msgid ""
"Version 1.8 already introduced the syntax for documenting sections in the "
"sources instead of the separate files under <filename class=\"directory"
"filename> så är du klar."
#. (itstool) path: sect1/title
-#: C/index.docbook:2299
+#: C/index.docbook:2321
msgid "GTK-Doc 1.10"
msgstr "GTK-Doc 1.10"
#. (itstool) path: sect1/para
-#: C/index.docbook:2301
+#: C/index.docbook:2323
msgid ""
"This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in "
"<filename>Makefile.am</filename>. When this is enabled, the <filename><"
"filename> för kod som bara byggs ibland."
#. (itstool) path: sect1/title
-#: C/index.docbook:2312
+#: C/index.docbook:2334
msgid "GTK-Doc 1.16"
msgstr "GTK-Doc 1.16"
#. (itstool) path: example/title
-#: C/index.docbook:2318
+#: C/index.docbook:2340
msgid "Enable gtkdoc-check"
msgstr "Aktivera gtkdoc-check"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2319
+#: C/index.docbook:2341
#, no-wrap
msgid ""
"\n"
"endif\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2314
+#: C/index.docbook:2336
msgid ""
"This version includes a new tool called gtkdoc-check. This tool can run a "
"set of sanity checks on your documentation. It is enabled by adding these "
"am</filename>. <_:example-1/>"
#. (itstool) path: sect1/title
-#: C/index.docbook:2332
+#: C/index.docbook:2354
msgid "GTK-Doc 1.20"
msgstr "GTK-Doc 1.20"
#. (itstool) path: sect1/para
-#: C/index.docbook:2334
+#: C/index.docbook:2356
msgid ""
"Version 1.18 brought some initial markdown support. Using markdown in doc "
"comments is less intrusive than writing docbook xml. This version improves a "
"\">kommentarsyntax</link> finnas alla detaljer."
#. (itstool) path: sect1/title
-#: C/index.docbook:2344
+#: C/index.docbook:2366
msgid "GTK-Doc 1.25"
msgstr "GTK-Doc 1.25"
#. (itstool) path: example/title
-#: C/index.docbook:2355
+#: C/index.docbook:2377
msgid "Use pre-generated entities"
msgstr "Att använda förgenererade entiteter"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2356
+#: C/index.docbook:2378
#, no-wrap
msgid ""
"\n"
" </bookinfo>\n"
#. (itstool) path: sect1/para
-#: C/index.docbook:2346
+#: C/index.docbook:2368
msgid ""
"The makefiles shipped with this version generate an entity file at "
"<filename>xml/gtkdocentities.ent</filename>, containing entities for e.g. "
"kommer att använda samma xml-huvud i genererade xml-filer. <_:example-1/>"
#. (itstool) path: chapter/title
-#: C/index.docbook:2381
+#: C/index.docbook:2403
msgid "Documenting other interfaces"
msgstr "Dokumentera andra gränssnitt"
#. (itstool) path: chapter/para
-#: C/index.docbook:2383
+#: C/index.docbook:2405
msgid ""
"So far we have been using GTK-Doc to document the API of code. The next "
"sections contain suggestions how the tools can be used to document other "
"också dokumentera andra gränssnitt."
#. (itstool) path: sect1/title
-#: C/index.docbook:2390
+#: C/index.docbook:2412
msgid "Command line options and man pages"
msgstr "Kommandoradsflaggor och mansidor"
#. (itstool) path: sect1/para
-#: C/index.docbook:2392
+#: C/index.docbook:2414
msgid ""
"As one can generate man pages for a docbook refentry as well, it sounds like "
"a good idea to use it for that purpose. This way the interface is part of "
"gränssnittet att vara en del av referensen och man får mansidan gratis."
#. (itstool) path: sect2/title
-#: C/index.docbook:2399
+#: C/index.docbook:2421
msgid "Document the tool"
msgstr "Dokumentera verktyget"
# sebras: strange English
#. (itstool) path: sect2/para
-#: C/index.docbook:2401
+#: C/index.docbook:2423
msgid ""
"Create one refentry file per tool. Following <link linkend="
"\"settingup_docfiles\">our example</link> we would call it <filename>meep/"
"väl som exempel i glib."
#. (itstool) path: sect2/title
-#: C/index.docbook:2411
+#: C/index.docbook:2433
msgid "Adding the extra configure check"
msgstr "Lägga till den extra configure-kontrollen"
#. (itstool) path: example/title
-#: C/index.docbook:2414 C/index.docbook:2432
+#: C/index.docbook:2436 C/index.docbook:2454
msgid "Extra configure checks"
msgstr "Lägga till extra configure-kontroller"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2415
+#: C/index.docbook:2437
#, no-wrap
msgid ""
"\n"
"AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)\n"
#. (itstool) path: sect2/title
-#: C/index.docbook:2429
+#: C/index.docbook:2451
msgid "Adding the extra makefile rules"
msgstr "Lägga till de extra makefilsreglerna"
#. (itstool) path: example/programlisting
-#: C/index.docbook:2433
+#: C/index.docbook:2455
#, no-wrap
msgid ""
"\n"
"EXTRA_DIST += meep.xml\n"
#. (itstool) path: sect1/title
-#: C/index.docbook:2455
+#: C/index.docbook:2477
msgid "DBus interfaces"
msgstr "DBus-gränssnitt"
#. (itstool) path: sect1/para
-#: C/index.docbook:2457
+#: C/index.docbook:2479
msgid ""
"(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://"
"cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
"cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
#. (itstool) path: chapter/title
-#: C/index.docbook:2466
+#: C/index.docbook:2488
msgid "Frequently asked questions"
msgstr "Frågor och svar"
#. (itstool) path: segmentedlist/segtitle
-#: C/index.docbook:2470
+#: C/index.docbook:2492
msgid "Question"
msgstr "Fråga"
#. (itstool) path: segmentedlist/segtitle
-#: C/index.docbook:2471
+#: C/index.docbook:2493
msgid "Answer"
msgstr "Svar"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2473
+#: C/index.docbook:2495
msgid "No class hierarchy."
msgstr "Ingen klasshierarki."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2474
+#: C/index.docbook:2496
msgid ""
"The objects <function>xxx_get_type()</function> function has not been "
"entered into the <filename><package>.types</filename> file."
"filen <filename><paket>.types</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2480
+#: C/index.docbook:2502
msgid "Still no class hierarchy."
msgstr "Fortfarande ingen klasshierarki."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2481
+#: C/index.docbook:2503
msgid ""
"Missing or wrong naming in <filename><package>-sections.txt</filename> "
"file (see <ulink url=\"http://mail.gnome.org/archives/gtk-doc-list/2003-"
"October/msg00006.html\">förklaring</ulink>)."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2487
+#: C/index.docbook:2509
msgid "Damn, I have still no class hierarchy."
msgstr "Förbannat, jag har fortfarande ingen klasshierarki."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2488
+#: C/index.docbook:2510
msgid ""
"Is the object name (name of the instance struct, e.g. <type>GtkWidget</"
"type>) part of the normal section (don't put this into Standard or Private "
"Standard eller Private)."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2495
+#: C/index.docbook:2517
msgid "No symbol index."
msgstr "Inget symbolindex."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2496
+#: C/index.docbook:2518
msgid ""
"Does the <filename><package>-docs.{xml,sgml}</filename> contain a "
"index that xi:includes the generated index?"
"inkluderar det genererade indexet med xi:include?"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2502
+#: C/index.docbook:2524
msgid "Symbols are not linked to their doc-section."
msgstr "Symboler är inte länkade till deras dokumentationsavsnitt."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2503
+#: C/index.docbook:2525
msgid ""
"Is the doc-comment using the correct markup (added #,% or ())? Check if the "
"gtkdoc-fixxref warns about unresolvable xrefs."
"korsreferenser."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2509
+#: C/index.docbook:2531
msgid "A new class does not appear in the docs."
msgstr "En ny klass dyker inte upp i dokumentationen."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2510
+#: C/index.docbook:2532
msgid ""
"Is the new page xi:included from <filename><package>-docs.{xml,sgml}</"
"filename>."
"docs.{xml,sgml}</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2516
+#: C/index.docbook:2538
msgid "A new symbol does not appear in the docs."
msgstr "En ny symbol dyker inte upp i dokumentationen."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2517
+#: C/index.docbook:2539
msgid ""
"Is the doc-comment properly formatted. Check for spelling mistakes in the "
"begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable "
"paket>-sections.txt</filename> i ett publikt avsnitt."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2525
+#: C/index.docbook:2547
msgid "A type is missing from the class hierarchy."
msgstr "En typ saknas från klasshierarkin."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2526
+#: C/index.docbook:2548
msgid ""
"If the type is listed in <filename><package>.hierarchy</filename> but "
"not in <filename>xml/tree_index.sgml</filename> then double check that the "
"privat kommer den inte att visas."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2535
+#: C/index.docbook:2557
msgid "I get foldoc links for all gobject annotations."
msgstr "Jag får foldoc-länkar för alla gobject-noteringar."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2536
+#: C/index.docbook:2558
msgid ""
"Check that <filename>xml/annotation-glossary.xml</filename> is xi:included "
"from <filename><package>-docs.{xml,sgml}</filename>."
"filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2544
+#: C/index.docbook:2566
msgid "Parameter described in source code comment block but does not exist"
msgstr "Parameter beskriven i kommentarsblock i källkoden men existerar inte"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2545
+#: C/index.docbook:2567
msgid ""
"Check if the prototype in the header has different parameter names as in the "
"source."
"Kontrollera om prototypen i huvudet har andra parameternamn än i källkoden."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2550
+#: C/index.docbook:2572
msgid "multiple \"IDs\" for constraint linkend: XYZ"
msgstr "multipla ”ID:n” för begränsat länkslut: XYZ"
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2551
+#: C/index.docbook:2573
msgid ""
"Symbol XYZ appears twice in <filename><package>-sections.txt</"
"filename> file."
"txt</filename>."
#. (itstool) path: seglistitem/seg
-#: C/index.docbook:2554
+#: C/index.docbook:2576
msgid ""
"Element typename in namespace '' encountered in para, but no template "
"matches."
msgstr "Elementtypnamn i namnrymd ”” påträffat i para, men ingen mall matchar."
#. (itstool) path: chapter/title
-#: C/index.docbook:2561
+#: C/index.docbook:2583
msgid "Tools related to gtk-doc"
msgstr "Verktyg relaterade till gtk-doc"
#. (itstool) path: chapter/para
-#: C/index.docbook:2563
+#: C/index.docbook:2585
msgid ""
"GtkDocPlugin - a <ulink url=\"http://trac-hacks.org/wiki/GtkDocPlugin\">Trac "
"GTK-Doc</ulink> integration plugin, that adds API docs to a trac site and "
"dokumentation till en trac-webbplats och integrerar med trac-sökningen."
#. (itstool) path: chapter/para
-#: C/index.docbook:2568
+#: C/index.docbook:2590
msgid ""
"Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since "
"tags in the API to determine the minimum required version."
"vald, fri programvarulicens, som till exempel <_:ulink-1/>, för att "
"möjliggöra deras användning i fri programvara."
+#~ msgid ""
+#~ "<revnumber>1.29</revnumber> <date>28 Aug 2018</date> <authorinitials>ss</"
+#~ "authorinitials> <revremark>development</revremark>"
+#~ msgstr ""
+#~ "<revnumber>1.29</revnumber> <date>28 aug 2018</date> <authorinitials>ss</"
+#~ "authorinitials> <revremark>utveckling</revremark>"
+
#~ msgid "Setting up your project"
#~ msgstr "Att ställa in ditt projekt"
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>பதிப்பு 1.1, மார்ச் 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>க்னூ இலவச ஆவண லைசென்ஸ்</title>
-
- <sect1 id="fdl-preamble">
- <title>0. முன்னுரை (PREAMBLE)</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. மாற்றங்கள் (MODIFICATIONS)</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>காப்புரிமை அறிவிப்புக்கு அருகில் உங்கள் மாற்றங்களுக்கான காப்புரிமையை வெளியிடுக.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>இந்த லைசென்ஸின் மாற்றப்படாத வடிவத்தையும் ஒரு பிரதி வைத்திருங்கள். </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. மொழிபெயர்ப்பு</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:</para>
-
- <blockquote>
- <para>Copyright 2010, I. Felix.</para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="ta">
- <bookinfo>
- <title>ஜிடிகே டாக் கையேடு</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>உருவாக்குவோருக்கான ஜிடிகே டாக்(GTK-Doc) பயன்பாட்டு பயனர் கையேடு </para></abstract>
- <authorgroup>
- <author>
- <firstname>Chris</firstname>
- <surname>Lyttle</surname>
- <affiliation>
- <address>
- <email>chris@wilddev.net</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Dan</firstname>
- <surname>Mueth</surname>
- <affiliation>
- <address>
- <email>d-mueth@uchicago.edu</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Stefan</firstname>
- <surname>Sauer (Kost)</surname>
- <affiliation>
- <address>
- <email>ensonic@users.sf.net</email>
- </address>
- </affiliation>
- </author>
- </authorgroup>
- <publisher role="maintainer">
- <publishername>GTK-Doc project</publishername>
- <address><email>gtk-doc-list@gnome.org</email></address>
- </publisher>
- <copyright>
- <year>2000, 2005</year>
- <holder>Dan Mueth and Chris Lyttle</holder>
- </copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>நீங்கள் இலவச மென் பொருள் அமைப்பினால் வெளியிடப்பட்ட<citetitle> ஜிஎன்யு பொது ஆவண அனுமதிக்கான</citetitle> இந்த 1.1 ம் பதிப்பு அல்லது அடுத்த பதிப்புகள் விதிகளின் படி நீங்கள் (விருப்பப்படி) மாற்றமில்லா தொகுதிகள், முன் அட்டை உரைகள், பின் அட்டை உரைகள் ஆக்கியன நீங்கலாக இதை பிரதி எடுக்கலாம், வினியோகிக்கலாம், மாற்றலாம். அனுமதியின் பிரதி இங்குள்ளது:<link linkend="fdl">included</link></para>
- <para>நிறுவனங்களால் அவர்களது பொருட்கள், சேவைகளை குறிப்பிட பயனாகும் பல பெயர்களை அவர்களது வியாபார குறியாக சொல்கிறார்கள். அத்தகைய பெயர்கள் க்னோம் ஆவணங்களில் காணப்படுமானால், அவை க்னோம் ஆவண திட்ட உறுப்பினருக்கு தெரிவிக்கப்பட்டால், அவை தலை எழுத்துக்களாக அலல்து முதல் எழுத்து தலை எழுத்தாக காட்டப்படும். </para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.28</revnumber>
- <date>24 Mar 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.27</revnumber>
- <date>07 Dec 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>fine tuning of the python port</revremark>
- </revision>
- <revision>
- <revnumber>1.26</revnumber>
- <date>11 Aug 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>port all tools from perl/bash to python</revremark>
- </revision>
- <revision>
- <revnumber>1.25</revnumber>
- <date>21 March 2016</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, test cleanups</revremark>
- </revision>
- <revision>
- <revnumber>1.24</revnumber>
- <date>29 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.23</revnumber>
- <date>17 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.22</revnumber>
- <date>07 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.21</revnumber>
- <date>17 Jul 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.20</revnumber>
- <date>16 Feb 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, markdown support, style improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.19</revnumber>
- <date>05 Jun 2013</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.18</revnumber>
- <date>14 Sep 2011</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, speedups, markdown support</revremark>
- </revision>
- <revision>
- <revnumber>1.17</revnumber>
- <date>26 Feb 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>urgent bug fix update</revremark>
- </revision>
- <revision>
- <revnumber>1.16</revnumber>
- <date>14 Jan 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes, layout improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.15</revnumber>
- <date>21 May 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bug and regression fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.14</revnumber>
- <date>28 March 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes and performance improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.13</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>broken tarball update</revremark>
- </revision>
- <revision>
- <revnumber>1.12</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>new tool features and bugfixes</revremark>
- </revision>
- <revision>
- <revnumber>1.11</revnumber>
- <date>16 November 2008</date>
- <authorinitials>mal</authorinitials>
- <revremark>GNOME doc-utils migration</revremark>
- </revision>
- </revhistory>
-
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>அறிமுகம்</title>
-
- <para>இந்த அத்தியாயம் ஜிடிகே-டாக் குறித்த அறிமுகம் தருகிறது. மேலும் அது என்ன எப்படி பயன்படுத்துவது என மேலோட்டமாக சொல்லுகிறது.</para>
-
- <sect1 id="whatisgtkdoc">
- <title>ஜிடிகே டாக் என்பதென்ன?</title>
-
- <para>ஜிடிகே டாக் சி குறியாக்கத்தை ஆவணப்படுத்துகிறது. இது எடுத்துக்காட்டாக ஜிடிகே+ மற்றும் க்னோம் நூலகங்கள் போன்ற நூலகங்களின் பொது ஏபிஐ களை ஆவணப்படுத்த பயன்படுகிறது. ஆனாலும் இது நிரல்களின் குறியாக்கத்தை ஆவணப்படுத்தக்கூட பயன்படுத்தலாம். </para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>ஜிடிகே டாக் எப்படி வேலை செய்கிறது?</title>
-
- <para>ஜிடிகே டாக் வேலை செய்வதெப்படி எனில் சிறப்பு ஒழுங்கில் விமர்சன தொகுதிகளாக செயல்களின் ஆவணங்கள் மூல கோப்புகளில் வைக்கப்படும். அல்லது ஜிடிகே டாக் பயன்படுத்தும் டெம்ப் கோப்புகளுக்கு சேர்க்கபடும். (ஆயினும் ஜிடிகே டாக் தலைப்பு கோப்புகளில் அறுதியிட்ட பங்ஷன்களை மட்டுமே ஆவணப்படுத்தும். நிலையான பங்க்ஷன்களுக்கு வெளியீடு தராது)</para>
-
- <para>
- GTK-Doc consists of a number of python scripts, each performing a different step
- in the process.
- </para>
-
- <para>இந்த நடப்பில் ஐந்து படிகள் உள்ளன</para>
-
- <orderedlist>
-
- <listitem>
- <para>
- <guilabel>Writing the documentation.</guilabel>
-
- The author fills in the source files with the documentation for each
- function, macro, structs or unions, etc.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Gathering information about the code.</guilabel>
-
- <application>gtkdoc-scan</application> scans the header files of the
- code looking for declarations of functions, macros, enums, structs, and unions.
- It creates the file <filename><module>-decl-list.txt</filename> containing a list of the
- declarations, placing them into sections according to which header file they
- are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
- The author can rearrange the sections, and the order of the
- declarations within them, to produce the final desired order.
- The second file it generates is <filename><module>-decl.txt</filename>.
- This file contains the full declarations found by the scanner. If for
- some reason one would like some symbols to show up in the docs, where
- the full declaration cannot be found by the scanner or the declaration
- should appear differently, one can place entities similar to the ones in
- <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
- </para>
- <para>
- <application>gtkdoc-scangobj</application> can also be used to dynamically query a library about
- any GObject subclasses it exports. It saves information about each
- object's position in the class hierarchy and about any GObject properties
- and signals it provides.
- </para>
- <para>
- <application>gtkdoc-scanobj</application> should not be used anymore.
- It was needed in the past when GObject was still GtkObject inside gtk+.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Generating the XML and HTML/PDF.</guilabel>
-
- <application>gtkdoc-mkdb</application> turns the template files into
- XML files in the <filename class="directory">xml/</filename> subdirectory.
- If the source code contains documentation on functions, using the
- special comment blocks, it gets merged in here. If there are no tmpl files used
- it only reads docs from sources and introspection data.
- </para>
- <para>
- <application>gtkdoc-mkhtml</application> turns the XML files into HTML
- files in the <filename class="directory">html/</filename> subdirectory.
- Likewise <application>gtkdoc-mkpdf</application> turns the XML files into a PDF
- document called <filename><package>.pdf</filename>.
- </para>
- <para>
- Files in <filename class="directory">xml/</filename> and
- <filename class="directory">html/</filename> directories are always
- overwritten. One should never edit them directly.
- </para>
- </listitem>
-
- <listitem>
- <para><guilabel>ஆவணங்கள் இடையில் குறுக்கு தொடுப்புகளை சரி செய்தல்</guilabel> HTML கோப்புக்களை நிறுவிய பின்னர், பின் வரும் நிரலை இயக்கி <application>gtkdoc-fixxref</application> ஆவணங்கள் இடையில் குறுக்கு தொடுப்புகளை சரி செய்யலாம். உதாரணமாக ஜிடிகே+ ஆவணத்தில் ஜிலிப் கையேட்டில் ஆவணப்படுத்திய பல வகைகளுக்கு குறுக்கு தொடுப்புகள் இருக்கும். வினியோகிக்க டார் பால் செய்யும் போது <application>gtkdoc-rebase</application> எல்லா வெளி தொடுப்புக்களையும் வலை தொடுப்பாக மாற்றிவிடும். இதே நிரல் ஆவணங்கள் நிறுவப்படும்போது அவற்றை உள்ளமை தொடுப்புக்களாக மாற்றியமைக்கும். (மற்ற ஆவணங்கள் நிறுவப்பட்டு இருக்கும் பட்சத்தில்.)</para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>ஜிடிகே டாக் ஐ பெறுதல்</title>
-
- <sect2 id="requirements">
- <title>முன் தேவைகள்</title>
- <para>
- <guilabel>python 2/3</guilabel> - the main scripts are written in python.
- </para>
- <para>
- <guilabel>xsltproc</guilabel> - the xslt processor from libxslt
- <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink>
- </para>
- <para>
- <guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets
- <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>
- </para>
- <para>
- One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> or
- <guilabel>vim</guilabel> - optional - used for syntax highlighting of examples
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>ஜிடிகே டாக் பற்றி</title>
-
- <para>
- Historically GTK-Doc was used to generate template files from the sources
- code. These template files could be used by developers to enter the
- API documentation. This approach was rather inconvenient because it
- required to keep the generated files under version control.
- Since GTK-Doc 1.9 it became possible to place all API information
- into source comments, which made the template support obsolete.
- In version 1.26 template support has been removed.
- </para>
-
- <para>(FIXME)</para>
-
- <para>
- (authors, web pages, mailing list, license, future plans,
- comparison with other similar systems.)
- </para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>இந்த கையேடு பற்றி</title>
-
- <para>(FIXME)</para>
-
- <para>(இது யாருக்கு, உரிமம், எங்கு பெறுவது)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Project Setup</title>
-
- <para>
- This Chapter describes the steps that are necessary to integrate GTK-Doc
- into your project. The integration of GTK-Doc into a project includes the
- following steps:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Preparation of the directory structure and creating required
- configuration files for your GTK-Doc documentation (see
- <link linkend="settingup_docfiles">
- Setting up a skeleton documentation</link>).
- </para>
- </listitem>
- <listitem>
- <para>
- Adjusting the build system to build your documentation using the
- GTK-Doc tools. Multiple build systems are supported, in
- this manual we describe how to integrate GTK-Doc with
- <link linkend="settingup_autotools">Autotools</link>,
- <link linkend="settingup_cmake">CMake</link>, and
- <link linkend="settingup_plain_makefiles">plain Makefiles</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adding GTK-Doc specific files to version control and deciding which
- files to ignore (see <link linkend="settingup_vcs">
- Integration with version control systems</link>).
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The following sections assume we work on a project called
- <code>meep</code>.
- This project contains two packages (or modules),
- a library called <code>libmeep</code> and an end-user app
- called <code>meeper</code>.
- </para>
-
- <sect1 id="settingup_docfiles">
- <title>தோராய ஆவணம் அமைத்தல்</title>
-
- <para>
- A common convention is to place documentation into a folder called
- <code>docs</code> inside your top-level project directory.
- We usually distinguish between <emphasis>reference
- documentation</emphasis> intended for developers and an
- <emphasis>user manual</emphasis> intended for end-users.
- Again the convention is to have separate folders for both.
- We usually place the reference documentation in a folder named
- <code>reference</code> and the end-user manual in a folder named
- <code>help</code> as.
-
- According to the above convention the documentation for our
- <code>libmeep</code> package would be placed into:
- <code>docs/reference/libmeep</code>.
-
- For packages with just one library or application
- the documentation could also be placed directly into
- <code>docs/reference</code>.
-
- It is not mandatory to use the above convention, but if you
- choose to use a different directory structure you must adjust
- your build system configuration to match your directory
- structure.
- </para>
-
- <para>
- In the following sections we will assume a directory structure
- for our <emphasis>meep</emphasis> project that uses the above
- conventions.
-
- <example>
- <title>Example directory structure of <emphasis>meep</emphasis>
- project</title>
- <programlisting><![CDATA[
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integration with Autotools</title>
- <para>
- Integration of GTK-Doc into an autotools-based build system requires the
- following steps:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Ensure that <application>gtkdocize</application> is run once before
- the <filename>configure</filename> script. If an
- <filename>autogen.sh</filename> script is present, adjust it to
- check for GTK-Doc and add a call to
- <application>gtkdocize</application>.
- </para>
-
- <para>
- The main purpose of <application>gtkdocize</application> is to
- make the <filename>gtk-doc.make</filename> Makefile and the
- <filename>gtk-doc.m4</filename> macro definition file available
- to the build system, either by copying or linking it
- into the project.
- </para>
- </listitem>
- <listitem>
- <para>
- Add the necessary <application>autoconf</application> macros to
- <filename>configure.ac</filename> to enable GTK-Doc in your build
- system to allow configuration of GTK-Doc via the generated
- <filename>configure</filename> script.
- </para>
- <para>
- Among others with registers the <code>--enable-gtk-doc</code>
- option with the <filename>configure</filename> script.
- </para>
- </listitem>
- <listitem>
- <para>
- Create an <application>automake</application> script for each
- application or library in your project. In the example used in this
- documentation this step applies to both <code>meeper</code> and
- <code>libmeep</code>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the following sections, we will perform the above steps in reverse
- order. We start with the <application>automake</application> scripts
- and work our way up to <filename>configure.ac</filename> and
- <filename>autogen.sh</filename>.
- Then we show how enable Gtk-Doc in the build system and
- how to build the documentation.
- </para>
-
- <sect2 id="settingup_automake">
- <title>ஆட்டோமேக் உடன் ஒருங்கிணைப்பு</title>
-
- <para>
- First copy the <filename>Makefile.am</filename> from the
- <filename class="directory">examples</filename> sub-directory of the
- <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">
- gtkdoc-sources</ulink>
- to your project's reference documentation directory (e.g.
- <filename class="directory">docs/reference/<package></filename>).
- A local copy should be available under e.g.
- <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>.
- If you have multiple packages repeat this for each one.
- </para>
-
- <note>
- <simpara>
- Do not forget to add each <filename>Makefile.am</filename>
- to the <function>AC_CONFIG_FILES</function> macro in
- <filename>configure.ac</filename>. For
- <filename>docs/reference/libmeep/Makefile.am</filename> you will
- need to add the entry
- <filename>docs/reference/libmeep/Makefile</filename>
- to <function>AC_CONFIG_FILES</function>.
- </simpara>
- </note>
-
- <example>
- <title>
- Example directory structure with <filename>Makefiles.am</filename>
- </title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>
- Next, you need to customize the copied Makefiles
- and provide values for the various parameters in each
- <filename>Makefile.am</filename>.
-
- All settings have a comment above them that describes their purpose
- and how to customize the setting.
-
- Most settings are used to supply extra flags to the respective tools
- to which they apply. Every tool
- has a variable of the form <option><TOOLNAME>_OPTIONS</option>
- (e.g. the tool <application>gtkdoc-mkhtml</application> has
- an option named <code>MKHTML_OPTIONS</code>).
-
- All the tools support <option>--help</option> to list the supported
- options.
- </para>
-
- <para>
- The following list explains the most relevant options. Check the
- example <filename>Makefile.am</filename> for additional options.
-
- <itemizedlist>
- <listitem>
- <para>
- <option>DOC_MODULE</option> is used to provide the name of the
- package that is being documentated (e.g. <code>meeper</code>, or
- <code>libmeep</code>).
- </para>
- </listitem>
- <listitem>
- <para>
- <option>DOC_SOURCE_DIR</option>
- is used to specify the location
- of source directory which GTK-Doc searches for your API
- documentation. This will usually be
- <code>
- DOC_SOURCE_DIR=$(top_srcdir)/src
- </code>
- or a sub-directory of that directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HFILE_GLOB</option>
- and
- <option>CFILE_GLOB</option>
- are used for dependencies. Each option take a file-glob (e.g.
- <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>).
- The documentation will be rebuilt if any of the matched files
- change.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>EXTRA_HFILES</option>
- allows to specify extra header files
- to include when scanning for API documentation, which are not
- found under <code>DOC_SOURCE_DIR</code> (e.g. <code>
- EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>IGNORE_HFILES</option>
- allows to specify header files
- or directories to ignore when scanning for API documentation.
- Use the basename of the file or directory (e.g. <code>
- IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HTML_IMAGES</option>
- allows to specify images files which
- will be copied into the <filename>html/</filename> directory of
- the generated documentation.
- If your API documentation includes any images they need to be
- added to this
- option (e.g. <code>
- HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>content_files</option>
- allows to specify extra files
- that are included by
- <code>$(DOC_MAIN_SGML_FILE)</code>
- (e.g. <code>
- content_files=running.xml building.xml changes-2.0.xml</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>expand_content_files</option>
- allows to specify files
- where <emphasis>gtk-doc abbreviations</emphasis> such as
- <code>#GtkWidget</code>
- are expanded (e.g. <code>
- expand_content_files=running.xml</code>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>ஆட்டோ கான்ஃப் உடன் ஒருங்கிணைப்பு</title>
-
- <para>
- Integration with <application>autoconf</application> is very simple
- and includes one required step and an additional optional
- (but recommended) step.
-
- The first step is to add the <function>GTK_DOC_CHECK</function> macro
- to your <filename>configure.ac</filename> script. This registers
- several configure options to enable GTK-Doc and allows you
- to set default arguments for <application>gtkdocize</application>.
- </para>
-
- <warning>
- <simpara>
- Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented.
- The macro must start at the beginning of the line and should not
- start with whitespace.
- </simpara>
- </warning>
-
- <para>
- The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code>
- to your <filename>configure.ac</filename>. This is not required
- but helps <application>gtkdocize</application> to automatically copy
- the macro definition (e.g <filename>gtk-doc.m4</filename>) which
- contains the <function>GTK_DOC_CHECK</function> macro to your
- project's macro directory. Without this, the GTK_DOC_CHECK macro
- might not be found and you would need to explicitly tell the
- <application>aclocal</application> tool where to find the macro
- definition file.
- </para>
-
- <para>
- <example><title>Minimal integration with autoconf</title>
- <programlisting><![CDATA[
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The above example works, but will require all developers to have
- gtk-doc installed. A better way is to make building the documentation
- optional as shown in the next example:
-
- <example>
- <title>Integration with optional gtk-doc dependency</title>
- <programlisting><![CDATA[
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The first argument is used to check for the Gtk-Doc version at
- configure time. The 2nd, optional argument is used by
- <application>gtkdocize</application>.
- The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure
- switches:
- </para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=PATH : நிறுவிய ஆவணங்களுக்கான பாதை</para></listitem>
- <listitem><para>""--enable-gtk-doc :ஆவணமாக்கத்துக்கு ஜிடிகே டாக் ஐ பயன்படுத்துக. [முன்னிருப்பு=இல்லை]</para></listitem>
- <listitem><para>--enable-gtk-doc-html : html ஒழுங்கில் ஆவணத்தை உருவாக்குக[முன்னிருப்பு=ஆம்]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : pdf ஒழுங்கில் ஆவணத்தை உருவாக்குக [முன்னிருப்பு=இல்லை]</para></listitem>
- </orderedlist>
-
- <important>
- <para>ஜிடிகே டாக் GTK-Doc முன்னிருப்பாக செயலிழந்து இருக்கும்! ஆகவே அடுத்த <filename>configure</filename> இயக்கத்துக்கு இந்த தேர்வை செய்க: <option>'--enable-gtk-doc'</option> . இல்லையானால் முன் உருவாக்கிய ஆவணங்கள் நிறூவப்படும்.( இது பயனர்களுக்கு புரியும், நல்லது. ஆனால் உருவாக்குவோருக்கு அல்ல).</para>
- </important>
-
- <para>
- After all changes to <filename>configure.ac</filename> are made,
- update the <filename>configure</filename> file. This can be done by
- re-running <code>autogen.sh</code>.
- </para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>ஆட்டொஜென் உடன் ஒருங்கிணைத்தல்</title>
-
- <para>
- Most projects will have an <filename>autogen.sh</filename> script to
- setup the build infrastructure after the project was checked out from
- a version control system (such as git or svn). GTK-Doc comes with a
- script called <application>gtkdocize</application> which can be used
- to copy the necessary files needed by Gtk-Doc to the source directory.
- </para>
-
- <para>
- It should be run before autoreconf, autoheader, automake or autoconf.
- </para>
-
- <para>
- <example><title>autogen.sh இலிருந்து gtkdocize ஐ இயக்குதல்</title>
- <programlisting><![CDATA[
-gtkdocize || exit 1
-]]></programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Conditionally run gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-]]></programlisting>
- </example>
- </para>
-
- <para>
- When running <application>gtkdocize</application> it copies
- <filename>gtk-doc.make</filename> to your project root (or any
- directory specified by the <option>--docdir</option> option).
- </para>
-
- <para>
- <application>gtkdocize</application> checks your
- <filename>configure.ac</filename> script for
- the <function>GTK_DOC_CHECK</function> macro.
- The <function>GTK_DOC_CHECK</function> macro can be used to pass
- extra arguments to the <application>gtkdocize</application> script.
- the 2nd parameter in the <function>GTK_DOC_CHECK</function> macro.
- </para>
-
- <para>
- Alternatively, additional arguments can also be passed to
- <application>gtkdocize</application> via the
- <function>GTKDOCIZE_FLAGS</function> environment variable, or by
- directly specifying them to <application>gtkdocize</application>
- in <filename>autogen.sh</filename>.
- </para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Executing GTK-Doc from the Build System</title>
-
- <para>இப்போது கட்டுமானத்திற்கு ஆயத்தமாகிவிட்டோம். முதலில் நாம் மீன்டும் <filename>autogen.sh</filename> ஐ இயக்கவேண்டும். இது உங்களுக்கு கட்டமைப்பை இயக்கினால் அதற்கு <option>--enable-gtk-doc</option> தேர்வை தரவும். இல்லையானால் கைமுறையாக இதே தேர்வுடன் <filename>configure</filename> ஐ பிரிதொரு முறை இயக்கவும்.</para>
- <para>
- The first make run generates several additional files in the doc-directories.
- The important ones are:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
- <para>
- <example><title>டாக் உருவாக்கியை (doc build) இயக்குதல்</title>
- <programlisting><![CDATA[
-./autogen.sh --enable-gtk-doc
-make
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Now you can point your browser to
- <filename>docs/reference/<package>/index.html</filename>.
- With this initial setup you will only see a very simple document.
- The next chapter will teach you how to add API documentation to your
- code via special comment blocks. The Chapter afterwards introduces
- <link linkend="metafiles">additional files</link> and shows how to
- edit the <link linkend="metafiles_master">master template</link> to
- add additional chapters and sections to your documentation files.
- </para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integration with CMake build systems</title>
-
- <para>
- GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module
- (and the corresponding <filename>GtkDocConfigVersion.cmake</filename>
- module). This provides a <literal>gtk_doc_add_module</literal>
- command that you can set in your <filename>CMakeLists.txt</filename>
- file.
- </para>
-
- <para>
- The following example shows how to use this command.
- <example><title>Example of using GTK-Doc from CMake</title>
- <programlisting><![CDATA[
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integration with plain makefiles or other build systems</title>
-
- <para>
- In the case one does not want to use automake and therefore
- <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
- in the right order in own makefiles (or other build tools).
- </para>
-
- <para>
- <example><title>Documentation build steps</title>
- <programlisting><![CDATA[
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-]]></programlisting>
- </example>
- </para>
-
- <para>
- One will need to look at the <filename>Makefile.am</filename> and
- <filename>gtk-doc.mak</filename> to pick the extra options needed.
- </para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>வெர்ஷன் கன்ட்ரோல் அமைப்புகளுடன் ஒருங்கிணைத்தல்</title>
-
- <para>
- As a rule of thumb, it's the files you edit which should go under
- version control. For typical projects it's these files:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>,
- <filename>Makefile.am</filename>.
- </para>
- <para>
- Files in the <filename>xml/</filename> and <filename>html/</filename>
- directories should not go under version control. Neither should any of
- the <filename>.stamp</filename> files.
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>குறியாக்கத்தை ஆவணப்படுத்துதல்</title>
-
- <para>
- GTK-Doc uses source code comment with a special syntax for code documentation.
- Further it retrieves information about your project structure from other
- sources. During the next section you will find all information about the
- syntax of the comments.
- </para>
-
- <para>
- The GTK-Doc scanner can handle the majority of C headers fine. In the
- case of receiving warnings from the scanner that look like a special
- case, one can hint GTK-Doc to skip over them.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-]]></programlisting>
- </example>
- </para>
-
- <note>
- <title>Limitations</title>
- <para>
- Note, that GTK-Doc's supports
- <code>#ifndef(__GTK_DOC_IGNORE__)</code> but not
- <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations.
- </para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>ஆவணமாக்க விமரிசனங்கள்</title>
-
- <para>
- A multiline comment that starts with an additional '*' marks a
- documentation block that will be processed by the GTK-Doc tools.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-/**
- * identifier:
- * documentation ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <para> 'identifier' எனப்படும் இனம் காட்டி விமர்சனம் பொருந்தும் உருப்படியின் பெயருடன் கூடிய ஒரு வரி. உருப்படியை பொருத்து இலக்கணம் சற்று மாறலாம். </para>
-
- <para>
- The 'documentation' block is also different for each symbol type. Symbol
- types that get parameters such as functions or macros have the parameter
- description first followed by a blank line (just a '*').
- Afterwards follows the detailed description. All lines (outside program
- listings and CDATA sections) just containing a ' *' (blank-asterisk) are
- converted to paragraph breaks.
- If you don't want a paragraph break, change that into ' * '
- (blank-asterisk-blank-blank). This is useful in preformatted text (code
- listings).
- </para>
-
- <tip>
- <para>
- When documenting code, describe two aspects:
- <itemizedlist>
- <listitem>
- <para>
- What it is: The name for a class or function can sometimes
- be misleading for people coming from a different background.
- </para>
- </listitem>
- <listitem>
- <para>
- What it does: Tell about common uses. Put it in relation
- with the other API.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </tip>
-
- <para>
- One advantage of hyper-text over plain-text is the ability to have links
- in the document. Writing the correct markup for a link can be tedious
- though. GTK-Doc comes to help by providing several useful abbreviations.
- <itemizedlist>
- <listitem>
- <para>
- Use function() to refer to functions or macros which take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use @param to refer to parameters. Also use this when referring to
- parameters of other functions, related to the one being described.
- </para>
- </listitem>
- <listitem>
- <para>
- Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #symbol to refer to other types of symbol, e.g. structs and
- enums and macros which don't take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object::signal to refer to a GObject signal.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object:property to refer to a GObject property.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Struct.field to refer to a field inside a structure and
- #GObjectClass.foo_bar() to refer to a vmethod.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <tip>
- <para>சிறப்பு குறிகளான '<', '>', '()', '@', '%', அல்லது '#' ஐ ஜிடிகே டாக் மாற்றாமல் அப்படியே ஆவணத்தில் பயன்படுத்த அவற்றுக்கான ஹெச்எம்எல் ஐ பயன்படுத்துக: "&lt;", "&gt;", "&lpar;", "&rpar;", "&commat;", "&percnt;" மற்றும் "&num;" அல்லது பின் சாய்வு கோடால் அவற்றை தனியாக்கலாம்.'\'. </para>
- </tip>
-
- <para>
- DocBook can do more than just links. One can also have lists,
- examples, headings, and images. As of version 1.20, the
- preferred way is to use a subset of the basic text formatting
- syntax called
- <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>.
- On older GTK-Doc versions any documentation that includes
- Markdown will be rendered as is. For example, list items will
- appear as lines starting with a dash.
- </para>
-
- <para>
- While markdown is now preferred one can mix both. One limitation here is
- that one can use docbook xml within markdown, but markdown within
- docbook xml is not supported.
- </para>
-
- <para>
- In older GTK-Doc releases, if you need support for additional
- formatting, you would need to enable the usage of docbook
- XML tags inside doc-comments by putting <option>--xml-mode</option>
- (or <option>--sgml-mode</option>) in the variable
- <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
- </para>
-
- <para>
- <example><title>GTK-Doc comment block using Markdown</title>
- <programlisting><
- *
- * 
- *
- * [A link to the heading anchor above][heading-two]
- *
- * A C-language example:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- More examples of what markdown tags are supported can be found in the
- <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">GTK+ Documentation Markdown Syntax Reference</ulink>.
- </para>
-
- <tip>
- <para>
- As already mentioned earlier GTK-Doc is for documenting public API. Thus
- one cannot write documentation for static symbols. Nevertheless it is good
- to comment those symbols too. This helps other developers to understand
- your code.
- Therefore we recommend to comment these using normal comments (without the
- 2nd '*' in the first line).
- If later the function needs to be made public, all one needs to do is to
- add another '*' in the comment block and insert the symbol name at the
- right place inside the sections file.
- </para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>ஆவணப்படுத்தும் தொகுதிகள்</title>
-
- <para>ஆவணத்தில் ஒவ்வொரு பிரிவும் ஒரு வகுப்பு அல்லது கூறு குறித்து தகவலைப்பெற்றிருக்கும். ஒரு பாகத்தை அறிமுகம் செய்ய ஒரு தொகுதியை எழுதலாம். குறுகிய விவரணம் உள்ளடக்க பட்டியலில் கூட பயன்படுத்தப்படும். எல்லா @ புலங்களூம் தேர்வுக்குரியன.</para>
-
- <para>
- <example><title>பிரிவு விமரிசன தொகுதி</title>
- <programlisting><![CDATA[
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<பெயர்></term>
- <listitem>
- <para>
- The name links the section documentation to the respective part in
- the <filename><package>-sections.txt</filename> file. The
- name given here should match the <FILE> tag in the
- <filename><package>-sections.txt</filename> file.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>பகுதி பக்கத்தின் மேலே உள்ளடக்க பட்டியலுக்கான தொடுப்புகளுக்குப்பின் காணும் ஒரு வரி விவரம்.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>இந்த தொகுதி SECTION சாற்றுரையிலிருந்து <name> க்கு முன்னிருப்பாக செல்லும். இதை உதாசீனப்படுத்த @title புலத்தை பயன்படுத்துக.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>
- Overrides the use of title as a section identifier. For GObjects
- the <title> is used as a section_id and for other sections
- it is <MODULE>-<title>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>
- A list of symbols that are related to this section.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>
- An informal description of the stability level this API has.
- We recommend the use of one of these terms:
- <itemizedlist>
- <listitem>
- <para>
- Stable
- - The intention of a Stable interface is to enable arbitrary
- third parties to develop applications to these interfaces,
- release them, and have confidence that they will run on all
- minor releases of the product (after the one in which the
- interface was introduced, and within the same major release).
- Even at a major release, incompatible changes are expected
- to be rare, and to have strong justifications.
- </para>
- </listitem>
- <listitem>
- <para>
- Unstable
- - Unstable interfaces are experimental or transitional.
- They are typically used to give outside developers early
- access to new or rapidly changing technology, or to provide
- an interim solution to a problem where a more general
- solution is anticipated.
- No claims are made about either source or binary
- compatibility from one minor release to the next.
- </para>
- </listitem>
- <listitem>
- <para>
- Private
- - An interface that can be used within the GNOME stack
- itself, but that is not documented for end-users. Such
- functions should only be used in specified and documented
- ways.
- </para>
- </listitem>
- <listitem>
- <para>
- Internal
- - An interface that is internal to a module and does not
- require end-user documentation. Functions that are
- undocumented are assumed to be Internal.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>
- The <literal>#include</literal> files to show in the section
- synopsis (a comma separated list), overriding the global
- value from the <link linkend="metafiles_sections">section
- file</link> or command line. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>
- The image to display at the top of the reference page for this
- section. This will often be some sort of a diagram to illustrate
- the visual appearance of a class or a diagram of its relationship
- to other classes. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>
- To avoid unnecessary recompilation after doc-changes put the section
- docs into the c-source where possible.
- </para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>சிம்பல்களை ஆவணப் படுத்தல்</title>
-
- <para>
- Each symbol (function, macro, struct, enum, signal and property) is
- documented in a separate block. The block is best placed close to the
- definition of the symbols so that it is easy to keep them in sync.
- Thus functions are usually documented in the c-source and macros,
- structs and enums in the header file.
- </para>
-
- <sect2><title>பொது டேக் ஒட்டுகள்</title>
-
- <para>
- You can add versioning information to all documentation elements to tell
- when an API was introduced, or when it was deprecated.
- </para>
-
- <variablelist><title>டேக் களை பதிப்பாக்கல்</title>
- <varlistentry><term>இதிலிருந்து:</term>
- <listitem>
- <para>
- Description since which version of the code the API is available.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>கைவிடப்பட்டது.</term>
- <listitem>
- <para>
- Paragraph denoting that this function should no be used anymore.
- The description should point the reader to the new API.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- You can also add stability information to all documentation elements
- to indicate whether API stability is guaranteed for them for all
- future minor releases of the project.
- </para>
-
- <para>
- The default stability level for all documentation elements can be set
- by passing the <option>--default-stability</option> argument to
- <application>gtkdoc-mkdb</application> with one of the values below.
- </para>
-
- <variablelist><title>Stability Tags</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>
- Mark the element as stable. This is for public APIs which are
- guaranteed to remain stable for all future minor releases of the
- project.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>
- Mark the element as unstable. This is for public APIs which are
- released as a preview before being stabilised.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>
- Mark the element as private. This is for interfaces which can be
- used by tightly coupled modules, but not by arbitrary third
- parties.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>பொது டேக் ஒட்டுகள்</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Annotations</title>
-
- <para>
- Documentation blocks can contain annotation-tags. These tags will be
- rendered with tooltips describing their meaning. The tags are used by
- gobject-introspection to generate language bindings. A detailed list
- of the supported tags can be found on
- <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">the wiki</ulink>.
- </para>
-
- <example><title>Annotations</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: (annotation): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (another annotation)
- * (and another annotation)
- * @foo: (annotation) (another annotation): some foo
- *
- * Sets bar on @foo.
- */
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>பங்ஷன் விமரிசன தொகுதி</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document whether returned objects, lists, strings, etc, should be
- freed/unrefed/released.
- </para>
- </listitem>
- <listitem>
- <para>
- Document whether parameters can be NULL, and what happens if they are.
- </para>
- </listitem>
- <listitem>
- <para>
- Mention interesting pre-conditions and post-conditions where appropriate.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <para>
- Gtk-doc assumes all symbols (macros, functions) starting with '_' are
- private. They are treated like static functions.
- </para>
-
- <example><title>பங்ஷன் விமரிசன தொகுதி</title>
- <programlisting><![CDATA[
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-]]></programlisting>
- </example>
-
- <variablelist><title>பங்ஷன் டேக் ஒட்டுகள்</title>
- <varlistentry><term>திருப்பிகிடைப்பவை:</term>
- <listitem>
- <para>
- Paragraph describing the returned result.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>
- In case the function has variadic arguments, you should use this
- tag (@Varargs: does also work for historic reasons).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>பண்புகள் விமரிசன தொகுதி</title>
-
- <example><title>பண்புகள் விமரிசன தொகுதி</title>
- <programlisting><![CDATA[
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>சமிக்ஞை விமரிசன தொகுதி</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document when the signal is emitted and whether it is emitted before
- or after other signals.
- </para>
- </listitem>
- <listitem>
- <para>
- Document what an application might do in the signal handler.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <example><title>சமிக்ஞை விமரிசன தொகுதி</title>
- <programlisting><![CDATA[
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>அமைப்பு விமரிசன தொகுதி</title>
- <example><title>அமைப்பு விமரிசன தொகுதி</title>
- <programlisting><![CDATA[
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private struct fields
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- <para>
- If the first field is "g_iface", "parent_instance" or "parent_class"
- it will be considered private automatically and doesn't need to be
- mentioned in the comment block.
- </para>
-
- <para>
- Struct comment blocks can also be used for GObjects and GObjectClasses.
- It is usually a good idea to add a comment block for a class, if it has
- vmethods (as this is how they can be documented). For the GObject
- itself one can use the related section docs, having a separate block
- for the instance struct would be useful if the instance has public
- fields. One disadvantage here is that this creates two index entries
- of the same name (the structure and the section).
- </para>
-
- </sect2>
-
- <sect2><title>ஈநம் விமரிசன தொகுதி</title>
- <example><title>ஈநம் விமரிசன தொகுதி</title>
- <programlisting><![CDATA[
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private enum values
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Inline program documentation</title>
- <para>
- You can document programs and their commandline interface using inline
- documentation.
- </para>
-
- <variablelist>
- <title>Tags</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>
- Defines the start of a program documentation.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>
- Defines a short description of the program. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>
- Defines the arguments, or list of arguments that the program can take.
- (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>
- See Also manual page section. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>
- Argument(s) passed to the program and their description. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>
- A longer description of the program.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>திருப்பிகிடைப்பவை:</term>
- <listitem>
- <para>
- Specify what value(s) the program returns. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Example of program documentation.</title>
- <example><title>Program documentation block</title>
- <programlisting><![CDATA[
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-]]></programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>Useful DocBook tags</title>
-
- <para>
- Here are some DocBook tags which are most useful when documenting the
- code.
- </para>
-
- <para>
- To link to another section in the GTK docs:
-
- <informalexample>
- <programlisting><![CDATA[
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-]]></programlisting>
- </informalexample>
- The linkend is the SGML/XML id on the top item of the page you want to link to.
- For most pages this is currently the part ("gtk", "gdk", "glib") and then
- the page title ("Hash Tables"). For widgets it is just the class name.
- Spaces and underscores are converted to '-' to conform to SGML/XML.
- </para>
-
- <para>
- To refer to an external function, e.g. a standard C function:
- <informalexample>
- <programlisting><![CDATA[
-<function>...</function>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include bulleted lists:
- <informalexample>
- <programlisting><![CDATA[
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include a note which stands out from the text:
- <informalexample>
- <programlisting><![CDATA[
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a type:
- <informalexample>
- <programlisting><![CDATA[
-<type>unsigned char</type>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to an external structure (not one described in the GTK docs):
- <informalexample>
- <programlisting><![CDATA[
-<structname>XFontStruct</structname>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a field of a structure:
- <informalexample>
- <programlisting><![CDATA[
-<structfield>len</structfield>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a class name, we could possibly use:
- <informalexample>
- <programlisting><![CDATA[
-<classname>GtkWidget</classname>
-]]></programlisting>
- </informalexample>
- but you'll probably be using #GtkWidget instead (to automatically create
- a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
- </para>
-
- <para>
- To emphasize text:
- <informalexample>
- <programlisting><![CDATA[
-<emphasis>This is important</emphasis>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- For filenames use:
- <informalexample>
- <programlisting><![CDATA[
-<filename>/home/user/documents</filename>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to keys use:
- <informalexample>
- <programlisting><![CDATA[
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-]]></programlisting>
- </informalexample>
- </para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>கூடுதல் கோப்புகளை நிரப்புதல் </title>
-
- <para>
- There are a couple of extra files, that need to be maintained along with
- the inline source code comments:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
-
- <sect1 id="metafiles_types">
- <title>கோப்பு வகையை திருத்துதல்</title>
-
- <para>
- If your library or application includes GObjects, you want
- their signals, arguments/parameters and position in the hierarchy to be
- shown in the documentation. All you need to do, is to list the
- <function>xxx_get_type</function> functions together with their include
- inside the <filename><package>.types</filename> file.
- </para>
-
- <para>
- <example><title>Example <package>.types file</title>
- <programlisting><![CDATA[
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-]]></programlisting>
- </example>
- </para>
-
- <para>ஜிடிகே டாக் </para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>முதன்மை ஆவணத்தை திருத்துதல்</title>
-
- <para>
- GTK-Doc produces documentation in DocBook SGML/XML. When processing the
- inline source comments, the GTK-Doc tools generate one documentation
- page per class or module as a separate file. The master document
- includes them and place them in an order.
- </para>
-
- <para>
- While GTK-Doc creates a template master document for you, later runs will
- not touch it again. This means that one can freely structure the
- documentation. That includes grouping pages and adding extra pages.
- GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
- Its a good idea to look at this from time to time to see if there are
- some new goodies introduced there.
- </para>
-
- <tip>
- <para>
- Do not create tutorials as extra documents. Just write extra chapters.
- The benefit of directly embedding the tutorial for your library into
- the API documentation is that it is easy to link for the tutorial to
- symbol documentation. Apart chances are higher that the tutorial gets
- updates along with the library.
- </para>
- </tip>
-
- <para>
- So what are the things to change inside the master document? For a start
- is only a little. There are some placeholders (text in square brackets)
- there which you should take care of.
- </para>
-
- <para>
- <example><title>முதன்மை ஆவணத்தின் தலைப்பு</title>
- <programlisting><![CDATA[
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- In addition a few option elements are created in commented form. You can
- review these and enable them as you like.
- </para>
-
- <para>
- <example><title>Optional part in the master document</title>
- <programlisting><![CDATA[
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Finally you need to add new section whenever you introduce one. The
- <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> tool will
- remind you of newly generated xml files that are not yet included into
- the doc.
- </para>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
- <chapter>
- <title>my library</title>
- <xi:include href="xml/object.xml"/>
- ...
-]]></programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>தொகுதி கோப்பை திருத்துதல்</title>
-
- <para>ஜிடிகே டாக் </para>
-
- <para>
- The section file is a plain text file with tags delimiting sections.
- Blank lines are ignored and lines starting with a '#' are treated as
- comment lines.
- </para>
-
- <note>
- <para>
- While the tags make the file look like xml, it is not. Please do not
- close tags like <SUBSECTION>.
- </para>
- </note>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The <FILE> ... </FILE> tag is used to specify the file name,
- without any suffix. For example, using '<FILE>gnome-config</FILE>'
- will result in the section declarations being output in the template
- file <filename>tmpl/gnome-config.sgml</filename>, which will be
- converted into the DocBook XML file <filename>xml/gnome-config.sgml</filename>
- or the DocBook XML file <filename>xml/gnome-config.xml</filename>.
- (The name of the HTML file is based on the module name and the section
- title, or for GObjects it is based on the GObjects class name converted
- to lower case).
- </para>
-
- <para>
- The <TITLE> ... </TITLE> tag is used to specify the title of
- the section. It is only useful before the templates (if used) are
- initially created, since the title set in the template file overrides
- this. Also if one uses SECTION comment in the sources, this is obsolete.
- </para>
-
- <para>
- You can group items in the section by using the <SUBSECTION> tag.
- Currently it outputs a blank line between subsections in the synopsis
- section.
- You can also use <SUBSECTION Standard> for standard GObject
- declarations (e.g. the functions like g_object_get_type and macros like
- G_OBJECT(), G_IS_OBJECT() etc.).
- Currently these are left out of the documentation.
- You can also use <SUBSECTION Private> for private declarations
- which will not be output (it is a handy way to avoid warning messages
- about unused declarations).
- If your library contains private types which you don't want to appear in
- the object hierarchy and the list of implemented or required interfaces,
- add them to a Private subsection.
- Whether you would place GObject and GObjectClass like structs in public
- or Standard section depends if they have public entries (variables,
- vmethods).
- </para>
-
- <para>
- You can also use <INCLUDE> ... </INCLUDE> to specify the
- #include files which are shown in the synopsis sections.
- It contains a comma-separate list of #include files, without the angle
- brackets. If you set it outside of any sections, it acts for all
- sections until the end of the file. If you set it within a section, it
- only applies to that section.
- </para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>விடையை கட்டுப்படுத்தல்</title>
-
- <para>ஜிடிகே டாக் </para>
-
- <para>
- The <filename><package>-undocumented.txt</filename> file starts with
- the documentation coverage summary. Below are two sections divided by
- blank lines. The first section lists undocumented or incomplete symbols.
- The second section does the same for section docs. Incomplete entries are
- those, which have documentation, but where e.g. a new parameter has been
- added.
- </para>
-
- <para>
- The <filename><package>-undeclared.txt</filename> file lists symbols
- given in the <filename><package>-sections.txt</filename> but not
- found in the sources. Check if they have been removed or if they are
- misspelled.
- </para>
-
- <para>ஜிடிகே டாக் </para>
-
- <tip>
- <para>ஜிடிகே டாக் </para>
- </tip>
-
- <para>
- One can also look at the files produced by the source code scanner:
- <filename><package>-decl-list.txt</filename> and
- <filename><package>-decl.txt</filename>. The first one can be
- compared with the section file if that is manually maintained. The second
- lists all declarations from the headers. If a symbol is missing one could
- check if this file contains it.
- </para>
-
- <para>
- If the project is GObject based, one can also look into the files produced
- by the object scanner:
- <filename><package>.args.txt</filename>,
- <filename><package>.hierarchy.txt</filename>,
- <filename><package>.interfaces.txt</filename>,
- <filename><package>.prerequisites.txt</filename> and
- <filename><package>.signals.txt</filename>. If there are missing
- symbols in any of those, one can ask GTK-Doc to keep the intermediate
- scanner file for further analysis, by running it as
- <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
- </para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernizing the documentation</title>
-
- <para>
- GTK-Doc has been around for quite some time. In this section we list new
- features together with the version since when it is available.
- </para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>
- When using xml instead of sgml, one can actually name the master
- document <filename><package>-docs.xml</filename>.
- </para>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-sections</option>
- in <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>-sections.txt</filename> is autogenerated and
- can be removed from the vcs. This only works nicely for projects that
- have a very regular structure (e.g. each .{c,h} pair will create new
- section). If one organize a project close to that updating a manually
- maintained section file can be as simple as running
- <code>meld <package>-decl-list.txt <package>-sections.txt</code>.
- </para>
-
- <para>
- Version 1.8 already introduced the syntax for documenting sections in
- the sources instead of the separate files under <filename class="directory">tmpl</filename>.
- This version adds options to switch the whole doc module to not use the
- extra tmpl build step at all, by using <option>--flavour no-tmpl</option>
- in <filename>configure.ac</filename>. If you don't have a <filename class="directory">tmpl</filename>
- checked into your source control system and haven't yet switched, just
- add the flag to <filename>configure.ac</filename> and you are done.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in
- <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>.types</filename> is autogenerated and can be
- removed from the vcs. When using this feature it is important to also
- setup the <varname>IGNORE_HFILES</varname> in
- <filename>Makefile.am</filename> for code that is build conditionally.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>
- This version includes a new tool called gtkdoc-check. This tool can run
- a set of sanity checks on your documentation. It is enabled by adding
- these lines to the end of <filename>Makefile.am</filename>.
- <example><title>Enable gtkdoc-check</title>
- <programlisting><![CDATA[
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>
- Version 1.18 brought some initial markdown support. Using markdown in
- doc comments is less intrusive than writing docbook xml. This version
- improves a lot on this and add a lot more styles. The section that
- explains the <link linkend="documenting_syntax">comment syntax</link>
- has all the details.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>
- The makefiles shipped with this version generate an entity file at <filename>xml/gtkdocentities.ent</filename>,
- containing entities for e.g. package_name and package_version. You can
- use this e.g. in the main xml file to avoid hardcoding the version
- number. Below is an example that shows how the entity file is included
- in the master template and how the entities are used.
- The entities can also be used in all
- generated files, GTK-Doc will use the same xml header in generated xml
- files.
- <example><title>Use pre-generated entities</title>
- <programlisting><![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-]]></programlisting>
- </example>
- </para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Documenting other interfaces</title>
-
- <para>
- So far we have been using GTK-Doc to document the API of code. The next
- sections contain suggestions how the tools can be used to document other
- interfaces too.
- </para>
-
- <sect1 id="commandline-interfaces">
- <title>Command line options and man pages</title>
-
- <para>
- As one can generate man pages for a docbook refentry as well, it sounds
- like a good idea to use it for that purpose. This way the interface is
- part of the reference and one gets the man-page for free.
- </para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Document the tool</title>
-
- <para>
- Create one refentry file per tool. Following
- <link linkend="settingup_docfiles">our example</link> we would call it
- <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
- tags that should be used and can look at generated file in the xml
- subdirectory as well as examples e.g. in glib.
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Adding the extra configure check</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-]]></programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Adding the extra makefile rules</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-]]></programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>DBus interfaces</title>
-
- <para>
- (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
-http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Frequently asked questions</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>கேள்வி</segtitle>
- <segtitle>பதில்</segtitle>
- <seglistitem>
- <seg>வகுப்பு கட்டுமுறை இல்லை</seg>
- <seg>
- The objects <function>xxx_get_type()</function> function has not been
- entered into the <filename><package>.types</filename> file.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>இன்னும் வகுப்பு கட்டுமுறை இல்லை</seg>
- <seg>
- Missing or wrong naming in <filename><package>-sections.txt</filename>
- file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explanation</ulink>).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>அடடா, இன்னும் வகுப்பு கட்டுமுறை இல்லை </seg>
- <seg>
- Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
- part of the normal section (don't put this into Standard or Private
- subsections).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>சிம்பல் குறி அட்டவணை இல்லை</seg>
- <seg>
- Does the <filename><package>-docs.{xml,sgml}</filename> contain a
- index that xi:includes the generated index?
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Symbols are not linked to their doc-section.</seg>
- <seg>
- Is the doc-comment using the correct markup (added #,% or ())?
- Check if the gtkdoc-fixxref warns about unresolvable xrefs.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new class does not appear in the docs.</seg>
- <seg>
- Is the new page xi:included from
- <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new symbol does not appear in the docs.</seg>
- <seg>
- Is the doc-comment properly formatted. Check for spelling mistakes in
- the begin of the comment. Check if the gtkdoc-fixxref warns about
- unresolvable xrefs. Check if the symbol is correctly listed in the
- <filename><package>-sections.txt</filename> in a public subsection.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A type is missing from the class hierarchy.</seg>
- <seg>
- If the type is listed in <filename><package>.hierarchy</filename>
- but not in <filename>xml/tree_index.sgml</filename> then double check
- that the type is correctly placed in the <filename><package>-sections.txt</filename>.
- If the type instance (e.g. <type>GtkWidget</type>) is not listed or
- incidentally marked private it will not be shown.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>I get foldoc links for all gobject annotations.</seg>
- <seg>
- Check that <filename>xml/annotation-glossary.xml</filename> is
- xi:included from <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parameter described in source code comment block but does not exist</seg>
- <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>multiple "IDs" for constraint linkend: XYZ</seg>
- <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
- </seglistitem>
- <seglistitem>
- <seg>குறி XYZ இல் இரு முறை காண்கிறது.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Tools related to gtk-doc</title>
-
- <para>
- GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
- integration plugin, that adds API docs to a trac site and integrates with
- the trac search.
- </para>
- <para>
- Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
- tags in the API to determine the minimum required version.
- </para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>பதிப்பு 1.1, மார்ச் 2000</releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>க்னூ இலவச ஆவண லைசென்ஸ்</title>
-
- <sect1 id="fdl-preamble">
- <title>0. முன்னுரை (PREAMBLE)</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. மாற்றங்கள் (MODIFICATIONS)</title>
- <para>நீங்கள் ஒரு <link linkend="fdl-document">Document</link> ஆவணத்தின் <link linkend="fdl-modified">மாற்றப்பட்ட பதிப்பு(Modified Version)</link> ஐ கீழ் கண்ட தொகுதிகளின் விதிகளூக்கு இணங்க வினியோகிக்கலாம்: <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> கட்டுப்பாடு எது எனில் யாரிடம் எந்த பதிப்பு இருக்கிறதோ அதே லைசன்ஸ் கீழ் வெளியிட வேண்டும். மாற்றிய பதிப்பு ஆவணத்தின் பங்கை செய்ய வேண்டும். மேலும் பின் வருவனவற்றை மாற்றிய பதிப்பில் செய்ய வேண்டும்.:</para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>முந்தைய பதிப்புகளின் வரலாற்றை ஆவணத்தின் வரலாற்றில் எழுதுக. இப்பதிப்புகளின் <link linkend="fdl-title-page">Title Page</link> இலும் (அட்டைகள் இருப்பின் அதிலும்) <link linkend="fdl-document">Document</link> இலும் முற்றிலும் மாறுபட்ட தலைப்பை பயன்படுத்தவும். </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para> <link linkend="fdl-title-page">Title Page</link>, இல் ஆசிரியர்களாக பட்டியலிடப்பட்டதில் ஒருவரோ மேலுமோ யார் மாற்றங்களை செய்தனரோ அவரது பெயர்களையும் <link linkend="fdl-modified">Modified Version</link> இல் சேர்க்கவும். <link linkend="fdl-document">Document</link> இன் ஆசிரியர்கள் ஐந்துக்கு குறைவாக இருப்பின் அனைத்து பெயர்களூம் அதிகமாக இருப்பின் குறைந்தது ஐந்து முக்கிய ஆசிரியர்கள் பெயர்களும் சேர்க்கப்பட வேண்டும்.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para><link linkend="fdl-title-page">Title Page</link> இல் வெளியிடுவோர் பெயராக <link linkend="fdl-modified">Modified Version</link> ஐ வெளியிடுவோர் பெயரை குறிப்பிடுக.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para><link linkend="fdl-document">Document</link> இன் காப்புரிமையை பாதுகாக்கவும்.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>காப்புரிமை அறிவிப்புக்கு அருகில் உங்கள் மாற்றங்களுக்கான காப்புரிமையை வெளியிடுக.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>உங்கள் காப்புரிமை அறிவிப்புக்கு பின்னாலேயே <link linkend="fdl-modified">Modified Version</link> ஐ பொது ஜனம் பயன்படுத்த பின் வரும் படிவத்தில் இந்த லைசென்ஸ் மூலம் அனுமதி வழங்குக.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para><link linkend="fdl-invariant"> Invariant Sections</link> களின் முழு பட்டியலை லைசென்ஸிலும் <link linkend="fdl-document">Document's</link> மற்றும் லைசென்ஸ் நோட்டீசில் உள்ள தேவையான<link linkend="fdl-cover-texts">Cover Texts</link> களிலும் வைத்திருங்கள். </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>இந்த லைசென்ஸின் மாற்றப்படாத வடிவத்தையும் ஒரு பிரதி வைத்திருங்கள். </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>ஆவணத்தின் பிரதிக்கு பொதுஜன அணுகலுக்கு தரப்பட்ட <link linkend="fdl-document">Document</link> இல் காணும் <link linkend="fdl-transparent">Transparent</link> தொடுப்பை பாதுகாக்கவும்.அதேபோல முதைய பதிப்புகளில் உள்ள தொடுப்புகளையும் பாதுகாக்கவும். இவற்றை <quote>History</quote> பகுதியில் வைக்கலாம். ஆவணத்துக்கு நான்கு வருடங்கள் முன் வெளியிட்டவற்றையும் ஆசிரியர் நீக்கலாம் என அனுமதி தந்தவற்றையும் நீக்கலாம்.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para><quote>Acknowledgements</quote> அல்லது <quote>Dedications</quote> எனக்குறித்த எந்த தொகுதியிலும் தொகுதியின் தலைப்பையும் அதில் உள்ளவற்றில் ஒவ்வொரு பங்கீடு அளித்தோரின் நன்றி அறிதல் /அர்ப்பணம் ஆகியவற்றின் சாரத்தையும் பாதுகாக்கவும் , </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para><link linkend="fdl-document">Document</link>, இன் <link linkend="fdl-invariant">Invariant Sections</link> of the <link linkend="fdl-document">Document</link> களை உரை தலைப்புகளை மாற்றாமல் பாதுகாக்கவும். தொகுதி எண்களும் அல்லது அதன் சமானமானவையும் இதில் சேராது.</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para> <quote>Endorsements</quote> இல் உள்ளதை நீக்கவும். அப்படிப்பட்ட எந்த தொகுதியும் <link linkend="fdl-modified">Modified Version</link> இல் இருத்தலாகாது..</para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>இருப்பிலுள்ள எந்த தொகுதியையும் <quote>Endorsements</quote> என் மறு பெயரிடவோ அல்லது <link linkend="fdl-invariant">Invariant Section</link> உடன் மோதும் எதையும் செய்யலாகாது </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para><link linkend="fdl-modified">Modified Version</link>இல் புதிய விஷயம் இருந்தாலோ அல்லது <link linkend="fdl-secondary">Secondary Sections</link> என அனுபந்தம் இருந்து அதில் ஆவணத்திலிருந்து பிரதி எடுத்த ஏதும் இல்லாமல் இருந்தாலோ நீங்கள் தேர்ந்தெடுத்து அவற்றை முழுதுமோ பகுடியோ மாறாதவை என குறிப்பிடலாம். இதை செய்ய அவற்றின் தலைப்புகளை மாற்றிய பதிப்பு நோட்டீசில் <link linkend="fdl-invariant">Invariant Sections</link> பட்டியலில் சேர்க்கவும். இந்த தலைப்புகள் மற்ற தலைப்புகளீன் பெயரிலிருந்து மாறுபட்டு இருத்தல் வேண்டும்.</para>
-
- <para>சகாக்கள் எழுதிய விமர்சனங்கள், மதிப்புரைகள் அல்லது ஒரு நிறுவனம் உங்கள் <link linkend="fdl-modified">Modified Version</link> ஐ திறனாய்வு செய்து தகுதி சான்று கொடுத்து இருப்பின் அவை மட்டும் இருக்கும் பட்சத்தில் நீங்கள் <quote>Endorsements</quote> என தலைப்பிட்ட தொகுதி ஒன்றை சேர்க்கலாம்.</para>
-
- <para><link linkend="fdl-cover-texts">Front-Cover Text</link> ஆக நீங்கள் ஐந்து சொற்கள் வரை சேர்க்கலாம். <link linkend="fdl-modified">Modified Version</link>. இல் பட்டியலின் கடைசியில் <link linkend="fdl-cover-texts">Cover Texts</link> <link linkend="fdl-cover-texts">Back-Cover Text</link> ஆக 25, சொற்கள் சேர்க்கலாம். முன் அட்டை உரைக்கு ஒரு பாராவும் பின் அட்டைக்கு ஒரு உரையும் மட்டுமே உங்களாலோ அல்லது உங்கள் முன் அனுமதி பெற்றவராலோ சேர்க்கப்படலாம். <link linkend="fdl-document">Document</link> இல் ஏற்கெனெவே அதே அட்டைக்கு உரை, உங்களாலோ அனுமதி பெற்றவராலோ முன்னேயே இடப்பட்டு இருப்பின், நீங்கள் மற்றொன்றை இடலாகாது. already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.</para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. மொழிபெயர்ப்பு</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:</para>
-
- <blockquote>
- <para>Copyright 2010, I. Felix.</para>
- <para>Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST, and with the <link linkend="fdl-cover-texts">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>.</para>
- </blockquote>
-
- <para>If you have no <link linkend="fdl-invariant">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.</para>
-
- <para>உங்கள் ஆவணத்தில் முக்கியமல்லாத நிரல் குறியீட்டு உதாரணங்கள் இருப்பின் , எங்கள் பரிந்துரை: இவற்றின் இலவச பயனுக்கு இந்த உதாரணங்களை இணையாக மென்பொருள் அனுமதிக்கான உங்கள் தேர்வில் வெளியிடுங்கள்.மாதிரிக்கு: <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public License</ulink>,</para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>
- Version 1.1, March 2000
- </releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="te">
- <bookinfo>
- <title>GTK-Doc మాన్యుయల్</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>GTK-Doc వినియోగపు సూచనలతో అభివృద్దికారుల కొరకు వినియోగదారి మాన్యుయల్.</para></abstract>
- <authorgroup>
- <author>
- <firstname>Chris</firstname>
- <surname>Lyttle</surname>
- <affiliation>
- <address>
- <email>chris@wilddev.net</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Dan</firstname>
- <surname>Mueth</surname>
- <affiliation>
- <address>
- <email>d-mueth@uchicago.edu</email>
- </address>
- </affiliation>
- </author>
- <author>
- <firstname>Stefan</firstname>
- <surname>Sauer (Kost)</surname>
- <affiliation>
- <address>
- <email>ensonic@users.sf.net</email>
- </address>
- </affiliation>
- </author>
- </authorgroup>
- <publisher role="maintainer">
- <publishername>GTK-Doc project</publishername>
- <address><email>gtk-doc-list@gnome.org</email></address>
- </publisher>
- <copyright>
- <year>2000, 2005</year>
- <holder>Dan Mueth and Chris Lyttle</holder>
- </copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>ఎటువంటి ఫ్రంట్-కవర్ పాఠ్యములు, మరియు బ్యాక్-కవర్ పాఠ్యములు లేకుండా, ఫ్రీ సాఫ్టువేరు ఫౌండేషన్ ద్వారా ప్రచురితమైన వర్షన్ 1.1 లేదా దాని తర్వాత వర్షన్ <citetitle>GNU Free Documentation License</citetitle> నియమాలకు లోబడి ఈ పత్రమును నకలు తీయుటకు, పంపిణీ చేయుటకు మరియు/లేదా సవరించుటకు అనుమతి యివ్వబడింది. లైసెన్సు యొక్క నకలు <link linkend="fdl">చేర్చబడింది</link>.న్ ద్వారా ప్రచురితమై,</para>
- <para>కంపెనీలు వాటి వుత్పత్తులను మరియు సేవలను వర్గీకరించుటకు వుపయోగించు చాలా వరకు నామములు ట్రేడ్మార్కులుగా హక్కు కలిగివుంటాయి. అవి GNOME పత్రికీకరణనందు కనిపించునప్పుడు, మరియు GNOME Documentation Project సభ్యలు ఆ ట్రేడ్మార్కులను గుర్తించుటకు, ఆనామములు పెద్ద అక్షరములలో లేదా మొదటి అక్షరం పెద్ద అక్షరంగా ముద్రించబడతాయి.</para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.28</revnumber>
- <date>24 Mar 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.27</revnumber>
- <date>07 Dec 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>fine tuning of the python port</revremark>
- </revision>
- <revision>
- <revnumber>1.26</revnumber>
- <date>11 Aug 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>port all tools from perl/bash to python</revremark>
- </revision>
- <revision>
- <revnumber>1.25</revnumber>
- <date>21 March 2016</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, test cleanups</revremark>
- </revision>
- <revision>
- <revnumber>1.24</revnumber>
- <date>29 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.23</revnumber>
- <date>17 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.22</revnumber>
- <date>07 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.21</revnumber>
- <date>17 Jul 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.20</revnumber>
- <date>16 Feb 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, markdown support, style improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.19</revnumber>
- <date>05 Jun 2013</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.18</revnumber>
- <date>14 Sep 2011</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, speedups, markdown support</revremark>
- </revision>
- <revision>
- <revnumber>1.17</revnumber>
- <date>26 Feb 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>urgent bug fix update</revremark>
- </revision>
- <revision>
- <revnumber>1.16</revnumber>
- <date>14 Jan 2011</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes, layout improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.15</revnumber>
- <date>21 May 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bug and regression fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.14</revnumber>
- <date>28 March 2010</date>
- <authorinitials>sk</authorinitials>
- <revremark>bugfixes and performance improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.13</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>broken tarball update</revremark>
- </revision>
- <revision>
- <revnumber>1.12</revnumber>
- <date>18 December 2009</date>
- <authorinitials>sk</authorinitials>
- <revremark>new tool features and bugfixes</revremark>
- </revision>
- <revision>
- <revnumber>1.11</revnumber>
- <date>16 November 2008</date>
- <authorinitials>mal</authorinitials>
- <revremark>GNOME doc-utils migration</revremark>
- </revision>
- </revhistory>
-
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>పరిచయం</title>
-
- <para>ఈ అధ్యాయము GTK-Docను పరిచయం చేస్తుంది మరియు అది యేమిచేస్తుంది దానిని యెలా వుపయోగించాలి అనేదానిపై సంక్షిప్తంగా వివరిస్తుంది.</para>
-
- <sect1 id="whatisgtkdoc">
- <title>GTK-Doc అంటే యేమిటి?</title>
-
- <para>GTK-Doc అనునది C కోడ్ను పత్రికీకరణ చేయుటకు వుపయోగించబడింది. ఇది ముఖ్యంగా GTK+ మరియు GNOME వంటి లైబ్రరీల పబ్లిక్ API పత్రికీకరణకు వుపయోగించబడింది. అయితే యిది అనువర్తనము కోడ్ను పత్రికీకరణ చేయుటకు కూడా వుపయోగించవచ్చును.</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>GTK-Doc యెలా పనిచేయును?</title>
-
- <para>GTK-Doc అనునది మూలపు(సోర్స్) ఫైళ్ళ యొక్క ఫంక్షన్స్ నందు ప్రత్యేకించి-రూపొందించిన కామెంట్ బ్లాక్స్ నందలి పత్రికీకరణను వుపయోగించి పనిచేయును, లేదా GTK-Doc వుపయోగించే మాదిరి(టెంప్లేట్) ఫైళ్ళకు జతచేసిన పత్రికీకరణను వుపయోగించును (GTK-Doc హెడర్ ఫైళ్ళ నందు డిక్లేర్ చేసివున్న ఫంక్షన్లకు మాత్రమే పత్రికీకరణ యిచ్చును; అది స్టాటిక్ ఫంక్షన్ల కొరకు అవుట్పుట్ అందించదు).</para>
-
- <para>
- GTK-Doc consists of a number of python scripts, each performing a different step
- in the process.
- </para>
-
- <para>అక్కడ కార్యక్రమమునందు 5 ముఖ్య స్టెప్పులు వున్నవి:</para>
-
- <orderedlist>
-
- <listitem>
- <para>
- <guilabel>Writing the documentation.</guilabel>
-
- The author fills in the source files with the documentation for each
- function, macro, structs or unions, etc.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Gathering information about the code.</guilabel>
-
- <application>gtkdoc-scan</application> scans the header files of the
- code looking for declarations of functions, macros, enums, structs, and unions.
- It creates the file <filename><module>-decl-list.txt</filename> containing a list of the
- declarations, placing them into sections according to which header file they
- are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
- The author can rearrange the sections, and the order of the
- declarations within them, to produce the final desired order.
- The second file it generates is <filename><module>-decl.txt</filename>.
- This file contains the full declarations found by the scanner. If for
- some reason one would like some symbols to show up in the docs, where
- the full declaration cannot be found by the scanner or the declaration
- should appear differently, one can place entities similar to the ones in
- <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
- </para>
- <para>
- <application>gtkdoc-scangobj</application> can also be used to dynamically query a library about
- any GObject subclasses it exports. It saves information about each
- object's position in the class hierarchy and about any GObject properties
- and signals it provides.
- </para>
- <para>
- <application>gtkdoc-scanobj</application> should not be used anymore.
- It was needed in the past when GObject was still GtkObject inside gtk+.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Generating the XML and HTML/PDF.</guilabel>
-
- <application>gtkdoc-mkdb</application> turns the template files into
- XML files in the <filename class="directory">xml/</filename> subdirectory.
- If the source code contains documentation on functions, using the
- special comment blocks, it gets merged in here. If there are no tmpl files used
- it only reads docs from sources and introspection data.
- </para>
- <para>
- <application>gtkdoc-mkhtml</application> turns the XML files into HTML
- files in the <filename class="directory">html/</filename> subdirectory.
- Likewise <application>gtkdoc-mkpdf</application> turns the XML files into a PDF
- document called <filename><package>.pdf</filename>.
- </para>
- <para>
- Files in <filename class="directory">xml/</filename> and
- <filename class="directory">html/</filename> directories are always
- overwritten. One should never edit them directly.
- </para>
- </listitem>
-
- <listitem>
- <para><guilabel>పత్రముల మధ్య క్రాస్-రిఫరెన్సెస్ను పరిష్కరించుచున్నది.</guilabel> HTML ఫైళ్ళను సంస్థాపించిన తర్వాత, వేరు వేరు పత్రముల మధ్య క్రాస్-రిఫరెన్సెస్ను అమర్చుటకు <application>gtkdoc-fixxref</application> నడుపవచ్చును. ఉదాహరణకు, GTK+ పత్రికీకరణ అనునది GLib మాన్యుయల్ నందు వుంచిన పత్రికీకరణకు చాలా క్రాస్-రిఫరెన్సెస్ కలిగివుంది. పంపిణీ కొరకు మూలపు టార్బాల్ను సృష్టించునప్పుడు, <application>gtkdoc-rebase</application> అనునది అన్ని బహిర్గత లింకులను వెబ్-లింకులకు మార్చును. పంపిణీచేసిన (ముందుగాజనియింపచేసిన) పత్రములను సంస్థాపించునప్పుడు అదే అనువర్తనము లింకులను స్థానిక లింకులకు (ఆ పత్రములు యెక్కడ సంస్థాపించబడినవో అక్కడికి) తిరిగివుంచుటకు ప్రయత్నించును.</para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>GTK-Doc పొందుట</title>
-
- <sect2 id="requirements">
- <title>అవసరములు</title>
- <para>
- <guilabel>python 2/3</guilabel> - the main scripts are written in python.
- </para>
- <para>
- <guilabel>xsltproc</guilabel> - the xslt processor from libxslt
- <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink>
- </para>
- <para>
- <guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets
- <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>
- </para>
- <para>
- One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> or
- <guilabel>vim</guilabel> - optional - used for syntax highlighting of examples
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>GTK-Doc గురించి</title>
-
- <para>
- Historically GTK-Doc was used to generate template files from the sources
- code. These template files could be used by developers to enter the
- API documentation. This approach was rather inconvenient because it
- required to keep the generated files under version control.
- Since GTK-Doc 1.9 it became possible to place all API information
- into source comments, which made the template support obsolete.
- In version 1.26 template support has been removed.
- </para>
-
- <para>(FIXME)</para>
-
- <para>
- (authors, web pages, mailing list, license, future plans,
- comparison with other similar systems.)
- </para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>ఈ మాన్యుయల్ గురించి</title>
-
- <para>(FIXME)</para>
-
- <para>(ఇది యెవరి కొరకు, మీరు దీనిని యెచటనుండి పొందగలరు, లైసెన్స్)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Project Setup</title>
-
- <para>
- This Chapter describes the steps that are necessary to integrate GTK-Doc
- into your project. The integration of GTK-Doc into a project includes the
- following steps:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Preparation of the directory structure and creating required
- configuration files for your GTK-Doc documentation (see
- <link linkend="settingup_docfiles">
- Setting up a skeleton documentation</link>).
- </para>
- </listitem>
- <listitem>
- <para>
- Adjusting the build system to build your documentation using the
- GTK-Doc tools. Multiple build systems are supported, in
- this manual we describe how to integrate GTK-Doc with
- <link linkend="settingup_autotools">Autotools</link>,
- <link linkend="settingup_cmake">CMake</link>, and
- <link linkend="settingup_plain_makefiles">plain Makefiles</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adding GTK-Doc specific files to version control and deciding which
- files to ignore (see <link linkend="settingup_vcs">
- Integration with version control systems</link>).
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The following sections assume we work on a project called
- <code>meep</code>.
- This project contains two packages (or modules),
- a library called <code>libmeep</code> and an end-user app
- called <code>meeper</code>.
- </para>
-
- <sect1 id="settingup_docfiles">
- <title>స్కెల్టెన్ పత్రికీకరణను అమర్చుచున్నది</title>
-
- <para>
- A common convention is to place documentation into a folder called
- <code>docs</code> inside your top-level project directory.
- We usually distinguish between <emphasis>reference
- documentation</emphasis> intended for developers and an
- <emphasis>user manual</emphasis> intended for end-users.
- Again the convention is to have separate folders for both.
- We usually place the reference documentation in a folder named
- <code>reference</code> and the end-user manual in a folder named
- <code>help</code> as.
-
- According to the above convention the documentation for our
- <code>libmeep</code> package would be placed into:
- <code>docs/reference/libmeep</code>.
-
- For packages with just one library or application
- the documentation could also be placed directly into
- <code>docs/reference</code>.
-
- It is not mandatory to use the above convention, but if you
- choose to use a different directory structure you must adjust
- your build system configuration to match your directory
- structure.
- </para>
-
- <para>
- In the following sections we will assume a directory structure
- for our <emphasis>meep</emphasis> project that uses the above
- conventions.
-
- <example>
- <title>Example directory structure of <emphasis>meep</emphasis>
- project</title>
- <programlisting><![CDATA[
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integration with Autotools</title>
- <para>
- Integration of GTK-Doc into an autotools-based build system requires the
- following steps:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Ensure that <application>gtkdocize</application> is run once before
- the <filename>configure</filename> script. If an
- <filename>autogen.sh</filename> script is present, adjust it to
- check for GTK-Doc and add a call to
- <application>gtkdocize</application>.
- </para>
-
- <para>
- The main purpose of <application>gtkdocize</application> is to
- make the <filename>gtk-doc.make</filename> Makefile and the
- <filename>gtk-doc.m4</filename> macro definition file available
- to the build system, either by copying or linking it
- into the project.
- </para>
- </listitem>
- <listitem>
- <para>
- Add the necessary <application>autoconf</application> macros to
- <filename>configure.ac</filename> to enable GTK-Doc in your build
- system to allow configuration of GTK-Doc via the generated
- <filename>configure</filename> script.
- </para>
- <para>
- Among others with registers the <code>--enable-gtk-doc</code>
- option with the <filename>configure</filename> script.
- </para>
- </listitem>
- <listitem>
- <para>
- Create an <application>automake</application> script for each
- application or library in your project. In the example used in this
- documentation this step applies to both <code>meeper</code> and
- <code>libmeep</code>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the following sections, we will perform the above steps in reverse
- order. We start with the <application>automake</application> scripts
- and work our way up to <filename>configure.ac</filename> and
- <filename>autogen.sh</filename>.
- Then we show how enable Gtk-Doc in the build system and
- how to build the documentation.
- </para>
-
- <sect2 id="settingup_automake">
- <title>automake తో విలీనం</title>
-
- <para>
- First copy the <filename>Makefile.am</filename> from the
- <filename class="directory">examples</filename> sub-directory of the
- <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">
- gtkdoc-sources</ulink>
- to your project's reference documentation directory (e.g.
- <filename class="directory">docs/reference/<package></filename>).
- A local copy should be available under e.g.
- <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>.
- If you have multiple packages repeat this for each one.
- </para>
-
- <note>
- <simpara>
- Do not forget to add each <filename>Makefile.am</filename>
- to the <function>AC_CONFIG_FILES</function> macro in
- <filename>configure.ac</filename>. For
- <filename>docs/reference/libmeep/Makefile.am</filename> you will
- need to add the entry
- <filename>docs/reference/libmeep/Makefile</filename>
- to <function>AC_CONFIG_FILES</function>.
- </simpara>
- </note>
-
- <example>
- <title>
- Example directory structure with <filename>Makefiles.am</filename>
- </title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>
- Next, you need to customize the copied Makefiles
- and provide values for the various parameters in each
- <filename>Makefile.am</filename>.
-
- All settings have a comment above them that describes their purpose
- and how to customize the setting.
-
- Most settings are used to supply extra flags to the respective tools
- to which they apply. Every tool
- has a variable of the form <option><TOOLNAME>_OPTIONS</option>
- (e.g. the tool <application>gtkdoc-mkhtml</application> has
- an option named <code>MKHTML_OPTIONS</code>).
-
- All the tools support <option>--help</option> to list the supported
- options.
- </para>
-
- <para>
- The following list explains the most relevant options. Check the
- example <filename>Makefile.am</filename> for additional options.
-
- <itemizedlist>
- <listitem>
- <para>
- <option>DOC_MODULE</option> is used to provide the name of the
- package that is being documentated (e.g. <code>meeper</code>, or
- <code>libmeep</code>).
- </para>
- </listitem>
- <listitem>
- <para>
- <option>DOC_SOURCE_DIR</option>
- is used to specify the location
- of source directory which GTK-Doc searches for your API
- documentation. This will usually be
- <code>
- DOC_SOURCE_DIR=$(top_srcdir)/src
- </code>
- or a sub-directory of that directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HFILE_GLOB</option>
- and
- <option>CFILE_GLOB</option>
- are used for dependencies. Each option take a file-glob (e.g.
- <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>).
- The documentation will be rebuilt if any of the matched files
- change.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>EXTRA_HFILES</option>
- allows to specify extra header files
- to include when scanning for API documentation, which are not
- found under <code>DOC_SOURCE_DIR</code> (e.g. <code>
- EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>IGNORE_HFILES</option>
- allows to specify header files
- or directories to ignore when scanning for API documentation.
- Use the basename of the file or directory (e.g. <code>
- IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HTML_IMAGES</option>
- allows to specify images files which
- will be copied into the <filename>html/</filename> directory of
- the generated documentation.
- If your API documentation includes any images they need to be
- added to this
- option (e.g. <code>
- HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>content_files</option>
- allows to specify extra files
- that are included by
- <code>$(DOC_MAIN_SGML_FILE)</code>
- (e.g. <code>
- content_files=running.xml building.xml changes-2.0.xml</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>expand_content_files</option>
- allows to specify files
- where <emphasis>gtk-doc abbreviations</emphasis> such as
- <code>#GtkWidget</code>
- are expanded (e.g. <code>
- expand_content_files=running.xml</code>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>autoconf తో విలీనం</title>
-
- <para>
- Integration with <application>autoconf</application> is very simple
- and includes one required step and an additional optional
- (but recommended) step.
-
- The first step is to add the <function>GTK_DOC_CHECK</function> macro
- to your <filename>configure.ac</filename> script. This registers
- several configure options to enable GTK-Doc and allows you
- to set default arguments for <application>gtkdocize</application>.
- </para>
-
- <warning>
- <simpara>
- Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented.
- The macro must start at the beginning of the line and should not
- start with whitespace.
- </simpara>
- </warning>
-
- <para>
- The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code>
- to your <filename>configure.ac</filename>. This is not required
- but helps <application>gtkdocize</application> to automatically copy
- the macro definition (e.g <filename>gtk-doc.m4</filename>) which
- contains the <function>GTK_DOC_CHECK</function> macro to your
- project's macro directory. Without this, the GTK_DOC_CHECK macro
- might not be found and you would need to explicitly tell the
- <application>aclocal</application> tool where to find the macro
- definition file.
- </para>
-
- <para>
- <example><title>Minimal integration with autoconf</title>
- <programlisting><![CDATA[
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The above example works, but will require all developers to have
- gtk-doc installed. A better way is to make building the documentation
- optional as shown in the next example:
-
- <example>
- <title>Integration with optional gtk-doc dependency</title>
- <programlisting><![CDATA[
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The first argument is used to check for the Gtk-Doc version at
- configure time. The 2nd, optional argument is used by
- <application>gtkdocize</application>.
- The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure
- switches:
- </para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=PATH : సంస్థాపించిన పత్రములకు పాత్</para></listitem>
- <listitem><para>--enable-gtk-doc : పత్రికీకరణను నిర్మించుటకు gtk-doc వుపయోగించుము [default=no]</para></listitem>
- <listitem><para>--enable-gtk-doc-html : పత్రికీకరణను html ఫార్మాట్నందు నిర్మించుము [default=yes]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : పత్రికీకరణను pdf ఫార్మాట్ నందు నిర్మించుము [default=no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>GTK-Doc అప్రమేయంగా అచేతనము చేయబడింది! ఐచ్చికము <option>'--enable-gtk-doc'</option>ను తరువాతి <filename>configure</filename>కు నడుపుట మర్చిపోవద్దు. లేకపోతే ముందుగా జనియింపచేసిన పత్రికీకరణ సంస్థాపించబడుతుంది (ఇది వినియోగదారులకు వుపయోగకరం అయితే అభివృద్దికారులకు కాదు).</para>
- </important>
-
- <para>
- After all changes to <filename>configure.ac</filename> are made,
- update the <filename>configure</filename> file. This can be done by
- re-running <code>autogen.sh</code>.
- </para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>autogen తో విలీనం</title>
-
- <para>
- Most projects will have an <filename>autogen.sh</filename> script to
- setup the build infrastructure after the project was checked out from
- a version control system (such as git or svn). GTK-Doc comes with a
- script called <application>gtkdocize</application> which can be used
- to copy the necessary files needed by Gtk-Doc to the source directory.
- </para>
-
- <para>
- It should be run before autoreconf, autoheader, automake or autoconf.
- </para>
-
- <para>
- <example><title>autogen.sh నుండి gtkdocize నడుపుతోంది</title>
- <programlisting><![CDATA[
-gtkdocize || exit 1
-]]></programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Conditionally run gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-]]></programlisting>
- </example>
- </para>
-
- <para>
- When running <application>gtkdocize</application> it copies
- <filename>gtk-doc.make</filename> to your project root (or any
- directory specified by the <option>--docdir</option> option).
- </para>
-
- <para>
- <application>gtkdocize</application> checks your
- <filename>configure.ac</filename> script for
- the <function>GTK_DOC_CHECK</function> macro.
- The <function>GTK_DOC_CHECK</function> macro can be used to pass
- extra arguments to the <application>gtkdocize</application> script.
- the 2nd parameter in the <function>GTK_DOC_CHECK</function> macro.
- </para>
-
- <para>
- Alternatively, additional arguments can also be passed to
- <application>gtkdocize</application> via the
- <function>GTKDOCIZE_FLAGS</function> environment variable, or by
- directly specifying them to <application>gtkdocize</application>
- in <filename>autogen.sh</filename>.
- </para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Executing GTK-Doc from the Build System</title>
-
- <para>గతంలో జరిపిన స్టెప్పుల తర్వాత యిప్పుడు బుల్డును నడుపవలెను. ముందుగా మనము <filename>autogen.sh</filename>ను తిరిగి నడుపవలెను. ఈ స్క్రిప్టు మీ కొరకు ఆకృతీకరణను నడిపితే, దానికి <option>--enable-gtk-doc</option> ఐచ్చికాన్ని యివ్వుము. లేదా తరువాత ఈ ఐచ్చికముతో మానవీయంగా <filename>configure</filename>ను నడుపుము.</para>
- <para>
- The first make run generates several additional files in the doc-directories.
- The important ones are:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
- <para>
- <example><title>doc బుల్డును నడుపుట</title>
- <programlisting><![CDATA[
-./autogen.sh --enable-gtk-doc
-make
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Now you can point your browser to
- <filename>docs/reference/<package>/index.html</filename>.
- With this initial setup you will only see a very simple document.
- The next chapter will teach you how to add API documentation to your
- code via special comment blocks. The Chapter afterwards introduces
- <link linkend="metafiles">additional files</link> and shows how to
- edit the <link linkend="metafiles_master">master template</link> to
- add additional chapters and sections to your documentation files.
- </para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integration with CMake build systems</title>
-
- <para>
- GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module
- (and the corresponding <filename>GtkDocConfigVersion.cmake</filename>
- module). This provides a <literal>gtk_doc_add_module</literal>
- command that you can set in your <filename>CMakeLists.txt</filename>
- file.
- </para>
-
- <para>
- The following example shows how to use this command.
- <example><title>Example of using GTK-Doc from CMake</title>
- <programlisting><![CDATA[
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>Integration with plain makefiles or other build systems</title>
-
- <para>
- In the case one does not want to use automake and therefore
- <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
- in the right order in own makefiles (or other build tools).
- </para>
-
- <para>
- <example><title>Documentation build steps</title>
- <programlisting><![CDATA[
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-]]></programlisting>
- </example>
- </para>
-
- <para>
- One will need to look at the <filename>Makefile.am</filename> and
- <filename>gtk-doc.mak</filename> to pick the extra options needed.
- </para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>వర్షన్ కంట్రోల్ సిస్టమ్తో విలీనం</title>
-
- <para>
- As a rule of thumb, it's the files you edit which should go under
- version control. For typical projects it's these files:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>,
- <filename>Makefile.am</filename>.
- </para>
- <para>
- Files in the <filename>xml/</filename> and <filename>html/</filename>
- directories should not go under version control. Neither should any of
- the <filename>.stamp</filename> files.
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>కోడ్ను పత్రికీకరణ చేయుట</title>
-
- <para>
- GTK-Doc uses source code comment with a special syntax for code documentation.
- Further it retrieves information about your project structure from other
- sources. During the next section you will find all information about the
- syntax of the comments.
- </para>
-
- <para>
- The GTK-Doc scanner can handle the majority of C headers fine. In the
- case of receiving warnings from the scanner that look like a special
- case, one can hint GTK-Doc to skip over them.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-]]></programlisting>
- </example>
- </para>
-
- <note>
- <title>Limitations</title>
- <para>
- Note, that GTK-Doc's supports
- <code>#ifndef(__GTK_DOC_IGNORE__)</code> but not
- <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations.
- </para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>పత్రికీకరణ వ్యాఖ్యలు</title>
-
- <para>
- A multiline comment that starts with an additional '*' marks a
- documentation block that will be processed by the GTK-Doc tools.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-/**
- * identifier:
- * documentation ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>'identifier' అనునది వ్యాఖ్యకు సంభందించిన అంశము యొక్క నామముతో వుండు వొక వరుస. అంశము పై ఆధారపడి సిన్టాక్సు అనునది కొద్దిగా విభేదించును. (చేయవలసినది identifies చూపు పట్టికను జతచేయి)</para>
-
- <para>
- The 'documentation' block is also different for each symbol type. Symbol
- types that get parameters such as functions or macros have the parameter
- description first followed by a blank line (just a '*').
- Afterwards follows the detailed description. All lines (outside program
- listings and CDATA sections) just containing a ' *' (blank-asterisk) are
- converted to paragraph breaks.
- If you don't want a paragraph break, change that into ' * '
- (blank-asterisk-blank-blank). This is useful in preformatted text (code
- listings).
- </para>
-
- <tip>
- <para>
- When documenting code, describe two aspects:
- <itemizedlist>
- <listitem>
- <para>
- What it is: The name for a class or function can sometimes
- be misleading for people coming from a different background.
- </para>
- </listitem>
- <listitem>
- <para>
- What it does: Tell about common uses. Put it in relation
- with the other API.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </tip>
-
- <para>
- One advantage of hyper-text over plain-text is the ability to have links
- in the document. Writing the correct markup for a link can be tedious
- though. GTK-Doc comes to help by providing several useful abbreviations.
- <itemizedlist>
- <listitem>
- <para>
- Use function() to refer to functions or macros which take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use @param to refer to parameters. Also use this when referring to
- parameters of other functions, related to the one being described.
- </para>
- </listitem>
- <listitem>
- <para>
- Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #symbol to refer to other types of symbol, e.g. structs and
- enums and macros which don't take arguments.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object::signal to refer to a GObject signal.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object:property to refer to a GObject property.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Struct.field to refer to a field inside a structure and
- #GObjectClass.foo_bar() to refer to a vmethod.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <tip>
- <para>మీరు ప్రత్యేక ఆక్షరములు '<', '>', '()', '@', '%', or '#'ను మీ పత్రికీకరణనందు GTK-Doc వాటిని మార్చకుండా వుపయోగించాలి అంటే మీరు XML మూలకములు "&lt;", "&gt;", "&lpar;", "&rpar;", "&commat;", "&percnt;" మరియు "&num;" వుపయోగించవచ్చు లేదా వాటిని '\' బాక్స్లాష్తో ఎస్కేప్ చేయుము.</para>
- </tip>
-
- <para>
- DocBook can do more than just links. One can also have lists,
- examples, headings, and images. As of version 1.20, the
- preferred way is to use a subset of the basic text formatting
- syntax called
- <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>.
- On older GTK-Doc versions any documentation that includes
- Markdown will be rendered as is. For example, list items will
- appear as lines starting with a dash.
- </para>
-
- <para>
- While markdown is now preferred one can mix both. One limitation here is
- that one can use docbook xml within markdown, but markdown within
- docbook xml is not supported.
- </para>
-
- <para>
- In older GTK-Doc releases, if you need support for additional
- formatting, you would need to enable the usage of docbook
- XML tags inside doc-comments by putting <option>--xml-mode</option>
- (or <option>--sgml-mode</option>) in the variable
- <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
- </para>
-
- <para>
- <example><title>GTK-Doc comment block using Markdown</title>
- <programlisting><
- *
- * 
- *
- * [A link to the heading anchor above][heading-two]
- *
- * A C-language example:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- More examples of what markdown tags are supported can be found in the
- <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">GTK+ Documentation Markdown Syntax Reference</ulink>.
- </para>
-
- <tip>
- <para>
- As already mentioned earlier GTK-Doc is for documenting public API. Thus
- one cannot write documentation for static symbols. Nevertheless it is good
- to comment those symbols too. This helps other developers to understand
- your code.
- Therefore we recommend to comment these using normal comments (without the
- 2nd '*' in the first line).
- If later the function needs to be made public, all one needs to do is to
- add another '*' in the comment block and insert the symbol name at the
- right place inside the sections file.
- </para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>పత్రికీకరణ విభాగములు</title>
-
- <para>పత్రికీకరణ యొక్క ప్రతి విభాగము వొక క్లాస్ లేదా మాడ్యూల్ గురించిన సమాచారమును కలిగివుంటుంది. మూలకాన్ని పరిచయం చేయుటకు వొకరు విభాగపు బ్లాక్ను వ్రాయవచ్చును. పొట్టి వివరణ అనునది పట్టిక యొక్క సారముల లోపలకూడా వుపయోగించబడును. అన్ని @fields ఐచ్చికమైనవి.</para>
-
- <para>
- <example><title>విభాగపు వ్యాఖ్య బ్లాక్</title>
- <programlisting><![CDATA[
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<name></term>
- <listitem>
- <para>
- The name links the section documentation to the respective part in
- the <filename><package>-sections.txt</filename> file. The
- name given here should match the <FILE> tag in the
- <filename><package>-sections.txt</filename> file.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>విభాగము యొక్క వివరణ వొక్క వరుసలో, తరువాత అది TOC నందు లింక్సు తరువాత మరియు విభాగపు పేజీ పైన కనిపించును.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>విభాగపు శీర్షిక అనునది SECTION డిక్లరేషన్ నుండి <name> అప్రమేయం కాబడును. ఇది @title క్షేత్రము ద్వారా దిద్దివ్రాయబడును.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>
- Overrides the use of title as a section identifier. For GObjects
- the <title> is used as a section_id and for other sections
- it is <MODULE>-<title>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>
- A list of symbols that are related to this section.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>
- An informal description of the stability level this API has.
- We recommend the use of one of these terms:
- <itemizedlist>
- <listitem>
- <para>
- Stable
- - The intention of a Stable interface is to enable arbitrary
- third parties to develop applications to these interfaces,
- release them, and have confidence that they will run on all
- minor releases of the product (after the one in which the
- interface was introduced, and within the same major release).
- Even at a major release, incompatible changes are expected
- to be rare, and to have strong justifications.
- </para>
- </listitem>
- <listitem>
- <para>
- Unstable
- - Unstable interfaces are experimental or transitional.
- They are typically used to give outside developers early
- access to new or rapidly changing technology, or to provide
- an interim solution to a problem where a more general
- solution is anticipated.
- No claims are made about either source or binary
- compatibility from one minor release to the next.
- </para>
- </listitem>
- <listitem>
- <para>
- Private
- - An interface that can be used within the GNOME stack
- itself, but that is not documented for end-users. Such
- functions should only be used in specified and documented
- ways.
- </para>
- </listitem>
- <listitem>
- <para>
- Internal
- - An interface that is internal to a module and does not
- require end-user documentation. Functions that are
- undocumented are assumed to be Internal.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>విభాగపు సారాంశము నందు చూపుటకు <literal>#include</literal> ఫైళ్ళు (కామాతో వేరుచేయబడిన జాబితా), <link linkend="metafiles_sections">విభాగపు ఫైలు</link> లేదా ఆదేశ వరుసనుండి గ్లోబల్ విలువను దిద్దివ్రాయుట. ఈ అంశము ఐచ్చికము.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>ఈ విభాగము కొరకు సూచనపేజీ పైన ప్రదర్శించుటకు ప్రతిబింబము. ఇది తరుచుగా వొక క్లాస్ యొక్క విజువల్ అప్పియరెన్స్ వివరించుటకు డయాగ్రమ్ వంటిది లేదా యితర క్లాసులతో దాని సంభందాన్ని తెలిపే డయాగ్రమ్. ఈ అంశము ఐచ్చికము.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>అనవసరపు రికంపైలేషన్ను విసర్జించుటకు doc-changes తర్వాత విభాగపు పత్రములను c-source నందు వీలైనచోట వుంచుము.</para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>చిహ్నముల పత్రికీకరణ</title>
-
- <para>
- Each symbol (function, macro, struct, enum, signal and property) is
- documented in a separate block. The block is best placed close to the
- definition of the symbols so that it is easy to keep them in sync.
- Thus functions are usually documented in the c-source and macros,
- structs and enums in the header file.
- </para>
-
- <sect2><title>సాధారణ టాగ్లు</title>
-
- <para>
- You can add versioning information to all documentation elements to tell
- when an API was introduced, or when it was deprecated.
- </para>
-
- <variablelist><title>వర్షనింగ్ టాగ్స్</title>
- <varlistentry><term>అప్పటినుంచి:</term>
- <listitem>
- <para>కోడ్ యొక్క యే వర్షన్ నుండి API అందుబాటులోవుందో వివరణ.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>తీసివేసిన:</term>
- <listitem>
- <para>ఈ ఫంక్షన్ యికపై వుపయోగించుటలేదని పారాగ్రాఫ్ చెబుచున్నది. వివరణ చదువరిని కొత్త APIకు సూచించాలి.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- You can also add stability information to all documentation elements
- to indicate whether API stability is guaranteed for them for all
- future minor releases of the project.
- </para>
-
- <para>
- The default stability level for all documentation elements can be set
- by passing the <option>--default-stability</option> argument to
- <application>gtkdoc-mkdb</application> with one of the values below.
- </para>
-
- <variablelist><title>Stability Tags</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>
- Mark the element as stable. This is for public APIs which are
- guaranteed to remain stable for all future minor releases of the
- project.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>
- Mark the element as unstable. This is for public APIs which are
- released as a preview before being stabilised.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>
- Mark the element as private. This is for interfaces which can be
- used by tightly coupled modules, but not by arbitrary third
- parties.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>సాధారణ టాగ్లు</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Annotations</title>
-
- <para>
- Documentation blocks can contain annotation-tags. These tags will be
- rendered with tooltips describing their meaning. The tags are used by
- gobject-introspection to generate language bindings. A detailed list
- of the supported tags can be found on
- <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">the wiki</ulink>.
- </para>
-
- <example><title>Annotations</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: (annotation): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (another annotation)
- * (and another annotation)
- * @foo: (annotation) (another annotation): some foo
- *
- * Sets bar on @foo.
- */
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>ఫంక్షన్ వ్యాఖ్యానపు బ్లాక్</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document whether returned objects, lists, strings, etc, should be
- freed/unrefed/released.
- </para>
- </listitem>
- <listitem>
- <para>
- Document whether parameters can be NULL, and what happens if they are.
- </para>
- </listitem>
- <listitem>
- <para>
- Mention interesting pre-conditions and post-conditions where appropriate.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <para>Gtk-doc అన్ని చిహ్నములు (macros, functions) '_'తో ప్రారంభమగునవి వ్యక్తిగతమైనవని పరిగణించును. అవి స్టాటిక్ ఫంక్షన్సు వలె పరిగణించబడును.</para>
-
- <example><title>ఫంక్షన్ వ్యాఖ్యానపు బ్లాక్</title>
- <programlisting><![CDATA[
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-]]></programlisting>
- </example>
-
- <variablelist><title>ఫంక్షన్ టాగ్లు</title>
- <varlistentry><term>తిరిగివచ్చినవి:</term>
- <listitem>
- <para>పారాగ్రాఫ్ తిరిగివచ్చిన ఫలితాన్ని వివరిస్తుంది.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>ఒకవేళ ఫంక్షన్ వేరియాడిక్ ఆర్గుమెంట్లను కలిగివుంటే, మీరు ఈ టాగ్ను వుపయోగించాలి (@Varargs: చారిత్రక కారణాలకు కూడా పనిచేయును).</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>లక్షణము వ్యాఖ్యాము బ్లాక్</title>
-
- <example><title>లక్షణము వ్యాఖ్యాము బ్లాక్</title>
- <programlisting><![CDATA[
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>సంకేతపు వ్యాఖ్యానము బ్లాక్</title>
-
- <para>
- Please remember to:
- <itemizedlist>
- <listitem>
- <para>
- Document when the signal is emitted and whether it is emitted before
- or after other signals.
- </para>
- </listitem>
- <listitem>
- <para>
- Document what an application might do in the signal handler.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <example><title>సంకేతపు వ్యాఖ్యానము బ్లాక్</title>
- <programlisting><![CDATA[
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>Struct వ్యాఖ్యానము బ్లాక్</title>
- <example><title>Struct వ్యాఖ్యానము బ్లాక్</title>
- <programlisting><![CDATA[
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private struct fields
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- <para>
- If the first field is "g_iface", "parent_instance" or "parent_class"
- it will be considered private automatically and doesn't need to be
- mentioned in the comment block.
- </para>
-
- <para>
- Struct comment blocks can also be used for GObjects and GObjectClasses.
- It is usually a good idea to add a comment block for a class, if it has
- vmethods (as this is how they can be documented). For the GObject
- itself one can use the related section docs, having a separate block
- for the instance struct would be useful if the instance has public
- fields. One disadvantage here is that this creates two index entries
- of the same name (the structure and the section).
- </para>
-
- </sect2>
-
- <sect2><title>Enum వ్యాఖ్యానము బ్లాక్</title>
- <example><title>Enum వ్యాఖ్యానము బ్లాక్</title>
- <programlisting><![CDATA[
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-]]></programlisting>
- </example>
-
- <para>
- Use <code>/*< private >*/</code> before the private enum values
- you want to hide. Use <code>/*< public >*/</code> for the reverse
- behaviour.
- </para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Inline program documentation</title>
- <para>
- You can document programs and their commandline interface using inline
- documentation.
- </para>
-
- <variablelist>
- <title>Tags</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>
- Defines the start of a program documentation.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>
- Defines a short description of the program. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>
- Defines the arguments, or list of arguments that the program can take.
- (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>
- See Also manual page section. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>
- Argument(s) passed to the program and their description. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>
- A longer description of the program.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>తిరిగివచ్చినవి:</term>
- <listitem>
- <para>
- Specify what value(s) the program returns. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Example of program documentation.</title>
- <example><title>Program documentation block</title>
- <programlisting><![CDATA[
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-]]></programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>ఉపయోగకర DocBook టాగ్స్</title>
-
- <para>కోడ్ను పత్రికీకరణ చేయునప్పుడు యెక్కువ వుపయోగకరంగా వుండే మరికొన్ని DocBook టాగ్స్ యిక్కడ వున్నాయి.</para>
-
- <para>
- To link to another section in the GTK docs:
-
- <informalexample>
- <programlisting><![CDATA[
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-]]></programlisting>
- </informalexample>
- The linkend is the SGML/XML id on the top item of the page you want to link to.
- For most pages this is currently the part ("gtk", "gdk", "glib") and then
- the page title ("Hash Tables"). For widgets it is just the class name.
- Spaces and underscores are converted to '-' to conform to SGML/XML.
- </para>
-
- <para>
- To refer to an external function, e.g. a standard C function:
- <informalexample>
- <programlisting><![CDATA[
-<function>...</function>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include bulleted lists:
- <informalexample>
- <programlisting><![CDATA[
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To include a note which stands out from the text:
- <informalexample>
- <programlisting><![CDATA[
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a type:
- <informalexample>
- <programlisting><![CDATA[
-<type>unsigned char</type>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to an external structure (not one described in the GTK docs):
- <informalexample>
- <programlisting><![CDATA[
-<structname>XFontStruct</structname>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a field of a structure:
- <informalexample>
- <programlisting><![CDATA[
-<structfield>len</structfield>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to a class name, we could possibly use:
- <informalexample>
- <programlisting><![CDATA[
-<classname>GtkWidget</classname>
-]]></programlisting>
- </informalexample>
- but you'll probably be using #GtkWidget instead (to automatically create
- a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
- </para>
-
- <para>
- To emphasize text:
- <informalexample>
- <programlisting><![CDATA[
-<emphasis>This is important</emphasis>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- For filenames use:
- <informalexample>
- <programlisting><![CDATA[
-<filename>/home/user/documents</filename>
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>
- To refer to keys use:
- <informalexample>
- <programlisting><![CDATA[
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-]]></programlisting>
- </informalexample>
- </para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>Filling the extra files</title>
-
- <para>
- There are a couple of extra files, that need to be maintained along with
- the inline source code comments:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
-
- <sect1 id="metafiles_types">
- <title>Editing the types file</title>
-
- <para>
- If your library or application includes GObjects, you want
- their signals, arguments/parameters and position in the hierarchy to be
- shown in the documentation. All you need to do, is to list the
- <function>xxx_get_type</function> functions together with their include
- inside the <filename><package>.types</filename> file.
- </para>
-
- <para>
- <example><title>Example <package>.types file</title>
- <programlisting><![CDATA[
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
- Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
- use this approach you should not dist the types file nor have it under version control.
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>Editing the master document</title>
-
- <para>
- GTK-Doc produces documentation in DocBook SGML/XML. When processing the
- inline source comments, the GTK-Doc tools generate one documentation
- page per class or module as a separate file. The master document
- includes them and place them in an order.
- </para>
-
- <para>
- While GTK-Doc creates a template master document for you, later runs will
- not touch it again. This means that one can freely structure the
- documentation. That includes grouping pages and adding extra pages.
- GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
- Its a good idea to look at this from time to time to see if there are
- some new goodies introduced there.
- </para>
-
- <tip>
- <para>
- Do not create tutorials as extra documents. Just write extra chapters.
- The benefit of directly embedding the tutorial for your library into
- the API documentation is that it is easy to link for the tutorial to
- symbol documentation. Apart chances are higher that the tutorial gets
- updates along with the library.
- </para>
- </tip>
-
- <para>
- So what are the things to change inside the master document? For a start
- is only a little. There are some placeholders (text in square brackets)
- there which you should take care of.
- </para>
-
- <para>
- <example><title>Master document header</title>
- <programlisting><![CDATA[
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- In addition a few option elements are created in commented form. You can
- review these and enable them as you like.
- </para>
-
- <para>
- <example><title>Optional part in the master document</title>
- <programlisting><![CDATA[
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Finally you need to add new section whenever you introduce one. The
- <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> tool will
- remind you of newly generated xml files that are not yet included into
- the doc.
- </para>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
- <chapter>
- <title>my library</title>
- <xi:include href="xml/object.xml"/>
- ...
-]]></programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>Editing the section file</title>
-
- <para>
- The section file is used to organise the documentation output by
- GTK-Doc. Here one specifies which symbol belongs to which module or
- class and control the visibility (public or private).
- </para>
-
- <para>
- The section file is a plain text file with tags delimiting sections.
- Blank lines are ignored and lines starting with a '#' are treated as
- comment lines.
- </para>
-
- <note>
- <para>
- While the tags make the file look like xml, it is not. Please do not
- close tags like <SUBSECTION>.
- </para>
- </note>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The <FILE> ... </FILE> tag is used to specify the file name,
- without any suffix. For example, using '<FILE>gnome-config</FILE>'
- will result in the section declarations being output in the template
- file <filename>tmpl/gnome-config.sgml</filename>, which will be
- converted into the DocBook XML file <filename>xml/gnome-config.sgml</filename>
- or the DocBook XML file <filename>xml/gnome-config.xml</filename>.
- (The name of the HTML file is based on the module name and the section
- title, or for GObjects it is based on the GObjects class name converted
- to lower case).
- </para>
-
- <para>
- The <TITLE> ... </TITLE> tag is used to specify the title of
- the section. It is only useful before the templates (if used) are
- initially created, since the title set in the template file overrides
- this. Also if one uses SECTION comment in the sources, this is obsolete.
- </para>
-
- <para>
- You can group items in the section by using the <SUBSECTION> tag.
- Currently it outputs a blank line between subsections in the synopsis
- section.
- You can also use <SUBSECTION Standard> for standard GObject
- declarations (e.g. the functions like g_object_get_type and macros like
- G_OBJECT(), G_IS_OBJECT() etc.).
- Currently these are left out of the documentation.
- You can also use <SUBSECTION Private> for private declarations
- which will not be output (it is a handy way to avoid warning messages
- about unused declarations).
- If your library contains private types which you don't want to appear in
- the object hierarchy and the list of implemented or required interfaces,
- add them to a Private subsection.
- Whether you would place GObject and GObjectClass like structs in public
- or Standard section depends if they have public entries (variables,
- vmethods).
- </para>
-
- <para>
- You can also use <INCLUDE> ... </INCLUDE> to specify the
- #include files which are shown in the synopsis sections.
- It contains a comma-separate list of #include files, without the angle
- brackets. If you set it outside of any sections, it acts for all
- sections until the end of the file. If you set it within a section, it
- only applies to that section.
- </para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>Controlling the result</title>
-
- <para>
- A GTK-Doc run generates report files inside the documentation directory.
- The generated files are named:
- <filename><package>-undocumented.txt</filename>,
- <filename><package>-undeclared.txt</filename> and
- <filename><package>-unused.txt</filename>.
- All those are plain text files that can be viewed and postprocessed easily.
- </para>
-
- <para>
- The <filename><package>-undocumented.txt</filename> file starts with
- the documentation coverage summary. Below are two sections divided by
- blank lines. The first section lists undocumented or incomplete symbols.
- The second section does the same for section docs. Incomplete entries are
- those, which have documentation, but where e.g. a new parameter has been
- added.
- </para>
-
- <para>
- The <filename><package>-undeclared.txt</filename> file lists symbols
- given in the <filename><package>-sections.txt</filename> but not
- found in the sources. Check if they have been removed or if they are
- misspelled.
- </para>
-
- <para>
- The <filename><package>-unused.txt</filename> file lists symbol
- names, where the GTK-Doc scanner has found documentation, but does not
- know where to put it. This means that the symbol has not yet been added to
- the <filename><package>-sections.txt</filename> file.
- </para>
-
- <tip>
- <para>
- Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
- If at least GTK-Doc 1.9 is installed, this will run sanity checks during
- <command>make check</command> run.
- </para>
- </tip>
-
- <para>
- One can also look at the files produced by the source code scanner:
- <filename><package>-decl-list.txt</filename> and
- <filename><package>-decl.txt</filename>. The first one can be
- compared with the section file if that is manually maintained. The second
- lists all declarations from the headers. If a symbol is missing one could
- check if this file contains it.
- </para>
-
- <para>
- If the project is GObject based, one can also look into the files produced
- by the object scanner:
- <filename><package>.args.txt</filename>,
- <filename><package>.hierarchy.txt</filename>,
- <filename><package>.interfaces.txt</filename>,
- <filename><package>.prerequisites.txt</filename> and
- <filename><package>.signals.txt</filename>. If there are missing
- symbols in any of those, one can ask GTK-Doc to keep the intermediate
- scanner file for further analysis, by running it as
- <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
- </para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernizing the documentation</title>
-
- <para>
- GTK-Doc has been around for quite some time. In this section we list new
- features together with the version since when it is available.
- </para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>
- When using xml instead of sgml, one can actually name the master
- document <filename><package>-docs.xml</filename>.
- </para>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-sections</option>
- in <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>-sections.txt</filename> is autogenerated and
- can be removed from the vcs. This only works nicely for projects that
- have a very regular structure (e.g. each .{c,h} pair will create new
- section). If one organize a project close to that updating a manually
- maintained section file can be as simple as running
- <code>meld <package>-decl-list.txt <package>-sections.txt</code>.
- </para>
-
- <para>
- Version 1.8 already introduced the syntax for documenting sections in
- the sources instead of the separate files under <filename class="directory">tmpl</filename>.
- This version adds options to switch the whole doc module to not use the
- extra tmpl build step at all, by using <option>--flavour no-tmpl</option>
- in <filename>configure.ac</filename>. If you don't have a <filename class="directory">tmpl</filename>
- checked into your source control system and haven't yet switched, just
- add the flag to <filename>configure.ac</filename> and you are done.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in
- <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>.types</filename> is autogenerated and can be
- removed from the vcs. When using this feature it is important to also
- setup the <varname>IGNORE_HFILES</varname> in
- <filename>Makefile.am</filename> for code that is build conditionally.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>
- This version includes a new tool called gtkdoc-check. This tool can run
- a set of sanity checks on your documentation. It is enabled by adding
- these lines to the end of <filename>Makefile.am</filename>.
- <example><title>Enable gtkdoc-check</title>
- <programlisting><![CDATA[
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>
- Version 1.18 brought some initial markdown support. Using markdown in
- doc comments is less intrusive than writing docbook xml. This version
- improves a lot on this and add a lot more styles. The section that
- explains the <link linkend="documenting_syntax">comment syntax</link>
- has all the details.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>
- The makefiles shipped with this version generate an entity file at <filename>xml/gtkdocentities.ent</filename>,
- containing entities for e.g. package_name and package_version. You can
- use this e.g. in the main xml file to avoid hardcoding the version
- number. Below is an example that shows how the entity file is included
- in the master template and how the entities are used.
- The entities can also be used in all
- generated files, GTK-Doc will use the same xml header in generated xml
- files.
- <example><title>Use pre-generated entities</title>
- <programlisting><![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-]]></programlisting>
- </example>
- </para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>Documenting other interfaces</title>
-
- <para>
- So far we have been using GTK-Doc to document the API of code. The next
- sections contain suggestions how the tools can be used to document other
- interfaces too.
- </para>
-
- <sect1 id="commandline-interfaces">
- <title>Command line options and man pages</title>
-
- <para>
- As one can generate man pages for a docbook refentry as well, it sounds
- like a good idea to use it for that purpose. This way the interface is
- part of the reference and one gets the man-page for free.
- </para>
-
- <sect2 id="commandline-interfaces-file">
- <title>Document the tool</title>
-
- <para>
- Create one refentry file per tool. Following
- <link linkend="settingup_docfiles">our example</link> we would call it
- <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
- tags that should be used and can look at generated file in the xml
- subdirectory as well as examples e.g. in glib.
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>Adding the extra configure check</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-]]></programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>Adding the extra makefile rules</title>
-
- <para>
- <example><title>Extra configure checks</title>
- <programlisting><![CDATA[
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-]]></programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>DBus interfaces</title>
-
- <para>
- (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
-http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>Frequently asked questions</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>Question</segtitle>
- <segtitle>Answer</segtitle>
- <seglistitem>
- <seg>No class hierarchy.</seg>
- <seg>
- The objects <function>xxx_get_type()</function> function has not been
- entered into the <filename><package>.types</filename> file.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Still no class hierarchy.</seg>
- <seg>
- Missing or wrong naming in <filename><package>-sections.txt</filename>
- file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explanation</ulink>).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Damn, I have still no class hierarchy.</seg>
- <seg>
- Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
- part of the normal section (don't put this into Standard or Private
- subsections).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>No symbol index.</seg>
- <seg>
- Does the <filename><package>-docs.{xml,sgml}</filename> contain a
- index that xi:includes the generated index?
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Symbols are not linked to their doc-section.</seg>
- <seg>
- Is the doc-comment using the correct markup (added #,% or ())?
- Check if the gtkdoc-fixxref warns about unresolvable xrefs.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new class does not appear in the docs.</seg>
- <seg>
- Is the new page xi:included from
- <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new symbol does not appear in the docs.</seg>
- <seg>
- Is the doc-comment properly formatted. Check for spelling mistakes in
- the begin of the comment. Check if the gtkdoc-fixxref warns about
- unresolvable xrefs. Check if the symbol is correctly listed in the
- <filename><package>-sections.txt</filename> in a public subsection.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A type is missing from the class hierarchy.</seg>
- <seg>
- If the type is listed in <filename><package>.hierarchy</filename>
- but not in <filename>xml/tree_index.sgml</filename> then double check
- that the type is correctly placed in the <filename><package>-sections.txt</filename>.
- If the type instance (e.g. <type>GtkWidget</type>) is not listed or
- incidentally marked private it will not be shown.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>I get foldoc links for all gobject annotations.</seg>
- <seg>
- Check that <filename>xml/annotation-glossary.xml</filename> is
- xi:included from <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parameter described in source code comment block but does not exist</seg>
- <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>multiple "IDs" for constraint linkend: XYZ</seg>
- <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Tools related to gtk-doc</title>
-
- <para>
- GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
- integration plugin, that adds API docs to a trac site and integrates with
- the trac search.
- </para>
- <para>
- Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
- tags in the API to determine the minimum required version.
- </para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>
- Version 1.1, March 2000
- </releaseinfo>
- <copyright>
- <year>2000</year><holder>Free Software Foundation, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU Free Documentation License</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. MODIFICATIONS</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>
- Version 1.1, March 2000
- </releaseinfo>
- <copyright>
- <year>2000</year><holder>自由软件基金会, Inc.</holder>
- </copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU 自由文档许可证</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. 修改</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<?xml-stylesheet type="text/xml" href="params.xsl"?>
-<!-- vim: set ai tw=80 ts=3 sw=3: -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
- http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY FDL SYSTEM "fdl-appendix.xml">
-<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
-]>
-<!-- =============Document Header ============================= -->
-<book id="index" lang="zh-CN">
- <bookinfo>
- <title>GTK-Doc 手册</title>
- <edition>1.24.1</edition>
- <abstract role="description"><para>为开发人员提供 GTK-Doc 用法说明的用户手册。</para></abstract>
- <authorgroup>
- <author><firstname>Chris</firstname> <surname>Lyttle</surname> <affiliation> <address> <email>chris@wilddev.net</email> </address> </affiliation></author>
- <author><firstname>Dan</firstname> <surname>Mueth</surname> <affiliation> <address> <email>d-mueth@uchicago.edu</email> </address> </affiliation></author>
- <author>
- <firstname>Stefan</firstname>
- <surname>Sauer (Kost)</surname>
- <affiliation>
- <address>
- <email>ensonic@users.sf.net</email>
- </address>
- </affiliation>
- </author>
- </authorgroup>
- <publisher role="maintainer"><publishername>GTK-Doc 项目</publishername> <address><email>gtk-doc-list@gnome.org</email></address></publisher>
- <copyright><year>2000, 2005</year> <holder>Dan Mueth and Chris Lyttle</holder></copyright>
- <copyright>
- <year>2007-2019</year>
- <holder>Stefan Sauer (Kost)</holder>
- </copyright>
-
- <!-- translators: uncomment this:
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
- -->
-
- <legalnotice>
- <para>允许在<citetitle>GNU 自由文档认证书</citetitle>的规范下复制,发布或者/并且修改本文档,由自由软件基金会出版的1.1版或更新版本的无变更的部分,无封面文本,以及无背面文本。取得证书的制件<link linkend="fdl">included</link>.</para>
- <para>公司使用的区别于它们的许多产品及服务的名字就称为商标. 这些名字出现在任何GNOME文档中, 而且那些商标会提示GNOME文档项目成员, 那些名字会打印在封面或初始页面中.</para>
- </legalnotice>
-
- <revhistory>
- <revision>
- <revnumber>1.32</revnumber>
- <date>15 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>hotfix release</revremark>
- </revision>
- <revision>
- <revnumber>1.31</revnumber>
- <date>05 Aug 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>refactorings and more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.30</revnumber>
- <date>08 May 2019</date>
- <authorinitials>ss</authorinitials>
- <revremark>more test coverage</revremark>
- </revision>
- <revision>
- <revnumber>1.29</revnumber>
- <date>28 Aug 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.28</revnumber>
- <date>24 Mar 2018</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.27</revnumber>
- <date>07 Dec 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>fine tuning of the python port</revremark>
- </revision>
- <revision>
- <revnumber>1.26</revnumber>
- <date>11 Aug 2017</date>
- <authorinitials>ss</authorinitials>
- <revremark>port all tools from perl/bash to python</revremark>
- </revision>
- <revision>
- <revnumber>1.25</revnumber>
- <date>21 March 2016</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, test cleanups</revremark>
- </revision>
- <revision>
- <revnumber>1.24</revnumber>
- <date>29 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.23</revnumber>
- <date>17 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fix</revremark>
- </revision>
- <revision>
- <revnumber>1.22</revnumber>
- <date>07 May 2015</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.21</revnumber>
- <date>17 Jul 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, dropping deprecated features</revremark>
- </revision>
- <revision>
- <revnumber>1.20</revnumber>
- <date>16 Feb 2014</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, markdown support, style improvements</revremark>
- </revision>
- <revision>
- <revnumber>1.19</revnumber>
- <date>05 Jun 2013</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes</revremark>
- </revision>
- <revision>
- <revnumber>1.18</revnumber>
- <date>14 Sep 2011</date>
- <authorinitials>ss</authorinitials>
- <revremark>bug fixes, speedups, markdown support</revremark>
- </revision>
- <revision><revnumber>1.17</revnumber> <date>2011年2月26</date> <authorinitials>sk</authorinitials> <revremark>紧急问题修复更新</revremark></revision>
- <revision><revnumber>1.16</revnumber> <date>2011年1月14</date> <authorinitials>sk</authorinitials> <revremark>修复问题,布局改进</revremark></revision>
- <revision><revnumber>1.15</revnumber> <date>2010年5月21</date> <authorinitials>sk</authorinitials> <revremark>问题和退化修复</revremark></revision>
- <revision><revnumber>1.14</revnumber> <date>2010年3月28</date> <authorinitials>sk</authorinitials> <revremark>问题修复和性能提高</revremark></revision>
- <revision><revnumber>1.13</revnumber> <date>2009年10月18</date> <authorinitials>sk</authorinitials> <revremark>损坏的档案包更新</revremark></revision>
- <revision><revnumber>1.12</revnumber> <date>2009年10月18</date> <authorinitials>sk</authorinitials> <revremark>新工具功能和问题修复</revremark></revision>
- <revision><revnumber>1.11</revnumber> <date>2008年10月16</date> <authorinitials>mal</authorinitials> <revremark>GNOME doc-utils 迁移</revremark></revision>
- </revhistory>
-
-
- <othercredit class="translator">
- <personname>
- <firstname>LuYanbo</firstname>
- </personname>
- <email>767344148@qq.com</email>
- </othercredit>
- <copyright>
-
- <year>2011</year>
-
- <holder>LuYanbo</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>黄世海</firstname>
- </personname>
- <email>rochester_h@163.com</email>
- </othercredit>
- <copyright>
-
- <year>2012</year>
-
- <holder>黄世海</holder>
- </copyright>
-
- <othercredit class="translator">
- <personname>
- <firstname>Wylmer Wang</firstname>
- </personname>
- <email>wantinghard@gmail.com</email>
- </othercredit>
- <copyright>
-
- <year>2012</year>
-
- <holder>Wylmer Wang</holder>
- </copyright>
- </bookinfo>
-
- <!-- ======== Chapter 1: Introduction ======================== -->
-
- <chapter id="introduction">
- <title>介绍</title>
-
- <para>本章介绍 GTK-Doc,并概述了它是什么以及如何使用它。</para>
-
- <sect1 id="whatisgtkdoc">
- <title>什么是 GTK-Doc?</title>
-
- <para>GTK-Doc 用于为C代码编写文档。典型地用于编写库的公共API,如GTK+与GNOME库。不过它也可以用于书写应用程序代码文档。</para>
- </sect1>
-
- <sect1 id="howdoesgtkdocwork">
- <title>GTK Doc 是怎样工作的?</title>
-
- <para>
- GTK-Doc works by using documentation of functions placed inside the source files in
- specially-formatted comment blocks, or documentation added to the template files
- which GTK-Doc uses (though note that GTK-Doc will only document functions that
- are declared in header files; it won't produce output for static functions).
- </para>
-
- <para>
- GTK-Doc consists of a number of python scripts, each performing a different step
- in the process.
- </para>
-
- <para>这个进程有五个主要步骤:</para>
-
- <orderedlist>
-
- <listitem>
- <para>
- <guilabel>Writing the documentation.</guilabel>
-
- The author fills in the source files with the documentation for each
- function, macro, structs or unions, etc.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Gathering information about the code.</guilabel>
-
- <application>gtkdoc-scan</application> scans the header files of the
- code looking for declarations of functions, macros, enums, structs, and unions.
- It creates the file <filename><module>-decl-list.txt</filename> containing a list of the
- declarations, placing them into sections according to which header file they
- are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
- The author can rearrange the sections, and the order of the
- declarations within them, to produce the final desired order.
- The second file it generates is <filename><module>-decl.txt</filename>.
- This file contains the full declarations found by the scanner. If for
- some reason one would like some symbols to show up in the docs, where
- the full declaration cannot be found by the scanner or the declaration
- should appear differently, one can place entities similar to the ones in
- <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
- </para>
- <para>
- <application>gtkdoc-scangobj</application> can also be used to dynamically query a library about
- any GObject subclasses it exports. It saves information about each
- object's position in the class hierarchy and about any GObject properties
- and signals it provides.
- </para>
- <para>
- <application>gtkdoc-scanobj</application> should not be used anymore.
- It was needed in the past when GObject was still GtkObject inside gtk+.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Generating the XML and HTML/PDF.</guilabel>
-
- <application>gtkdoc-mkdb</application> turns the template files into
- XML files in the <filename class="directory">xml/</filename> subdirectory.
- If the source code contains documentation on functions, using the
- special comment blocks, it gets merged in here. If there are no tmpl files used
- it only reads docs from sources and introspection data.
- </para>
- <para>
- <application>gtkdoc-mkhtml</application> turns the XML files into HTML
- files in the <filename class="directory">html/</filename> subdirectory.
- Likewise <application>gtkdoc-mkpdf</application> turns the XML files into a PDF
- document called <filename><package>.pdf</filename>.
- </para>
- <para>
- Files in <filename class="directory">xml/</filename> and
- <filename class="directory">html/</filename> directories are always
- overwritten. One should never edit them directly.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Fixing up cross-references between documents.</guilabel>
-
- After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any
- cross-references between separate documents. For example, the GTK+
- documentation contains many cross-references to types documented in the GLib manual.
-
- When creating the source tarball for distribution, <application>gtkdoc-rebase</application>
- turns all external links into web-links. When installing distributed (pregenerated) docs
- the same application will try to turn links back to local links
- (where those docs are installed).
- </para>
- </listitem>
- </orderedlist>
-
- </sect1>
-
- <sect1 id="gettinggtkdoc">
- <title>获取 GTK-Doc</title>
-
- <sect2 id="requirements">
- <title>要求</title>
- <para>
- <guilabel>python 2/3</guilabel> - the main scripts are written in python.
- </para>
- <para>
- <guilabel>xsltproc</guilabel> - the xslt processor from libxslt
- <ulink url="http://xmlsoft.org/XSLT/" type="http">xmlsoft.org/XSLT/</ulink>
- </para>
- <para>
- <guilabel>docbook-xsl</guilabel> - the docbook xsl stylesheets
- <ulink url="http://sourceforge.net/projects/docbook/files/docbook-xsl/" type="http">sourceforge.net/projects/docbook/files/docbook-xsl</ulink>
- </para>
- <para>
- One of <guilabel>source-highlight</guilabel>, <guilabel>highlight</guilabel> or
- <guilabel>vim</guilabel> - optional - used for syntax highlighting of examples
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="aboutgtkdoc">
- <title>关于 GTK-Doc</title>
-
- <para>
- Historically GTK-Doc was used to generate template files from the sources
- code. These template files could be used by developers to enter the
- API documentation. This approach was rather inconvenient because it
- required to keep the generated files under version control.
- Since GTK-Doc 1.9 it became possible to place all API information
- into source comments, which made the template support obsolete.
- In version 1.26 template support has been removed.
- </para>
-
- <para>
- (FIXME)
- </para>
-
- <para>
- (authors, web pages, mailing list, license, future plans,
- comparison with other similar systems.)
- </para>
-
- </sect1>
-
- <sect1 id="aboutthismanual">
- <title>关于此手册</title>
-
- <para>
- (FIXME)
- </para>
-
- <para>(它意味着什么,你可以从哪里获得它, 许可证)</para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="settingup">
- <title>Project Setup</title>
-
- <para>
- This Chapter describes the steps that are necessary to integrate GTK-Doc
- into your project. The integration of GTK-Doc into a project includes the
- following steps:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Preparation of the directory structure and creating required
- configuration files for your GTK-Doc documentation (see
- <link linkend="settingup_docfiles">
- Setting up a skeleton documentation</link>).
- </para>
- </listitem>
- <listitem>
- <para>
- Adjusting the build system to build your documentation using the
- GTK-Doc tools. Multiple build systems are supported, in
- this manual we describe how to integrate GTK-Doc with
- <link linkend="settingup_autotools">Autotools</link>,
- <link linkend="settingup_cmake">CMake</link>, and
- <link linkend="settingup_plain_makefiles">plain Makefiles</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adding GTK-Doc specific files to version control and deciding which
- files to ignore (see <link linkend="settingup_vcs">
- Integration with version control systems</link>).
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The following sections assume we work on a project called
- <code>meep</code>.
- This project contains two packages (or modules),
- a library called <code>libmeep</code> and an end-user app
- called <code>meeper</code>.
- </para>
-
- <sect1 id="settingup_docfiles">
- <title>设置一个框架文档</title>
-
- <para>
- A common convention is to place documentation into a folder called
- <code>docs</code> inside your top-level project directory.
- We usually distinguish between <emphasis>reference
- documentation</emphasis> intended for developers and an
- <emphasis>user manual</emphasis> intended for end-users.
- Again the convention is to have separate folders for both.
- We usually place the reference documentation in a folder named
- <code>reference</code> and the end-user manual in a folder named
- <code>help</code> as.
-
- According to the above convention the documentation for our
- <code>libmeep</code> package would be placed into:
- <code>docs/reference/libmeep</code>.
-
- For packages with just one library or application
- the documentation could also be placed directly into
- <code>docs/reference</code>.
-
- It is not mandatory to use the above convention, but if you
- choose to use a different directory structure you must adjust
- your build system configuration to match your directory
- structure.
- </para>
-
- <para>
- In the following sections we will assume a directory structure
- for our <emphasis>meep</emphasis> project that uses the above
- conventions.
-
- <example>
- <title>Example directory structure of <emphasis>meep</emphasis>
- project</title>
- <programlisting><![CDATA[
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- meeper/
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_autotools">
- <title>Integration with Autotools</title>
- <para>
- Integration of GTK-Doc into an autotools-based build system requires the
- following steps:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Ensure that <application>gtkdocize</application> is run once before
- the <filename>configure</filename> script. If an
- <filename>autogen.sh</filename> script is present, adjust it to
- check for GTK-Doc and add a call to
- <application>gtkdocize</application>.
- </para>
-
- <para>
- The main purpose of <application>gtkdocize</application> is to
- make the <filename>gtk-doc.make</filename> Makefile and the
- <filename>gtk-doc.m4</filename> macro definition file available
- to the build system, either by copying or linking it
- into the project.
- </para>
- </listitem>
- <listitem>
- <para>
- Add the necessary <application>autoconf</application> macros to
- <filename>configure.ac</filename> to enable GTK-Doc in your build
- system to allow configuration of GTK-Doc via the generated
- <filename>configure</filename> script.
- </para>
- <para>
- Among others with registers the <code>--enable-gtk-doc</code>
- option with the <filename>configure</filename> script.
- </para>
- </listitem>
- <listitem>
- <para>
- Create an <application>automake</application> script for each
- application or library in your project. In the example used in this
- documentation this step applies to both <code>meeper</code> and
- <code>libmeep</code>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the following sections, we will perform the above steps in reverse
- order. We start with the <application>automake</application> scripts
- and work our way up to <filename>configure.ac</filename> and
- <filename>autogen.sh</filename>.
- Then we show how enable Gtk-Doc in the build system and
- how to build the documentation.
- </para>
-
- <sect2 id="settingup_automake">
- <title>与automake集成</title>
-
- <para>
- First copy the <filename>Makefile.am</filename> from the
- <filename class="directory">examples</filename> sub-directory of the
- <ulink url="https://gitlab.gnome.org/GNOME/gtk-doc/raw/master/examples/Makefile.am">
- gtkdoc-sources</ulink>
- to your project's reference documentation directory (e.g.
- <filename class="directory">docs/reference/<package></filename>).
- A local copy should be available under e.g.
- <filename>/usr/share/doc/gtk-doc-tools/examples/Makefile.am</filename>.
- If you have multiple packages repeat this for each one.
- </para>
-
- <note>
- <simpara>
- Do not forget to add each <filename>Makefile.am</filename>
- to the <function>AC_CONFIG_FILES</function> macro in
- <filename>configure.ac</filename>. For
- <filename>docs/reference/libmeep/Makefile.am</filename> you will
- need to add the entry
- <filename>docs/reference/libmeep/Makefile</filename>
- to <function>AC_CONFIG_FILES</function>.
- </simpara>
- </note>
-
- <example>
- <title>
- Example directory structure with <filename>Makefiles.am</filename>
- </title>
- <programlisting>
-meep/
- docs/
- reference/ # reference documentation
- libmeep/
- Makefile.am
- meeper/
- Makefile.am
- help/ # optional: user manual
- meeper/
- src/
- libmeep/
- meeper/
-</programlisting>
- </example>
-
- <para>
- Next, you need to customize the copied Makefiles
- and provide values for the various parameters in each
- <filename>Makefile.am</filename>.
-
- All settings have a comment above them that describes their purpose
- and how to customize the setting.
-
- Most settings are used to supply extra flags to the respective tools
- to which they apply. Every tool
- has a variable of the form <option><TOOLNAME>_OPTIONS</option>
- (e.g. the tool <application>gtkdoc-mkhtml</application> has
- an option named <code>MKHTML_OPTIONS</code>).
-
- All the tools support <option>--help</option> to list the supported
- options.
- </para>
-
- <para>
- The following list explains the most relevant options. Check the
- example <filename>Makefile.am</filename> for additional options.
-
- <itemizedlist>
- <listitem>
- <para>
- <option>DOC_MODULE</option> is used to provide the name of the
- package that is being documentated (e.g. <code>meeper</code>, or
- <code>libmeep</code>).
- </para>
- </listitem>
- <listitem>
- <para>
- <option>DOC_SOURCE_DIR</option>
- is used to specify the location
- of source directory which GTK-Doc searches for your API
- documentation. This will usually be
- <code>
- DOC_SOURCE_DIR=$(top_srcdir)/src
- </code>
- or a sub-directory of that directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HFILE_GLOB</option>
- and
- <option>CFILE_GLOB</option>
- are used for dependencies. Each option take a file-glob (e.g.
- <code>HFILE_GLOB=$(top_srcdir)/src/*.c</code>).
- The documentation will be rebuilt if any of the matched files
- change.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>EXTRA_HFILES</option>
- allows to specify extra header files
- to include when scanning for API documentation, which are not
- found under <code>DOC_SOURCE_DIR</code> (e.g. <code>
- EXTRA_HFILES=$(top_srcdir}/contrib/extra.h</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>IGNORE_HFILES</option>
- allows to specify header files
- or directories to ignore when scanning for API documentation.
- Use the basename of the file or directory (e.g. <code>
- IGNORE_HFILES=gtkdebug.h gtkintl.h private_code_folder</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>HTML_IMAGES</option>
- allows to specify images files which
- will be copied into the <filename>html/</filename> directory of
- the generated documentation.
- If your API documentation includes any images they need to be
- added to this
- option (e.g. <code>
- HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>content_files</option>
- allows to specify extra files
- that are included by
- <code>$(DOC_MAIN_SGML_FILE)</code>
- (e.g. <code>
- content_files=running.xml building.xml changes-2.0.xml</code>).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>expand_content_files</option>
- allows to specify files
- where <emphasis>gtk-doc abbreviations</emphasis> such as
- <code>#GtkWidget</code>
- are expanded (e.g. <code>
- expand_content_files=running.xml</code>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- </sect2>
-
- <sect2 id="settingup_autoconf">
- <title>与autoconf集成</title>
-
- <para>
- Integration with <application>autoconf</application> is very simple
- and includes one required step and an additional optional
- (but recommended) step.
-
- The first step is to add the <function>GTK_DOC_CHECK</function> macro
- to your <filename>configure.ac</filename> script. This registers
- several configure options to enable GTK-Doc and allows you
- to set default arguments for <application>gtkdocize</application>.
- </para>
-
- <warning>
- <simpara>
- Make sure that the <code>GTK_DOC_CHECK</code> macro is not indented.
- The macro must start at the beginning of the line and should not
- start with whitespace.
- </simpara>
- </warning>
-
- <para>
- The second step is to add the <code>AC_CONFIG_MACRO_DIR(m4)</code>
- to your <filename>configure.ac</filename>. This is not required
- but helps <application>gtkdocize</application> to automatically copy
- the macro definition (e.g <filename>gtk-doc.m4</filename>) which
- contains the <function>GTK_DOC_CHECK</function> macro to your
- project's macro directory. Without this, the GTK_DOC_CHECK macro
- might not be found and you would need to explicitly tell the
- <application>aclocal</application> tool where to find the macro
- definition file.
- </para>
-
- <para>
- <example><title>Minimal integration with autoconf</title>
- <programlisting><![CDATA[
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The above example works, but will require all developers to have
- gtk-doc installed. A better way is to make building the documentation
- optional as shown in the next example:
-
- <example>
- <title>Integration with optional gtk-doc dependency</title>
- <programlisting><![CDATA[
-m4_ifdef([GTK_DOC_CHECK], [
-# recommended: set m4 directory
-AC_CONFIG_MACRO_DIR(m4)
-# optional: register gtk-doc in configure
-GTK_DOC_CHECK([1.28])
-],[
-AM_CONDITIONAL([ENABLE_GTK_DOC], false)
-])
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The first argument is used to check for the Gtk-Doc version at
- configure time. The 2nd, optional argument is used by
- <application>gtkdocize</application>.
- The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure
- switches:
- </para>
-
- <orderedlist>
- <listitem><para>--with-html-dir=PATH : 安装文档的路径</para></listitem>
- <listitem><para>--enable-gtk-doc : 用gtk-doc构建文档[默认值:no]</para></listitem>
- <listitem><para>--enable-gtk-doc-html :用html格式构建文档[默认值:yes]</para></listitem>
- <listitem><para>--enable-gtk-doc-pdf : 以PDF格式构建文档[默认值:no]</para></listitem>
- </orderedlist>
-
- <important>
- <para>GTK-Doc在默认情况下是关闭的!请记得给文本<filename>configure</filename>运作时传递<option>'--enable-gtk-doc'</option>选项。否则,将会安装预先生成的文档(对用户有意义但对开发人员没用处)。</para>
- </important>
-
- <para>
- After all changes to <filename>configure.ac</filename> are made,
- update the <filename>configure</filename> file. This can be done by
- re-running <code>autogen.sh</code>.
- </para>
- </sect2>
-
- <sect2 id="settingup_autogen">
- <title>与autogen集成</title>
-
- <para>
- Most projects will have an <filename>autogen.sh</filename> script to
- setup the build infrastructure after the project was checked out from
- a version control system (such as git or svn). GTK-Doc comes with a
- script called <application>gtkdocize</application> which can be used
- to copy the necessary files needed by Gtk-Doc to the source directory.
- </para>
-
- <para>
- It should be run before autoreconf, autoheader, automake or autoconf.
- </para>
-
- <para>
- <example><title>从autogen.sh中运行gtkdocize</title>
- <programlisting><![CDATA[
-gtkdocize || exit 1
-]]></programlisting>
- </example>
- </para>
-
- <para>
- <example>
- <title>Conditionally run gtkdocize from autogen.sh</title>
- <programlisting><![CDATA[
-GTKDOCIZE=$(which gtkdocize 2>/dev/null)
-if test $? -ne 0; then
- echo "No gtk-doc support found. You can't build the docs."
-else
- $GTKDOCIZE || exit 1
-fi
-]]></programlisting>
- </example>
- </para>
-
- <para>
- When running <application>gtkdocize</application> it copies
- <filename>gtk-doc.make</filename> to your project root (or any
- directory specified by the <option>--docdir</option> option).
- </para>
-
- <para>
- <application>gtkdocize</application> checks your
- <filename>configure.ac</filename> script for
- the <function>GTK_DOC_CHECK</function> macro.
- The <function>GTK_DOC_CHECK</function> macro can be used to pass
- extra arguments to the <application>gtkdocize</application> script.
- the 2nd parameter in the <function>GTK_DOC_CHECK</function> macro.
- </para>
-
- <para>
- Alternatively, additional arguments can also be passed to
- <application>gtkdocize</application> via the
- <function>GTKDOCIZE_FLAGS</function> environment variable, or by
- directly specifying them to <application>gtkdocize</application>
- in <filename>autogen.sh</filename>.
- </para>
-
- </sect2>
-
- <sect2 id="settingup_firstrun">
- <title>Executing GTK-Doc from the Build System</title>
-
- <para>
- After the previous steps it's time to run the build. First we need to
- rerun <filename>autogen.sh</filename>. If this script runs configure
- for you, then give it the <option>--enable-gtk-doc</option> option.
- Otherwise manually run <filename>configure</filename> with this option
- afterwards.
- </para>
- <para>
- The first make run generates several additional files in the doc-directories.
- The important ones are:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>.
- </para>
- <para>
- <example><title>运行文档构建</title>
- <programlisting><![CDATA[
-./autogen.sh --enable-gtk-doc
-make
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Now you can point your browser to
- <filename>docs/reference/<package>/index.html</filename>.
- With this initial setup you will only see a very simple document.
- The next chapter will teach you how to add API documentation to your
- code via special comment blocks. The Chapter afterwards introduces
- <link linkend="metafiles">additional files</link> and shows how to
- edit the <link linkend="metafiles_master">master template</link> to
- add additional chapters and sections to your documentation files.
- </para>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="settingup_cmake">
- <title>Integration with CMake build systems</title>
-
- <para>
- GTK-Doc now provides a <filename>GtkDocConfig.cmake</filename> module
- (and the corresponding <filename>GtkDocConfigVersion.cmake</filename>
- module). This provides a <literal>gtk_doc_add_module</literal>
- command that you can set in your <filename>CMakeLists.txt</filename>
- file.
- </para>
-
- <para>
- The following example shows how to use this command.
- <example><title>Example of using GTK-Doc from CMake</title>
- <programlisting><![CDATA[
-find_package(GtkDoc 1.25 REQUIRED)
-
-# Create the doc-libmeep target.
-gtk_doc_add_module(
- libmeep ${CMAKE_SOURCE_DIR}/libmeep
- XML meep-docs.xml
- LIBRARIES libmeep
-)
-
-# Build doc-libmeep as part of the default target. Without this, you would
-# have to explicitly run something like `make doc-libmeep` to build the docs.
-add_custom_target(documentation ALL DEPENDS doc-libmeep)
-
-# Install the docs. (This assumes you're using the GNUInstallDirs CMake module
-# to set the CMAKE_INSTALL_DOCDIR variable correctly).
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libmeep/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="settingup_plain_makefiles">
- <title>与普通makefile或其它构建系统整合</title>
-
- <para>
- In the case one does not want to use automake and therefore
- <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
- in the right order in own makefiles (or other build tools).
- </para>
-
- <para>
- <example><title>文档构建步骤</title>
- <programlisting><![CDATA[
-DOC_MODULE=meep
-// sources have changed
-gtkdoc-scan --module=$(DOC_MODULE) <source-dir>
-gtkdoc-scangobj --module=$(DOC_MODULE)
-gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=<source-dir>
-// xml files have changed
-mkdir html
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
-gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
-]]></programlisting>
- </example>
- </para>
-
- <para>您必须查阅<filename>Makefile.am</filename> 和 <filename>gtk-doc.mak</filename>以获取所须的额外选项。</para>
- </sect1>
-
- <sect1 id="settingup_vcs">
- <title>与版本控制系统集成</title>
-
- <para>
- As a rule of thumb, it's the files you edit which should go under
- version control. For typical projects it's these files:
- <filename><package>.types</filename>,
- <filename><package>-docs.xml</filename> (in the past .sgml),
- <filename><package>-sections.txt</filename>,
- <filename>Makefile.am</filename>.
- </para>
- <para>
- Files in the <filename>xml/</filename> and <filename>html/</filename>
- directories should not go under version control. Neither should any of
- the <filename>.stamp</filename> files.
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="documenting">
- <title>编写代码文档</title>
-
- <para>
- GTK-Doc uses source code comment with a special syntax for code documentation.
- Further it retrieves information about your project structure from other
- sources. During the next section you will find all information about the
- syntax of the comments.
- </para>
-
- <para>
- The GTK-Doc scanner can handle the majority of C headers fine. In the
- case of receiving warnings from the scanner that look like a special
- case, one can hint GTK-Doc to skip over them.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-#ifndef __GTK_DOC_IGNORE__
-/* unparseable code here */
-#endif
-]]></programlisting>
- </example>
- </para>
-
- <note>
- <title>Limitations</title>
- <para>
- Note, that GTK-Doc's supports
- <code>#ifndef(__GTK_DOC_IGNORE__)</code> but not
- <code>#if !defined(__GTK_DOC_IGNORE__)</code> or other combinations.
- </para>
- </note>
-
- <!-- -->
-
- <sect1 id="documenting_syntax">
- <title>文档注释</title>
-
- <para>
- A multiline comment that starts with an additional '*' marks a
- documentation block that will be processed by the GTK-Doc tools.
- <example><title>GTK-Doc comment block</title>
- <programlisting><![CDATA[
-/**
- * identifier:
- * documentation ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The 'identifier' is one line with the name of the item the comment is
- related to. The syntax differs a little depending on the item.
- (TODO add table showing identifiers)
- </para>
-
- <para>
- The 'documentation' block is also different for each symbol type. Symbol
- types that get parameters such as functions or macros have the parameter
- description first followed by a blank line (just a '*').
- Afterwards follows the detailed description. All lines (outside program
- listings and CDATA sections) just containing a ' *' (blank-asterisk) are
- converted to paragraph breaks.
- If you don't want a paragraph break, change that into ' * '
- (blank-asterisk-blank-blank). This is useful in preformatted text (code
- listings).
- </para>
-
- <tip>
- <para>
- When documenting code, describe two aspects:
- <itemizedlist>
- <listitem>
- <para>
- What it is: The name for a class or function can sometimes
- be misleading for people coming from a different background.
- </para>
- </listitem>
- <listitem>
- <para>
- What it does: Tell about common uses. Put it in relation
- with the other API.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </tip>
-
- <para>与纯文本相比,超文本的优势在于可以在文档内部有链接。但为一个链接编写正确的标记可能是件枯燥的差事。GTK-Doc提供了几个有用的简化方法帮你解决这个麻烦。<itemizedlist>
- <listitem>
- <para>用function()来指示带有参数的函数或宏。</para>
- </listitem>
- <listitem>
- <para>用@param指示参数。同样也可以指示其它函数的参数,与所描述的对象有关。</para>
- </listitem>
- <listitem>
- <para>用%constant指示常量,比如:%G_TRAVERSE_LEAFS。</para>
- </listitem>
- <listitem>
- <para>用#symbol指示其它符号类型,比如:结构,枚举与不带参数的宏。</para>
- </listitem>
- <listitem>
- <para>
- Use #Object::signal to refer to a GObject signal.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Object:property to refer to a GObject property.
- </para>
- </listitem>
- <listitem>
- <para>
- Use #Struct.field to refer to a field inside a structure and
- #GObjectClass.foo_bar() to refer to a vmethod.
- </para>
- </listitem>
- </itemizedlist></para>
-
- <tip>
- <para>如果你要在文档里面使用一些特殊的字符'<', '>', '()', '@', '%', or '#' 且不用GTK-Doc来修改它们,你可以相应地用XML 实体 "&lt;", "&gt;", "&lpar;", "&rpar;", "&commat;", "&percnt;" 以及 "&num;"或者用一个反斜线'\'来转义它们。</para>
- </tip>
-
- <para>
- DocBook can do more than just links. One can also have lists,
- examples, headings, and images. As of version 1.20, the
- preferred way is to use a subset of the basic text formatting
- syntax called
- <ulink url="http://daringfireball.net/projects/markdown/">Markdown</ulink>.
- On older GTK-Doc versions any documentation that includes
- Markdown will be rendered as is. For example, list items will
- appear as lines starting with a dash.
- </para>
-
- <para>
- While markdown is now preferred one can mix both. One limitation here is
- that one can use docbook xml within markdown, but markdown within
- docbook xml is not supported.
- </para>
-
- <para>
- In older GTK-Doc releases, if you need support for additional
- formatting, you would need to enable the usage of docbook
- XML tags inside doc-comments by putting <option>--xml-mode</option>
- (or <option>--sgml-mode</option>) in the variable
- <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
- </para>
-
- <para>
- <example><title>GTK-Doc comment block using Markdown</title>
- <programlisting><
- *
- * 
- *
- * [A link to the heading anchor above][heading-two]
- *
- * A C-language example:
- * |[<!-- language="C" -->
- * GtkWidget *label = gtk_label_new ("Gorgeous!");
- * ]|
- */
-]]></programlisting>
- </example>
- </para>
-
- <para>
- More examples of what markdown tags are supported can be found in the
- <ulink url="https://wiki.gnome.org/Projects/GTK%2B/DocumentationSyntax/Markdown">GTK+ Documentation Markdown Syntax Reference</ulink>.
- </para>
-
- <tip>
- <para>
- As already mentioned earlier GTK-Doc is for documenting public API. Thus
- one cannot write documentation for static symbols. Nevertheless it is good
- to comment those symbols too. This helps other developers to understand
- your code.
- Therefore we recommend to comment these using normal comments (without the
- 2nd '*' in the first line).
- If later the function needs to be made public, all one needs to do is to
- add another '*' in the comment block and insert the symbol name at the
- right place inside the sections file.
- </para>
- </tip>
- </sect1>
-
- <sect1 id="documenting_sections">
- <title>文档章节</title>
-
- <para>文档的每个章节都包含着关于一个类或模块的信息。要介绍它的组件,你可以编写一节注释块。在内容表格中也可以使用简短的描述。所有的@fields都是可选的。</para>
-
- <para>
- <example><title>节注释块</title>
- <programlisting><![CDATA[
-/**
- * SECTION:meepapp
- * @short_description: the application class
- * @title: Meep application
- * @section_id:
- * @see_also: #MeepSettings
- * @stability: Stable
- * @include: meep/app.h
- * @image: application.png
- *
- * The application class handles ...
- */
-]]></programlisting>
- </example>
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SECTION:<name></term>
- <listitem>
- <para>
- The name links the section documentation to the respective part in
- the <filename><package>-sections.txt</filename> file. The
- name given here should match the <FILE> tag in the
- <filename><package>-sections.txt</filename> file.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@short_description</term>
- <listitem>
- <para>该节的单行描述,不久将出现在TOC里的链接后和该节页面的顶部。</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@title</term>
- <listitem>
- <para>段落的标题在SECTION声明里默认是 <name> 。它可以由@title字段替换。</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@section_id</term>
- <listitem>
- <para>替换标题的用途作为一个段落指示器。对于GObjects,<title>用作section_id且对于其它的段落它是<MODULE>-<title>。</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@see_also</term>
- <listitem>
- <para>与本节相关的标识符。</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@stability</term>
- <listitem>
- <para>
- An informal description of the stability level this API has.
- We recommend the use of one of these terms:
- <itemizedlist>
- <listitem>
- <para>
- Stable
- - The intention of a Stable interface is to enable arbitrary
- third parties to develop applications to these interfaces,
- release them, and have confidence that they will run on all
- minor releases of the product (after the one in which the
- interface was introduced, and within the same major release).
- Even at a major release, incompatible changes are expected
- to be rare, and to have strong justifications.
- </para>
- </listitem>
- <listitem>
- <para>
- Unstable
- - Unstable interfaces are experimental or transitional.
- They are typically used to give outside developers early
- access to new or rapidly changing technology, or to provide
- an interim solution to a problem where a more general
- solution is anticipated.
- No claims are made about either source or binary
- compatibility from one minor release to the next.
- </para>
- </listitem>
- <listitem>
- <para>
- Private
- - An interface that can be used within the GNOME stack
- itself, but that is not documented for end-users. Such
- functions should only be used in specified and documented
- ways.
- </para>
- </listitem>
- <listitem>
- <para>
- Internal
- - An interface that is internal to a module and does not
- require end-user documentation. Functions that are
- undocumented are assumed to be Internal.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@include</term>
- <listitem>
- <para>
- The <literal>#include</literal> files to show in the section
- synopsis (a comma separated list), overriding the global
- value from the <link linkend="metafiles_sections">section
- file</link> or command line. This item is optional.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>@image</term>
- <listitem>
- <para>本章节的参考页顶部显示的图像。这常常是某些用于阐释一个类或者图表与其它类之间关系的可视化图示。这个项是可选的。</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <tip>
- <para>为避免不必要的重编译,在文档改动后尽可能把段落文档放入C代码中合适的位置。</para>
- </tip>
-
- </sect1>
-
- <sect1 id="documenting_symbols">
- <title>编写符号文档</title>
-
- <para>每个符号(函数,宏,结构,枚举,信号及属性)都在各自独立的块中描述。这些块最好放置于接近标识符定义的地方,这样可以容易地让它们保持同步。因此函数通常在C代码中定义,宏和结构及枚举在头文件里定义。</para>
-
- <sect2><title>一般标记</title>
-
- <para>你可以为所有的文档元素加入版本信息,表明何时引入或废弃了某个API。</para>
-
- <variablelist><title>版本标记</title>
- <varlistentry><term>始于:</term>
- <listitem>
- <para>描述从哪个版本的代码开始加入了该API。</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>废弃:</term>
- <listitem>
- <para>表明这个函数不应再使用的一段文档。描述文字应向读者介绍新的API。</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- You can also add stability information to all documentation elements
- to indicate whether API stability is guaranteed for them for all
- future minor releases of the project.
- </para>
-
- <para>
- The default stability level for all documentation elements can be set
- by passing the <option>--default-stability</option> argument to
- <application>gtkdoc-mkdb</application> with one of the values below.
- </para>
-
- <variablelist><title>Stability Tags</title>
- <varlistentry><term>Stability: Stable</term>
- <listitem>
- <para>
- Mark the element as stable. This is for public APIs which are
- guaranteed to remain stable for all future minor releases of the
- project.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Unstable</term>
- <listitem>
- <para>
- Mark the element as unstable. This is for public APIs which are
- released as a preview before being stabilised.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>Stability: Private</term>
- <listitem>
- <para>
- Mark the element as private. This is for interfaces which can be
- used by tightly coupled modules, but not by arbitrary third
- parties.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example><title>一般标记</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar:
- * @foo: some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: @foo's bar
- *
- * Since: 2.6
- * Deprecated: 2.12: Use foo_baz_get_bar() instead.
- */
-Bar *
-foo_get_bar(Foo *foo)
-{
-...
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>Annotations</title>
-
- <para>
- Documentation blocks can contain annotation-tags. These tags will be
- rendered with tooltips describing their meaning. The tags are used by
- gobject-introspection to generate language bindings. A detailed list
- of the supported tags can be found on
- <ulink url="http://live.gnome.org/GObjectIntrospection/Annotations" type="http">the wiki</ulink>.
- </para>
-
- <example><title>Annotations</title>
- <programlisting><![CDATA[
-/**
- * foo_get_bar: (annotation)
- * @foo: (annotation): some foo
- *
- * Retrieves @foo's bar.
- *
- * Returns: (annotation): @foo's bar
- */
-...
-/**
- * foo_set_bar_using_the_frobnicator: (annotation) (another annotation)
- * (and another annotation)
- * @foo: (annotation) (another annotation): some foo
- *
- * Sets bar on @foo.
- */
-]]></programlisting>
- </example>
- </sect2>
-
- <sect2><title>函数注释块</title>
-
- <para>请记得:<itemizedlist>
- <listitem>
- <para>描述返回的对象、列表、字符串等是否应释放内存(freed)/解除引用/释放(released)。</para>
- </listitem>
- <listitem>
- <para>描述参数可否为NULL,如果是的话会发生什么。</para>
- </listitem>
- <listitem>
- <para>在适当时提及相关的前提条件与后续条件。</para>
- </listitem>
- </itemizedlist></para>
-
- <para>Gtk-doc 假定所有以'_'符开头的符号(宏,函数)是私有的并视它们为静态函数。</para>
-
- <example><title>函数注释块</title>
- <programlisting><![CDATA[
-/**
- * function_name:
- * @par1: description of parameter 1. These can extend over more than
- * one line.
- * @par2: description of parameter 2
- * @...: a %NULL-terminated list of bars
- *
- * The function description goes here. You can use @par1 to refer to parameters
- * so that they are highlighted in the output. You can also use %constant
- * for constants, function_name2() for functions and #GtkWidget for links to
- * other declarations (which may be documented elsewhere).
- *
- * Returns: an integer.
- *
- * Since: 2.2
- * Deprecated: 2.18: Use other_function() instead.
- */
-]]></programlisting>
- </example>
-
- <variablelist><title>函数标记</title>
- <varlistentry><term>返回值:</term>
- <listitem>
- <para>描述返回结果的段落。</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>@...:</term>
- <listitem>
- <para>如果函数有变长参数列表,你应当使用这个标记(@Varargs: 由于历史原因确实也管用)。</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect2>
-
- <sect2><title>属性注释块</title>
-
- <example><title>属性注释块</title>
- <programlisting><![CDATA[
-/**
- * SomeWidget:some-property:
- *
- * Here you can document a property.
- */
-g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>信号注释块</title>
-
- <para>请记得:<itemizedlist>
- <listitem>
- <para>描述信号何时发射(emitted)及在其它信号之前还是之后发射。</para>
- </listitem>
- <listitem>
- <para>描述应用程序在信号处理函数中能做些什么。</para>
- </listitem>
- </itemizedlist></para>
-
- <example><title>信号注释块</title>
- <programlisting><![CDATA[
-/**
- * FooWidget::foobarized:
- * @widget: the widget that received the signal
- * @foo: some foo
- * @bar: some bar
- *
- * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
- */
-foo_signals[FOOBARIZED] =
- g_signal_new ("foobarized",
- ...
-]]></programlisting>
- </example>
-
- </sect2>
-
- <sect2><title>结构注释块</title>
- <example><title>结构注释块</title>
- <programlisting><![CDATA[
-/**
- * FooWidget:
- * @bar: some #gboolean
- *
- * This is the best widget, ever.
- */
-typedef struct _FooWidget {
- GtkWidget parent_instance;
-
- gboolean bar;
-} FooWidget;
-]]></programlisting>
- </example>
-
- <para>在你需要隐藏的私有结构字段之前使用<code>/*< private >*/</code> 。反之使用<code>/*< public >*/</code>.</para>
-
- <para>
- If the first field is "g_iface", "parent_instance" or "parent_class"
- it will be considered private automatically and doesn't need to be
- mentioned in the comment block.
- </para>
-
- <para>结构注释块也可以用于GObjects与GObjectClasses。为一个类添加注释块通常是个极好的主意,如果它有vmethod(因为这是怎样制作它的文档的方法)。对于GObject自身而言,你可以使用相关的章节文档,如果对象实例有公共字段,为每个实例结构体单独块注释是非常有用的。缺点是这会为同一名字创建两个索引记录(结构与章节)。</para>
-
- </sect2>
-
- <sect2><title>枚举注释块</title>
- <example><title>枚举注释块</title>
- <programlisting><![CDATA[
-/**
- * Something:
- * @SOMETHING_FOO: something foo
- * @SOMETHING_BAR: something bar
- *
- * Enum values used for the thing, to specify the thing.
- */
-typedef enum {
- SOMETHING_FOO,
- SOMETHING_BAR,
- /*< private >*/
- SOMETHING_COUNT
-} Something;
-]]></programlisting>
- </example>
-
- <para>在你要隐藏的枚举数值前使用<code>/*< private >*/</code>。反之使用<code>/*< public >*/</code> 。</para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="documenting_inline_program">
- <title>Inline program documentation</title>
- <para>
- You can document programs and their commandline interface using inline
- documentation.
- </para>
-
- <variablelist>
- <title>Tags</title>
-
- <varlistentry><term>PROGRAM</term>
-
- <listitem>
- <para>
- Defines the start of a program documentation.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@short_description:</term>
- <listitem>
- <para>
- Defines a short description of the program. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@synopsis:</term>
- <listitem>
- <para>
- Defines the arguments, or list of arguments that the program can take.
- (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@see_also:</term>
- <listitem>
- <para>
- See Also manual page section. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>@arg:</term>
- <listitem>
- <para>
- Argument(s) passed to the program and their description. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Description:</term>
- <listitem>
- <para>
- A longer description of the program.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>返回值:</term>
- <listitem>
- <para>
- Specify what value(s) the program returns. (Optional)
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <sect2>
- <title>Example of program documentation.</title>
- <example><title>Program documentation block</title>
- <programlisting><![CDATA[
-/**
- * PROGRAM:test-program
- * @short_description: A test program
- * @synopsis: test-program [*OPTIONS*...] --arg1 *arg* *FILE*
- * @see_also: test(1)
- * @--arg1 *arg*: set arg1 to *arg*
- * @--arg2 *arg*: set arg2 to *arg*
- * @-v, --version: Print the version number
- * @-h, --help: Print the help message
- *
- * Long description of program.
- *
- * Returns: Zero on success, non-zero on failure
- */
-int main(int argc, char *argv[])
-{
- return 0;
-}
-]]></programlisting>
- </example>
-
- </sect2>
- </sect1>
-
- <sect1 id="documenting_docbook">
- <title>有用的DocBook标记</title>
-
- <para>这些是在编写代码文档时非常有用处的DocBook标记。</para>
-
- <para>
- To link to another section in the GTK docs:
-
- <informalexample>
- <programlisting><![CDATA[
-<link linkend="glib-Hash-Tables">Hash Tables</link>
-]]></programlisting>
- </informalexample>
- The linkend is the SGML/XML id on the top item of the page you want to link to.
- For most pages this is currently the part ("gtk", "gdk", "glib") and then
- the page title ("Hash Tables"). For widgets it is just the class name.
- Spaces and underscores are converted to '-' to conform to SGML/XML.
- </para>
-
- <para>引用一个外部函数,比如一个标准 C 函数:<informalexample>
- <programlisting><![CDATA[
-<function>...</function>
-]]></programlisting>
- </informalexample></para>
-
- <para>
- To include example code:
- <informalexample>
- <programlisting><![CDATA[
-<example>
- <title>Using a GHashTable.</title>
- <programlisting language="C">
- ...
- </programlisting>
-</example>
-]]></programlisting>
- </informalexample>
- or possibly this, for very short code fragments which don't need a title:
- <informalexample>
- <programlisting><![CDATA[
-<informalexample>
- <programlisting language="C">
- ...
- </programlisting>
-</informalexample>
-]]></programlisting>
- </informalexample>
- In both cases, the language attribute is optional and is used as a hint
- to the syntax highlighting engine (pygments for html output).
- For the latter GTK-Doc also supports an abbreviation:
- <informalexample>
- <programlisting><![CDATA[
-|[<!-- language="C" -->
- ...
-]|
-]]></programlisting>
- </informalexample>
- </para>
-
- <para>要包含符号列表:<informalexample>
- <programlisting><![CDATA[
-<itemizedlist>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- ...
- </para>
- </listitem>
-</itemizedlist>
-]]></programlisting>
- </informalexample></para>
-
- <para>要包含一条文字中突出显示的注解:<informalexample>
- <programlisting><![CDATA[
-<note>
- <para>
- Make sure you free the data after use.
- </para>
-</note>
-]]></programlisting>
- </informalexample></para>
-
- <para>要引用一个类型:<informalexample>
- <programlisting><![CDATA[
-<type>unsigned char</type>
-]]></programlisting>
- </informalexample></para>
-
- <para>引用一个外部结构(不是在GTK 文档中描述的):<informalexample>
- <programlisting><![CDATA[
-<structname>XFontStruct</structname>
-]]></programlisting>
- </informalexample></para>
-
- <para>要引用一个结构字段:<informalexample>
- <programlisting><![CDATA[
-<structfield>len</structfield>
-]]></programlisting>
- </informalexample></para>
-
- <para>要引用一个类的名字,你可能会使用:<informalexample>
- <programlisting><![CDATA[
-<classname>GtkWidget</classname>
-]]></programlisting>
- </informalexample> 但是你可能正在使用#GtkWidget(要自动创建一个到GtkWidget 页面的链接-请参阅<link linkend="documenting_syntax">缩写</link>)。</para>
-
- <para>要强调文本:<informalexample>
- <programlisting><![CDATA[
-<emphasis>This is important</emphasis>
-]]></programlisting>
- </informalexample></para>
-
- <para>对于文件名,使用:<informalexample>
- <programlisting><![CDATA[
-<filename>/home/user/documents</filename>
-]]></programlisting>
- </informalexample></para>
-
- <para>要引用键值,使用:<informalexample>
- <programlisting><![CDATA[
-<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
-]]></programlisting>
- </informalexample></para>
-
- </sect1>
- </chapter>
-
- <chapter id="metafiles">
- <title>填充额外的文件</title>
-
- <para>另有几个文件要和内嵌源代码注释一起维护:<filename><package>.types</filename>, <filename><package>-docs.xml</filename> (原为 .sgml), <filename><package>-sections.txt</filename>。</para>
-
- <sect1 id="metafiles_types">
- <title>编辑类型文件</title>
-
- <para>
- If your library or application includes GObjects, you want
- their signals, arguments/parameters and position in the hierarchy to be
- shown in the documentation. All you need to do, is to list the
- <function>xxx_get_type</function> functions together with their include
- inside the <filename><package>.types</filename> file.
- </para>
-
- <para>
- <example><title>Example <package>.types file</title>
- <programlisting><![CDATA[
-#include <gtk/gtk.h>
-
-gtk_accel_label_get_type
-gtk_adjustment_get_type
-gtk_alignment_get_type
-gtk_arrow_get_type
-]]></programlisting>
- </example>
- </para>
-
- <para>从GTK-Doc 1.8开始<application>gtkdoc-scan</application>能够自动生成这个列表。只要往<filename>Makefile.am</filename>文件中的SCAN_OPTIONS项加入“--rebuild-types”即可。如果你要使用它请保证不发行类型文件也不将它置于版本控制系统的管理之下。</para>
-
- </sect1>
-
- <sect1 id="metafiles_master">
- <title>编辑主文档</title>
-
- <para>GTK-Doc 以 DocBook SGML/XML 格式生成文档。当处理源代码内嵌注释时, GTK-Doc 工具以独立文件为每个类或模块生成一个文档页。主文档包含了它们并且将它们按顺序排列。</para>
-
- <para>
- While GTK-Doc creates a template master document for you, later runs will
- not touch it again. This means that one can freely structure the
- documentation. That includes grouping pages and adding extra pages.
- GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
- Its a good idea to look at this from time to time to see if there are
- some new goodies introduced there.
- </para>
-
- <tip>
- <para>不要把教程(tutorial)当作额外的文档来编写。写成额外的章节即可。把你的库教程直接放入API文档的好处就是教程与符号文档之间的链接很容易。另外教程与库一同升级时分离的机会也更高。</para>
- </tip>
-
- <para>那么什么是主文档内部要修改的东西呢?开始只是一点点东西。有一些占位标识(在方括号内部的文本)你应当多留意。</para>
-
- <para>
- <example><title>主文档头部</title>
- <programlisting><![CDATA[
-<bookinfo>
- <title>MODULENAME Reference Manual</title>
- <releaseinfo>
- for MODULENAME [VERSION]
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
- </releaseinfo>
-</bookinfo>
-
-<chapter>
- <title>[Insert title here]</title>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- In addition a few option elements are created in commented form. You can
- review these and enable them as you like.
- </para>
-
- <para>
- <example><title>Optional part in the master document</title>
- <programlisting><![CDATA[
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-]]></programlisting>
- </example>
- </para>
-
- <para>
- Finally you need to add new section whenever you introduce one. The
- <link linkend="modernizing-gtk-doc-1-16">gtkdoc-check</link> tool will
- remind you of newly generated xml files that are not yet included into
- the doc.
- </para>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
- <chapter>
- <title>my library</title>
- <xi:include href="xml/object.xml"/>
- ...
-]]></programlisting>
- </example>
- </para>
-
- </sect1>
-
- <sect1 id="metafiles_sections">
- <title>编辑节文件(section file)</title>
-
- <para>节文件用于组织由GTK-Doc输出的文档。在此你指定哪个符号属于哪个类或模块,并控制它是否可见(公共的或私有的)。</para>
-
- <para>
- The section file is a plain text file with tags delimiting sections.
- Blank lines are ignored and lines starting with a '#' are treated as
- comment lines.
- </para>
-
- <note>
- <para>
- While the tags make the file look like xml, it is not. Please do not
- close tags like <SUBSECTION>.
- </para>
- </note>
-
- <para>
- <example><title>Including generated sections</title>
- <programlisting><![CDATA[
-<INCLUDE>libmeep/meep.h</INCLUDE>
-
-<SECTION>
-<FILE>meepapp</FILE>
-<TITLE>MeepApp</TITLE>
-MeepApp
-<SUBSECTION Standard>
-MEEP_APP
-...
-MeepAppClass
-meep_app_get_type
-</SECTION>
-]]></programlisting>
- </example>
- </para>
-
- <para>
- The <FILE> ... </FILE> tag is used to specify the file name,
- without any suffix. For example, using '<FILE>gnome-config</FILE>'
- will result in the section declarations being output in the template
- file <filename>tmpl/gnome-config.sgml</filename>, which will be
- converted into the DocBook XML file <filename>xml/gnome-config.sgml</filename>
- or the DocBook XML file <filename>xml/gnome-config.xml</filename>.
- (The name of the HTML file is based on the module name and the section
- title, or for GObjects it is based on the GObjects class name converted
- to lower case).
- </para>
-
- <para><TITLE> ... </TITLE>标记用于节的标题。它只在模板(如果使用的话)最初创建之前有用,因为设置在模板文件内的标题覆盖了它。或者如果你在源代码中使用了SECTION注释(此功能已过时)。</para>
-
- <para>
- You can group items in the section by using the <SUBSECTION> tag.
- Currently it outputs a blank line between subsections in the synopsis
- section.
- You can also use <SUBSECTION Standard> for standard GObject
- declarations (e.g. the functions like g_object_get_type and macros like
- G_OBJECT(), G_IS_OBJECT() etc.).
- Currently these are left out of the documentation.
- You can also use <SUBSECTION Private> for private declarations
- which will not be output (it is a handy way to avoid warning messages
- about unused declarations).
- If your library contains private types which you don't want to appear in
- the object hierarchy and the list of implemented or required interfaces,
- add them to a Private subsection.
- Whether you would place GObject and GObjectClass like structs in public
- or Standard section depends if they have public entries (variables,
- vmethods).
- </para>
-
- <para>
- You can also use <INCLUDE> ... </INCLUDE> to specify the
- #include files which are shown in the synopsis sections.
- It contains a comma-separate list of #include files, without the angle
- brackets. If you set it outside of any sections, it acts for all
- sections until the end of the file. If you set it within a section, it
- only applies to that section.
- </para>
-
- </sect1>
-
- </chapter>
-
- <chapter id="reports">
- <title>控制结果</title>
-
- <para>
- A GTK-Doc run generates report files inside the documentation directory.
- The generated files are named:
- <filename><package>-undocumented.txt</filename>,
- <filename><package>-undeclared.txt</filename> and
- <filename><package>-unused.txt</filename>.
- All those are plain text files that can be viewed and postprocessed easily.
- </para>
-
- <para>
- The <filename><package>-undocumented.txt</filename> file starts with
- the documentation coverage summary. Below are two sections divided by
- blank lines. The first section lists undocumented or incomplete symbols.
- The second section does the same for section docs. Incomplete entries are
- those, which have documentation, but where e.g. a new parameter has been
- added.
- </para>
-
- <para>
- The <filename><package>-undeclared.txt</filename> file lists symbols
- given in the <filename><package>-sections.txt</filename> but not
- found in the sources. Check if they have been removed or if they are
- misspelled.
- </para>
-
- <para>
- The <filename><package>-unused.txt</filename> file lists symbol
- names, where the GTK-Doc scanner has found documentation, but does not
- know where to put it. This means that the symbol has not yet been added to
- the <filename><package>-sections.txt</filename> file.
- </para>
-
- <tip>
- <para>
- Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
- If at least GTK-Doc 1.9 is installed, this will run sanity checks during
- <command>make check</command> run.
- </para>
- </tip>
-
- <para>
- One can also look at the files produced by the source code scanner:
- <filename><package>-decl-list.txt</filename> and
- <filename><package>-decl.txt</filename>. The first one can be
- compared with the section file if that is manually maintained. The second
- lists all declarations from the headers. If a symbol is missing one could
- check if this file contains it.
- </para>
-
- <para>
- If the project is GObject based, one can also look into the files produced
- by the object scanner:
- <filename><package>.args.txt</filename>,
- <filename><package>.hierarchy.txt</filename>,
- <filename><package>.interfaces.txt</filename>,
- <filename><package>.prerequisites.txt</filename> and
- <filename><package>.signals.txt</filename>. If there are missing
- symbols in any of those, one can ask GTK-Doc to keep the intermediate
- scanner file for further analysis, by running it as
- <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
- </para>
- </chapter>
-
- <chapter id="modernizing">
- <title>Modernizing the documentation</title>
-
- <para>
- GTK-Doc has been around for quite some time. In this section we list new
- features together with the version since when it is available.
- </para>
-
- <sect1 id="modernizing-gtk-doc-1-9">
- <title>GTK-Doc 1.9</title>
-
- <para>
- When using xml instead of sgml, one can actually name the master
- document <filename><package>-docs.xml</filename>.
- </para>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-sections</option>
- in <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>-sections.txt</filename> is autogenerated and
- can be removed from the vcs. This only works nicely for projects that
- have a very regular structure (e.g. each .{c,h} pair will create new
- section). If one organize a project close to that updating a manually
- maintained section file can be as simple as running
- <code>meld <package>-decl-list.txt <package>-sections.txt</code>.
- </para>
-
- <para>
- Version 1.8 already introduced the syntax for documenting sections in
- the sources instead of the separate files under <filename class="directory">tmpl</filename>.
- This version adds options to switch the whole doc module to not use the
- extra tmpl build step at all, by using <option>--flavour no-tmpl</option>
- in <filename>configure.ac</filename>. If you don't have a <filename class="directory">tmpl</filename>
- checked into your source control system and haven't yet switched, just
- add the flag to <filename>configure.ac</filename> and you are done.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-10">
- <title>GTK-Doc 1.10</title>
-
- <para>
- This version supports <option>SCAN_OPTIONS=--rebuild-types</option> in
- <filename>Makefile.am</filename>. When this is enabled, the
- <filename><package>.types</filename> is autogenerated and can be
- removed from the vcs. When using this feature it is important to also
- setup the <varname>IGNORE_HFILES</varname> in
- <filename>Makefile.am</filename> for code that is build conditionally.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-16">
- <title>GTK-Doc 1.16</title>
-
- <para>
- This version includes a new tool called gtkdoc-check. This tool can run
- a set of sanity checks on your documentation. It is enabled by adding
- these lines to the end of <filename>Makefile.am</filename>.
- <example><title>Enable gtkdoc-check</title>
- <programlisting><![CDATA[
-if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = \
- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-TESTS = $(GTKDOC_CHECK)
-endif
-]]></programlisting>
- </example>
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-20">
- <title>GTK-Doc 1.20</title>
-
- <para>
- Version 1.18 brought some initial markdown support. Using markdown in
- doc comments is less intrusive than writing docbook xml. This version
- improves a lot on this and add a lot more styles. The section that
- explains the <link linkend="documenting_syntax">comment syntax</link>
- has all the details.
- </para>
- </sect1>
-
- <sect1 id="modernizing-gtk-doc-1-25">
- <title>GTK-Doc 1.25</title>
-
- <para>
- The makefiles shipped with this version generate an entity file at <filename>xml/gtkdocentities.ent</filename>,
- containing entities for e.g. package_name and package_version. You can
- use this e.g. in the main xml file to avoid hardcoding the version
- number. Below is an example that shows how the entity file is included
- in the master template and how the entities are used.
- The entities can also be used in all
- generated files, GTK-Doc will use the same xml header in generated xml
- files.
- <example><title>Use pre-generated entities</title>
- <programlisting><![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-]]></programlisting>
- </example>
- </para>
- </sect1>
- </chapter>
-
- <chapter id="documenting-others">
- <title>为其它接口书写文档</title>
-
- <para>
- So far we have been using GTK-Doc to document the API of code. The next
- sections contain suggestions how the tools can be used to document other
- interfaces too.
- </para>
-
- <sect1 id="commandline-interfaces">
- <title>命令行选项与 man 页面</title>
-
- <para>
- As one can generate man pages for a docbook refentry as well, it sounds
- like a good idea to use it for that purpose. This way the interface is
- part of the reference and one gets the man-page for free.
- </para>
-
- <sect2 id="commandline-interfaces-file">
- <title>为工具书写文档</title>
-
- <para>
- Create one refentry file per tool. Following
- <link linkend="settingup_docfiles">our example</link> we would call it
- <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
- tags that should be used and can look at generated file in the xml
- subdirectory as well as examples e.g. in glib.
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-configure">
- <title>添加额外的配置检查</title>
-
- <para>
- <example><title>额外的配置检查</title>
- <programlisting><![CDATA[
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-]]></programlisting>
- </example>
- </para>
- </sect2>
-
- <sect2 id="commandline-interfaces-make">
- <title>添加额外的makefile规则</title>
-
- <para>
- <example><title>额外的配置检查</title>
- <programlisting><![CDATA[
-man_MANS = \
- meeper.1
-
-if ENABLE_GTK_DOC
-if ENABLE_MAN
-
-%.1 : %.xml
- @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-endif
-endif
-
-BUILT_EXTRA_DIST = $(man_MANS)
-EXTRA_DIST += meep.xml
-]]></programlisting>
- </example>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="dbus-interfaces">
- <title>DBus接口</title>
-
- <para>
- (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
-http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
- </para>
- </sect1>
-
- </chapter>
-
- <chapter id="faq">
- <title>常见问题</title>
-
- <segmentedlist>
- <?dbhtml list-presentation="list"?>
- <segtitle>问题</segtitle>
- <segtitle>答案</segtitle>
- <seglistitem>
- <seg>无类继承关系。</seg>
- <seg>对象的 <function>xxx_get_type()</function> 函数未进入 <filename><package>.types</filename> 文件。</seg>
- </seglistitem>
- <seglistitem>
- <seg>仍无类继承关系。</seg>
- <seg>
- Missing or wrong naming in <filename><package>-sections.txt</filename>
- file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explanation</ulink>).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>该死,我仍然没有类继承关系。</seg>
- <seg>
- Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
- part of the normal section (don't put this into Standard or Private
- subsections).
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>无标识符索引。</seg>
- <seg>
- Does the <filename><package>-docs.{xml,sgml}</filename> contain a
- index that xi:includes the generated index?
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>Symbols are not linked to their doc-section.</seg>
- <seg>
- Is the doc-comment using the correct markup (added #,% or ())?
- Check if the gtkdoc-fixxref warns about unresolvable xrefs.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new class does not appear in the docs.</seg>
- <seg>
- Is the new page xi:included from
- <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A new symbol does not appear in the docs.</seg>
- <seg>
- Is the doc-comment properly formatted. Check for spelling mistakes in
- the begin of the comment. Check if the gtkdoc-fixxref warns about
- unresolvable xrefs. Check if the symbol is correctly listed in the
- <filename><package>-sections.txt</filename> in a public subsection.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>A type is missing from the class hierarchy.</seg>
- <seg>
- If the type is listed in <filename><package>.hierarchy</filename>
- but not in <filename>xml/tree_index.sgml</filename> then double check
- that the type is correctly placed in the <filename><package>-sections.txt</filename>.
- If the type instance (e.g. <type>GtkWidget</type>) is not listed or
- incidentally marked private it will not be shown.
- </seg>
- </seglistitem>
- <seglistitem>
- <seg>I get foldoc links for all gobject annotations.</seg>
- <seg>
- Check that <filename>xml/annotation-glossary.xml</filename> is
- xi:included from <filename><package>-docs.{xml,sgml}</filename>.
- </seg>
- </seglistitem>
-
- <!-- gtk-doc warnings: -->
- <seglistitem>
- <seg>Parameter described in source code comment block but does not exist</seg>
- <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
- </seglistitem>
-
- <!-- docbook warnings: -->
- <seglistitem>
- <seg>multiple "IDs" for constraint linkend: XYZ</seg>
- <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
- </seglistitem>
- <seglistitem>
- <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
- <seg/>
- </seglistitem>
- </segmentedlist>
- </chapter>
-
- <chapter id="contrib">
- <title>Tools related to gtk-doc</title>
-
- <para>
- GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
- integration plugin, that adds API docs to a trac site and integrates with
- the trac search.
- </para>
- <para>
- Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
- tags in the API to determine the minimum required version.
- </para>
-
- </chapter>
-
- <!-- ======== Appendix: FDL ================================== -->
- <!--
- The GNU Free Documentation License 1.1 in DocBook
- Markup by Eric Baudais <baudais@okstate.edu>
- Maintained by the GNOME Documentation Project
- http://developer.gnome.org/projects/gdp
- Version: 1.0.1
- Last Modified: Nov 16, 2000
--->
-
-<appendix id="fdl">
- <appendixinfo>
- <releaseinfo>
- Version 1.1, March 2000
- </releaseinfo>
- <copyright><year>2000</year><holder>Free Software Foundation, Inc.</holder></copyright>
- <legalnotice id="fdl-legalnotice">
- <para>
- <address>Free Software Foundation, Inc. <street>51 Franklin Street,
- Suite 330</street>, <city>Boston</city>, <state>MA</state>
- <postcode>02110-1301</postcode> <country>USA</country></address>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </para>
- </legalnotice>
- </appendixinfo>
- <title>GNU 自由文档许可证</title>
-
- <sect1 id="fdl-preamble">
- <title>0. PREAMBLE</title>
- <para>
- The purpose of this License is to make a manual, textbook, or
- other written document <quote>free</quote> in the sense of
- freedom: to assure everyone the effective freedom to copy and
- redistribute it, with or without modifying it, either
- commercially or noncommercially. Secondarily, this License
- preserves for the author and publisher a way to get credit for
- their work, while not being considered responsible for
- modifications made by others.
- </para>
-
- <para>
- This License is a kind of <quote>copyleft</quote>, which means
- that derivative works of the document must themselves be free in
- the same sense. It complements the GNU General Public License,
- which is a copyleft license designed for free software.
- </para>
-
- <para>
- We have designed this License in order to use it for manuals for
- free software, because free software needs free documentation: a
- free program should come with manuals providing the same
- freedoms that the software does. But this License is not limited
- to software manuals; it can be used for any textual work,
- regardless of subject matter or whether it is published as a
- printed book. We recommend this License principally for works
- whose purpose is instruction or reference.
- </para>
- </sect1>
- <sect1 id="fdl-section1">
- <title>1. APPLICABILITY AND DEFINITIONS</title>
- <para id="fdl-document">
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The
- <quote>Document</quote>, below, refers to any such manual or
- work. Any member of the public is a licensee, and is addressed
- as <quote>you</quote>.
- </para>
-
- <para id="fdl-modified">
- A <quote>Modified Version</quote> of the Document means any work
- containing the Document or a portion of it, either copied
- verbatim, or with modifications and/or translated into another
- language.
- </para>
-
- <para id="fdl-secondary">
- A <quote>Secondary Section</quote> is a named appendix or a
- front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
- with the relationship of the publishers or authors of the
- Document to the Document's overall subject (or to related
- matters) and contains nothing that could fall directly within
- that overall subject. (For example, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical
- connection with the subject or with related matters, or of
- legal, commercial, philosophical, ethical or political position
- regarding them.
- </para>
-
- <para id="fdl-invariant">
- The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
- are designated, as being those of Invariant Sections, in the
- notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-cover-texts">
- The <quote>Cover Texts</quote> are certain short passages of
- text that are listed, as Front-Cover Texts or Back-Cover Texts,
- in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
- License.
- </para>
-
- <para id="fdl-transparent">
- A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
- copy, represented in a format whose specification is available
- to the general public, whose contents can be viewed and edited
- directly and straightforwardly with generic text editors or (for
- images composed of pixels) generic paint programs or (for
- drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic
- translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format
- whose markup has been designed to thwart or discourage
- subsequent modification by readers is not Transparent. A copy
- that is not <quote>Transparent</quote> is called
- <quote>Opaque</quote>.
- </para>
-
- <para>
- Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input
- format, SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human
- modification. Opaque formats include PostScript, PDF,
- proprietary formats that can be read and edited only by
- proprietary word processors, SGML or XML for which the DTD
- and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for
- output purposes only.
- </para>
-
- <para id="fdl-title-page">
- The <quote>Title Page</quote> means, for a printed book, the
- title page itself, plus such following pages as are needed to
- hold, legibly, the material this License requires to appear in
- the title page. For works in formats which do not have any title
- page as such, <quote>Title Page</quote> means the text near the
- most prominent appearance of the work's title, preceding the
- beginning of the body of the text.
- </para>
- </sect1>
-
- <sect1 id="fdl-section2">
- <title>2. VERBATIM COPYING</title>
- <para>
- You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
- commercially or noncommercially, provided that this License, the
- copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this
- License. You may not use technical measures to obstruct or
- control the reading or further copying of the copies you make or
- distribute. However, you may accept compensation in exchange for
- copies. If you distribute a large enough number of copies you
- must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
- </para>
-
- <para>
- You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.
- </para>
- </sect1>
-
- <sect1 id="fdl-section3">
- <title>3. COPYING IN QUANTITY</title>
- <para>
- If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
- the copies in covers that carry, clearly and legibly, all these
- Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also
- clearly and legibly identify you as the publisher of these
- copies. The front cover must present the full title with all
- words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes
- limited to the covers, as long as they preserve the title of the
- <link linkend="fdl-document">Document</link> and satisfy these
- conditions, can be treated as verbatim copying in other
- respects.
- </para>
-
- <para>
- If the required texts for either cover are too voluminous to fit
- legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto
- adjacent pages.
- </para>
-
- <para>
- If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
- you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
- each Opaque copy, or state in or with each Opaque copy a
- publicly-accessible computer-network location containing a
- complete Transparent copy of the Document, free of added
- material, which the general network-using public has access to
- download anonymously at no charge using public-standard network
- protocols. If you use the latter option, you must take
- reasonably prudent steps, when you begin distribution of Opaque
- copies in quantity, to ensure that this Transparent copy will
- remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly
- or through your agents or retailers) of that edition to the
- public.
- </para>
-
- <para>
- It is requested, but not required, that you contact the authors
- of the <link linkend="fdl-document">Document</link> well before
- redistributing any large number of copies, to give them a chance
- to provide you with an updated version of the Document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section4">
- <title>4. 修改</title>
- <para>
- You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
- sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
- the Modified Version under precisely this License, with the
- Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do
- these things in the Modified Version:
- </para>
-
- <itemizedlist mark="opencircle">
- <listitem>
- <formalpara>
- <title>A</title>
- <para>
- Use in the <link linkend="fdl-title-page">Title
- Page</link> (and on the covers, if any) a title distinct
- from that of the <link linkend="fdl-document">Document</link>, and from those of
- previous versions (which should, if there were any, be
- listed in the History section of the Document). You may
- use the same title as a previous version if the original
- publisher of that version gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>B</title>
- <para>
- List on the <link linkend="fdl-title-page">Title
- Page</link>, as authors, one or more persons or entities
- responsible for authorship of the modifications in the
- <link linkend="fdl-modified">Modified Version</link>,
- together with at least five of the principal authors of
- the <link linkend="fdl-document">Document</link> (all of
- its principal authors, if it has less than five).
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>C</title>
- <para>
- State on the <link linkend="fdl-title-page">Title
- Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
- publisher.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>D</title>
- <para>
- Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>E</title>
- <para>
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>F</title>
- <para>
- Include, immediately after the copyright notices, a
- license notice giving the public permission to use the
- <link linkend="fdl-modified">Modified Version</link> under
- the terms of this License, in the form shown in the
- Addendum below.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>G</title>
- <para>
- Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
- required <link linkend="fdl-cover-texts">Cover
- Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>H</title>
- <para>
- Include an unaltered copy of this License.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>I</title>
- <para>
- Preserve the section entitled <quote>History</quote>, and
- its title, and add to it an item stating at least the
- title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version</link> as given on
- the <link linkend="fdl-title-page">Title Page</link>. If
- there is no section entitled <quote>History</quote> in the
- <link linkend="fdl-document">Document</link>, create one
- stating the title, year, authors, and publisher of the
- Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>J</title>
- <para>
- Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
- to a <link linkend="fdl-transparent">Transparent</link>
- copy of the Document, and likewise the network locations
- given in the Document for previous versions it was based
- on. These may be placed in the <quote>History</quote>
- section. You may omit a network location for a work that
- was published at least four years before the Document
- itself, or if the original publisher of the version it
- refers to gives permission.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>K</title>
- <para>
- In any section entitled <quote>Acknowledgements</quote> or
- <quote>Dedications</quote>, preserve the section's title,
- and preserve in the section all the substance and tone of
- each of the contributor acknowledgements and/or
- dedications given therein.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>L</title>
- <para>
- Preserve all the <link linkend="fdl-invariant">Invariant
- Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
- text and in their titles. Section numbers or the
- equivalent are not considered part of the section titles.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>M</title>
- <para>
- Delete any section entitled
- <quote>Endorsements</quote>. Such a section may not be
- included in the <link linkend="fdl-modified">Modified
- Version</link>.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>N</title>
- <para>
- Do not retitle any existing section as
- <quote>Endorsements</quote> or to conflict in title with
- any <link linkend="fdl-invariant">Invariant
- Section</link>.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
-
- <para>
- If the <link linkend="fdl-modified">Modified Version</link>
- includes new front-matter sections or appendices that qualify as
- <link linkend="fdl-secondary">Secondary Sections</link> and
- contain no material copied from the Document, you may at your
- option designate some or all of these sections as invariant. To
- do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
- Modified Version's license notice. These titles must be
- distinct from any other section titles.
- </para>
-
- <para>
- You may add a section entitled <quote>Endorsements</quote>,
- provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
- </para>
-
- <para>
- You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
- of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
- the list of <link linkend="fdl-cover-texts">Cover Texts</link>
- in the <link linkend="fdl-modified">Modified Version</link>.
- Only one passage of Front-Cover Text and one of Back-Cover Text
- may be added by (or through arrangements made by) any one
- entity. If the <link linkend="fdl-document">Document</link>
- already includes a cover text for the same cover, previously
- added by you or by arrangement made by the same entity you are
- acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
- </para>
-
- <para>
- The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
- give permission to use their names for publicity for or to
- assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
- </para>
- </sect1>
-
- <sect1 id="fdl-section5">
- <title>5. COMBINING DOCUMENTS</title>
- <para>
- You may combine the <link linkend="fdl-document">Document</link>
- with other documents released under this License, under the
- terms defined in <link linkend="fdl-section4">section 4</link>
- above for modified versions, provided that you include in the
- combination all of the <link linkend="fdl-invariant">Invariant
- Sections</link> of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.
- </para>
-
- <para>
- The combined work need only contain one copy of this License,
- and multiple identical <link linkend="fdl-invariant">Invariant
- Sections</link> may be replaced with a single copy. If there are
- multiple Invariant Sections with the same name but different
- contents, make the title of each such section unique by adding
- at the end of it, in parentheses, the name of the original
- author or publisher of that section if known, or else a unique
- number. Make the same adjustment to the section titles in the
- list of Invariant Sections in the license notice of the combined
- work.
- </para>
-
- <para>
- In the combination, you must combine any sections entitled
- <quote>History</quote> in the various original documents,
- forming one section entitled <quote>History</quote>; likewise
- combine any sections entitled <quote>Acknowledgements</quote>,
- and any sections entitled <quote>Dedications</quote>. You must
- delete all sections entitled <quote>Endorsements.</quote>
- </para>
- </sect1>
-
- <sect1 id="fdl-section6">
- <title>6. COLLECTIONS OF DOCUMENTS</title>
- <para>
- You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
- released under this License, and replace the individual copies
- of this License in the various documents with a single copy that
- is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
- </para>
-
- <para>
- You may extract a single document from such a collection, and
- distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and
- follow this License in all other respects regarding verbatim
- copying of that document.
- </para>
- </sect1>
-
- <sect1 id="fdl-section7">
- <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
- <para>
- A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
- other separate and independent documents or works, in or on a
- volume of a storage or distribution medium, does not as a whole
- count as a <link linkend="fdl-modified">Modified Version</link>
- of the Document, provided no compilation copyright is claimed
- for the compilation. Such a compilation is called an
- <quote>aggregate</quote>, and this License does not apply to the
- other self-contained works thus compiled with the Document , on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may
- be placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
- </para>
- </sect1>
-
- <sect1 id="fdl-section8">
- <title>8. TRANSLATION</title>
- <para>
- Translation is considered a kind of modification, so you may
- distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
- translations requires special permission from their copyright
- holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these
- Invariant Sections. You may include a translation of this
- License provided that you also include the original English
- version of this License. In case of a disagreement between the
- translation and the original English version of this License,
- the original English version will prevail.
- </para>
- </sect1>
-
- <sect1 id="fdl-section9">
- <title>9. TERMINATION</title>
- <para>
- You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
- provided for under this License. Any other attempt to copy,
- modify, sublicense or distribute the Document is void, and will
- automatically terminate your rights under this License. However,
- parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such
- parties remain in full compliance.
- </para>
- </sect1>
-
- <sect1 id="fdl-section10">
- <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
- <para>
- The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
- Foundation</ulink> may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ
- in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
- </para>
-
- <para>
- Each version of the License is given a distinguishing version
- number. If the <link linkend="fdl-document">Document</link>
- specifies that a particular numbered version of this License
- <quote>or any later version</quote> applies to it, you have the
- option of following the terms and conditions either of that
- specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by
- the Free Software Foundation.
- </para>
- </sect1>
-
- <sect1 id="fdl-using">
- <title>Addendum</title>
- <para>
- To use this License in a document you have written, include a copy of
- the License in the document and put the following copyright and
- license notices just after the title page:
- </para>
-
- <blockquote>
- <para>
- Copyright YEAR YOUR NAME.
- </para>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.1 or any later version published by the
- Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
- THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
- and with the <link linkend="fdl-cover-texts">Back-Cover
- Texts</link> being LIST. A copy of the license is included in
- the section entitled <quote>GNU Free Documentation
- License</quote>.
- </para>
- </blockquote>
-
- <para>
- If you have no <link linkend="fdl-invariant">Invariant
- Sections</link>, write <quote>with no Invariant Sections</quote>
- instead of saying which ones are invariant. If you have no
- <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
- <quote>no Front-Cover Texts</quote> instead of
- <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
- </para>
-
- <para>
- If your document contains nontrivial examples of program code,
- we recommend releasing these examples in parallel under your
- choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
- License</ulink>, to permit their use in free software.
- </para>
- </sect1>
-</appendix>
-
-
-
-
-
-
-
-
-</book>
--- /dev/null
+if get_option('yelp_manual') == true
+ subdir('manual')
+endif
\ No newline at end of file
+++ /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
- $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
- if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && 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
+project('gtk-doc', 'c',
+ version: '1.33.0',
+ license: 'GPL2+',
+ meson_version: '>= 0.50.0', # needed for https://mesonbuild.com/Python-module.html#path
+)
+
+gnome = import('gnome')
+python = import('python') # Meson new Python module https://mesonbuild.com/Python-module.html
+
+python3 = python.find_installation('python3')
+
+version = meson.project_version()
+package_name = meson.project_name()
+
+# Paths
+srcdir = meson.current_source_dir()
+builddir = meson.current_build_dir()
+
+prefix = get_option('prefix')
+
+bindir = join_paths(prefix, get_option('bindir'))
+libdir = join_paths(prefix, get_option('libdir'))
+datadir = join_paths(prefix, get_option('datadir'))
+
+cmakedatadir = join_paths(datadir, 'cmake')
+
+autoconfdatadir = join_paths(datadir, 'aclocal')
+pkgdir = join_paths(datadir, package_name)
+pkgdatadir = join_paths(pkgdir, 'data')
+pkgpythondir = join_paths(pkgdir, 'python')
+pkgconfigdir = join_paths(datadir, 'pkgconfig')
+
+# Dependencies
+glib_req = '>= 2.38.0'
+
+python_prg = python3
+
+# Python 3 required modules
+python3_required_modules = ['pygments']
+
+foreach p : python3_required_modules
+ # Source: https://docs.python.org/3/library/importlib.html#checking-if-a-module-can-be-imported
+ script = 'import importlib.util; import sys; exit(1) if importlib.util.find_spec(\''+ p +'\') is None else exit(0)'
+ if run_command(python3, '-c', script).returncode() != 0
+ error('Required Python3 module \'' + p + '\' not found')
+ endif
+endforeach
+
+pkgconfig_prg = find_program('pkg-config', required: true)
+xsltproc_prg = find_program('xsltproc', required: true)
+dblatex_prg = find_program('dblatex', required: false)
+fop_prg = find_program('fop', required: false)
+
+python_prg_path = join_paths(python_prg.path())
+pkgconfig_prg_path = join_paths(pkgconfig_prg.path())
+xsltproc_prg_path = join_paths(xsltproc_prg.path())
+
+dblatex_prg_path = ''
+if dblatex_prg.found()
+ dblatex_prg_path = join_paths(dblatex_prg.path())
+endif
+
+fop_prg_path = ''
+if fop_prg.found()
+ fop_prg_path = join_paths(fop_prg.path())
+endif
+
+# Options
+generate_pdf_output = true
+if not dblatex_prg.found() and not fop_prg.found()
+ generate_pdf_output = false
+endif
+
+# Code
+subdir('gtkdoc')
+
+gtkdoc_binaires = [
+ 'gtkdoc-check',
+ 'gtkdoc-depscan',
+ 'gtkdoc-fixxref',
+ 'gtkdoc-mkdb',
+ 'gtkdoc-mkhtml',
+ 'gtkdoc-mkhtml2',
+ 'gtkdoc-mkman',
+ 'gtkdoc-mkpdf',
+ 'gtkdoc-rebase',
+ 'gtkdoc-scan',
+ 'gtkdoc-scangobj',
+]
+
+binary_in = configuration_data()
+binary_in.set('PYTHON', python_prg_path)
+binary_in.set('PKG_CONFIG', pkgconfig_prg_path)
+
+binary_in.set('PYTHON_PACKAGE_DIR', pkgpythondir)
+
+binary_in.set('prefix', get_option('prefix'))
+binary_in.set('datarootdir', join_paths('${prefix}', get_option('datadir')))
+binary_in.set('datadir', '${datarootdir}')
+
+binary_in.set('PACKAGE', package_name)
+binary_in.set('PACKAGE_BUGREPORT', 'https://gitlab.gnome.org/GNOME/gtk-doc/issues')
+binary_in.set('PACKAGE_NAME', package_name)
+binary_in.set('PACKAGE_STRING', package_name)
+binary_in.set('PACKAGE_TARNAME', package_name)
+binary_in.set('PACKAGE_URL', 'https://gitlab.gnome.org/GNOME/gtk-doc')
+binary_in.set('PACKAGE_VERSION', version)
+binary_in.set('VERSION', version)
+
+foreach binary: gtkdoc_binaires
+ prog = configure_file(
+ input: '@0@.in'.format(binary),
+ output: binary,
+ configuration: binary_in,
+ install: true,
+ install_dir: bindir,
+ )
+ meson.override_find_program(binary, prog)
+endforeach
+
+configure_file(
+ input: 'gtkdoc_uninstalled.py.in',
+ output: 'gtkdoc_uninstalled.py',
+ configuration: {
+ 'sourcedir': meson.current_source_dir(),
+ 'builddir': meson.current_build_dir(),
+ },
+)
+
+# Data
+gtkdoc_data = [
+ 'devhelp2.xsd',
+ 'devhelp2.xsl',
+ 'gtk-doc.xsl',
+ 'version-greater-or-equal.xsl',
+]
+
+install_data(
+ gtkdoc_data,
+ install_dir: pkgdatadir,
+)
+
+subdir('style')
+
+if get_option('autotools_support') == true
+ subdir('buildsystems/autotools')
+endif
+
+if get_option('cmake_support') == true
+ subdir('buildsystems/cmake')
+endif
+
+gtkdoc_pc = configuration_data()
+gtkdoc_pc.set('prefix', prefix)
+gtkdoc_pc.set('exec_prefix', '${prefix}')
+gtkdoc_pc.set('datadir', join_paths('${prefix}', get_option('datadir')))
+
+gtkdoc_pc.set('PACKAGE', package_name)
+gtkdoc_pc.set('VERSION', version)
+
+configure_file(
+ input: 'gtk-doc.pc.in',
+ output: 'gtk-doc.pc',
+ configuration: gtkdoc_pc,
+ install: true,
+ install_dir: pkgconfigdir,
+)
+
+subdir('help')
+if get_option('tests')
+ subdir('tests')
+endif
+
+# A dummy dependency object that to use gtkdoc as subproject fallback
+# To be used as: dependency('gtk-doc', fallback : ['gtk-doc', 'dummy_dep'])
+dummy_dep = declare_dependency()
+
+summary = [
+ '',
+ '------',
+ 'gtk-doc @0@'.format(version),
+ '',
+ 'Directories:',
+ ' prefix: @0@'.format(prefix),
+ ' bindir: @0@'.format(bindir),
+ ' libdir: @0@'.format(libdir),
+ ' datadir: @0@'.format(datadir),
+ '',
+ 'Configuration:',
+ ' Autotools support: @0@'.format(get_option('autotools_support')),
+ ' CMake support: @0@'.format(get_option('cmake_support')),
+ ' PDF output: @0@'.format(generate_pdf_output),
+ ' User manual: @0@'.format(get_option('yelp_manual')),
+ ' Test suite: @0@'.format(get_option('tests')),
+ '------',
+]
+
+message('\n'.join(summary))
--- /dev/null
+option('autotools_support',
+ type: 'boolean', value: true,
+ description: 'Install autotools macros')
+option('cmake_support',
+ type: 'boolean', value: true,
+ description: 'Install CMake macros')
+option('yelp_manual',
+ type: 'boolean', value: true,
+ description: 'Build the user manual (requires yelp-tools)')
+option('tests',
+ type: 'boolean', value: true,
+ description: 'Build the test suite (requires glib)')
--- /dev/null
+This style subdirectory of this package contains a number of images and a css
+stylesheet used in the formatted output.
+
+The images were created primarily by William Jon McCann in these commits
+* 939576cd24da19e15eed97c937480514eb373669
+* 0fab530ad580011d8fee87755a37d180392e9970
+
+The stylesheet was added by Matthias Clasen in commit
+* 07971801371971f69b03c190d91aab4e5177e5c5
+
+These images and the stylesheet are licensed under the terms of the GNU GPL.
+
+As a special exception to the GNU General Public License, if you distribute
+copies of your document formatted by the tools in this package, you may
+redistribute unmodified copies of any images and style sheets used or
+referenced in that formatted copy without restriction.
+
--- /dev/null
+gtkdoc_style_data = [
+ 'home.png',
+ 'left.png',
+ 'left-insensitive.png',
+ 'right.png',
+ 'right-insensitive.png',
+ 'style.css',
+ 'up.png',
+ 'up-insensitive.png',
+]
+
+install_data(
+ gtkdoc_style_data,
+ install_dir: pkgdatadir,
+)
\ No newline at end of file
color: #729fcf;
}
-div.informaltable table
-{
- border-collapse: separate;
- border-spacing: 1em 0.3em;
- border: none;
-}
-
-div.informaltable table td, div.informaltable table th
-{
- vertical-align: top;
-}
-
.function_type,
.variable_type,
.property_type,
margin: 0.25em;
}
+div.informaltable table[border="1"],
div.table table
{
border-collapse: collapse;
border: solid 1px #babdb6;
}
+div.informaltable table[border="1"] td,
+div.informaltable table th,
div.table table td, div.table table th
{
/* tango:aluminium 3 */
vertical-align: top;
}
+div.informaltable table[border="1"] th,
div.table table th
{
/* tango:aluminium 2 */
python3-coverage html --include="*/gtkdoc/*.py"; \
python3-coverage report --include="*/gtkdoc/*.py"
+EXTRA_DIST += \
+ gtkdocentities.ent.in \
+ helpers/gtkdoc_check_runner.py \
+ helpers/gtkdoc_fixxref_runner.py \
+ helpers/gtkdoc_mkdb_runner.py \
+ helpers/gtkdoc_mkhtml_runner.py \
+ helpers/gtkdoc_scan_runner.py \
+ helpers/gtkdoc_scangobj_runner.py \
+ helpers/meson.build \
+ meson.build
.PHONY: snapshot
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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@
-
-# we need to run '.' last so that sanity processes the generated docs
-# maybe move it to a subdir?
-@BUILD_TESTS_TRUE@am__append_1 = annotations bugs empty fail gobject program repro .
-@BUILD_TESTS_TRUE@am__append_2 = annotations.sh bugs.sh empty.sh fail.sh gobject.sh program.sh
-subdir = tests
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_CLEAN_FILES = tools.sh
-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 =
-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
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
- $(RECURSIVE_TARGETS) \
- $(RECURSIVE_CLEAN_TARGETS) \
- $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- check recheck distdir distdir-am
-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__tty_colors_dummy = \
- mgn= red= grn= lgn= blu= brg= std=; \
- am__color_tests=no
-am__tty_colors = { \
- $(am__tty_colors_dummy); \
- if test "X$(AM_COLOR_TESTS)" = Xno; then \
- am__color_tests=no; \
- elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
- am__color_tests=yes; \
- elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
- am__color_tests=yes; \
- fi; \
- if test $$am__color_tests = yes; then \
- red='\e[0;31m'; \
- grn='\e[0;32m'; \
- lgn='\e[1;32m'; \
- blu='\e[1;34m'; \
- mgn='\e[0;35m'; \
- brg='\e[1m'; \
- std='\e[m'; \
- fi; \
-}
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__recheck_rx = ^[ ]*:recheck:[ ]*
-am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
-am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
-# A command that, given a newline-separated list of test names on the
-# standard input, print the name of the tests that are to be re-run
-# upon "make recheck".
-am__list_recheck_tests = $(AWK) '{ \
- recheck = 1; \
- while ((rc = (getline line < ($$0 ".trs"))) != 0) \
- { \
- if (rc < 0) \
- { \
- if ((getline line2 < ($$0 ".log")) < 0) \
- recheck = 0; \
- break; \
- } \
- else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
- { \
- recheck = 0; \
- break; \
- } \
- else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
- { \
- break; \
- } \
- }; \
- if (recheck) \
- print $$0; \
- close ($$0 ".trs"); \
- close ($$0 ".log"); \
-}'
-# A command that, given a newline-separated list of test names on the
-# standard input, create the global log from their .trs and .log files.
-am__create_global_log = $(AWK) ' \
-function fatal(msg) \
-{ \
- print "fatal: making $@: " msg | "cat >&2"; \
- exit 1; \
-} \
-function rst_section(header) \
-{ \
- print header; \
- len = length(header); \
- for (i = 1; i <= len; i = i + 1) \
- printf "="; \
- printf "\n\n"; \
-} \
-{ \
- copy_in_global_log = 1; \
- global_test_result = "RUN"; \
- while ((rc = (getline line < ($$0 ".trs"))) != 0) \
- { \
- if (rc < 0) \
- fatal("failed to read from " $$0 ".trs"); \
- if (line ~ /$(am__global_test_result_rx)/) \
- { \
- sub("$(am__global_test_result_rx)", "", line); \
- sub("[ ]*$$", "", line); \
- global_test_result = line; \
- } \
- else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
- copy_in_global_log = 0; \
- }; \
- if (copy_in_global_log) \
- { \
- rst_section(global_test_result ": " $$0); \
- while ((rc = (getline line < ($$0 ".log"))) != 0) \
- { \
- if (rc < 0) \
- fatal("failed to read from " $$0 ".log"); \
- print line; \
- }; \
- printf "\n"; \
- }; \
- close ($$0 ".trs"); \
- close ($$0 ".log"); \
-}'
-# Restructured Text title.
-am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
-# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
-# by disabling -e (using the XSI extension "set +e") if it's set.
-am__sh_e_setup = case $$- in *e*) set +e;; esac
-# Default flags passed to test drivers.
-am__common_driver_flags = \
- --color-tests "$$am__color_tests" \
- --enable-hard-errors "$$am__enable_hard_errors" \
- --expect-failure "$$am__expect_failure"
-# To be inserted before the command running the test. Creates the
-# directory for the log if needed. Stores in $dir the directory
-# containing $f, in $tst the test, in $log the log. Executes the
-# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
-# will run the test scripts (or their associated LOG_COMPILER, if
-# thy have one).
-am__check_pre = \
-$(am__sh_e_setup); \
-$(am__vpath_adj_setup) $(am__vpath_adj) \
-$(am__tty_colors); \
-srcdir=$(srcdir); export srcdir; \
-case "$@" in \
- */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
- *) am__odir=.;; \
-esac; \
-test "x$$am__odir" = x"." || test -d "$$am__odir" \
- || $(MKDIR_P) "$$am__odir" || exit $$?; \
-if test -f "./$$f"; then dir=./; \
-elif test -f "$$f"; then dir=; \
-else dir="$(srcdir)/"; fi; \
-tst=$$dir$$f; log='$@'; \
-if test -n '$(DISABLE_HARD_ERRORS)'; then \
- am__enable_hard_errors=no; \
-else \
- am__enable_hard_errors=yes; \
-fi; \
-case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
- am__expect_failure=yes;; \
- *) \
- am__expect_failure=no;; \
-esac; \
-$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
-# A shell command to get the names of the tests scripts with any registered
-# extension removed (i.e., equivalently, the names of the test logs, with
-# the '.log' extension removed). The result is saved in the shell variable
-# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
-# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
-# since that might cause problem with VPATH rewrites for suffix-less tests.
-# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
-am__set_TESTS_bases = \
- bases='$(TEST_LOGS)'; \
- bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
- bases=`echo $$bases`
-RECHECK_LOGS = $(TEST_LOGS)
-TEST_SUITE_LOG = test-suite.log
-LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
-LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
-am__set_b = \
- case '$@' in \
- */*) \
- case '$*' in \
- */*) b='$*';; \
- *) b=`echo '$@' | sed 's/\.log$$//'`; \
- esac;; \
- *) \
- b='$*';; \
- esac
-am__test_logs1 = $(TESTS:=.log)
-am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
-TEST_LOGS = $(am__test_logs2:.py.log=.log)
-PY_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
-PY_LOG_COMPILE = $(PY_LOG_COMPILER) $(AM_PY_LOG_FLAGS) $(PY_LOG_FLAGS)
-DIST_SUBDIRS = annotations bugs empty fail gobject program repro .
-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/tools.sh.in \
- $(top_srcdir)/build-aux/test-driver
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-SUBDIRS = $(am__append_1)
-TESTS = tools.sh check.py common.py highlight.py mkdb.py mk_to_db.py \
- mkhtml2.py scan.py $(am__append_2)
-TESTS_ENVIRONMENT = \
- BUILDDIR=$(abs_builddir) \
- SRCDIR=$(abs_srcdir) \
- ABS_TOP_BUILDDIR=$(abs_top_builddir) \
- ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
- PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- GLIB_PREFIX="$(glib_prefix)"
-
-TEST_EXTENSIONS = .py
-PY_LOG_COMPILER = $(PYTHON)
-EXTRA_DIST = gtkdoctest.sh sanity.sh $(TESTS)
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .log .py .py$(EXEEXT) .trs
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu 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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-tools.sh: $(top_builddir)/config.status $(srcdir)/tools.sh.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# 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
-
-# Recover from deleted '.trs' file; this should ensure that
-# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
-# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
-# to avoid problems with "make -n".
-.log.trs:
- rm -f $< $@
- $(MAKE) $(AM_MAKEFLAGS) $<
-
-# Leading 'am--fnord' is there to ensure the list of targets does not
-# expand to empty, as could happen e.g. with make check TESTS=''.
-am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
-am--force-recheck:
- @:
-
-$(TEST_SUITE_LOG): $(TEST_LOGS)
- @$(am__set_TESTS_bases); \
- am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
- redo_bases=`for i in $$bases; do \
- am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
- done`; \
- if test -n "$$redo_bases"; then \
- redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
- redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
- if $(am__make_dryrun); then :; else \
- rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
- fi; \
- fi; \
- if test -n "$$am__remaking_logs"; then \
- echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
- "recursion detected" >&2; \
- elif test -n "$$redo_logs"; then \
- am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
- fi; \
- if $(am__make_dryrun); then :; else \
- st=0; \
- errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
- for i in $$redo_bases; do \
- test -f $$i.trs && test -r $$i.trs \
- || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
- test -f $$i.log && test -r $$i.log \
- || { echo "$$errmsg $$i.log" >&2; st=1; }; \
- done; \
- test $$st -eq 0 || exit 1; \
- fi
- @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
- ws='[ ]'; \
- results=`for b in $$bases; do echo $$b.trs; done`; \
- test -n "$$results" || results=/dev/null; \
- all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
- pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
- fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
- skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
- xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
- xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
- error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
- if test `expr $$fail + $$xpass + $$error` -eq 0; then \
- success=true; \
- else \
- success=false; \
- fi; \
- br='==================='; br=$$br$$br$$br$$br; \
- result_count () \
- { \
- if test x"$$1" = x"--maybe-color"; then \
- maybe_colorize=yes; \
- elif test x"$$1" = x"--no-color"; then \
- maybe_colorize=no; \
- else \
- echo "$@: invalid 'result_count' usage" >&2; exit 4; \
- fi; \
- shift; \
- desc=$$1 count=$$2; \
- if test $$maybe_colorize = yes && test $$count -gt 0; then \
- color_start=$$3 color_end=$$std; \
- else \
- color_start= color_end=; \
- fi; \
- echo "$${color_start}# $$desc $$count$${color_end}"; \
- }; \
- create_testsuite_report () \
- { \
- result_count $$1 "TOTAL:" $$all "$$brg"; \
- result_count $$1 "PASS: " $$pass "$$grn"; \
- result_count $$1 "SKIP: " $$skip "$$blu"; \
- result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
- result_count $$1 "FAIL: " $$fail "$$red"; \
- result_count $$1 "XPASS:" $$xpass "$$red"; \
- result_count $$1 "ERROR:" $$error "$$mgn"; \
- }; \
- { \
- echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
- $(am__rst_title); \
- create_testsuite_report --no-color; \
- echo; \
- echo ".. contents:: :depth: 2"; \
- echo; \
- for b in $$bases; do echo $$b; done \
- | $(am__create_global_log); \
- } >$(TEST_SUITE_LOG).tmp || exit 1; \
- mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
- if $$success; then \
- col="$$grn"; \
- else \
- col="$$red"; \
- test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
- fi; \
- echo "$${col}$$br$${std}"; \
- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
- echo "$${col}$$br$${std}"; \
- create_testsuite_report --maybe-color; \
- echo "$$col$$br$$std"; \
- if $$success; then :; else \
- echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
- if test -n "$(PACKAGE_BUGREPORT)"; then \
- echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
- fi; \
- echo "$$col$$br$$std"; \
- fi; \
- $$success || exit 1
-
-check-TESTS:
- @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
- @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
- @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set +e; $(am__set_TESTS_bases); \
- log_list=`for i in $$bases; do echo $$i.log; done`; \
- trs_list=`for i in $$bases; do echo $$i.trs; done`; \
- log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
- exit $$?;
-recheck: all
- @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set +e; $(am__set_TESTS_bases); \
- bases=`for i in $$bases; do echo $$i; done \
- | $(am__list_recheck_tests)` || exit 1; \
- log_list=`for i in $$bases; do echo $$i.log; done`; \
- log_list=`echo $$log_list`; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
- am__force_recheck=am--force-recheck \
- TEST_LOGS="$$log_list"; \
- exit $$?
-tools.sh.log: tools.sh
- @p='tools.sh'; \
- b='tools.sh'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-annotations.sh.log: annotations.sh
- @p='annotations.sh'; \
- b='annotations.sh'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-bugs.sh.log: bugs.sh
- @p='bugs.sh'; \
- b='bugs.sh'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-empty.sh.log: empty.sh
- @p='empty.sh'; \
- b='empty.sh'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-fail.sh.log: fail.sh
- @p='fail.sh'; \
- b='fail.sh'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-gobject.sh.log: gobject.sh
- @p='gobject.sh'; \
- b='gobject.sh'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-program.sh.log: program.sh
- @p='program.sh'; \
- b='program.sh'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-.py.log:
- @p='$<'; \
- $(am__set_b); \
- $(am__check_pre) $(PY_LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_PY_LOG_DRIVER_FLAGS) $(PY_LOG_DRIVER_FLAGS) -- $(PY_LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-@am__EXEEXT_TRUE@.py$(EXEEXT).log:
-@am__EXEEXT_TRUE@ @p='$<'; \
-@am__EXEEXT_TRUE@ $(am__set_b); \
-@am__EXEEXT_TRUE@ $(am__check_pre) $(PY_LOG_DRIVER) --test-name "$$f" \
-@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
-@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_PY_LOG_DRIVER_FLAGS) $(PY_LOG_DRIVER_FLAGS) -- $(PY_LOG_COMPILE) \
-@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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-TESTS
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-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:
- -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
- -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
- -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-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 -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:
-
-.MAKE: $(am__recursive_targets) check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-TESTS check-am clean clean-generic clean-libtool \
- cscopelist-am ctags ctags-am distclean distclean-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 installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \
- uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-# run any given test by running make <test>.check
-%.check: %
- @$(TESTS_ENVIRONMENT) \
- ./$*
-
-snapshot:
- @for dir in $(SUBDIRS); do \
- rm -rf $$dir/docs/html.ref; \
- if test -d $$dir/docs/html; then \
- cp -r $$dir/docs/html $$dir/docs/html.ref; \
- fi; \
- rm -rf $$dir/docs/xml.ref; \
- if test -d $$dir/docs/xml; then \
- cp -r $$dir/docs/xml $$dir/docs/xml.ref; \
- fi; \
- done
-
-coverage:
- @python3-coverage erase; \
- for f in *.py; do \
- $(TESTS_ENVIRONMENT) python3-coverage run -a $$f; \
- done; \
- python3-coverage html --include="*/gtkdoc/*.py"; \
- python3-coverage report --include="*/gtkdoc/*.py"
-
-.PHONY: snapshot
-
--include $(top_srcdir)/git.mk
-
-# 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:
endif
+EXTRA_DIST = meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/annotations
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 =
-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
-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 distdir-am
-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
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-SUBDIRS = . src docs
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/annotations/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/annotations/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# 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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-@BUILD_TESTS_FALSE@check-local:
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-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 mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-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 -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:
-
-.MAKE: $(am__recursive_targets) check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am check-local clean clean-generic clean-libtool \
- cscopelist-am ctags ctags-am distclean 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 installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am
-
-.PRECIOUS: Makefile
-
-
-@BUILD_TESTS_TRUE@check-local: clean
-
--include $(top_srcdir)/git.mk
-
-# 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:
PATH=$(abs_top_builddir):$(srcdir):$(PATH)
endif
+EXTRA_DIST += meson.build
+EXTRA_DIST += xml/meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# -*- mode: makefile -*-
-
-####################################
-# Everything below here is generic #
-####################################
-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 = tests/annotations/docs
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 \
- $(top_srcdir)/tests/gtk-doc.make
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE = tester
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-DOC_SOURCE_DIR = $(top_srcdir)/tests/annotations/src
-
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
-SCANGOBJ_OPTIONS =
-
-# Extra options to supply to gtkdoc-scan.
-SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
- --ignore-decorators="GLIB_VAR"
-
-
-# Extra options to supply to gtkdoc-mkdb.
-MKDB_OPTIONS = --xml-mode
-
-# Extra options to supply to gtkdoc-mkhtml
-MKHTML_OPTIONS =
-
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
-# --html-dir=$(HTML_DIR)
-FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
-
-# Used for dependencies. The docs will be rebuilt if any of these change.
-HFILE_GLOB = $(top_srcdir)/tests/annotations/src/*.h
-CFILE_GLOB = $(top_srcdir)/tests/annotations/src/*.c
-
-# Header files to ignore when scanning.
-IGNORE_HFILES = config.h
-
-# Images to copy into HTML directory.
-HTML_IMAGES =
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files =
-
-# SGML files where gtk-doc abbreviations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
-expand_content_files =
-
-# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
-# Only needed if you are using gtkdoc-scangobj to dynamically query widget
-# signals and properties.
-GTKDOC_CFLAGS = -I$(top_srcdir)/tests/annotations/src $(TEST_DEPS_CFLAGS)
-GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/annotations/src/libtester.la
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-# we don't install anything in tests
-#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-SETUP_FILES = \
- $(content_files) \
- $(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-sections.txt \
- $(DOC_MODULE)-overrides.txt
-
-
-# include generic part
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
-DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
- html-build.stamp pdf-build.stamp \
- sgml.stamp html.stamp pdf.stamp
-
-SCANOBJ_FILES = \
- $(DOC_MODULE).args \
- $(DOC_MODULE).hierarchy \
- $(DOC_MODULE).interfaces \
- $(DOC_MODULE).prerequisites \
- $(DOC_MODULE).signals
-
-REPORT_FILES = \
- $(DOC_MODULE)-undocumented.txt \
- $(DOC_MODULE)-undeclared.txt \
- $(DOC_MODULE)-unused.txt
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) \
- $(DOC_MODULE).pdf ts gtkdoc-scan.log gtkdoc-scangobj.log \
- gtkdoc-mkdb.log gtkdoc-mkhtml.log gtkdoc-mkpdf.log \
- gtkdoc-fixxref.log $(DOC_MODULE)-overrides.txt
-GITIGNOREFILES = \
- html.ref xml.ref
-
-@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
-@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
-@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH)
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.make $(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) --gnu tests/annotations/docs/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/annotations/docs/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-$(top_srcdir)/tests/gtk-doc.make $(am__empty):
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-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-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-local
-
-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 \
- maintainer-clean-local
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: all all-am check check-am check-local clean clean-generic \
- clean-libtool clean-local cscopelist-am ctags-am distclean \
- distclean-generic distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-check-local: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-docs: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-$(REPORT_FILES): sgml-build.stamp
-
-ts:
- @echo >ts `date $(TS_FMT)`;
-
-#### setup ####
-
-setup-build.stamp: ts
- -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- echo ' DOC Preparing build'; \
- files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- destdir=`dirname $(abs_builddir)/$$file`; \
- test -d "$$destdir" || mkdir -p "$$destdir"; \
- test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
- done; \
- fi; \
- fi
- @touch setup-build.stamp
-
-#### scan ####
-
-scan-build.stamp: ts setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Scanning header files"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
- @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Introspecting gobjects"; \
- scanobj_options=""; \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
- echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
- else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
- fi
- @touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
- @true
-
-#### xml ####
-
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building XML"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
- @touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
- @true
-
-$(DOC_MAIN_SGML_FILE): sgml-build.stamp
- @true
-
-xml/gtkdocentities.ent: Makefile
- @$(MKDIR_P) $(@D) && ( \
- echo "<!ENTITY package \"$(PACKAGE)\">"; \
- echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
- echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
- echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
- echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
- echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
- echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
- ) > $@
-
-#### html ####
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building HTML"
- @rm -rf html
- @mkdir html
- @mkhtml_options=""; \
- if test "x$(V)" = "x1"; then \
- mkhtml_options="$$mkhtml_options --verbose"; \
- fi; \
- echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
- cd html && PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
- -@test "x$(HTML_IMAGES)" = "x" || \
- for file in $(HTML_IMAGES) ; do \
- test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- done;
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Fixing cross-references"
- @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
- @touch html-build.stamp
-
-#### pdf ####
-
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building PDF"
- @rm -f $(DOC_MODULE).pdf
- @mkpdf_options=""; \
- if test "x$(V)" = "x1"; then \
- mkpdf_options="$$mkpdf_options --verbose"; \
- fi; \
- if test "x$(HTML_IMAGES)" != "x"; then \
- for img in $(HTML_IMAGES); do \
- part=`dirname $$img`; \
- echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
- if test $$? != 0; then \
- mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
- fi; \
- done; \
- fi; \
- echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
- @touch pdf-build.stamp
-
-##############
-
-# we need to enforce a rebuild for the tests
-clean-local:
- @rm -f *~ *.bak ts gtkdoc-*.log
- @rm -rf .libs
- @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
- rm -f $(DOC_MODULE).types; \
- fi
- $(MAKE) distclean-local
-
-distclean-local:
- @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
- fi
-
-maintainer-clean-local:
- @rm -rf xml html
-
-.PHONY : dist-hook-local docs
-
--include $(top_srcdir)/git.mk
-
-# 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
+annotations_test_source_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'annotations',
+ 'src'
+)
+
+annotations_test_docs_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'annotations',
+ 'docs'
+)
+
+annotations_test_output_dir = join_paths(
+ builddir,
+ 'tests',
+ 'annotations',
+ 'docs'
+)
+
+annotations_test_html_data = []
+
+subdir('xml')
+
+test(
+ 'test-annotations-scan',
+ python_prg,
+ workdir: annotations_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_scan_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(annotations_test_output_dir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(annotations_test_source_dir),
+ '--ignore-headers=config.h',
+ '--deprecated-guards=GTKDOC_TESTER_DISABLE_DEPRECATED',
+ '--ignore-decorators=GLIB_VAR',
+ ],
+)
+
+test(
+ 'test-annotations-mkdb',
+ python_prg,
+ workdir: annotations_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkdb_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(annotations_test_source_dir),
+ '--main-sgml-file=@0@'.format('tester-docs.xml'),
+ '--output-format=xml',
+ '--xml-mode',
+ ],
+)
+
+foreach style_data: gtkdoc_style_data
+ annotations_test_html_data += join_paths(srcdir, 'style', style_data)
+endforeach
+
+test(
+ 'test-annotations-mkhtml',
+ python_prg,
+ workdir: annotations_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkhtml_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(join_paths(annotations_test_output_dir, 'html')),
+ '--html-assets=@0@'.format('@@'.join(annotations_test_html_data)),
+ '@0@'.format('tester'),
+ '@0@'.format(join_paths('..', 'tester-docs.xml')),
+ '--uninstalled',
+ '--path=@0@'.format(':'.join([
+ annotations_test_docs_dir,
+ srcdir])
+ ),
+ ],
+)
+
+test(
+ 'test-annotations-fixxref',
+ python_prg,
+ workdir: annotations_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_fixxref_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--module-dir=@0@'.format('html'),
+ '--extra-dir=@0@'.format(glib_docpath),
+ '--extra-dir=@0@'.format(gobject_docpath),
+ ],
+)
+
+test(
+ 'test-annotations-check',
+ python_prg,
+ workdir: annotations_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_check_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--input-dir=@0@'.format(annotations_test_docs_dir),
+ '--output-dir=@0@'.format(annotations_test_output_dir),
+ ],
+)
\ No newline at end of file
--- /dev/null
+configure_file(
+ input: join_paths(srcdir, 'tests', 'gtkdocentities.ent.in'),
+ output: 'gtkdocentities.ent',
+ configuration: binary_in,
+)
--- /dev/null
+subdir('docs')
\ No newline at end of file
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/annotations/src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libtester_la_LIBADD =
-am__libtester_la_SOURCES_DIST = tester.c tester.h
-@BUILD_TESTS_TRUE@am_libtester_la_OBJECTS = tester.lo
-libtester_la_OBJECTS = $(am_libtester_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 =
-@BUILD_TESTS_TRUE@am_libtester_la_rpath =
-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@
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/tester.Plo
-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 = $(libtester_la_SOURCES)
-DIST_SOURCES = $(am__libtester_la_SOURCES_DIST)
-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)/build-aux/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-@BUILD_TESTS_TRUE@noinst_LTLIBRARIES = libtester.la
-@BUILD_TESTS_TRUE@libtester_la_SOURCES = tester.c tester.h
-#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
-@BUILD_TESTS_TRUE@AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/annotations/src/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/annotations/src/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_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}; \
- }
-
-libtester.la: $(libtester_la_OBJECTS) $(libtester_la_DEPENDENCIES) $(EXTRA_libtester_la_DEPENDENCIES)
- $(AM_V_CCLD)$(LINK) $(am_libtester_la_rpath) $(libtester_la_OBJECTS) $(libtester_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tester.Plo@am__quote@ # am--include-marker
-
-$(am__depfiles_remade):
- @$(MKDIR_P) $(@D)
- @echo '# dummy' >$@-t && $(am__mv) $@-t $@
-
-am--depfiles: $(am__depfiles_remade)
-
-.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 $@ $<
-
-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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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 $(LTLIBRARIES)
-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 clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f ./$(DEPDIR)/tester.Plo
- -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 -f ./$(DEPDIR)/tester.Plo
- -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: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
- clean-generic clean-libtool clean-noinstLTLIBRARIES \
- 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
-
-
--include $(top_srcdir)/git.mk
-
-# 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:
endif
+EXTRA_DIST = meson.build
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/bugs
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 =
-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
-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 distdir-am
-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
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-SUBDIRS = . src docs
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/bugs/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/bugs/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# 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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-@BUILD_TESTS_FALSE@check-local:
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-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 mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-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 -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:
-
-.MAKE: $(am__recursive_targets) check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am check-local clean clean-generic clean-libtool \
- cscopelist-am ctags ctags-am distclean 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 installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am
-
-.PRECIOUS: Makefile
-
-
-@BUILD_TESTS_TRUE@check-local: clean
-
--include $(top_srcdir)/git.mk
-
-# 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:
PATH=$(abs_top_builddir):$(srcdir):$(PATH)
endif
+EXTRA_DIST += meson.build
+EXTRA_DIST += xml/meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# -*- mode: makefile -*-
-
-####################################
-# Everything below here is generic #
-####################################
-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 = tests/bugs/docs
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 \
- $(top_srcdir)/tests/gtk-doc.make
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE = tester
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-DOC_SOURCE_DIR = $(top_srcdir)/tests/bugs/src
-
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
-SCANGOBJ_OPTIONS =
-
-# Extra options to supply to gtkdoc-scan.
-SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
- --ignore-decorators='GLIB_VAR|GTKDOC_GNUC_CONST|BUG_711598_DEPRECATED_FOR()|MY_DEPRECATED_FOR()' \
- --rebuild-types
-
-
-# Extra options to supply to gtkdoc-mkdb.
-MKDB_OPTIONS = --xml-mode
-
-# Extra options to supply to gtkdoc-mkhtml
-MKHTML_OPTIONS =
-
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
-# --html-dir=$(HTML_DIR)
-FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
-
-# Used for dependencies. The docs will be rebuilt if any of these change.
-HFILE_GLOB = $(top_srcdir)/tests/bugs/src/*.h
-CFILE_GLOB = $(top_srcdir)/tests/bugs/src/*.c
-
-# Header files to ignore when scanning.
-IGNORE_HFILES = config.h
-
-# Images to copy into HTML directory.
-HTML_IMAGES =
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files =
-
-# SGML files where gtk-doc abbreviations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
-expand_content_files =
-
-# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
-# Only needed if you are using gtkdoc-scangobj to dynamically query widget
-# signals and properties.
-GTKDOC_CFLAGS = -I$(top_srcdir)/tests/bugs/src $(TEST_DEPS_CFLAGS)
-GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/bugs/src/libtester.la
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-# we don't install anything in tests
-#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-SETUP_FILES = \
- $(content_files) \
- $(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-sections.txt \
- $(DOC_MODULE)-overrides.txt
-
-
-# include generic part
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
-DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
- html-build.stamp pdf-build.stamp \
- sgml.stamp html.stamp pdf.stamp
-
-SCANOBJ_FILES = \
- $(DOC_MODULE).args \
- $(DOC_MODULE).hierarchy \
- $(DOC_MODULE).interfaces \
- $(DOC_MODULE).prerequisites \
- $(DOC_MODULE).signals
-
-REPORT_FILES = \
- $(DOC_MODULE)-undocumented.txt \
- $(DOC_MODULE)-undeclared.txt \
- $(DOC_MODULE)-unused.txt
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) \
- $(DOC_MODULE).pdf ts gtkdoc-scan.log gtkdoc-scangobj.log \
- gtkdoc-mkdb.log gtkdoc-mkhtml.log gtkdoc-mkpdf.log \
- gtkdoc-fixxref.log $(DOC_MODULE)-overrides.txt \
- $(DOC_MODULE).types
-GITIGNOREFILES = \
- html.ref xml.ref
-
-@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
-@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
-@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH)
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.make $(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) --gnu tests/bugs/docs/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/bugs/docs/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-$(top_srcdir)/tests/gtk-doc.make $(am__empty):
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-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-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-local
-
-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 \
- maintainer-clean-local
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: all all-am check check-am check-local clean clean-generic \
- clean-libtool clean-local cscopelist-am ctags-am distclean \
- distclean-generic distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-check-local: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-docs: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-$(REPORT_FILES): sgml-build.stamp
-
-ts:
- @echo >ts `date $(TS_FMT)`;
-
-#### setup ####
-
-setup-build.stamp: ts
- -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- echo ' DOC Preparing build'; \
- files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- destdir=`dirname $(abs_builddir)/$$file`; \
- test -d "$$destdir" || mkdir -p "$$destdir"; \
- test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
- done; \
- fi; \
- fi
- @touch setup-build.stamp
-
-#### scan ####
-
-scan-build.stamp: ts setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Scanning header files"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
- @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Introspecting gobjects"; \
- scanobj_options=""; \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
- echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
- else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
- fi
- @touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
- @true
-
-#### xml ####
-
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building XML"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
- @touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
- @true
-
-$(DOC_MAIN_SGML_FILE): sgml-build.stamp
- @true
-
-xml/gtkdocentities.ent: Makefile
- @$(MKDIR_P) $(@D) && ( \
- echo "<!ENTITY package \"$(PACKAGE)\">"; \
- echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
- echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
- echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
- echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
- echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
- echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
- ) > $@
-
-#### html ####
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building HTML"
- @rm -rf html
- @mkdir html
- @mkhtml_options=""; \
- if test "x$(V)" = "x1"; then \
- mkhtml_options="$$mkhtml_options --verbose"; \
- fi; \
- echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
- cd html && PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
- -@test "x$(HTML_IMAGES)" = "x" || \
- for file in $(HTML_IMAGES) ; do \
- test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- done;
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Fixing cross-references"
- @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
- @touch html-build.stamp
-
-#### pdf ####
-
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building PDF"
- @rm -f $(DOC_MODULE).pdf
- @mkpdf_options=""; \
- if test "x$(V)" = "x1"; then \
- mkpdf_options="$$mkpdf_options --verbose"; \
- fi; \
- if test "x$(HTML_IMAGES)" != "x"; then \
- for img in $(HTML_IMAGES); do \
- part=`dirname $$img`; \
- echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
- if test $$? != 0; then \
- mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
- fi; \
- done; \
- fi; \
- echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
- @touch pdf-build.stamp
-
-##############
-
-# we need to enforce a rebuild for the tests
-clean-local:
- @rm -f *~ *.bak ts gtkdoc-*.log
- @rm -rf .libs
- @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
- rm -f $(DOC_MODULE).types; \
- fi
- $(MAKE) distclean-local
-
-distclean-local:
- @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
- fi
-
-maintainer-clean-local:
- @rm -rf xml html
-
-.PHONY : dist-hook-local docs
-
--include $(top_srcdir)/git.mk
-
-# 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
+bugs_test_source_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'bugs',
+ 'src'
+)
+
+bugs_test_docs_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'bugs',
+ 'docs'
+)
+
+bugs_test_output_dir = join_paths(
+ builddir,
+ 'tests',
+ 'bugs',
+ 'docs'
+)
+
+bugs_test_html_data = []
+
+subdir('xml')
+
+configure_file(
+ input: join_paths(bugs_test_docs_dir, 'tester-sections.txt'),
+ output: 'tester-sections.txt',
+ copy: true,
+)
+
+test(
+ 'test-bugs-scan',
+ python_prg,
+ workdir: bugs_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_scan_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(bugs_test_output_dir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(bugs_test_source_dir),
+ '--ignore-headers=config.h',
+ '--deprecated-guards=GTKDOC_TESTER_DISABLE_DEPRECATED',
+ '--ignore-decorators=GLIB_VAR|GTKDOC_GNUC_CONST|BUG_711598_DEPRECATED_FOR()|MY_DEPRECATED_FOR()',
+ '--rebuild-types',
+ ],
+)
+
+test(
+ 'test-bugs-mkdb',
+ python_prg,
+ workdir: bugs_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkdb_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(bugs_test_source_dir),
+ '--main-sgml-file=@0@'.format('tester-docs.xml'),
+ '--output-format=xml',
+ '--xml-mode',
+ ],
+)
+
+foreach style_data: gtkdoc_style_data
+ bugs_test_html_data += join_paths(srcdir, 'style', style_data)
+endforeach
+
+test(
+ 'test-bugs-mkhtml',
+ python_prg,
+ workdir: bugs_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkhtml_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(join_paths(bugs_test_output_dir, 'html')),
+ '--html-assets=@0@'.format('@@'.join(bugs_test_html_data)),
+ '@0@'.format('tester'),
+ '@0@'.format(join_paths('..', 'tester-docs.xml')),
+ '--uninstalled',
+ '--path=@0@'.format(':'.join([
+ bugs_test_docs_dir,
+ srcdir])
+ ),
+ ],
+)
+
+test(
+ 'test-bugs-fixxref',
+ python_prg,
+ workdir: bugs_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_fixxref_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--module-dir=@0@'.format('html'),
+ '--extra-dir=@0@'.format(glib_docpath),
+ ],
+)
+
+test(
+ 'test-bugs-check',
+ python_prg,
+ workdir: bugs_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_check_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--input-dir=@0@'.format(bugs_test_docs_dir),
+ '--output-dir=@0@'.format(bugs_test_output_dir),
+ ],
+)
--- /dev/null
+configure_file(
+ input: join_paths(srcdir, 'tests', 'gtkdocentities.ent.in'),
+ output: 'gtkdocentities.ent',
+ configuration: binary_in,
+)
--- /dev/null
+subdir('docs')
\ No newline at end of file
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/bugs/src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libtester_la_LIBADD =
-am__libtester_la_SOURCES_DIST = tester.c tester.h
-@BUILD_TESTS_TRUE@am_libtester_la_OBJECTS = tester.lo
-libtester_la_OBJECTS = $(am_libtester_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 =
-@BUILD_TESTS_TRUE@am_libtester_la_rpath =
-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@
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/tester.Plo
-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 = $(libtester_la_SOURCES)
-DIST_SOURCES = $(am__libtester_la_SOURCES_DIST)
-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)/build-aux/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-@BUILD_TESTS_TRUE@noinst_LTLIBRARIES = libtester.la
-@BUILD_TESTS_TRUE@libtester_la_SOURCES = tester.c tester.h
-#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
-@BUILD_TESTS_TRUE@AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/bugs/src/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/bugs/src/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_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}; \
- }
-
-libtester.la: $(libtester_la_OBJECTS) $(libtester_la_DEPENDENCIES) $(EXTRA_libtester_la_DEPENDENCIES)
- $(AM_V_CCLD)$(LINK) $(am_libtester_la_rpath) $(libtester_la_OBJECTS) $(libtester_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tester.Plo@am__quote@ # am--include-marker
-
-$(am__depfiles_remade):
- @$(MKDIR_P) $(@D)
- @echo '# dummy' >$@-t && $(am__mv) $@-t $@
-
-am--depfiles: $(am__depfiles_remade)
-
-.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 $@ $<
-
-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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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 $(LTLIBRARIES)
-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 clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f ./$(DEPDIR)/tester.Plo
- -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 -f ./$(DEPDIR)/tester.Plo
- -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: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
- clean-generic clean-libtool clean-noinstLTLIBRARIES \
- 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
-
-
--include $(top_srcdir)/git.mk
-
-# 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:
endif
+EXTRA_DIST = meson.build
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/empty
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 =
-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
-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 distdir-am
-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
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-SUBDIRS = . src docs
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/empty/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/empty/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# 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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-@BUILD_TESTS_FALSE@check-local:
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-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 mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-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 -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:
-
-.MAKE: $(am__recursive_targets) check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am check-local clean clean-generic clean-libtool \
- cscopelist-am ctags ctags-am distclean 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 installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am
-
-.PRECIOUS: Makefile
-
-
-@BUILD_TESTS_TRUE@check-local: clean
-@BUILD_TESTS_TRUE@ @rm -f docs/tester-docs.xml
-
--include $(top_srcdir)/git.mk
-
-# 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:
tester-docs.xml \
tester-sections.txt
+EXTRA_DIST += meson.build
+EXTRA_DIST += xml/meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# -*- mode: makefile -*-
-
-####################################
-# Everything below here is generic #
-####################################
-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 = tests/empty/docs
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 \
- $(top_srcdir)/tests/gtk-doc.make
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-
-# this tests bootstraps gtk-doc, that includes generating a default
-# DOC_MAIN_SGML_FILE
-# right now that fails with parallel make, as make cannot see that what is a
-# dependency for another target is generated as needed
-MAKEFLAGS = -j1
-
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE = tester
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-DOC_SOURCE_DIR = $(top_srcdir)/tests/empty/src
-
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
-SCANGOBJ_OPTIONS =
-
-# Extra options to supply to gtkdoc-scan.
-SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
- --rebuild-sections
-
-
-# Extra options to supply to gtkdoc-mkdb.
-MKDB_OPTIONS = --xml-mode
-
-# Extra options to supply to gtkdoc-mkhtml
-MKHTML_OPTIONS =
-
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
-# --html-dir=$(HTML_DIR)
-FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
-
-# Used for dependencies. The docs will be rebuilt if any of these change.
-HFILE_GLOB = $(top_srcdir)/tests/empty/src/*.h
-CFILE_GLOB = $(top_srcdir)/tests/empty/src/*.c
-
-# Header files to ignore when scanning.
-IGNORE_HFILES = config.h
-
-# Images to copy into HTML directory.
-HTML_IMAGES =
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files =
-
-# SGML files where gtk-doc abbreviations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
-expand_content_files =
-
-# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
-# Only needed if you are using gtkdoc-scangobj to dynamically query widget
-# signals and properties.
-GTKDOC_CFLAGS = -I$(top_srcdir)/tests/empty/src $(TEST_DEPS_CFLAGS)
-GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/empty/src/libtester.la
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-# we don't install anything in tests
-#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-SETUP_FILES = \
- $(content_files) \
- $(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-sections.txt \
- $(DOC_MODULE)-overrides.txt
-
-
-# include generic part
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
-DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
- html-build.stamp pdf-build.stamp \
- sgml.stamp html.stamp pdf.stamp
-
-SCANOBJ_FILES = \
- $(DOC_MODULE).args \
- $(DOC_MODULE).hierarchy \
- $(DOC_MODULE).interfaces \
- $(DOC_MODULE).prerequisites \
- $(DOC_MODULE).signals
-
-REPORT_FILES = \
- $(DOC_MODULE)-undocumented.txt \
- $(DOC_MODULE)-undeclared.txt \
- $(DOC_MODULE)-unused.txt
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) \
- $(DOC_MODULE).pdf ts gtkdoc-scan.log gtkdoc-scangobj.log \
- gtkdoc-mkdb.log gtkdoc-mkhtml.log gtkdoc-mkpdf.log \
- gtkdoc-fixxref.log $(DOC_MODULE)-overrides.txt \
- $(DOC_MODULE).types tester-docs.xml tester-sections.txt
-GITIGNOREFILES = \
- html.ref xml.ref
-
-@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
-@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
-@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH)
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.make $(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) --gnu tests/empty/docs/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/empty/docs/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-$(top_srcdir)/tests/gtk-doc.make $(am__empty):
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-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-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-local
-
-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 \
- maintainer-clean-local
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: all all-am check check-am check-local clean clean-generic \
- clean-libtool clean-local cscopelist-am ctags-am distclean \
- distclean-generic distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-check-local: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-docs: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-$(REPORT_FILES): sgml-build.stamp
-
-ts:
- @echo >ts `date $(TS_FMT)`;
-
-#### setup ####
-
-setup-build.stamp: ts
- -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- echo ' DOC Preparing build'; \
- files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- destdir=`dirname $(abs_builddir)/$$file`; \
- test -d "$$destdir" || mkdir -p "$$destdir"; \
- test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
- done; \
- fi; \
- fi
- @touch setup-build.stamp
-
-#### scan ####
-
-scan-build.stamp: ts setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Scanning header files"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
- @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Introspecting gobjects"; \
- scanobj_options=""; \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
- echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
- else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
- fi
- @touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
- @true
-
-#### xml ####
-
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building XML"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
- @touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
- @true
-
-$(DOC_MAIN_SGML_FILE): sgml-build.stamp
- @true
-
-xml/gtkdocentities.ent: Makefile
- @$(MKDIR_P) $(@D) && ( \
- echo "<!ENTITY package \"$(PACKAGE)\">"; \
- echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
- echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
- echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
- echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
- echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
- echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
- ) > $@
-
-#### html ####
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building HTML"
- @rm -rf html
- @mkdir html
- @mkhtml_options=""; \
- if test "x$(V)" = "x1"; then \
- mkhtml_options="$$mkhtml_options --verbose"; \
- fi; \
- echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
- cd html && PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
- -@test "x$(HTML_IMAGES)" = "x" || \
- for file in $(HTML_IMAGES) ; do \
- test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- done;
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Fixing cross-references"
- @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
- @touch html-build.stamp
-
-#### pdf ####
-
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building PDF"
- @rm -f $(DOC_MODULE).pdf
- @mkpdf_options=""; \
- if test "x$(V)" = "x1"; then \
- mkpdf_options="$$mkpdf_options --verbose"; \
- fi; \
- if test "x$(HTML_IMAGES)" != "x"; then \
- for img in $(HTML_IMAGES); do \
- part=`dirname $$img`; \
- echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
- if test $$? != 0; then \
- mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
- fi; \
- done; \
- fi; \
- echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
- @touch pdf-build.stamp
-
-##############
-
-# we need to enforce a rebuild for the tests
-clean-local:
- @rm -f *~ *.bak ts gtkdoc-*.log
- @rm -rf .libs
- @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
- rm -f $(DOC_MODULE).types; \
- fi
- $(MAKE) distclean-local
-
-distclean-local:
- @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
- fi
-
-maintainer-clean-local:
- @rm -rf xml html
-
-.PHONY : dist-hook-local docs
-
--include $(top_srcdir)/git.mk
-
-# 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
+empty_test_source_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'empty',
+ 'src'
+)
+
+empty_test_docs_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'empty',
+ 'docs'
+)
+
+empty_test_output_dir = join_paths(
+ builddir,
+ 'tests',
+ 'empty',
+ 'docs'
+)
+
+empty_test_html_data = []
+
+subdir('xml')
+
+test(
+ 'test-empty-scan',
+ python_prg,
+ workdir: empty_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_scan_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(empty_test_output_dir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(empty_test_source_dir),
+ '--ignore-headers=config.h',
+ '--deprecated-guards=GTKDOC_TESTER_DISABLE_DEPRECATED',
+ '--rebuild-sections',
+ ],
+)
+
+test(
+ 'test-empty-mkdb',
+ python_prg,
+ workdir: empty_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkdb_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(empty_test_source_dir),
+ '--main-sgml-file=@0@'.format('tester-docs.xml'),
+ '--output-format=xml',
+ '--xml-mode',
+ ],
+)
+
+foreach style_data: gtkdoc_style_data
+ empty_test_html_data += join_paths(srcdir, 'style', style_data)
+endforeach
+
+test(
+ 'test-empty-mkhtml',
+ python_prg,
+ workdir: empty_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkhtml_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(join_paths(empty_test_output_dir, 'html')),
+ '--html-assets=@0@'.format('@@'.join(empty_test_html_data)),
+ '@0@'.format('tester'),
+ '@0@'.format(join_paths('..', 'tester-docs.xml')),
+ '--uninstalled',
+ '--path=@0@'.format(':'.join([
+ empty_test_docs_dir,
+ srcdir])
+ ),
+ ],
+)
+
+test(
+ 'test-empty-fixxref',
+ python_prg,
+ workdir: empty_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_fixxref_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--module-dir=@0@'.format('html'),
+ '--extra-dir=@0@'.format(glib_docpath),
+ '--extra-dir=@0@'.format(gobject_docpath),
+ ],
+)
+
+test(
+ 'test-empty-check',
+ python_prg,
+ workdir: empty_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_check_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--input-dir=@0@'.format(empty_test_docs_dir),
+ '--output-dir=@0@'.format(empty_test_output_dir),
+ ],
+)
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
- <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
- <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
- %gtkdocentities;
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>&package_name; Reference Manual</title>
- <releaseinfo>
- for &package_string;.
- The latest version of this documentation can be found on-line at
- <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
- </releaseinfo>
- </bookinfo>
-
- <chapter>
- <title>[Insert title here]</title>
- <xi:include href="xml/tester.xml"/>
- </chapter>
- <!-- enable this when you use gobject types
- <chapter id="object-tree">
- <title>Object Hierarchy</title>
- <xi:include href="xml/tree_index.sgml"/>
- </chapter>
- -->
- <index id="api-index-full">
- <title>API Index</title>
- <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
- </index>
- <index id="deprecated-api-index" role="deprecated">
- <title>Index of deprecated API</title>
- <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-0-1" role="0.1">
- <title>Index of new API in 0.1</title>
- <xi:include href="xml/api-index-0.1.xml"><xi:fallback /></xi:include>
- </index>
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
-</book>
+++ /dev/null
-<SECTION>
-<FILE>tester</FILE>
-<TITLE>GtkDocTestIf</TITLE>
-FOO
-test
-GtkDocTestIfInterface
-GtkDocTestIf
-</SECTION>
-
--- /dev/null
+configure_file(
+ input: join_paths(srcdir, 'tests', 'gtkdocentities.ent.in'),
+ output: 'gtkdocentities.ent',
+ configuration: binary_in,
+)
--- /dev/null
+subdir('docs')
\ No newline at end of file
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/empty/src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libtester_la_LIBADD =
-am__libtester_la_SOURCES_DIST = tester.c tester.h
-@BUILD_TESTS_TRUE@am_libtester_la_OBJECTS = tester.lo
-libtester_la_OBJECTS = $(am_libtester_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 =
-@BUILD_TESTS_TRUE@am_libtester_la_rpath =
-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@
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/tester.Plo
-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 = $(libtester_la_SOURCES)
-DIST_SOURCES = $(am__libtester_la_SOURCES_DIST)
-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)/build-aux/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-@BUILD_TESTS_TRUE@noinst_LTLIBRARIES = libtester.la
-@BUILD_TESTS_TRUE@libtester_la_SOURCES = tester.c tester.h
-#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
-@BUILD_TESTS_TRUE@AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/empty/src/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/empty/src/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_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}; \
- }
-
-libtester.la: $(libtester_la_OBJECTS) $(libtester_la_DEPENDENCIES) $(EXTRA_libtester_la_DEPENDENCIES)
- $(AM_V_CCLD)$(LINK) $(am_libtester_la_rpath) $(libtester_la_OBJECTS) $(libtester_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tester.Plo@am__quote@ # am--include-marker
-
-$(am__depfiles_remade):
- @$(MKDIR_P) $(@D)
- @echo '# dummy' >$@-t && $(am__mv) $@-t $@
-
-am--depfiles: $(am__depfiles_remade)
-
-.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 $@ $<
-
-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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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 $(LTLIBRARIES)
-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 clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f ./$(DEPDIR)/tester.Plo
- -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 -f ./$(DEPDIR)/tester.Plo
- -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: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
- clean-generic clean-libtool clean-noinstLTLIBRARIES \
- 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
-
-
--include $(top_srcdir)/git.mk
-
-# 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:
endif
+EXTRA_DIST = meson.build
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/fail
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 =
-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
-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 distdir-am
-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
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-SUBDIRS = . src docs
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/fail/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/fail/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# 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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-@BUILD_TESTS_FALSE@check-local:
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-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 mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-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 -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:
-
-.MAKE: $(am__recursive_targets) check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am check-local clean clean-generic clean-libtool \
- cscopelist-am ctags ctags-am distclean 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 installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am
-
-.PRECIOUS: Makefile
-
-
-@BUILD_TESTS_TRUE@check-local: clean
-
--include $(top_srcdir)/git.mk
-
-# 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:
PATH=$(abs_top_builddir):$(srcdir):$(PATH)
endif
+EXTRA_DIST += meson.build
+EXTRA_DIST += xml/meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# -*- mode: makefile -*-
-
-####################################
-# Everything below here is generic #
-####################################
-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 = tests/fail/docs
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 \
- $(top_srcdir)/tests/gtk-doc.make
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE = tester
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-DOC_SOURCE_DIR = $(top_srcdir)/tests/fail/src
-
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
-SCANGOBJ_OPTIONS =
-
-# Extra options to supply to gtkdoc-scan.
-SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
- --ignore-decorators="GLIB_VAR"
-
-
-# Extra options to supply to gtkdoc-mkdb.
-MKDB_OPTIONS =
-
-# Extra options to supply to gtkdoc-mkhtml
-MKHTML_OPTIONS =
-
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
-# --html-dir=$(HTML_DIR)
-FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
-
-# Used for dependencies. The docs will be rebuilt if any of these change.
-HFILE_GLOB = $(top_srcdir)/tests/fail/src/*.h
-CFILE_GLOB = $(top_srcdir)/tests/fail/src/*.c
-
-# Header files to ignore when scanning.
-IGNORE_HFILES = config.h
-
-# Images to copy into HTML directory.
-HTML_IMAGES =
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files =
-
-# SGML files where gtk-doc abbreviations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
-expand_content_files =
-
-# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
-# Only needed if you are using gtkdoc-scangobj to dynamically query widget
-# signals and properties.
-GTKDOC_CFLAGS = -I$(top_srcdir)/tests/fail/src $(TEST_DEPS_CFLAGS)
-GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/fail/src/libtester.la
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-# we don't install anything in tests
-#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-SETUP_FILES = \
- $(content_files) \
- $(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-sections.txt \
- $(DOC_MODULE)-overrides.txt
-
-
-# include generic part
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
-DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
- html-build.stamp pdf-build.stamp \
- sgml.stamp html.stamp pdf.stamp
-
-SCANOBJ_FILES = \
- $(DOC_MODULE).args \
- $(DOC_MODULE).hierarchy \
- $(DOC_MODULE).interfaces \
- $(DOC_MODULE).prerequisites \
- $(DOC_MODULE).signals
-
-REPORT_FILES = \
- $(DOC_MODULE)-undocumented.txt \
- $(DOC_MODULE)-undeclared.txt \
- $(DOC_MODULE)-unused.txt
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) \
- $(DOC_MODULE).pdf ts gtkdoc-scan.log gtkdoc-scangobj.log \
- gtkdoc-mkdb.log gtkdoc-mkhtml.log gtkdoc-mkpdf.log \
- gtkdoc-fixxref.log $(DOC_MODULE)-overrides.txt
-GITIGNOREFILES = \
- html.ref xml.ref
-
-@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
-@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
-@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH)
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.make $(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) --gnu tests/fail/docs/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/fail/docs/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-$(top_srcdir)/tests/gtk-doc.make $(am__empty):
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-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-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-local
-
-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 \
- maintainer-clean-local
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: all all-am check check-am check-local clean clean-generic \
- clean-libtool clean-local cscopelist-am ctags-am distclean \
- distclean-generic distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-check-local: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-docs: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-$(REPORT_FILES): sgml-build.stamp
-
-ts:
- @echo >ts `date $(TS_FMT)`;
-
-#### setup ####
-
-setup-build.stamp: ts
- -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- echo ' DOC Preparing build'; \
- files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- destdir=`dirname $(abs_builddir)/$$file`; \
- test -d "$$destdir" || mkdir -p "$$destdir"; \
- test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
- done; \
- fi; \
- fi
- @touch setup-build.stamp
-
-#### scan ####
-
-scan-build.stamp: ts setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Scanning header files"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
- @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Introspecting gobjects"; \
- scanobj_options=""; \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
- echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
- else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
- fi
- @touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
- @true
-
-#### xml ####
-
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building XML"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
- @touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
- @true
-
-$(DOC_MAIN_SGML_FILE): sgml-build.stamp
- @true
-
-xml/gtkdocentities.ent: Makefile
- @$(MKDIR_P) $(@D) && ( \
- echo "<!ENTITY package \"$(PACKAGE)\">"; \
- echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
- echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
- echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
- echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
- echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
- echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
- ) > $@
-
-#### html ####
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building HTML"
- @rm -rf html
- @mkdir html
- @mkhtml_options=""; \
- if test "x$(V)" = "x1"; then \
- mkhtml_options="$$mkhtml_options --verbose"; \
- fi; \
- echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
- cd html && PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
- -@test "x$(HTML_IMAGES)" = "x" || \
- for file in $(HTML_IMAGES) ; do \
- test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- done;
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Fixing cross-references"
- @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
- @touch html-build.stamp
-
-#### pdf ####
-
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building PDF"
- @rm -f $(DOC_MODULE).pdf
- @mkpdf_options=""; \
- if test "x$(V)" = "x1"; then \
- mkpdf_options="$$mkpdf_options --verbose"; \
- fi; \
- if test "x$(HTML_IMAGES)" != "x"; then \
- for img in $(HTML_IMAGES); do \
- part=`dirname $$img`; \
- echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
- if test $$? != 0; then \
- mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
- fi; \
- done; \
- fi; \
- echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
- @touch pdf-build.stamp
-
-##############
-
-# we need to enforce a rebuild for the tests
-clean-local:
- @rm -f *~ *.bak ts gtkdoc-*.log
- @rm -rf .libs
- @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
- rm -f $(DOC_MODULE).types; \
- fi
- $(MAKE) distclean-local
-
-distclean-local:
- @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
- fi
-
-maintainer-clean-local:
- @rm -rf xml html
-
-.PHONY : dist-hook-local docs
-
--include $(top_srcdir)/git.mk
-
-# 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
+fail_test_source_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'fail',
+ 'src'
+)
+
+fail_test_docs_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'fail',
+ 'docs'
+)
+
+fail_test_output_dir = join_paths(
+ builddir,
+ 'tests',
+ 'fail',
+ 'docs'
+)
+
+fail_test_html_data = []
+
+subdir('xml')
+
+test(
+ 'test-fail-scan',
+ python_prg,
+ workdir: fail_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_scan_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(fail_test_output_dir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(fail_test_source_dir),
+ '--ignore-headers=config.h',
+ '--deprecated-guards=GTKDOC_TESTER_DISABLE_DEPRECATED',
+ '--ignore-decorators=GLIB_VAR',
+ ],
+)
+
+test(
+ 'test-fail-mkdb',
+ python_prg,
+ workdir: fail_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkdb_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(fail_test_source_dir),
+ '--main-sgml-file=@0@'.format('tester-docs.xml'),
+ '--output-format=xml',
+ '--xml-mode',
+ ],
+)
+
+foreach style_data: gtkdoc_style_data
+ fail_test_html_data += join_paths(srcdir, 'style', style_data)
+endforeach
+
+test(
+ 'test-fail-mkhtml',
+ python_prg,
+ workdir: fail_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkhtml_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(join_paths(fail_test_output_dir, 'html')),
+ '--html-assets=@0@'.format('@@'.join(fail_test_html_data)),
+ '@0@'.format('tester'),
+ '@0@'.format(join_paths('..', 'tester-docs.xml')),
+ '--uninstalled',
+ '--path=@0@'.format(':'.join([
+ fail_test_docs_dir,
+ srcdir])
+ ),
+ ],
+)
+
+test(
+ 'test-fail-fixxref',
+ python_prg,
+ workdir: fail_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_fixxref_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--module-dir=@0@'.format('html'),
+ '--extra-dir=@0@'.format(glib_docpath),
+ ],
+)
+
+test(
+ 'test-fail-check',
+ python_prg,
+ workdir: fail_test_docs_dir,
+ is_parallel: false,
+ should_fail: true,
+ args: [
+ gtkdoc_check_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--input-dir=@0@'.format(fail_test_docs_dir),
+ '--output-dir=@0@'.format(fail_test_output_dir),
+ ],
+)
\ No newline at end of file
--- /dev/null
+configure_file(
+ input: join_paths(srcdir, 'tests', 'gtkdocentities.ent.in'),
+ output: 'gtkdocentities.ent',
+ configuration: binary_in,
+)
--- /dev/null
+subdir('docs')
\ No newline at end of file
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/fail/src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libtester_la_LIBADD =
-am__libtester_la_SOURCES_DIST = tester.c tester.h
-@BUILD_TESTS_TRUE@am_libtester_la_OBJECTS = tester.lo
-libtester_la_OBJECTS = $(am_libtester_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 =
-@BUILD_TESTS_TRUE@am_libtester_la_rpath =
-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@
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/tester.Plo
-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 = $(libtester_la_SOURCES)
-DIST_SOURCES = $(am__libtester_la_SOURCES_DIST)
-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)/build-aux/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-@BUILD_TESTS_TRUE@noinst_LTLIBRARIES = libtester.la
-@BUILD_TESTS_TRUE@libtester_la_SOURCES = tester.c tester.h
-#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
-@BUILD_TESTS_TRUE@AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/fail/src/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/fail/src/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_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}; \
- }
-
-libtester.la: $(libtester_la_OBJECTS) $(libtester_la_DEPENDENCIES) $(EXTRA_libtester_la_DEPENDENCIES)
- $(AM_V_CCLD)$(LINK) $(am_libtester_la_rpath) $(libtester_la_OBJECTS) $(libtester_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tester.Plo@am__quote@ # am--include-marker
-
-$(am__depfiles_remade):
- @$(MKDIR_P) $(@D)
- @echo '# dummy' >$@-t && $(am__mv) $@-t $@
-
-am--depfiles: $(am__depfiles_remade)
-
-.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 $@ $<
-
-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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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 $(LTLIBRARIES)
-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 clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f ./$(DEPDIR)/tester.Plo
- -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 -f ./$(DEPDIR)/tester.Plo
- -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: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
- clean-generic clean-libtool clean-noinstLTLIBRARIES \
- 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
-
-
--include $(top_srcdir)/git.mk
-
-# 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:
endif
-EXTRA_DIST = examples/gobject.c
+EXTRA_DIST = \
+ examples/gobject.c \
+ meson.build
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/gobject
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 =
-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
-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 distdir-am
-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
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-SUBDIRS = . src docs
-EXTRA_DIST = examples/gobject.c
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/gobject/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/gobject/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# 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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-@BUILD_TESTS_FALSE@check-local:
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-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 mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-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 -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:
-
-.MAKE: $(am__recursive_targets) check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am check-local clean clean-generic clean-libtool \
- cscopelist-am ctags ctags-am distclean 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 installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am
-
-.PRECIOUS: Makefile
-
-
-@BUILD_TESTS_TRUE@check-local: clean
-
--include $(top_srcdir)/git.mk
-
-# 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:
PATH=$(abs_top_builddir):$(srcdir):$(PATH)
endif
+EXTRA_DIST += meson.build
+EXTRA_DIST += images/meson.build
+EXTRA_DIST += xml/meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# -*- mode: makefile -*-
-
-####################################
-# Everything below here is generic #
-####################################
-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 = tests/gobject/docs
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 \
- $(top_srcdir)/tests/gtk-doc.make
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE = tester
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-DOC_SOURCE_DIR = $(top_srcdir)/tests/gobject/src
-
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
-SCANGOBJ_OPTIONS =
-
-# Extra options to supply to gtkdoc-scan.
-SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
- --rebuild-types
-
-
-# Extra options to supply to gtkdoc-mkdb.
-MKDB_OPTIONS = --xml-mode
-
-# Extra options to supply to gtkdoc-mkhtml
-MKHTML_OPTIONS = --path=$(abs_top_srcdir)/tests/gobject/examples
-
-# Extra options to supply to gtkdoc-mkpdf
-MKPDF_OPTIONS = --path=$(abs_top_srcdir)/tests/gobject/examples
-
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
-# --html-dir=$(HTML_DIR)
-FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
-
-# Used for dependencies. The docs will be rebuilt if any of these change.
-HFILE_GLOB = $(top_srcdir)/tests/gobject/src/*.h
-CFILE_GLOB = $(top_srcdir)/tests/gobject/src/*.c
-
-# Header files to ignore when scanning.
-IGNORE_HFILES = config.h
-
-# Images to copy into HTML directory.
-HTML_IMAGES = \
- $(srcdir)/images/object.png
-
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files =
-
-# SGML files where gtk-doc abbreviations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
-expand_content_files =
-
-# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
-# Only needed if you are using gtkdoc-scangobj to dynamically query widget
-# signals and properties.
-GTKDOC_CFLAGS = -I$(top_srcdir)/tests/gobject/src $(TEST_DEPS_CFLAGS)
-GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/gobject/src/libtester.la
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-# we don't install anything in tests
-#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-SETUP_FILES = \
- $(content_files) \
- $(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-sections.txt \
- $(DOC_MODULE)-overrides.txt
-
-
-# include generic part
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES) tester.types
-DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
- html-build.stamp pdf-build.stamp \
- sgml.stamp html.stamp pdf.stamp
-
-SCANOBJ_FILES = \
- $(DOC_MODULE).args \
- $(DOC_MODULE).hierarchy \
- $(DOC_MODULE).interfaces \
- $(DOC_MODULE).prerequisites \
- $(DOC_MODULE).signals
-
-REPORT_FILES = \
- $(DOC_MODULE)-undocumented.txt \
- $(DOC_MODULE)-undeclared.txt \
- $(DOC_MODULE)-unused.txt
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) \
- $(DOC_MODULE).pdf ts gtkdoc-scan.log gtkdoc-scangobj.log \
- gtkdoc-mkdb.log gtkdoc-mkhtml.log gtkdoc-mkpdf.log \
- gtkdoc-fixxref.log $(DOC_MODULE)-overrides.txt \
- $(DOC_MODULE).types
-GITIGNOREFILES = \
- html.ref xml.ref
-
-@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
-@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
-@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH)
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.make $(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) --gnu tests/gobject/docs/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/gobject/docs/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-$(top_srcdir)/tests/gtk-doc.make $(am__empty):
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-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-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-local
-
-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 \
- maintainer-clean-local
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: all all-am check check-am check-local clean clean-generic \
- clean-libtool clean-local cscopelist-am ctags-am distclean \
- distclean-generic distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-check-local: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-docs: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-$(REPORT_FILES): sgml-build.stamp
-
-ts:
- @echo >ts `date $(TS_FMT)`;
-
-#### setup ####
-
-setup-build.stamp: ts
- -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- echo ' DOC Preparing build'; \
- files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- destdir=`dirname $(abs_builddir)/$$file`; \
- test -d "$$destdir" || mkdir -p "$$destdir"; \
- test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
- done; \
- fi; \
- fi
- @touch setup-build.stamp
-
-#### scan ####
-
-scan-build.stamp: ts setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Scanning header files"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
- @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Introspecting gobjects"; \
- scanobj_options=""; \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
- echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
- else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
- fi
- @touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
- @true
-
-#### xml ####
-
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building XML"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
- @touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
- @true
-
-$(DOC_MAIN_SGML_FILE): sgml-build.stamp
- @true
-
-xml/gtkdocentities.ent: Makefile
- @$(MKDIR_P) $(@D) && ( \
- echo "<!ENTITY package \"$(PACKAGE)\">"; \
- echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
- echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
- echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
- echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
- echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
- echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
- ) > $@
-
-#### html ####
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building HTML"
- @rm -rf html
- @mkdir html
- @mkhtml_options=""; \
- if test "x$(V)" = "x1"; then \
- mkhtml_options="$$mkhtml_options --verbose"; \
- fi; \
- echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
- cd html && PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
- -@test "x$(HTML_IMAGES)" = "x" || \
- for file in $(HTML_IMAGES) ; do \
- test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- done;
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Fixing cross-references"
- @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
- @touch html-build.stamp
-
-#### pdf ####
-
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building PDF"
- @rm -f $(DOC_MODULE).pdf
- @mkpdf_options=""; \
- if test "x$(V)" = "x1"; then \
- mkpdf_options="$$mkpdf_options --verbose"; \
- fi; \
- if test "x$(HTML_IMAGES)" != "x"; then \
- for img in $(HTML_IMAGES); do \
- part=`dirname $$img`; \
- echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
- if test $$? != 0; then \
- mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
- fi; \
- done; \
- fi; \
- echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
- @touch pdf-build.stamp
-
-##############
-
-# we need to enforce a rebuild for the tests
-clean-local:
- @rm -f *~ *.bak ts gtkdoc-*.log
- @rm -rf .libs
- @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
- rm -f $(DOC_MODULE).types; \
- fi
- $(MAKE) distclean-local
-
-distclean-local:
- @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
- fi
-
-maintainer-clean-local:
- @rm -rf xml html
-
-.PHONY : dist-hook-local docs
-
--include $(top_srcdir)/git.mk
-
-# 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
+gobject_test_html_data += [
+ join_paths(srcdir, 'tests', 'gobject', 'docs', 'images', 'object.png')
+]
\ No newline at end of file
--- /dev/null
+gobject_test_source_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'gobject',
+ 'src'
+)
+
+gobject_test_docs_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'gobject',
+ 'docs'
+)
+
+gobject_test_output_dir = join_paths(
+ builddir,
+ 'tests',
+ 'gobject',
+ 'docs'
+)
+
+gobject_test_html_data = []
+
+subdir('xml')
+
+configure_file(
+ input: join_paths(gobject_test_docs_dir, 'tester-sections.txt'),
+ output: 'tester-sections.txt',
+ copy: true,
+)
+
+test(
+ 'test-gobject-scan',
+ python_prg,
+ workdir: gobject_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_scan_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(gobject_test_output_dir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(gobject_test_source_dir),
+ '--ignore-headers=config.h',
+ '--deprecated-guards=GTKDOC_TESTER_DISABLE_DEPRECATED',
+ '--rebuild-types',
+ ],
+)
+
+test(
+ 'test-gobject-scangobj',
+ python_prg,
+ workdir: gobject_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_scangobj_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--pkg-config=@0@'.format(pkgconfig_prg_path),
+ '--extra-pkg=@0@'.format('glib-2.0'),
+ '--extra-pkg=@0@'.format('gobject-2.0'),
+ '--extra-lib=@0@'.format(gobject_test_lib.full_path()),
+ '--module=@0@'.format('tester'),
+ ],
+)
+
+test(
+ 'test-gobject-mkdb',
+ python_prg,
+ workdir: gobject_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkdb_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(gobject_test_source_dir),
+ '--main-sgml-file=@0@'.format('tester-docs.xml'),
+ '--output-format=xml',
+ '--xml-mode',
+ ],
+)
+
+foreach style_data: gtkdoc_style_data
+ gobject_test_html_data += join_paths(srcdir, 'style', style_data)
+endforeach
+
+subdir('images') # Appends to gobject_test_html_data
+
+test(
+ 'test-gobject-mkhtml',
+ python_prg,
+ workdir: gobject_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkhtml_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(join_paths(gobject_test_output_dir, 'html')),
+ '--html-assets=@0@'.format('@@'.join(gobject_test_html_data)),
+ '@0@'.format('tester'),
+ '@0@'.format(join_paths('..', 'tester-docs.xml')),
+ '--uninstalled',
+ '--path=@0@'.format(':'.join([
+ gobject_test_docs_dir,
+ srcdir,
+ ])
+ ),
+ ],
+)
+
+test(
+ 'test-gobject-fixxref',
+ python_prg,
+ workdir: gobject_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_fixxref_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--module-dir=@0@'.format('html'),
+ '--extra-dir=@0@'.format(glib_docpath),
+ '--extra-dir=@0@'.format(gobject_docpath),
+ ],
+)
+
+test(
+ 'test-gobject-check',
+ python_prg,
+ workdir: gobject_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_check_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--input-dir=@0@'.format(gobject_test_docs_dir),
+ '--output-dir=@0@'.format(gobject_test_output_dir),
+ ],
+)
+++ /dev/null
-gtkdoc_boxed_get_type
-gtkdoc_boxed_plain_old_data_get_type
-gtkdoc_enum2_get_type
-gtkdoc_enum_get_type
-gtkdoc_iface2_get_type
-gtkdoc_iface_get_type
-gtkdoc_object2_get_type
-gtkdoc_object3_get_type
-gtkdoc_object_get_type
--- /dev/null
+configure_file(
+ input: join_paths(srcdir, 'tests', 'gtkdocentities.ent.in'),
+ output: 'gtkdocentities.ent',
+ configuration: binary_in,
+)
--- /dev/null
+subdir('src')
+subdir('docs')
endif
+EXTRA_DIST = meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/gobject/src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libtester_la_LIBADD =
-am__libtester_la_SOURCES_DIST = gobject.c gobject.h giface.c giface.h \
- gtypes.c gtypes.h
-@BUILD_TESTS_TRUE@am_libtester_la_OBJECTS = gobject.lo giface.lo \
-@BUILD_TESTS_TRUE@ gtypes.lo
-libtester_la_OBJECTS = $(am_libtester_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 =
-@BUILD_TESTS_TRUE@am_libtester_la_rpath =
-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@
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/giface.Plo ./$(DEPDIR)/gobject.Plo \
- ./$(DEPDIR)/gtypes.Plo
-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 = $(libtester_la_SOURCES)
-DIST_SOURCES = $(am__libtester_la_SOURCES_DIST)
-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)/build-aux/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-@BUILD_TESTS_TRUE@noinst_LTLIBRARIES = libtester.la
-@BUILD_TESTS_TRUE@libtester_la_SOURCES = \
-@BUILD_TESTS_TRUE@ gobject.c gobject.h \
-@BUILD_TESTS_TRUE@ giface.c giface.h \
-@BUILD_TESTS_TRUE@ gtypes.c gtypes.h
-
-#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
-@BUILD_TESTS_TRUE@AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/gobject/src/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/gobject/src/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_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}; \
- }
-
-libtester.la: $(libtester_la_OBJECTS) $(libtester_la_DEPENDENCIES) $(EXTRA_libtester_la_DEPENDENCIES)
- $(AM_V_CCLD)$(LINK) $(am_libtester_la_rpath) $(libtester_la_OBJECTS) $(libtester_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/giface.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gobject.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtypes.Plo@am__quote@ # am--include-marker
-
-$(am__depfiles_remade):
- @$(MKDIR_P) $(@D)
- @echo '# dummy' >$@-t && $(am__mv) $@-t $@
-
-am--depfiles: $(am__depfiles_remade)
-
-.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 $@ $<
-
-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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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 $(LTLIBRARIES)
-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 clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f ./$(DEPDIR)/giface.Plo
- -rm -f ./$(DEPDIR)/gobject.Plo
- -rm -f ./$(DEPDIR)/gtypes.Plo
- -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 -f ./$(DEPDIR)/giface.Plo
- -rm -f ./$(DEPDIR)/gobject.Plo
- -rm -f ./$(DEPDIR)/gtypes.Plo
- -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: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
- clean-generic clean-libtool clean-noinstLTLIBRARIES \
- 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
-
-
--include $(top_srcdir)/git.mk
-
-# 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
+gobject_test_public_h = [
+ 'giface.h',
+ 'gobject.h',
+ 'gtypes.h',
+]
+
+gobject_test_c = [
+ 'giface.c',
+ 'gobject.c',
+ 'gtypes.c',
+]
+
+gobject_test_deps = [
+ glib_dep,
+ gobject_dep,
+]
+
+gobject_test_lib = shared_library(
+ 'gobjecttester',
+ sources: gobject_test_c,
+ dependencies: gobject_test_deps,
+ install: false,
+)
+
+gobject_test_dep = declare_dependency(
+ link_with: gobject_test_lib,
+ include_directories: include_directories('.'),
+ dependencies: gobject_test_deps,
+ sources: gobject_test_public_h,
+)
\ No newline at end of file
html.ref xml.ref
check-local: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ @ts=`cat ts`;tsd=`date -d "now - $$ts seconds" $(TS_FMT)`; \
echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
docs: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ @ts=`cat ts`;tsd=`date -d "now - $$ts seconds" $(TS_FMT)`; \
echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
$(REPORT_FILES): sgml-build.stamp
#### scan ####
scan-build.stamp: ts setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ @ts=`cat ts`;tsd=`date -d "now - $$ts seconds" $(TS_FMT)`; \
echo " DOC `$(DATE_FMT_CMD)$$tsd`: Scanning header files"
@_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
@if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ ts=`cat ts`;tsd=`date -d "now - $$ts seconds" $(TS_FMT)`; \
echo " DOC `$(DATE_FMT_CMD)$$tsd`: Introspecting gobjects"; \
scanobj_options=""; \
if test "x$(V)" = "x1"; then \
#### xml ####
sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ @ts=`cat ts`;tsd=`date -d "now - $$ts seconds" $(TS_FMT)`; \
echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building XML"
@_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
#### html ####
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ @ts=`cat ts`;tsd=`date -d "now - $$ts seconds" $(TS_FMT)`; \
echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building HTML"
@rm -rf html
@mkdir html
test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
done;
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ @ts=`cat ts`;tsd=`date -d "now - $$ts seconds" $(TS_FMT)`; \
echo " DOC `$(DATE_FMT_CMD)$$tsd`: Fixing cross-references"
@echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
#### pdf ####
pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ @ts=`cat ts`;tsd=`date -d "now - $$ts seconds" $(TS_FMT)`; \
echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building PDF"
@rm -f $(DOC_MODULE).pdf
@mkpdf_options=""; \
--- /dev/null
+<!ENTITY package "${PACKAGE}">
+<!ENTITY package_bugreport "${PACKAGE_BUGREPORT}">
+<!ENTITY package_name "${PACKAGE_NAME}">
+<!ENTITY package_string "${PACKAGE_STRING}">
+<!ENTITY package_tarname "${PACKAGE_TARNAME}">
+<!ENTITY package_url "${PACKAGE_URL}">
+<!ENTITY package_version "${PACKAGE_VERSION}">
--- /dev/null
+# -*- python -*-
+
+from __future__ import print_function
+
+import argparse
+import os
+import sys
+
+from subprocess import call
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='gtkdoc-check runner.')
+
+ parser.add_argument("--binary-dir", type=str, required=True,
+ help='Path to be used as a working directory')
+ parser.add_argument("--input-dir", type=str, required=True,
+ help='Path to be used as a working directory')
+ parser.add_argument("--output-dir", type=str, required=True,
+ help='Path to be used as a working directory')
+
+ options, arguments = parser.parse_known_args()
+
+ arguments.insert(0, os.path.join(options.binary_dir, 'gtkdoc-check'))
+
+ environ = os.environ.copy()
+
+ environ['SRCDIR'] = options.input_dir
+ environ['BUILDDIR'] = options.output_dir
+
+ sys.exit(call(arguments, env=environ))
\ No newline at end of file
--- /dev/null
+# -*- python -*-
+
+from __future__ import print_function
+
+import argparse
+import os
+import sys
+
+from subprocess import call
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='gtkdoc-fixxref runner.')
+
+ parser.add_argument("--binary-dir", type=str, required=True,
+ help='Path to be used as a working directory')
+ parser.add_argument("--change-dir", type=str, default=None,
+ help='Path to be used as a working directory')
+
+ options, arguments = parser.parse_known_args()
+
+ arguments.insert(0, os.path.join(options.binary_dir, 'gtkdoc-fixxref'))
+
+ if options.change_dir is not None:
+ if not os.path.exists(options.change_dir):
+ os.makedirs(options.change_dir)
+
+ sys.exit(call(arguments, cwd=options.change_dir))
\ No newline at end of file
--- /dev/null
+# -*- python -*-
+
+from __future__ import print_function
+
+import argparse
+import os
+import sys
+
+from subprocess import call
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='gtkdoc-mkdb runner.')
+
+ parser.add_argument("--binary-dir", type=str, required=True,
+ help='Path to be used as a working directory')
+ parser.add_argument("--change-dir", type=str, default=None,
+ help='Path to be used as a working directory')
+
+ options, arguments = parser.parse_known_args()
+
+ arguments.insert(0, os.path.join(options.binary_dir, 'gtkdoc-mkdb'))
+
+ if options.change_dir is not None:
+ if not os.path.exists(options.change_dir):
+ os.makedirs(options.change_dir)
+
+ sys.exit(call(arguments, cwd=options.change_dir))
\ No newline at end of file
--- /dev/null
+# -*- python -*-
+
+from __future__ import print_function
+
+import argparse
+import os
+import shutil
+import sys
+
+from subprocess import call
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='gtkdoc-mkhtml runner.')
+
+ parser.add_argument("--binary-dir", type=str, required=True,
+ help='Path to be used as a working directory')
+ parser.add_argument("--change-dir", type=str, default=None,
+ help='Path to be used as a working directory')
+ parser.add_argument("--html-assets", type=str, default=None,
+ help='List of HTML assets, seprated by "@@"')
+
+ options, arguments = parser.parse_known_args()
+
+ arguments.insert(0, os.path.join(options.binary_dir, 'gtkdoc-mkhtml'))
+
+ if options.change_dir is not None:
+ if not os.path.exists(options.change_dir):
+ os.makedirs(options.change_dir)
+
+ if not options.html_assets is None:
+ for html_asset in options.html_assets.split('@@'):
+ if options.change_dir is not None:
+ html_target = os.path.join(options.change_dir, os.path.basename(html_asset))
+ else:
+ html_target = os.path.join(os.getcwd(), os.path.basename(html_asset))
+ shutil.copyfile(html_asset, html_target)
+
+ sys.exit(call(arguments, cwd=options.change_dir))
\ No newline at end of file
--- /dev/null
+# -*- python -*-
+
+from __future__ import print_function
+
+import argparse
+import os
+import sys
+
+from subprocess import call
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='gtkdoc-scan runner.')
+
+ parser.add_argument("--binary-dir", type=str, required=True,
+ help='Path to be used as a working directory')
+ parser.add_argument("--change-dir", type=str, default=None,
+ help='Path to be used as a working directory')
+
+ options, arguments = parser.parse_known_args()
+
+ arguments.insert(0, os.path.join(options.binary_dir, 'gtkdoc-scan'))
+
+ if options.change_dir is not None:
+ if not os.path.exists(options.change_dir):
+ os.makedirs(options.change_dir)
+
+ sys.exit(call(arguments, cwd=options.change_dir))
\ No newline at end of file
--- /dev/null
+# -*- python -*-
+
+from __future__ import print_function
+
+import argparse
+import os
+import sys
+
+from subprocess import call, PIPE, Popen
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='gtkdoc-scangobj runner.')
+
+ parser.add_argument("--binary-dir", type=str, required=True,
+ help='Path to be used as a working directory')
+ parser.add_argument("--pkg-config", type=str, required=True,
+ help='Path to the pkg-config executable to be used')
+ parser.add_argument("--extra-pkg", type=str, default=[], action='append',
+ help='Extra package to be use while scanning')
+ parser.add_argument("--extra-cflags", type=str, default=[], action='append',
+ help='Extra Cflags to be use while scanning')
+ parser.add_argument("--extra-lib", type=str, default=[], action='append',
+ help='Extra library to be use while scanning')
+
+ options, arguments = parser.parse_known_args()
+
+ arguments.insert(0, os.path.join(options.binary_dir, 'gtkdoc-scangobj'))
+
+ process = Popen([options.pkg_config,
+ '--cflags'] + options.extra_pkg,
+ stdout=PIPE, stderr=PIPE)
+
+ output, error = process.communicate()
+ if process.returncode == 0:
+ cflags = output.rstrip().decode('utf-8')
+ arguments.append('--cflags={0}'.format(cflags))
+
+ for flag in options.extra_cflags:
+ arguments.append('--cflags={0}'.format(flag))
+
+ process = Popen([options.pkg_config,
+ '--libs'] + options.extra_pkg,
+ stdout=PIPE, stderr=PIPE)
+
+ output, error = process.communicate()
+ if process.returncode == 0:
+ arguments.append('--ldflags={0}'.format(output.rstrip().decode('utf-8')))
+
+ for lib in options.extra_lib:
+ arguments.append('--ldflags=-l{0}'.format(os.path.basename(lib).split('.')[0].lstrip('lib')))
+ arguments.append('--ldflags=-L{0}'.format(os.path.dirname(lib)))
+ arguments.append('--ldflags=-Wl,-rpath,{0}'.format(os.path.dirname(lib)))
+
+ sys.exit(call(arguments))
--- /dev/null
+gtkdoc_scan_runner_script = files('gtkdoc_scan_runner.py')
+gtkdoc_scangobj_runner_script = files('gtkdoc_scangobj_runner.py')
+gtkdoc_mkdb_runner_script = files('gtkdoc_mkdb_runner.py')
+gtkdoc_mkhtml_runner_script = files('gtkdoc_mkhtml_runner.py')
+gtkdoc_fixxref_runner_script = files('gtkdoc_fixxref_runner.py')
+gtkdoc_check_runner_script = files('gtkdoc_check_runner.py')
\ No newline at end of file
--- /dev/null
+gtkdoc_unit_tests = [
+ 'check',
+ 'common',
+ 'highlight',
+ 'mkdb',
+ 'mk-to-db',
+ 'mkhtml2',
+ 'scan',
+]
+
+test_env = environment()
+test_env.append('PYTHONPATH', srcdir, builddir)
+
+foreach test_name: gtkdoc_unit_tests
+ test(
+ 'test-unit-@0@'.format(test_name),
+ python_prg,
+ env: test_env,
+ args: [
+ join_paths(
+ srcdir,
+ 'tests',
+ '@0@.py'.format(test_name.underscorify()),
+ )
+ ],
+ )
+endforeach
+
+subdir('helpers')
+
+glib_dep = dependency('glib-2.0', version: glib_req)
+gobject_dep = dependency('gobject-2.0', version: glib_req)
+
+glib_prefix = glib_dep.get_pkgconfig_variable('prefix')
+glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
+
+gobject_prefix = gobject_dep.get_pkgconfig_variable('prefix')
+gobject_docpath = join_paths(gobject_prefix, 'share', 'gtk-doc', 'html')
+
+subdir('annotations')
+subdir('bugs')
+subdir('empty')
+subdir('fail')
+subdir('gobject')
+subdir('program')
""").splitlines(keepends=True))
self.assertEqual({'symbol': 'Description.\n'}, mkdb.SourceSymbolDocs)
+ def test_FindsDocCommentForSignal(self):
+ mkdb.SourceSymbolDocs = {}
+ mkdb.ParseCommentBlock(textwrap.dedent("""\
+ Class::signal-with-dashes:
+
+ Description.
+ """).splitlines(keepends=True))
+ self.assertEqual({'Class::signal-with-dashes': 'Description.\n'}, mkdb.SourceSymbolDocs)
+
+ def test_FindsDocCommentForProperty(self):
+ mkdb.SourceSymbolDocs = {}
+ mkdb.ParseCommentBlock(textwrap.dedent("""\
+ Class:property-with-dashes:
+
+ Description.
+ """).splitlines(keepends=True))
+ self.assertEqual({'Class:property-with-dashes': 'Description.\n'}, mkdb.SourceSymbolDocs)
+
+ def test_FindsDocCommentForActions(self):
+ mkdb.SourceSymbolDocs = {}
+ mkdb.ParseCommentBlock(textwrap.dedent("""\
+ Class|action.with.dots-and-dashes:
+
+ Description.
+ """).splitlines(keepends=True))
+ self.assertEqual({'Class|action.with.dots-and-dashes': 'Description.\n'}, mkdb.SourceSymbolDocs)
+
def test_FindsDocCommentWithParam(self):
+ mkdb.SourceSymbolDocs = {}
mkdb.ParseCommentBlock(textwrap.dedent("""\
symbol:
@par: value
self.assertEqual({'par': 'value\n'}, mkdb.SourceSymbolParams['symbol'])
def test_FindsDocCommentWithMultilineParam(self):
+ mkdb.SourceSymbolDocs = {}
mkdb.ParseCommentBlock(textwrap.dedent("""\
symbol:
@par: value docs with
self.assertEqual({'par': 'value docs with\ntwo lines\n'}, mkdb.SourceSymbolParams['symbol'])
def test_FindsDocCommentWithReturns(self):
+ mkdb.SourceSymbolDocs = {}
mkdb.ParseCommentBlock(textwrap.dedent("""\
symbol:
self.assertEqual({'Returns': ' result\n'}, mkdb.SourceSymbolParams['symbol'])
def test_FindsDocCommentWithSince(self):
+ mkdb.SourceSymbolDocs = {}
mkdb.ParseCommentBlock(textwrap.dedent("""\
symbol:
self.assertEqual('0.1', mkdb.Since['symbol'])
def test_FindsDocCommentWithDeprecated(self):
+ mkdb.SourceSymbolDocs = {}
mkdb.ParseCommentBlock(textwrap.dedent("""\
symbol:
self.assertEqual(' use function() instead\n', mkdb.Deprecated['symbol'])
def test_FindsDocCommentWithStability(self):
+ mkdb.SourceSymbolDocs = {}
mkdb.ParseCommentBlock(textwrap.dedent("""\
symbol:
self.assertEqual('Stable', mkdb.StabilityLevel['symbol'])
def test_HandlesHTMLEntities(self):
+ mkdb.SourceSymbolDocs = {}
mkdb.ParseCommentBlock(textwrap.dedent("""\
symbol:
endif
+EXTRA_DIST = meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/program
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 =
-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
-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 distdir-am
-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
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-SUBDIRS = . src docs
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/program/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/program/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# 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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-@BUILD_TESTS_FALSE@check-local:
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-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 mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-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 -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:
-
-.MAKE: $(am__recursive_targets) check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am check-local clean clean-generic clean-libtool \
- cscopelist-am ctags ctags-am distclean 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 installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am
-
-.PRECIOUS: Makefile
-
-
-@BUILD_TESTS_TRUE@check-local: clean
-
--include $(top_srcdir)/git.mk
-
-# 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:
PATH=$(abs_top_builddir):$(srcdir):$(PATH)
endif
+EXTRA_DIST += meson.build
+EXTRA_DIST += xml/meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# -*- mode: makefile -*-
-
-####################################
-# Everything below here is generic #
-####################################
-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 = tests/program/docs
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 \
- $(top_srcdir)/tests/gtk-doc.make
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE = tester
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-DOC_SOURCE_DIR = $(top_srcdir)/tests/program/src
-
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
-SCANGOBJ_OPTIONS =
-
-# Extra options to supply to gtkdoc-scan.
-SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
- --rebuild-types
-
-
-# Extra options to supply to gtkdoc-mkdb.
-MKDB_OPTIONS = --xml-mode
-
-# Extra options to supply to gtkdoc-mkhtml
-MKHTML_OPTIONS =
-
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
-# --html-dir=$(HTML_DIR)
-FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
-
-# Used for dependencies. The docs will be rebuilt if any of these change.
-HFILE_GLOB =
-CFILE_GLOB = $(top_srcdir)/tests/program/src/*.c
-
-# Header files to ignore when scanning.
-IGNORE_HFILES = config.h
-
-# Images to copy into HTML directory.
-HTML_IMAGES =
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files =
-
-# SGML files where gtk-doc abbreviations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
-expand_content_files =
-
-# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
-# Only needed if you are using gtkdoc-scangobj to dynamically query widget
-# signals and properties.
-GTKDOC_CFLAGS =
-GTKDOC_LIBS =
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-# we don't install anything in tests
-#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-SETUP_FILES = \
- $(content_files) \
- $(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-sections.txt \
- $(DOC_MODULE)-overrides.txt
-
-
-# include generic part
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
-DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
- html-build.stamp pdf-build.stamp \
- sgml.stamp html.stamp pdf.stamp
-
-SCANOBJ_FILES = \
- $(DOC_MODULE).args \
- $(DOC_MODULE).hierarchy \
- $(DOC_MODULE).interfaces \
- $(DOC_MODULE).prerequisites \
- $(DOC_MODULE).signals
-
-REPORT_FILES = \
- $(DOC_MODULE)-undocumented.txt \
- $(DOC_MODULE)-undeclared.txt \
- $(DOC_MODULE)-unused.txt
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) \
- $(DOC_MODULE).pdf ts gtkdoc-scan.log gtkdoc-scangobj.log \
- gtkdoc-mkdb.log gtkdoc-mkhtml.log gtkdoc-mkpdf.log \
- gtkdoc-fixxref.log $(DOC_MODULE)-overrides.txt \
- $(DOC_MODULE).types
-GITIGNOREFILES = \
- html.ref xml.ref
-
-@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
-@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
-@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH)
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.make $(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) --gnu tests/program/docs/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/program/docs/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-$(top_srcdir)/tests/gtk-doc.make $(am__empty):
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-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-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-local
-
-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 \
- maintainer-clean-local
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: all all-am check check-am check-local clean clean-generic \
- clean-libtool clean-local cscopelist-am ctags-am distclean \
- distclean-generic distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-check-local: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-docs: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-$(REPORT_FILES): sgml-build.stamp
-
-ts:
- @echo >ts `date $(TS_FMT)`;
-
-#### setup ####
-
-setup-build.stamp: ts
- -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- echo ' DOC Preparing build'; \
- files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- destdir=`dirname $(abs_builddir)/$$file`; \
- test -d "$$destdir" || mkdir -p "$$destdir"; \
- test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
- done; \
- fi; \
- fi
- @touch setup-build.stamp
-
-#### scan ####
-
-scan-build.stamp: ts setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Scanning header files"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
- @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Introspecting gobjects"; \
- scanobj_options=""; \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
- echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
- else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
- fi
- @touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
- @true
-
-#### xml ####
-
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building XML"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
- @touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
- @true
-
-$(DOC_MAIN_SGML_FILE): sgml-build.stamp
- @true
-
-xml/gtkdocentities.ent: Makefile
- @$(MKDIR_P) $(@D) && ( \
- echo "<!ENTITY package \"$(PACKAGE)\">"; \
- echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
- echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
- echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
- echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
- echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
- echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
- ) > $@
-
-#### html ####
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building HTML"
- @rm -rf html
- @mkdir html
- @mkhtml_options=""; \
- if test "x$(V)" = "x1"; then \
- mkhtml_options="$$mkhtml_options --verbose"; \
- fi; \
- echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
- cd html && PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
- -@test "x$(HTML_IMAGES)" = "x" || \
- for file in $(HTML_IMAGES) ; do \
- test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- done;
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Fixing cross-references"
- @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
- @touch html-build.stamp
-
-#### pdf ####
-
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building PDF"
- @rm -f $(DOC_MODULE).pdf
- @mkpdf_options=""; \
- if test "x$(V)" = "x1"; then \
- mkpdf_options="$$mkpdf_options --verbose"; \
- fi; \
- if test "x$(HTML_IMAGES)" != "x"; then \
- for img in $(HTML_IMAGES); do \
- part=`dirname $$img`; \
- echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
- if test $$? != 0; then \
- mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
- fi; \
- done; \
- fi; \
- echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
- @touch pdf-build.stamp
-
-##############
-
-# we need to enforce a rebuild for the tests
-clean-local:
- @rm -f *~ *.bak ts gtkdoc-*.log
- @rm -rf .libs
- @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
- rm -f $(DOC_MODULE).types; \
- fi
- $(MAKE) distclean-local
-
-distclean-local:
- @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
- fi
-
-maintainer-clean-local:
- @rm -rf xml html
-
-.PHONY : dist-hook-local docs
-
--include $(top_srcdir)/git.mk
-
-# 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
+program_test_source_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'program',
+ 'src'
+)
+
+program_test_docs_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'program',
+ 'docs'
+)
+
+program_test_output_dir = join_paths(
+ builddir,
+ 'tests',
+ 'program',
+ 'docs'
+)
+
+program_test_html_data = []
+
+subdir('xml')
+
+test(
+ 'test-program-scan',
+ python_prg,
+ workdir: program_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_scan_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(program_test_output_dir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(program_test_source_dir),
+ '--ignore-headers=config.h',
+ '--deprecated-guards=GTKDOC_TESTER_DISABLE_DEPRECATED',
+ '--rebuild-types',
+ ],
+)
+
+test(
+ 'test-program-mkdb',
+ python_prg,
+ workdir: program_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkdb_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(program_test_source_dir),
+ '--main-sgml-file=@0@'.format('tester-docs.xml'),
+ '--output-format=xml',
+ '--xml-mode',
+ ],
+)
+
+foreach style_data: gtkdoc_style_data
+ program_test_html_data += join_paths(srcdir, 'style', style_data)
+endforeach
+
+test(
+ 'test-program-mkhtml',
+ python_prg,
+ workdir: program_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkhtml_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(join_paths(program_test_output_dir, 'html')),
+ '--html-assets=@0@'.format('@@'.join(program_test_html_data)),
+ '@0@'.format('tester'),
+ '@0@'.format(join_paths('..', 'tester-docs.xml')),
+ '--uninstalled',
+ '--path=@0@'.format(':'.join([
+ program_test_docs_dir,
+ srcdir])
+ ),
+ ],
+)
+
+test(
+ 'test-program-fixxref',
+ python_prg,
+ workdir: program_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_fixxref_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--module-dir=@0@'.format('html'),
+ '--extra-dir=@0@'.format(glib_docpath),
+ ],
+)
+
+test(
+ 'test-program-check',
+ python_prg,
+ workdir: program_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_check_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--input-dir=@0@'.format(program_test_docs_dir),
+ '--output-dir=@0@'.format(program_test_output_dir),
+ ],
+)
\ No newline at end of file
--- /dev/null
+configure_file(
+ input: join_paths(srcdir, 'tests', 'gtkdocentities.ent.in'),
+ output: 'gtkdocentities.ent',
+ configuration: binary_in,
+)
--- /dev/null
+subdir('docs')
\ No newline at end of file
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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@
-@BUILD_TESTS_TRUE@noinst_PROGRAMS = test-program$(EXEEXT)
-subdir = tests/program/src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-test_program_SOURCES = test-program.c
-test_program_OBJECTS = test-program.$(OBJEXT)
-test_program_LDADD = $(LDADD)
-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 =
-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@
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/test-program.Po
-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 = test-program.c
-DIST_SOURCES = test-program.c
-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)/build-aux/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/program/src/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/program/src/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-
-test-program$(EXEEXT): $(test_program_OBJECTS) $(test_program_DEPENDENCIES) $(EXTRA_test_program_DEPENDENCIES)
- @rm -f test-program$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(test_program_OBJECTS) $(test_program_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-program.Po@am__quote@ # am--include-marker
-
-$(am__depfiles_remade):
- @$(MKDIR_P) $(@D)
- @echo '# dummy' >$@-t && $(am__mv) $@-t $@
-
-am--depfiles: $(am__depfiles_remade)
-
-.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 $@ $<
-
-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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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 $(PROGRAMS)
-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 clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f ./$(DEPDIR)/test-program.Po
- -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 -f ./$(DEPDIR)/test-program.Po
- -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: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
- clean-generic clean-libtool clean-noinstPROGRAMS 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
-
-
--include $(top_srcdir)/git.mk
-
-# 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:
endif
+EXTRA_DIST = meson.build
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/repro
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 =
-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
-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 distdir-am
-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
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-SUBDIRS = . src docs
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/repro/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/repro/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# 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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-@BUILD_TESTS_FALSE@check-local:
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-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 mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-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 -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:
-
-.MAKE: $(am__recursive_targets) check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am check-local clean clean-generic clean-libtool \
- cscopelist-am ctags ctags-am distclean 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 installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am
-
-.PRECIOUS: Makefile
-
-
-@BUILD_TESTS_TRUE@check-local: clean
-
--include $(top_srcdir)/git.mk
-
-# 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:
CLEANFILES += \
tester-sections.txt
+EXTRA_DIST += meson.build
+
-include $(top_srcdir)/git.mk
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# -*- mode: makefile -*-
-
-####################################
-# Everything below here is generic #
-####################################
-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 = tests/repro/docs
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_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 \
- $(top_srcdir)/tests/gtk-doc.make
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE = tester
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-DOC_SOURCE_DIR = $(top_srcdir)/tests/repro/src
-
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
-SCANGOBJ_OPTIONS =
-
-# Extra options to supply to gtkdoc-scan.
-SCAN_OPTIONS = --rebuild-sections --rebuild-types
-
-# Extra options to supply to gtkdoc-mkdb.
-MKDB_OPTIONS = --xml-mode
-
-# Extra options to supply to gtkdoc-mkhtml
-MKHTML_OPTIONS =
-
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
-# --html-dir=$(HTML_DIR)
-FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
-
-# Used for dependencies. The docs will be rebuilt if any of these change.
-HFILE_GLOB = $(top_srcdir)/tests/repro/src/*.h
-CFILE_GLOB = $(top_srcdir)/tests/repro/src/*.c
-
-# Header files to ignore when scanning.
-IGNORE_HFILES = config.h
-
-# Images to copy into HTML directory.
-HTML_IMAGES =
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files =
-
-# SGML files where gtk-doc abbreviations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
-expand_content_files =
-
-# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
-# Only needed if you are using gtkdoc-scangobj to dynamically query widget
-# signals and properties.
-GTKDOC_CFLAGS = -I$(top_srcdir)/tests/repro/src $(TEST_DEPS_CFLAGS)
-GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/repro/src/libtester.la
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-# we don't install anything in tests
-#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-SETUP_FILES = \
- $(content_files) \
- $(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-sections.txt \
- $(DOC_MODULE)-overrides.txt
-
-
-# include generic part
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
-DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
- html-build.stamp pdf-build.stamp \
- sgml.stamp html.stamp pdf.stamp
-
-SCANOBJ_FILES = \
- $(DOC_MODULE).args \
- $(DOC_MODULE).hierarchy \
- $(DOC_MODULE).interfaces \
- $(DOC_MODULE).prerequisites \
- $(DOC_MODULE).signals
-
-REPORT_FILES = \
- $(DOC_MODULE)-undocumented.txt \
- $(DOC_MODULE)-undeclared.txt \
- $(DOC_MODULE)-unused.txt
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) \
- $(DOC_MODULE).pdf ts gtkdoc-scan.log gtkdoc-scangobj.log \
- gtkdoc-mkdb.log gtkdoc-mkhtml.log gtkdoc-mkpdf.log \
- gtkdoc-fixxref.log $(DOC_MODULE)-overrides.txt \
- $(DOC_MODULE).types tester-sections.txt
-GITIGNOREFILES = \
- html.ref xml.ref
-
-@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
-@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
-@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH)
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.make $(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) --gnu tests/repro/docs/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/repro/docs/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-$(top_srcdir)/tests/gtk-doc.make $(am__empty):
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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
-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-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-local
-
-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 \
- maintainer-clean-local
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: all all-am check check-am check-local clean clean-generic \
- clean-libtool clean-local cscopelist-am ctags-am distclean \
- distclean-generic distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-check-local: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-docs: html-build.stamp pdf-build.stamp
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: All done"
-
-$(REPORT_FILES): sgml-build.stamp
-
-ts:
- @echo >ts `date $(TS_FMT)`;
-
-#### setup ####
-
-setup-build.stamp: ts
- -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- echo ' DOC Preparing build'; \
- files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- destdir=`dirname $(abs_builddir)/$$file`; \
- test -d "$$destdir" || mkdir -p "$$destdir"; \
- test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
- done; \
- fi; \
- fi
- @touch setup-build.stamp
-
-#### scan ####
-
-scan-build.stamp: ts setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Scanning header files"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
- @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Introspecting gobjects"; \
- scanobj_options=""; \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
- echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
- else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
- fi
- @touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
- @true
-
-#### xml ####
-
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building XML"
- @_source_dir='' ; \
- for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
- done ; \
- echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
- @touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
- @true
-
-$(DOC_MAIN_SGML_FILE): sgml-build.stamp
- @true
-
-xml/gtkdocentities.ent: Makefile
- @$(MKDIR_P) $(@D) && ( \
- echo "<!ENTITY package \"$(PACKAGE)\">"; \
- echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
- echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
- echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
- echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
- echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
- echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
- ) > $@
-
-#### html ####
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building HTML"
- @rm -rf html
- @mkdir html
- @mkhtml_options=""; \
- if test "x$(V)" = "x1"; then \
- mkhtml_options="$$mkhtml_options --verbose"; \
- fi; \
- echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
- cd html && PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
- -@test "x$(HTML_IMAGES)" = "x" || \
- for file in $(HTML_IMAGES) ; do \
- test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- done;
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Fixing cross-references"
- @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) \
- gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
- @touch html-build.stamp
-
-#### pdf ####
-
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @ts1=`cat ts`;ts2=`date $(TS_FMT)`;tsd=`echo $$ts2-$$ts1 | bc`; \
- echo " DOC `$(DATE_FMT_CMD)$$tsd`: Building PDF"
- @rm -f $(DOC_MODULE).pdf
- @mkpdf_options=""; \
- if test "x$(V)" = "x1"; then \
- mkpdf_options="$$mkpdf_options --verbose"; \
- fi; \
- if test "x$(HTML_IMAGES)" != "x"; then \
- for img in $(HTML_IMAGES); do \
- part=`dirname $$img`; \
- echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
- if test $$? != 0; then \
- mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
- fi; \
- done; \
- fi; \
- echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
- PATH=$(abs_top_builddir):$(PATH) PYTHONPATH=$(abs_top_builddir):$(abs_top_srcdir):$(PYTHONPATH) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
- gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
- @touch pdf-build.stamp
-
-##############
-
-# we need to enforce a rebuild for the tests
-clean-local:
- @rm -f *~ *.bak ts gtkdoc-*.log
- @rm -rf .libs
- @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
- rm -f $(DOC_MODULE).types; \
- fi
- $(MAKE) distclean-local
-
-distclean-local:
- @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
- fi
-
-maintainer-clean-local:
- @rm -rf xml html
-
-.PHONY : dist-hook-local docs
-
--include $(top_srcdir)/git.mk
-
-# 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
+repro_test_source_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'repro',
+ 'src'
+)
+
+repro_test_docs_dir = join_paths(
+ srcdir,
+ 'tests',
+ 'repro',
+ 'docs'
+)
+
+repro_test_output_dir = join_paths(
+ builddir,
+ 'tests',
+ 'repro',
+ 'docs'
+)
+
+repro_test_html_data = []
+
+subdir('xml')
+
+test(
+ 'test-repro-scan',
+ python_prg,
+ workdir: repro_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_scan_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(repro_test_output_dir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(repro_test_source_dir),
+ '--ignore-headers=config.h',
+ '--rebuild-sections',
+ '--rebuild-types',
+ ],
+)
+
+test(
+ 'test-repro-mkdb',
+ python_prg,
+ workdir: repro_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkdb_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--source-dir=@0@'.format(repro_test_source_dir),
+ '--main-sgml-file=@0@'.format('tester-docs.xml'),
+ '--output-format=xml',
+ '--xml-mode',
+ ],
+)
+
+foreach style_data: gtkdoc_style_data
+ repro_test_html_data += join_paths(srcdir, 'style', style_data)
+endforeach
+
+test(
+ 'test-repro-mkhtml',
+ python_prg,
+ workdir: repro_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_mkhtml_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--change-dir=@0@'.format(join_paths(repro_test_output_dir, 'html')),
+ '--html-assets=@0@'.format('@@'.join(repro_test_html_data)),
+ '@0@'.format('tester'),
+ '@0@'.format(join_paths('..', 'tester-docs.xml')),
+ '--uninstalled',
+ '--path=@0@'.format(':'.join([
+ repro_test_docs_dir,
+ srcdir])
+ ),
+ ],
+)
+
+test(
+ 'test-repro-fixxref',
+ python_prg,
+ workdir: repro_test_output_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_fixxref_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--module=@0@'.format('tester'),
+ '--module-dir=@0@'.format('html'),
+ '--extra-dir=@0@'.format(glib_docpath),
+ ],
+)
+
+test(
+ 'test-repro-check',
+ python_prg,
+ workdir: repro_test_docs_dir,
+ is_parallel: false,
+ args: [
+ gtkdoc_check_runner_script,
+ '--binary-dir=@0@'.format(builddir),
+ '--input-dir=@0@'.format(repro_test_docs_dir),
+ '--output-dir=@0@'.format(repro_test_output_dir),
+ ],
+)
\ No newline at end of file
+++ /dev/null
-<SECTION>
-<FILE>tester</FILE>
-FOO
-</SECTION>
-
--- /dev/null
+subdir('docs')
\ No newline at end of file
+++ /dev/null
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 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 = tests/repro/src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_python_module.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
- $(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.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)/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_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libtester_la_LIBADD =
-am__libtester_la_SOURCES_DIST = tester.c tester.h
-@BUILD_TESTS_TRUE@am_libtester_la_OBJECTS = tester.lo
-libtester_la_OBJECTS = $(am_libtester_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 =
-@BUILD_TESTS_TRUE@am_libtester_la_rpath =
-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@
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/tester.Plo
-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 = $(libtester_la_SOURCES)
-DIST_SOURCES = $(am__libtester_la_SOURCES_DIST)
-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)/build-aux/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE_FMT_CMD = @DATE_FMT_CMD@
-DBLATEX = @DBLATEX@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ELAPSED_FMT = @ELAPSED_FMT@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FOP = @FOP@
-GREP = @GREP@
-HELP_DIR = @HELP_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ITSTOOL = @ITSTOOL@
-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@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
-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@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PACKAGE_DIR = @PYTHON_PACKAGE_DIR@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
-TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
-TS_FMT = @TS_FMT@
-VERSION = @VERSION@
-XMLCATALOG = @XMLCATALOG@
-XMLLINT = @XMLLINT@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-YELP_LC_DIST = @YELP_LC_DIST@
-YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@
-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@
-glib_prefix = @glib_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@
-@BUILD_TESTS_TRUE@noinst_LTLIBRARIES = libtester.la
-@BUILD_TESTS_TRUE@libtester_la_SOURCES = tester.c tester.h
-#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
-@BUILD_TESTS_TRUE@AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/repro/src/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/repro/src/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__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_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}; \
- }
-
-libtester.la: $(libtester_la_OBJECTS) $(libtester_la_DEPENDENCIES) $(EXTRA_libtester_la_DEPENDENCIES)
- $(AM_V_CCLD)$(LINK) $(am_libtester_la_rpath) $(libtester_la_OBJECTS) $(libtester_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tester.Plo@am__quote@ # am--include-marker
-
-$(am__depfiles_remade):
- @$(MKDIR_P) $(@D)
- @echo '# dummy' >$@-t && $(am__mv) $@-t $@
-
-am--depfiles: $(am__depfiles_remade)
-
-.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 $@ $<
-
-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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(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 $(LTLIBRARIES)
-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 clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f ./$(DEPDIR)/tester.Plo
- -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 -f ./$(DEPDIR)/tester.Plo
- -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: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
- clean-generic clean-libtool clean-noinstLTLIBRARIES \
- 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
-
-
--include $(top_srcdir)/git.mk
-
-# 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:
tested=`expr $tested + 1`
-# check validity of generated sgml files
-nok=0
-for file in $dir/$suite/docs/xml/*.sgml; do
- xmllint --noout --noent $file
- if test $? != 0 ; then
- echo 1>&2 "sgml validity check failed for $file"
- nok=`expr $nok + 1`;
- fi
-done
-if test $nok -gt 0 ; then failed=`expr $failed + 1`; fi
-tested=`expr $tested + 1`
+# check validity of generated sgml files (if any)
+if ls $dir/$suite/docs/xml/*.sgml 1> /dev/null 2>&1; then
+ nok=0
+ for file in $dir/$suite/docs/xml/*.sgml; do
+ xmllint --noout --noent $file
+ if test $? != 0 ; then
+ echo 1>&2 "sgml validity check failed for $file"
+ nok=`expr $nok + 1`;
+ fi
+ done
+ if test $nok -gt 0 ; then failed=`expr $failed + 1`; fi
+ tested=`expr $tested + 1`
+fi
# check validity of devhelp2 files
nok=0
if test $nok -gt 0 ; then failed=`expr $failed + 1`; fi
tested=`expr $tested + 1`
-# check that log files have only one line (the command)
-# discard references to launchapd bugs
nok=0
-DISCARD_PATTERN='Please fix https://bugs.launchpad.net/ubuntu/+source/gtk-doc/+bug/[0-9]* . For now run:
+# check that log files have only one line (the command)
+# - discard references to launchapd bugs
+# - discard errors for missing optional tools.
+DISCARD_PATTERN1='Please fix https://bugs.launchpad.net/ubuntu/+source/gtk-doc/+bug/[0-9]* . For now run:
gunzip .*.gz
'
+DISCARD_PATTERN2='dblatex or fop must be installed.'
for file in $dir/$suite/docs/gtkdoc-*.log; do
# skip this in verbose mode as we'll have more text
if test "x${V}" = "x1"; then
;;
esac
- lines=`grep -v -x -G -e "$DISCARD_PATTERN" $file | wc -l | cut -d' ' -f1`
+ # count expected lines
+ lines=`grep -v -x -G -e "$DISCARD_PATTERN1" $file | grep -v -x -G -e "$DISCARD_PATTERN2" | wc -l | cut -d' ' -f1`
if test $lines -gt $expected_lines; then
echo 1>&2 "expected no more than $expected_lines log line in $file, but got $lines"
nok=`expr $nok + 1`;
slist, doc_comments = self.scanHeaderContent([header])
self.assertDecl('data', expected, slist)
+ def test_HandleDeprecatedMemberDecorator(self):
+ """Struct with deprecated members."""
+ header = textwrap.dedent("""\
+ struct data {
+ int x1 G_GNUC_DEPRECATED;
+ int x2 G_GNUC_DEPRECATED_FOR(replacement);
+ };""")
+ expected = textwrap.dedent("""\
+ struct data {
+ int x1;
+ int x2;
+ };""")
+ scan.InitScanner(self.options)
+ slist, doc_comments = self.scanHeaderContent(
+ header.splitlines(keepends=True))
+ self.assertDecl('data', expected, slist)
+
class ScanHeaderContentUnions(ScanHeaderContentTestCase):
"""Test parsing of union declarations."""
+++ /dev/null
-#!/bin/sh
-
-suite="tools"
-
-failed=0
-tested=0
-
-echo "Running suite(s): gtk-doc-$suite";
-
-# we use 'which' here as we override the path in TEST_ENVIRONMENT
-
-
-# test shell scripts
-for file in gtkdocize; do
- sh -n `which $file`
- if test $? != 0 ; then failed=`expr $failed + 1`; fi
- tested=`expr $tested + 1`
-done
-
-
-# test xsl files
-for file in $ABS_TOP_SRCDIR/*.xsl; do
- xmllint --noout --noent $file
- if test $? != 0 ; then failed=`expr $failed + 1`; fi
- tested=`expr $tested + 1`
-done
-
-
-# test python scripts
-# TODO: also test the module files
-for file in gtkdoc-check gtkdoc-depscan gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mkhtml gtkdoc-mkhtml2 gtkdoc-mkman gtkdoc-mkpdf gtkdoc-rebase gtkdoc-scangobj; do
- fullfile=`which $file`
- /usr/bin/python3 -m py_compile $fullfile
- if test $? != 0 ; then failed=`expr $failed + 1`; fi
- tested=`expr $tested + 1`
-done
-
-
-# summary
-successes=`expr $tested - $failed`
-
-rate=`expr 100 \* $successes / $tested`;
-echo "$rate %: Checks $tested, Failures: $failed"
-
-test $failed = 0
-exit $?
--- /dev/null
+#!/usr/bin/python3
+# canonicalize html dirs to ease comaring them
+#
+# run as:
+# ./tools/c10e-html html
+
+import argparse
+import glob
+import re
+import os
+import sys
+
+from bs4 import BeautifulSoup
+
+
+def prettify(filename, parser='lxml', fixup=False):
+ with open(filename, 'r') as doc:
+ soup = BeautifulSoup(doc.read(), parser)
+ with open(filename, 'w') as doc:
+ html = soup.prettify()
+ if fixup:
+ # strip things that mkhtml2 is not producing to reduce the diff
+ html = html.replace('a class="link" href', 'a href')
+ html = html.replace(' target="_top"', '')
+ html = html.replace('summary="Navigation header" ', '')
+ html = html.replace(""" <a name="idx">
+ </a>
+""", '')
+ html = re.sub(""" <div class="footer">
+ <hr/>
+ Generated by GTK-Doc V[.0-9]*
+ </div>
+""", '', html)
+ html = re.sub(r'\s*<p>\s*</p>', '', html)
+ html = re.sub(r'\s*<a name="id-[.0-9]+">\s*</a>', '', html)
+ html = re.sub(r'\s*<div class="titlepage">\s*</div>', '', html)
+ html = re.sub(r'\s*<meta content="DocBook[^>]*>', '', html)
+ html = re.sub(r'\s*<meta content="GTK-Doc[^>]*>', '', html)
+ doc.write(html)
+
+
+def main(htmldir):
+ for filename in glob.glob(os.path.join(htmldir, '*.devhelp2')):
+ prettify(filename, parser='lxml-xml')
+ for filename in glob.glob(os.path.join(htmldir, '*.html')):
+ prettify(filename, fixup=True)
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(
+ description='c10e-html - canonicalize html files for diffing')
+ parser.add_argument('args', nargs='*', help='HTML_DIR')
+
+ options = parser.parse_args()
+ if len(options.args) < 1:
+ sys.exit('Too few arguments')
+
+ main(options.args[0])
--- /dev/null
+#!/usr/bin/env python3
+# -*- python; coding: utf-8 -*-
+#
+# gtk-doc - GTK DocBook documentation generator.
+# Copyright (C) 2017 Stefan Sauer
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+
+"""Migrate from inline docbook markup to markdown.
+
+The tool converts markup in comments for the given source file(s). If --dry-run
+is given it would only report that docbook tags were found with exit code 1.
+To convert interatively one would make a copy of the docs/xml dir, run the
+migration tool for some sources, rebuild the docs and compare the new xml.
+If it looks the same (or similar enough), submit the changes and repeat for more
+files.
+
+Examples:
+python3 tools/db2md.py --dry-run tests/*/src/*.{c,h} | sed -e 's/^ *//' | sort | uniq -c | sort -g
+"""
+
+import argparse
+import logging
+import os
+import re
+import sys
+import xml.etree.ElementTree as ET
+
+
+def print_xml(node, depth=0):
+ # if node.text:
+ # print(' ' * depth, node.text)
+ for child in node:
+ print(' ' * depth, '<%s %s>' % (child.tag, child.attrib))
+ print_xml(child, depth + 1)
+ # if node.tail:
+ # print(' ' * depth, node.tail)
+
+
+def convert_block(dry_run, filename, lines, beg, end):
+ logging.debug("%s: scan block %d..%d", filename, beg, end)
+
+ # get indentation
+ line = lines[beg]
+ indent = line.find('* ')
+ if indent == -1:
+ logging.warning("%s:%d: missing '*' in comment?", filename, beg)
+ return 0
+
+ indent += 2
+
+ found_docbook = 0
+ end_skip = None
+ content = ''
+ for ix in range(beg, end):
+ # scan for docbook tags
+ line = lines[ix]
+ content += line[indent:]
+
+ if not re.search(r'^\s*\*', line):
+ logging.warning("%s:%d: missing '*' in comment?", filename, ix)
+ continue
+
+ line = line[indent:]
+
+ # skip |[ ... ]| and <![CDATA[ ... ]]> blocks
+ if end_skip:
+ if re.search(end_skip, line):
+ logging.debug("%s:%d: skip code block end", filename, ix)
+ end_skip = None
+ continue
+ else:
+ if re.search(r'\|\[', line):
+ logging.debug("%s:%d: skip code block start", filename, ix)
+ end_skip = r'\]\|'
+ continue
+ # if re.search(r'<!\[CDATA\[', line):
+ # logging.debug("%s:%d: skip code block start", filename, ix)
+ # end_skip = r'\]\]>'
+ # continue
+
+ # TODO: skip `...` blocks
+ # check for historic non markdown compatible chars
+ if re.search(r'\s\*\w+[\s.]', line):
+ logging.warning("%s:%d: leading '*' needs escaping: '%s'", filename, ix, line)
+ # if re.search(r'\s\w+\*[\s.]', line):
+ # logging.warning("%s:%d: trailing '*' needs escaping: '%s'", filename, ix, line)
+ if re.search(r'\s_\w+[\s.]', line):
+ logging.warning("%s:%d: leading '_' needs escaping: '%s'", filename, ix, line)
+ # if re.search(r'\s\w+_[\s.]', line):
+ # logging.warning("%s:%d: trailing '_' needs escaping: '%s'", filename, ix, line)
+
+ # look for docbook
+ for m in re.finditer(r'<([^>]*)>', line):
+ tag = m.group(1)
+ tag_name = tag.split(' ')[0]
+ # check if it is a valid xml element name
+ if not re.search(r'^/?[a-z_:][a-z0-9_:.-]*/?$', tag_name, re.I):
+ continue
+
+ found_docbook = 1
+ break
+ # if dry_run:
+ # # python3 tools/db2md.py --dry-run tests/*/src/*.{c,h} | \
+ # # cut -d':' -f3- | sort | uniq -c | sort -g
+ # print('%s:%d:<%s>' % (filename, ix, tag_name.replace('/', '')))
+
+ if found_docbook:
+ # add a fake root
+ content = '<gtkdoc>' + content + '</gtkdoc>'
+ # TODO: protect |[ ... ]| sections, use CDATA?s
+ try:
+ root = ET.fromstring(content)
+ except ET.ParseError:
+ return 0
+
+ if not root:
+ return 0
+
+ if dry_run:
+ print('%s:%d:' % (filename, ix))
+ print_xml(root)
+ else:
+ # TODO: convert_tags()
+ pass
+
+ return found_docbook
+
+
+def convert_file(dry_run, filename):
+ """Scan scan a single file.
+
+ Returns: 0 if no doocbook was found
+ """
+
+ found_docbook = 0
+ lines = None
+ with open(filename, 'r', encoding='utf-8') as f:
+ lines = f.read().split('\n')
+
+ logging.debug("%s: read file with %d lines", filename, len(lines))
+
+ beg = end = -1
+ for ix in range(len(lines)):
+ line = lines[ix]
+ # logging.debug("%s:%d: %d,%d: %s", filename, ix, beg, end, line)
+ if beg == -1 and end == -1:
+ if re.search(r'^\s*/\*.*\*/', line):
+ pass
+ elif re.search(r'^\s*/\*\*(\s|$)', line):
+ logging.debug("%s:%d: comment start", filename, ix)
+ beg = ix
+ elif beg > -1 and end == -1:
+ if re.search(r'^\s*\*+/', line):
+ logging.debug("%s:%d: comment end", filename, ix)
+ end = ix
+
+ if beg > -1 and end > -1:
+ beg += 1
+ end -= 1
+ if beg < end:
+ found_docbook = found_docbook | convert_block(dry_run, filename, lines, beg, end)
+ beg = end = -1
+
+ return found_docbook
+
+
+def main(dry_run, files):
+ """Scan for docbook tags in comments. If not in dry_run mode rewrite them as
+ markdown. Report the files that contain(ed) docbook tags.
+
+ Returns: 0 if no doocbook was found
+ """
+
+ found_docbook = 0
+ for f in files:
+ found_docbook = found_docbook | convert_file(dry_run, f)
+ return found_docbook
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(
+ description='db2md - convert docbook in comment to markdown')
+ parser.add_argument('--dry-run', default=False, action='store_true',
+ help='Only print files with docbook comments.')
+ parser.add_argument('sources', nargs='*')
+ options = parser.parse_args()
+ if len(options.sources) == 0:
+ sys.exit('Too few arguments')
+
+ log_level = os.environ.get('GTKDOC_TRACE')
+ if log_level == '':
+ log_level = 'INFO'
+ if log_level:
+ logging.basicConfig(stream=sys.stdout,
+ level=logging.getLevelName(log_level.upper()),
+ format='%(asctime)s:%(filename)s:%(funcName)s:%(lineno)d:%(levelname)s:%(message)s')
+
+ sys.exit(main(options.dry_run, options.sources))
--- /dev/null
+#!/bin/sh
+# git hook to ensure code style
+# cp tools/git-pre-commit .git/hooks/pre-commit
+#
+# TODO:
+# pylint -r n -f parseable $files
+
+which >/dev/null pep8 || (echo "please install pep8"; exit )
+which >/dev/null autopep8 || (echo "please install autopep8"; exit )
+which >/dev/null pyflakes || (echo "please install pyflakes"; exit )
+
+files=$(git diff --name-only --staged --diff-filter=ACMRTUXB | egrep "*.py$")
+
+if test -n "$files"; then
+ pep8 --max-line-length=120 $files
+ res=$?
+ if [ $res -ne 0 ]; then
+ echo
+ autopep8 --max-line-length=120 --diff $files
+ echo
+ echo "To fix run: autopep8 --max-line-length=120 -i $files"
+ else
+ pyflakes $files
+ res=$?
+ fi
+ exit $res
+fi