From: Mark Doffman Date: Tue, 17 Feb 2009 10:28:02 +0000 (+0000) Subject: 2009-02-17 Mark Doffman X-Git-Tag: AT_SPI2_ATK_2_12_0~550 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git;a=commitdiff_plain;h=67ed9b0ddda1d91667065104bcf104037bd9f97e 2009-02-17 Mark Doffman Changes required to pass unit tests on ARM target. * spi-common/bitarray.h Set bit in array macro was failing on ARM * spi-common/generated-types.h Check in, do not generate for now. ARM target doesn't have XSLT library version necessary. * autogen.sh. Use GNOME autogen. Old version had problems on solaris and also in Scratchbox. --- diff --git a/autogen.sh b/autogen.sh index 7a9c5ef..fdc9e53 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,1491 +1,496 @@ #!/bin/sh -# a u t o g e n . s h -# -# Copyright (c) 2005-2007 United States Government as represented by -# the U.S. Army Research Laboratory. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# -# 3. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS -# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -### -# -# Script for automatically preparing the sources for compilation by -# performing the myrid of necessary steps. The script attempts to -# detect proper version support, and outputs warnings about particular -# systems that have autotool peculiarities. -# -# Basically, if everything is set up and installed correctly, the -# script will validate that minimum versions of the GNU Build System -# tools are installed, account for several common configuration -# issues, and then simply run autoreconf for you. -# -# If autoreconf fails, which can happen for many valid configurations, -# this script proceeds to run manual preparation steps effectively -# providing a POSIX shell script (mostly complete) reimplementation of -# autoreconf. -# -# The AUTORECONF, AUTOCONF, AUTOMAKE, LIBTOOLIZE, ACLOCAL, AUTOHEADER -# environment variables and corresponding _OPTIONS variables (e.g. -# AUTORECONF_OPTIONS) may be used to override the default automatic -# detection behaviors. Similarly the _VERSION variables will override -# the minimum required version numbers. -# -# Examples: -# -# To obtain help on usage: -# ./autogen.sh --help -# -# To obtain verbose output: -# ./autogen.sh --verbose -# -# To skip autoreconf and prepare manually: -# AUTORECONF=false ./autogen.sh -# -# To verbosely try running with an older (unsupported) autoconf: -# AUTOCONF_VERSION=2.50 ./autogen.sh --verbose -# -# Author: Christopher Sean Morrison -# -###################################################################### - -# set to minimum acceptible version of autoconf -if [ "x$AUTOCONF_VERSION" = "x" ] ; then - AUTOCONF_VERSION=2.52 -fi -# set to minimum acceptible version of automake -if [ "x$AUTOMAKE_VERSION" = "x" ] ; then - AUTOMAKE_VERSION=1.6.0 -fi -# set to minimum acceptible version of libtool -if [ "x$LIBTOOL_VERSION" = "x" ] ; then - LIBTOOL_VERSION=1.4.2 -fi +# Run this to generate all the initial makefiles, etc. + +#name of package +test "$PKG_NAME" || PKG_NAME=Package +test "$srcdir" || srcdir=. + +# default version requirements ... +test "$REQUIRED_AUTOCONF_VERSION" || REQUIRED_AUTOCONF_VERSION=2.53 +test "$REQUIRED_AUTOMAKE_VERSION" || REQUIRED_AUTOMAKE_VERSION=1.9 +test "$REQUIRED_LIBTOOL_VERSION" || REQUIRED_LIBTOOL_VERSION=1.5 +test "$REQUIRED_GETTEXT_VERSION" || REQUIRED_GETTEXT_VERSION=0.12 +test "$REQUIRED_GLIB_GETTEXT_VERSION" || REQUIRED_GLIB_GETTEXT_VERSION=2.2.0 +test "$REQUIRED_INTLTOOL_VERSION" || REQUIRED_INTLTOOL_VERSION=0.30 +test "$REQUIRED_PKG_CONFIG_VERSION" || REQUIRED_PKG_CONFIG_VERSION=0.14.0 +test "$REQUIRED_GTK_DOC_VERSION" || REQUIRED_GTK_DOC_VERSION=1.0 +test "$REQUIRED_DOC_COMMON_VERSION" || REQUIRED_DOC_COMMON_VERSION=2.3.0 +test "$REQUIRED_GNOME_DOC_UTILS_VERSION" || REQUIRED_GNOME_DOC_UTILS_VERSION=0.4.2 + +# a list of required m4 macros. Package can set an initial value +test "$REQUIRED_M4MACROS" || REQUIRED_M4MACROS= +test "$FORBIDDEN_M4MACROS" || FORBIDDEN_M4MACROS= + +# Not all echo versions allow -n, so we check what is possible. This test is +# based on the one in autoconf. +ECHO_C= +ECHO_N= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ;; + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac +# some terminal codes ... +boldface="`tput bold 2>/dev/null`" +normal="`tput sgr0 2>/dev/null`" +printbold() { + echo $ECHO_N "$boldface" $ECHO_C + echo "$@" + echo $ECHO_N "$normal" $ECHO_C +} +printerr() { + echo "$@" >&2 +} -################## -# ident function # -################## -ident ( ) { - # extract copyright from header - __copyright="`grep Copyright $AUTOGEN_SH | head -${HEAD_N}1 | awk '{print $4}'`" - if [ "x$__copyright" = "x" ] ; then - __copyright="`date +%Y`" - fi +# Usage: +# compare_versions MIN_VERSION ACTUAL_VERSION +# returns true if ACTUAL_VERSION >= MIN_VERSION +compare_versions() { + ch_min_version=$1 + ch_actual_version=$2 + ch_status=0 + IFS="${IFS= }"; ch_save_IFS="$IFS"; IFS="." + set $ch_actual_version + for ch_min in $ch_min_version; do + ch_cur=`echo $1 | sed 's/[^0-9].*$//'`; shift # remove letter suffixes + if [ -z "$ch_min" ]; then break; fi + if [ -z "$ch_cur" ]; then ch_status=1; break; fi + if [ $ch_cur -gt $ch_min ]; then break; fi + if [ $ch_cur -lt $ch_min ]; then ch_status=1; break; fi + done + IFS="$ch_save_IFS" + return $ch_status +} - # extract version from CVS Id string - __id="$Id: autogen.sh,v 14.97 2007/06/18 22:25:02 brlcad Exp $" - __version="`echo $__id | sed 's/.*\([0-9][0-9][0-9][0-9]\)[-\/]\([0-9][0-9]\)[-\/]\([0-9][0-9]\).*/\1\2\3/'`" - if [ "x$__version" = "x" ] ; then - __version="" +# Usage: +# version_check PACKAGE VARIABLE CHECKPROGS MIN_VERSION SOURCE +# checks to see if the package is available +version_check() { + vc_package=$1 + vc_variable=$2 + vc_checkprogs=$3 + vc_min_version=$4 + vc_source=$5 + vc_status=1 + + vc_checkprog=`eval echo "\\$$vc_variable"` + if [ -n "$vc_checkprog" ]; then + printbold "using $vc_checkprog for $vc_package" + return 0 fi - echo "autogen.sh build preparation script by Christopher Sean Morrison" - echo "revised 3-clause BSD-style license, copyright (c) $__copyright" - echo "script version $__version, ISO/IEC 9945 POSIX shell script" + if test "x$vc_package" = "xautomake" -a "x$vc_min_version" = "x1.4"; then + vc_comparator="=" + else + vc_comparator=">=" + fi + printbold "checking for $vc_package $vc_comparator $vc_min_version..." + for vc_checkprog in $vc_checkprogs; do + echo $ECHO_N " testing $vc_checkprog... " $ECHO_C + if $vc_checkprog --version < /dev/null > /dev/null 2>&1; then + vc_actual_version=`$vc_checkprog --version | head -n 1 | \ + sed 's/^.*[ ]\([0-9.]*[a-z]*\).*$/\1/'` + if compare_versions $vc_min_version $vc_actual_version; then + echo "found $vc_actual_version" + # set variables + eval "$vc_variable=$vc_checkprog; \ + ${vc_variable}_VERSION=$vc_actual_version" + vc_status=0 + break + else + echo "too old (found version $vc_actual_version)" + fi + else + echo "not found." + fi + done + if [ "$vc_status" != 0 ]; then + printerr "***Error***: You must have $vc_package $vc_comparator $vc_min_version installed" + printerr " to build $PKG_NAME. Download the appropriate package for" + printerr " from your distribution or get the source tarball at" + printerr " $vc_source" + printerr + exit $vc_status + fi + return $vc_status } +# Usage: +# require_m4macro filename.m4 +# adds filename.m4 to the list of required macros +require_m4macro() { + case "$REQUIRED_M4MACROS" in + $1\ * | *\ $1\ * | *\ $1) ;; + *) REQUIRED_M4MACROS="$REQUIRED_M4MACROS $1" ;; + esac +} -################## -# USAGE FUNCTION # -################## -usage ( ) { - echo "Usage: $AUTOGEN_SH [-h|--help] [-v|--verbose] [-q|--quiet] [--version]" - echo " --help Help on $NAME_OF_AUTOGEN usage" - echo " --verbose Verbose progress output" - echo " --quiet Quiet suppressed progress output" - echo " --version Only perform GNU Build System version checks" - echo - echo "Description: This script will validate that minimum versions of the" - echo "GNU Build System tools are installed and then run autoreconf for you." - echo "Should autoreconf fail, manual preparation steps will be run" - echo "potentially accounting for several common preparation issues. The" - - echo "AUTORECONF, AUTOCONF, AUTOMAKE, LIBTOOLIZE, ACLOCAL, AUTOHEADER," - echo "PROJECT, & CONFIGURE environment variables and corresponding _OPTIONS" - echo "variables (e.g. AUTORECONF_OPTIONS) may be used to override the" - echo "default automatic detection behavior." - echo - - ident - - return 0 +forbid_m4macro() { + case "$FORBIDDEN_M4MACROS" in + $1\ * | *\ $1\ * | *\ $1) ;; + *) FORBIDDEN_M4MACROS="$FORBIDDEN_M4MACROS $1" ;; + esac } +# Usage: +# add_to_cm_macrodirs dirname +# Adds the dir to $cm_macrodirs, if it's not there yet. +add_to_cm_macrodirs() { + case $cm_macrodirs in + "$1 "* | *" $1 "* | *" $1") ;; + *) cm_macrodirs="$cm_macrodirs $1";; + esac +} -########################## -# VERSION_ERROR FUNCTION # -########################## -version_error ( ) { - if [ "x$1" = "x" ] ; then - echo "INTERNAL ERROR: version_error was not provided a version" - exit 1 - fi - if [ "x$2" = "x" ] ; then - echo "INTERNAL ERROR: version_error was not provided an application name" - exit 1 - fi - $ECHO - $ECHO "ERROR: To prepare the ${PROJECT} build system from scratch," - $ECHO " at least version $1 of $2 must be installed." - $ECHO - $ECHO "$NAME_OF_AUTOGEN does not need to be run on the same machine that will" - $ECHO "run configure or make. Either the GNU Autotools will need to be installed" - $ECHO "or upgraded on this system, or $NAME_OF_AUTOGEN must be run on the source" - $ECHO "code on another system and then transferred to here. -- Cheers!" - $ECHO +# Usage: +# print_m4macros_error +# Prints an error message saying that autoconf macros were misused +print_m4macros_error() { + printerr "***Error***: some autoconf macros required to build $PKG_NAME" + printerr " were not found in your aclocal path, or some forbidden" + printerr " macros were found. Perhaps you need to adjust your" + printerr " ACLOCAL_FLAGS?" + printerr } -########################## -# VERSION_CHECK FUNCTION # -########################## -version_check ( ) { - if [ "x$1" = "x" ] ; then - echo "INTERNAL ERROR: version_check was not provided a minimum version" - exit 1 - fi - _min="$1" - if [ "x$2" = "x" ] ; then - echo "INTERNAL ERROR: version check was not provided a comparison version" - exit 1 +# Usage: +# check_m4macros +# Checks that all the requested macro files are in the aclocal macro path +# Uses REQUIRED_M4MACROS and ACLOCAL variables. +check_m4macros() { + # construct list of macro directories + cm_macrodirs=`$ACLOCAL --print-ac-dir` + # aclocal also searches a version specific dir, eg. /usr/share/aclocal-1.9 + # but it contains only Automake's own macros, so we can ignore it. + + # Read the dirlist file, supported by Automake >= 1.7. + # If AUTOMAKE was defined, no version was detected. + if [ -z "$AUTOMAKE_VERSION" ] || compare_versions 1.7 $AUTOMAKE_VERSION && [ -s $cm_macrodirs/dirlist ]; then + cm_dirlist=`sed 's/[ ]*#.*//;/^$/d' $cm_macrodirs/dirlist` + if [ -n "$cm_dirlist" ] ; then + for cm_dir in $cm_dirlist; do + if [ -d $cm_dir ]; then + add_to_cm_macrodirs $cm_dir + fi + done + fi fi - _cur="$2" - - # needed to handle versions like 1.10 and 1.4-p6 - _min="`echo ${_min}. | sed 's/[^0-9]/./g' | sed 's/\.\././g'`" - _cur="`echo ${_cur}. | sed 's/[^0-9]/./g' | sed 's/\.\././g'`" - _min_major="`echo $_min | cut -d. -f1`" - _min_minor="`echo $_min | cut -d. -f2`" - _min_patch="`echo $_min | cut -d. -f3`" - - _cur_major="`echo $_cur | cut -d. -f1`" - _cur_minor="`echo $_cur | cut -d. -f2`" - _cur_patch="`echo $_cur | cut -d. -f3`" + # Parse $ACLOCAL_FLAGS + set - $ACLOCAL_FLAGS + while [ $# -gt 0 ]; do + if [ "$1" = "-I" ]; then + add_to_cm_macrodirs "$2" + shift + fi + shift + done - if [ "x$_min_major" = "x" ] ; then - _min_major=0 - fi - if [ "x$_min_minor" = "x" ] ; then - _min_minor=0 - fi - if [ "x$_min_patch" = "x" ] ; then - _min_patch=0 - fi - if [ "x$_cur_minor" = "x" ] ; then - _cur_major=0 - fi - if [ "x$_cur_minor" = "x" ] ; then - _cur_minor=0 - fi - if [ "x$_cur_patch" = "x" ] ; then - _cur_patch=0 + cm_status=0 + if [ -n "$REQUIRED_M4MACROS" ]; then + printbold "Checking for required M4 macros..." + # check that each macro file is in one of the macro dirs + for cm_macro in $REQUIRED_M4MACROS; do + cm_macrofound=false + for cm_dir in $cm_macrodirs; do + if [ -f "$cm_dir/$cm_macro" ]; then + cm_macrofound=true + break + fi + # The macro dir in Cygwin environments may contain a file + # called dirlist containing other directories to look in. + if [ -f "$cm_dir/dirlist" ]; then + for cm_otherdir in `cat $cm_dir/dirlist`; do + if [ -f "$cm_otherdir/$cm_macro" ]; then + cm_macrofound=true + break + fi + done + fi + done + if $cm_macrofound; then + : + else + printerr " $cm_macro not found" + cm_status=1 + fi + done fi - - $VERBOSE_ECHO "Checking if ${_cur_major}.${_cur_minor}.${_cur_patch} is greater than ${_min_major}.${_min_minor}.${_min_patch}" - - if [ $_min_major -lt $_cur_major ] ; then - return 0 - elif [ $_min_major -eq $_cur_major ] ; then - if [ $_min_minor -lt $_cur_minor ] ; then - return 0 - elif [ $_min_minor -eq $_cur_minor ] ; then - if [ $_min_patch -lt $_cur_patch ] ; then - return 0 - elif [ $_min_patch -eq $_cur_patch ] ; then - return 0 + if [ "$cm_status" != 0 ]; then + print_m4macros_error + exit $cm_status + fi + if [ -n "$FORBIDDEN_M4MACROS" ]; then + printbold "Checking for forbidden M4 macros..." + # check that each macro file is in one of the macro dirs + for cm_macro in $FORBIDDEN_M4MACROS; do + cm_macrofound=false + for cm_dir in $cm_macrodirs; do + if [ -f "$cm_dir/$cm_macro" ]; then + cm_macrofound=true + break + fi + done + if $cm_macrofound; then + printerr " $cm_macro found (should be cleared from macros dir)" + cm_status=1 fi - fi + done fi - return 1 -} - - -###################################### -# LOCATE_CONFIGURE_TEMPLATE FUNCTION # -###################################### -locate_configure_template ( ) { - _pwd="`pwd`" - if test -f "./configure.ac" ; then - echo "./configure.ac" - elif test -f "./configure.in" ; then - echo "./configure.in" - elif test -f "$_pwd/configure.ac" ; then - echo "$_pwd/configure.ac" - elif test -f "$_pwd/configure.in" ; then - echo "$_pwd/configure.in" - elif test -f "$PATH_TO_AUTOGEN/configure.ac" ; then - echo "$PATH_TO_AUTOGEN/configure.ac" - elif test -f "$PATH_TO_AUTOGEN/configure.in" ; then - echo "$PATH_TO_AUTOGEN/configure.in" + if [ "$cm_status" != 0 ]; then + print_m4macros_error + exit $cm_status fi } +# try to catch the case where the macros2/ directory hasn't been cleared out. +forbid_m4macro gnome-cxx-check.m4 -################## -# argument check # -################## -ARGS="$*" -PATH_TO_AUTOGEN="`dirname $0`" -NAME_OF_AUTOGEN="`basename $0`" -AUTOGEN_SH="$PATH_TO_AUTOGEN/$NAME_OF_AUTOGEN" - -LIBTOOL_M4="${PATH_TO_AUTOGEN}/misc/libtool.m4" - -if [ "x$HELP" = "x" ] ; then - HELP=no -fi -if [ "x$QUIET" = "x" ] ; then - QUIET=no -fi -if [ "x$VERBOSE" = "x" ] ; then - VERBOSE=no -fi -if [ "x$VERSION_ONLY" = "x" ] ; then - VERSION_ONLY=no -fi -if [ "x$AUTORECONF_OPTIONS" = "x" ] ; then - AUTORECONF_OPTIONS="-i -f" -fi -if [ "x$AUTOCONF_OPTIONS" = "x" ] ; then - AUTOCONF_OPTIONS="-f" -fi -if [ "x$AUTOMAKE_OPTIONS" = "x" ] ; then - AUTOMAKE_OPTIONS="-a -c -f" -fi -ALT_AUTOMAKE_OPTIONS="-a -c" -if [ "x$LIBTOOLIZE_OPTIONS" = "x" ] ; then - LIBTOOLIZE_OPTIONS="--automake -c -f" -fi -ALT_LIBTOOLIZE_OPTIONS="--automake --copy --force" -if [ "x$ACLOCAL_OPTIONS" = "x" ] ; then - ACLOCAL_OPTIONS="" -fi -if [ "x$AUTOHEADER_OPTIONS" = "x" ] ; then - AUTOHEADER_OPTIONS="" -fi -for arg in $ARGS ; do - case "x$arg" in - x--help) HELP=yes ;; - x-[hH]) HELP=yes ;; - x--quiet) QUIET=yes ;; - x-[qQ]) QUIET=yes ;; - x--verbose) VERBOSE=yes ;; - x-[vV]) VERBOSE=yes ;; - x--version) VERSION_ONLY=yes ;; - *) - echo "Unknown option: $arg" - echo - usage - exit 1 - ;; - esac -done - - -##################### -# environment check # -##################### +want_libtool=false +want_gettext=false +want_glib_gettext=false +want_intltool=false +want_pkg_config=false +want_gtk_doc=false +want_gnome_doc_utils=false -# sanity check before recursions potentially begin -if [ ! -f "$AUTOGEN_SH" ] ; then - echo "INTERNAL ERROR: $AUTOGEN_SH does not exist" - if [ ! "x$0" = "x$AUTOGEN_SH" ] ; then - echo "INTERNAL ERROR: dirname/basename inconsistency: $0 != $AUTOGEN_SH" +configure_files="`find $srcdir -name '{arch}' -prune -o -name '_darcs' -prune -o -name '.??*' -prune -o -name configure.ac -print -o -name configure.in -print`" +for configure_ac in $configure_files; do + dirname=`dirname $configure_ac` + if [ -f $dirname/NO-AUTO-GEN ]; then + echo skipping $dirname -- flagged as no auto-gen + continue fi - exit 1 -fi - -# force locale setting to C so things like date output as expected -LC_ALL=C - -# commands that this script expects -for __cmd in echo head tail pwd ; do - echo "test" | $__cmd > /dev/null 2>&1 - if [ $? != 0 ] ; then - echo "INTERNAL ERROR: '${__cmd}' command is required" - exit 2 + if grep "^A[CM]_PROG_LIBTOOL" $configure_ac >/dev/null || + grep "^LT_INIT" $configure_ac >/dev/null; then + want_libtool=true fi -done -echo "test" | grep "test" > /dev/null 2>&1 -if test ! x$? = x0 ; then - echo "INTERNAL ERROR: grep command is required" - exit 1 -fi -echo "test" | sed "s/test/test/" > /dev/null 2>&1 -if test ! x$? = x0 ; then - echo "INTERNAL ERROR: sed command is required" - exit 1 -fi - - -# determine the behavior of echo -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac - -# determine the behavior of head -case "x`echo 'head' | head -n 1 2>&1`" in - *xhead*) HEAD_N="n " ;; - *) HEAD_N="" ;; -esac - -# determine the behavior of tail -case "x`echo 'tail' | tail -n 1 2>&1`" in - *xtail*) TAIL_N="n " ;; - *) TAIL_N="" ;; -esac - -VERBOSE_ECHO=: -ECHO=: -if [ "x$QUIET" = "xyes" ] ; then - if [ "x$VERBOSE" = "xyes" ] ; then - echo "Verbose output quelled by quiet option. Further output disabled." + if grep "^AM_GNU_GETTEXT" $configure_ac >/dev/null; then + want_gettext=true fi -else - ECHO=echo - if [ "x$VERBOSE" = "xyes" ] ; then - echo "Verbose output enabled" - VERBOSE_ECHO=echo + if grep "^AM_GLIB_GNU_GETTEXT" $configure_ac >/dev/null; then + want_glib_gettext=true fi -fi - - -# allow a recursive run to disable further recursions -if [ "x$RUN_RECURSIVE" = "x" ] ; then - RUN_RECURSIVE=yes -fi - - -################################################ -# check for help arg and bypass version checks # -################################################ -if [ "x`echo $ARGS | sed 's/.*[hH][eE][lL][pP].*/help/'`" = "xhelp" ] ; then - HELP=yes -fi -if [ "x$HELP" = "xyes" ] ; then - usage - $ECHO "---" - $ECHO "Help was requested. No preparation or configuration will be performed." - exit 0 -fi - - -####################### -# set up signal traps # -####################### -untrap_abnormal ( ) { - for sig in 1 2 13 15; do - trap - $sig - done -} - -# do this cleanup whenever we exit. -trap ' - # start from the root - if test -d "$START_PATH" ; then - cd "$START_PATH" + if grep "^AC_PROG_INTLTOOL" $configure_ac >/dev/null || + grep "^IT_PROG_INTLTOOL" $configure_ac >/dev/null; then + want_intltool=true fi - - # restore/delete backup files - if test "x$PFC_INIT" = "x1" ; then - recursive_restore + if grep "^PKG_CHECK_MODULES" $configure_ac >/dev/null; then + want_pkg_config=true fi -' 0 - -# trap SIGHUP (1), SIGINT (2), SIGPIPE (13), SIGTERM (15) -for sig in 1 2 13 15; do - trap ' - $ECHO "" - $ECHO "Aborting $NAME_OF_AUTOGEN: caught signal '$sig'" - - # start from the root - if test -d "$START_PATH" ; then - cd "$START_PATH" - fi - - # clean up on abnormal exit - $VERBOSE_ECHO "rm -rf autom4te.cache" - rm -rf autom4te.cache - - if test -f "acinclude.m4.$$.backup" ; then - $VERBOSE_ECHO "cat acinclude.m4.$$.backup > acinclude.m4" - chmod u+w acinclude.m4 - cat acinclude.m4.$$.backup > acinclude.m4 - - $VERBOSE_ECHO "rm -f acinclude.m4.$$.backup" - rm -f acinclude.m4.$$.backup - fi - - { (exit 1); exit 1; } -' $sig -done - - -############################# -# look for a configure file # -############################# -if [ "x$CONFIGURE" = "x" ] ; then - CONFIGURE="`locate_configure_template`" - if [ ! "x$CONFIGURE" = "x" ] ; then - $VERBOSE_ECHO "Found a configure template: $CONFIGURE" + if grep "^GTK_DOC_CHECK" $configure_ac >/dev/null; then + want_gtk_doc=true fi -else - $ECHO "Using CONFIGURE environment variable override: $CONFIGURE" -fi -if [ "x$CONFIGURE" = "x" ] ; then - if [ "x$VERSION_ONLY" = "xyes" ] ; then - CONFIGURE=/dev/null - else - $ECHO - $ECHO "A configure.ac or configure.in file could not be located implying" - $ECHO "that the GNU Build System is at least not used in this directory. In" - $ECHO "any case, there is nothing to do here without one of those files." - $ECHO - $ECHO "ERROR: No configure.in or configure.ac file found in `pwd`" - exit 1 + if grep "^GNOME_DOC_INIT" $configure_ac >/dev/null; then + want_gnome_doc_utils=true fi -fi -#################### -# get project name # -#################### -if [ "x$PROJECT" = "x" ] ; then - PROJECT="`grep AC_INIT $CONFIGURE | grep -v '.*#.*AC_INIT' | tail -${TAIL_N}1 | sed 's/^[ ]*AC_INIT(\([^,)]*\).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" - if [ "x$PROJECT" = "xAC_INIT" ] ; then - # projects might be using the older/deprecated arg-less AC_INIT .. look for AM_INIT_AUTOMAKE instead - PROJECT="`grep AM_INIT_AUTOMAKE $CONFIGURE | grep -v '.*#.*AM_INIT_AUTOMAKE' | tail -${TAIL_N}1 | sed 's/^[ ]*AM_INIT_AUTOMAKE(\([^,)]*\).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" - fi - if [ "x$PROJECT" = "xAM_INIT_AUTOMAKE" ] ; then - PROJECT="project" + # check to make sure gnome-common macros can be found ... + if grep "^GNOME_COMMON_INIT" $configure_ac >/dev/null || + grep "^GNOME_DEBUG_CHECK" $configure_ac >/dev/null || + grep "^GNOME_MAINTAINER_MODE_DEFINES" $configure_ac >/dev/null; then + require_m4macro gnome-common.m4 fi - if [ "x$PROJECT" = "x" ] ; then - PROJECT="project" + if grep "^GNOME_COMPILE_WARNINGS" $configure_ac >/dev/null || + grep "^GNOME_CXX_WARNINGS" $configure_ac >/dev/null; then + require_m4macro gnome-compiler-flags.m4 fi -else - $ECHO "Using PROJECT environment variable override: $PROJECT" -fi -$ECHO "Preparing the $PROJECT build system...please wait" -$ECHO +done +#tell Mandrake autoconf wrapper we want autoconf 2.5x, not 2.13 +WANT_AUTOCONF_2_5=1 +export WANT_AUTOCONF_2_5 +version_check autoconf AUTOCONF 'autoconf2.50 autoconf autoconf-2.53' $REQUIRED_AUTOCONF_VERSION \ + "http://ftp.gnu.org/pub/gnu/autoconf/autoconf-$REQUIRED_AUTOCONF_VERSION.tar.gz" +AUTOHEADER=`echo $AUTOCONF | sed s/autoconf/autoheader/` + +case $REQUIRED_AUTOMAKE_VERSION in + 1.4*) automake_progs="automake-1.4" ;; + 1.5*) automake_progs="automake-1.10 automake-1.9 automake-1.8 automake-1.7 automake-1.6 automake-1.5" ;; + 1.6*) automake_progs="automake-1.10 automake-1.9 automake-1.8 automake-1.7 automake-1.6" ;; + 1.7*) automake_progs="automake-1.10 automake-1.9 automake-1.8 automake-1.7" ;; + 1.8*) automake_progs="automake-1.10 automake-1.9 automake-1.8" ;; + 1.9*) automake_progs="automake-1.10 automake-1.9" ;; + 1.10*) automake_progs="automake-1.10" ;; +esac +version_check automake AUTOMAKE "$automake_progs" $REQUIRED_AUTOMAKE_VERSION \ + "http://ftp.gnu.org/pub/gnu/automake/automake-$REQUIRED_AUTOMAKE_VERSION.tar.gz" +ACLOCAL=`echo $AUTOMAKE | sed s/automake/aclocal/` -######################## -# check for autoreconf # -######################## -HAVE_AUTORECONF=no -if [ "x$AUTORECONF" = "x" ] ; then - for AUTORECONF in autoreconf ; do - $VERBOSE_ECHO "Checking autoreconf version: $AUTORECONF --version" - $AUTORECONF --version > /dev/null 2>&1 - if [ $? = 0 ] ; then - HAVE_AUTORECONF=yes - break - fi - done -else - HAVE_AUTORECONF=yes - $ECHO "Using AUTORECONF environment variable override: $AUTORECONF" +if $want_libtool; then + version_check libtool LIBTOOLIZE libtoolize $REQUIRED_LIBTOOL_VERSION \ + "http://ftp.gnu.org/pub/gnu/libtool/libtool-$REQUIRED_LIBTOOL_VERSION.tar.gz" + require_m4macro libtool.m4 fi - -########################## -# autoconf version check # -########################## -_acfound=no -if [ "x$AUTOCONF" = "x" ] ; then - for AUTOCONF in autoconf ; do - $VERBOSE_ECHO "Checking autoconf version: $AUTOCONF --version" - $AUTOCONF --version > /dev/null 2>&1 - if [ $? = 0 ] ; then - _acfound=yes - break - fi - done -else - _acfound=yes - $ECHO "Using AUTOCONF environment variable override: $AUTOCONF" +if $want_gettext; then + version_check gettext GETTEXTIZE gettextize $REQUIRED_GETTEXT_VERSION \ + "http://ftp.gnu.org/pub/gnu/gettext/gettext-$REQUIRED_GETTEXT_VERSION.tar.gz" + require_m4macro gettext.m4 fi -_report_error=no -if [ ! "x$_acfound" = "xyes" ] ; then - $ECHO "ERROR: Unable to locate GNU Autoconf." - _report_error=yes -else - _version="`$AUTOCONF --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`" - if [ "x$_version" = "x" ] ; then - _version="0.0.0" - fi - $ECHO "Found GNU Autoconf version $_version" - version_check "$AUTOCONF_VERSION" "$_version" - if [ $? -ne 0 ] ; then - _report_error=yes - fi -fi -if [ "x$_report_error" = "xyes" ] ; then - version_error "$AUTOCONF_VERSION" "GNU Autoconf" - exit 1 +if $want_glib_gettext; then + version_check glib-gettext GLIB_GETTEXTIZE glib-gettextize $REQUIRED_GLIB_GETTEXT_VERSION \ + "ftp://ftp.gtk.org/pub/gtk/v2.2/glib-$REQUIRED_GLIB_GETTEXT_VERSION.tar.gz" + require_m4macro glib-gettext.m4 fi - -########################## -# automake version check # -########################## -_amfound=no -if [ "x$AUTOMAKE" = "x" ] ; then - for AUTOMAKE in automake ; do - $VERBOSE_ECHO "Checking automake version: $AUTOMAKE --version" - $AUTOMAKE --version > /dev/null 2>&1 - if [ $? = 0 ] ; then - _amfound=yes - break - fi - done -else - _amfound=yes - $ECHO "Using AUTOMAKE environment variable override: $AUTOMAKE" +if $want_intltool; then + version_check intltool INTLTOOLIZE intltoolize $REQUIRED_INTLTOOL_VERSION \ + "http://ftp.gnome.org/pub/GNOME/sources/intltool/" + require_m4macro intltool.m4 fi - -_report_error=no -if [ ! "x$_amfound" = "xyes" ] ; then - $ECHO - $ECHO "ERROR: Unable to locate GNU Automake." - _report_error=yes -else - _version="`$AUTOMAKE --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`" - if [ "x$_version" = "x" ] ; then - _version="0.0.0" - fi - $ECHO "Found GNU Automake version $_version" - version_check "$AUTOMAKE_VERSION" "$_version" - if [ $? -ne 0 ] ; then - _report_error=yes - fi -fi -if [ "x$_report_error" = "xyes" ] ; then - version_error "$AUTOMAKE_VERSION" "GNU Automake" - exit 1 +if $want_pkg_config; then + version_check pkg-config PKG_CONFIG pkg-config $REQUIRED_PKG_CONFIG_VERSION \ + "'http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-$REQUIRED_PKG_CONFIG_VERSION.tar.gz" + require_m4macro pkg.m4 fi - -######################## -# check for libtoolize # -######################## -HAVE_LIBTOOLIZE=yes -HAVE_ALT_LIBTOOLIZE=no -_ltfound=no -if [ "x$LIBTOOLIZE" = "x" ] ; then - LIBTOOLIZE=libtoolize - $VERBOSE_ECHO "Checking libtoolize version: $LIBTOOLIZE --version" - $LIBTOOLIZE --version > /dev/null 2>&1 - if [ ! $? = 0 ] ; then - HAVE_LIBTOOLIZE=no - $ECHO - if [ "x$HAVE_AUTORECONF" = "xno" ] ; then - $ECHO "Warning: libtoolize does not appear to be available." - else - $ECHO "Warning: libtoolize does not appear to be available. This means that" - $ECHO "the automatic build preparation via autoreconf will probably not work." - $ECHO "Preparing the build by running each step individually, however, should" - $ECHO "work and will be done automatically for you if autoreconf fails." - fi - - # look for some alternates - for tool in glibtoolize libtoolize15 libtoolize14 libtoolize13 ; do - $VERBOSE_ECHO "Checking libtoolize alternate: $tool --version" - _glibtoolize="`$tool --version > /dev/null 2>&1`" - if [ $? = 0 ] ; then - $VERBOSE_ECHO "Found $tool --version" - _glti="`which $tool`" - if [ "x$_glti" = "x" ] ; then - $VERBOSE_ECHO "Cannot find $tool with which" - continue; - fi - if test ! -f "$_glti" ; then - $VERBOSE_ECHO "Cannot use $tool, $_glti is not a file" - continue; - fi - _gltidir="`dirname $_glti`" - if [ "x$_gltidir" = "x" ] ; then - $VERBOSE_ECHO "Cannot find $tool path with dirname of $_glti" - continue; - fi - if test ! -d "$_gltidir" ; then - $VERBOSE_ECHO "Cannot use $tool, $_gltidir is not a directory" - continue; - fi - HAVE_ALT_LIBTOOLIZE=yes - LIBTOOLIZE="$tool" - $ECHO - $ECHO "Fortunately, $tool was found which means that your system may simply" - $ECHO "have a non-standard or incomplete GNU Autotools install. If you have" - $ECHO "sufficient system access, it may be possible to quell this warning by" - $ECHO "running:" - $ECHO - sudo -V > /dev/null 2>&1 - if [ $? = 0 ] ; then - $ECHO " sudo ln -s $_glti $_gltidir/libtoolize" - $ECHO - else - $ECHO " ln -s $_glti $_gltidir/libtoolize" - $ECHO - $ECHO "Run that as root or with proper permissions to the $_gltidir directory" - $ECHO - fi - _ltfound=yes - break - fi - done - else - _ltfound=yes - fi -else - _ltfound=yes - $ECHO "Using LIBTOOLIZE environment variable override: $LIBTOOLIZE" +if $want_gtk_doc; then + version_check gtk-doc GTKDOCIZE gtkdocize $REQUIRED_GTK_DOC_VERSION \ + "http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/" + require_m4macro gtk-doc.m4 fi - -############################ -# libtoolize version check # -############################ -_report_error=no -if [ ! "x$_ltfound" = "xyes" ] ; then - $ECHO - $ECHO "ERROR: Unable to locate GNU Libtool." - _report_error=yes -else - _version="`$LIBTOOLIZE --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`" - if [ "x$_version" = "x" ] ; then - _version="0.0.0" - fi - $ECHO "Found GNU Libtool version $_version" - version_check "$LIBTOOL_VERSION" "$_version" - if [ $? -ne 0 ] ; then - _report_error=yes - fi -fi -if [ "x$_report_error" = "xyes" ] ; then - version_error "$LIBTOOL_VERSION" "GNU Libtool" - exit 1 +if $want_gnome_doc_utils; then + version_check gnome-doc-utils GNOME_DOC_PREPARE gnome-doc-prepare $REQUIRED_GNOME_DOC_UTILS_VERSION \ + "http://ftp.gnome.org/pub/GNOME/sources/gnome-doc-utils/" fi - -##################### -# check for aclocal # -##################### -if [ "x$ACLOCAL" = "x" ] ; then - for ACLOCAL in aclocal ; do - $VERBOSE_ECHO "Checking aclocal version: $ACLOCAL --version" - $ACLOCAL --version > /dev/null 2>&1 - if [ $? = 0 ] ; then - break - fi - done -else - $ECHO "Using ACLOCAL environment variable override: $ACLOCAL" -fi - - -######################## -# check for autoheader # -######################## -if [ "x$AUTOHEADER" = "x" ] ; then - for AUTOHEADER in autoheader ; do - $VERBOSE_ECHO "Checking autoheader version: $AUTOHEADER --version" - $AUTOHEADER --version > /dev/null 2>&1 - if [ $? = 0 ] ; then - break - fi - done -else - $ECHO "Using AUTOHEADER environment variable override: $AUTOHEADER" +if [ "x$USE_COMMON_DOC_BUILD" = "xyes" ]; then + version_check gnome-common DOC_COMMON gnome-doc-common \ + $REQUIRED_DOC_COMMON_VERSION " " fi +check_m4macros -######################### -# check if version only # -######################### -$VERBOSE_ECHO "Checking whether to only output version information" -if [ "x$VERSION_ONLY" = "xyes" ] ; then - $ECHO - ident - $ECHO "---" - $ECHO "Version requested. No preparation or configuration will be performed." - exit 0 +if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then + printerr "**Warning**: I am going to run \`configure' with no arguments." + printerr "If you wish to pass any to it, please specify them on the" + printerr \`$0\'" command line." + printerr fi - -################################# -# PROTECT_FROM_CLOBBER FUNCTION # -################################# -protect_from_clobber ( ) { - PFC_INIT=1 - - # protect COPYING & INSTALL from overwrite by automake. the - # automake force option will (inappropriately) ignore the existing - # contents of a COPYING and/or INSTALL files (depending on the - # version) instead of just forcing *missing* files like it does - # for AUTHORS, NEWS, and README. this is broken but extremely - # prevalent behavior, so we protect against it by keeping a backup - # of the file that can later be restored. - - if test -f COPYING ; then - if test -f COPYING.$$.protect_from_automake.backup ; then - $VERBOSE_ECHO "Already backed up COPYING in `pwd`" - else - $VERBOSE_ECHO "Backing up COPYING in `pwd`" - $VERBOSE_ECHO "cp -p COPYING COPYING.$$.protect_from_automake.backup" - cp -p COPYING COPYING.$$.protect_from_automake.backup - fi - fi - if test -f INSTALL ; then - if test -f INSTALL.$$.protect_from_automake.backup ; then - $VERBOSE_ECHO "Already backed up INSTALL in `pwd`" - else - $VERBOSE_ECHO "Backing up INSTALL in `pwd`" - $VERBOSE_ECHO "cp -p INSTALL INSTALL.$$.protect_from_automake.backup" - cp -p INSTALL INSTALL.$$.protect_from_automake.backup - fi - fi -} - - -############################## -# RECURSIVE_PROTECT FUNCTION # -############################## -recursive_protect ( ) { - - # for projects using recursive configure, run the build - # preparation steps for the subdirectories. this function assumes - # START_PATH was set to pwd before recursion begins so that - # relative paths work. - - # git 'r done, protect COPYING and INSTALL from being clobbered - protect_from_clobber - - if test -d autom4te.cache ; then - $VERBOSE_ECHO "Found an autom4te.cache directory, deleting it" - $VERBOSE_ECHO "rm -rf autom4te.cache" - rm -rf autom4te.cache - fi - - # find configure template - _configure="`locate_configure_template`" - if [ "x$_configure" = "x" ] ; then - return - fi - # $VERBOSE_ECHO "Looking for configure template found `pwd`/$_configure" - - # look for subdirs - # $VERBOSE_ECHO "Looking for subdirs in `pwd`" - _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $_configure | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[ ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" - CHECK_DIRS="" - for dir in $_det_config_subdirs ; do - if test -d "`pwd`/$dir" ; then - CHECK_DIRS="$CHECK_DIRS \"`pwd`/$dir\"" - fi - done - - # process subdirs - if [ ! "x$CHECK_DIRS" = "x" ] ; then - $VERBOSE_ECHO "Recursively scanning the following directories:" - $VERBOSE_ECHO " $CHECK_DIRS" - for dir in $CHECK_DIRS ; do - $VERBOSE_ECHO "Protecting files from automake in $dir" - cd "$START_PATH" - eval "cd $dir" - - # recursively git 'r done - recursive_protect - done - fi -} # end of recursive_protect - - -############################# -# RESTORE_CLOBBERED FUNCION # -############################# -restore_clobbered ( ) { - - # The automake (and autoreconf by extension) -f/--force-missing - # option may overwrite COPYING and INSTALL even if they do exist. - # Here we restore the files if necessary. - - spacer=no - - # COPYING - if test -f COPYING.$$.protect_from_automake.backup ; then - if test -f COPYING ; then - # compare entire content, restore if needed - if test "x`cat COPYING`" != "x`cat COPYING.$$.protect_from_automake.backup`" ; then - if test "x$spacer" = "xno" ; then - $VERBOSE_ECHO - spacer=yes - fi - # restore the backup - $VERBOSE_ECHO "Restoring COPYING from backup (automake -f likely clobbered it)" - $VERBOSE_ECHO "rm -f COPYING" - rm -f COPYING - $VERBOSE_ECHO "mv COPYING.$$.protect_from_automake.backup COPYING" - mv COPYING.$$.protect_from_automake.backup COPYING - fi # check contents - elif test -f COPYING.$$.protect_from_automake.backup ; then - $VERBOSE_ECHO "mv COPYING.$$.protect_from_automake.backup COPYING" - mv COPYING.$$.protect_from_automake.backup COPYING - fi # -f COPYING - - # just in case - $VERBOSE_ECHO "rm -f COPYING.$$.protect_from_automake.backup" - rm -f COPYING.$$.protect_from_automake.backup - fi # -f COPYING.$$.protect_from_automake.backup - - # INSTALL - if test -f INSTALL.$$.protect_from_automake.backup ; then - if test -f INSTALL ; then - # compare entire content, restore if needed - if test "x`cat INSTALL`" != "x`cat INSTALL.$$.protect_from_automake.backup`" ; then - if test "x$spacer" = "xno" ; then - $VERBOSE_ECHO - spacer=yes - fi - # restore the backup - $VERBOSE_ECHO "Restoring INSTALL from backup (automake -f likely clobbered it)" - $VERBOSE_ECHO "rm -f INSTALL" - rm -f INSTALL - $VERBOSE_ECHO "mv INSTALL.$$.protect_from_automake.backup INSTALL" - mv INSTALL.$$.protect_from_automake.backup INSTALL - fi # check contents - elif test -f INSTALL.$$.protect_from_automake.backup ; then - $VERBOSE_ECHO "mv INSTALL.$$.protect_from_automake.backup INSTALL" - mv INSTALL.$$.protect_from_automake.backup INSTALL - fi # -f INSTALL - - # just in case - $VERBOSE_ECHO "rm -f INSTALL.$$.protect_from_automake.backup" - rm -f INSTALL.$$.protect_from_automake.backup - fi # -f INSTALL.$$.protect_from_automake.backup - - CONFIGURE="`locate_configure_template`" - if [ "x$CONFIGURE" = "x" ] ; then - return - fi - - _aux_dir="`grep AC_CONFIG_AUX_DIR $CONFIGURE | grep -v '.*#.*AC_CONFIG_AUX_DIR' | tail -${TAIL_N}1 | sed 's/^[ ]*AC_CONFIG_AUX_DIR(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" - if test ! -d "$_aux_dir" ; then - _aux_dir=. - fi - - for file in config.guess config.sub ltmain.sh ; do - if test -f "${_aux_dir}/${file}" ; then - $VERBOSE_ECHO "rm -f \"${_aux_dir}/${file}.backup\"" - rm -f "${_aux_dir}/${file}.backup" - fi - done -} # end of restore_clobbered - - -############################## -# RECURSIVE_RESTORE FUNCTION # -############################## -recursive_restore ( ) { - - # restore COPYING and INSTALL from backup if they were clobbered - # for each directory recursively. - - # git 'r undone - restore_clobbered - - # find configure template - _configure="`locate_configure_template`" - if [ "x$_configure" = "x" ] ; then - return - fi - - # look for subdirs - _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $_configure | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[ ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" - CHECK_DIRS="" - for dir in $_det_config_subdirs ; do - if test -d "`pwd`/$dir" ; then - CHECK_DIRS="$CHECK_DIRS \"`pwd`/$dir\"" - fi - done - - # process subdirs - if [ ! "x$CHECK_DIRS" = "x" ] ; then - $VERBOSE_ECHO "Recursively scanning the following directories:" - $VERBOSE_ECHO " $CHECK_DIRS" - for dir in $CHECK_DIRS ; do - $VERBOSE_ECHO "Checking files for automake damage in $dir" - cd "$START_PATH" - eval "cd $dir" - - # recursively git 'r undone - recursive_restore - done - fi -} # end of recursive_restore - - -####################### -# INITIALIZE FUNCTION # -####################### -initialize ( ) { - - # this routine performs a variety of directory-specific - # initializations. some are sanity checks, some are preventive, - # and some are necessary setup detection. - # - # this function sets: - # CONFIGURE - # SEARCH_DIRS - # CONFIG_SUBDIRS - - ################################## - # check for a configure template # - ################################## - CONFIGURE="`locate_configure_template`" - if [ "x$CONFIGURE" = "x" ] ; then - $ECHO - $ECHO "A configure.ac or configure.in file could not be located implying" - $ECHO "that the GNU Build System is at least not used in this directory. In" - $ECHO "any case, there is nothing to do here without one of those files." - $ECHO - $ECHO "ERROR: No configure.in or configure.ac file found in `pwd`" - exit 1 - fi - - ##################### - # detect an aux dir # - ##################### - _aux_dir="`grep AC_CONFIG_AUX_DIR $CONFIGURE | grep -v '.*#.*AC_CONFIG_AUX_DIR' | tail -${TAIL_N}1 | sed 's/^[ ]*AC_CONFIG_AUX_DIR(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" - if test ! -d "$_aux_dir" ; then - _aux_dir=. +topdir=`pwd` +for configure_ac in $configure_files; do + dirname=`dirname $configure_ac` + basename=`basename $configure_ac` + if [ -f $dirname/NO-AUTO-GEN ]; then + echo skipping $dirname -- flagged as no auto-gen + elif [ ! -w $dirname ]; then + echo skipping $dirname -- directory is read only else - $VERBOSE_ECHO "Detected auxillary directory: $_aux_dir" - fi - - ################################ - # detect a recursive configure # - ################################ - CONFIG_SUBDIRS="" - _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $CONFIGURE | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[ ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" - for dir in $_det_config_subdirs ; do - if test -d "`pwd`/$dir" ; then - $VERBOSE_ECHO "Detected recursive configure directory: `pwd`/$dir" - CONFIG_SUBDIRS="$CONFIG_SUBDIRS `pwd`/$dir" + printbold "Processing $configure_ac" + cd $dirname + + # Note that the order these tools are called should match what + # autoconf's "autoupdate" package does. See bug 138584 for + # details. + + # programs that might install new macros get run before aclocal + if grep "^A[CM]_PROG_LIBTOOL" $basename >/dev/null || + grep "^LT_INIT" $basename >/dev/null; then + printbold "Running $LIBTOOLIZE..." + $LIBTOOLIZE --force --copy || exit 1 fi - done - ########################################## - # make sure certain required files exist # - ########################################## - for file in AUTHORS COPYING ChangeLog INSTALL NEWS README ; do - if test ! -f $file ; then - $VERBOSE_ECHO "Touching ${file} since it does not exist" - touch $file + if grep "^AM_GLIB_GNU_GETTEXT" $basename >/dev/null; then + printbold "Running $GLIB_GETTEXTIZE... Ignore non-fatal messages." + echo "no" | $GLIB_GETTEXTIZE --force --copy || exit 1 + elif grep "^AM_GNU_GETTEXT" $basename >/dev/null; then + if grep "^AM_GNU_GETTEXT_VERSION" $basename > /dev/null; then + printbold "Running autopoint..." + autopoint --force || exit 1 + else + printbold "Running $GETTEXTIZE... Ignore non-fatal messages." + echo "no" | $GETTEXTIZE --force --copy || exit 1 + fi fi - done - - ################################################## - # make sure certain generated files do not exist # - ################################################## - for file in config.guess config.sub ltmain.sh ; do - if test -f "${_aux_dir}/${file}" ; then - $VERBOSE_ECHO "mv -f \"${_aux_dir}/${file}\" \"${_aux_dir}/${file}.backup\"" - mv -f "${_aux_dir}/${file}" "${_aux_dir}/${file}.backup" - fi - done - ############################ - # search alternate m4 dirs # - ############################ - SEARCH_DIRS="" - for dir in m4 ; do - if [ -d $dir ] ; then - $VERBOSE_ECHO "Found extra aclocal search directory: $dir" - SEARCH_DIRS="$SEARCH_DIRS -I $dir" + if grep "^AC_PROG_INTLTOOL" $basename >/dev/null || + grep "^IT_PROG_INTLTOOL" $basename >/dev/null; then + printbold "Running $INTLTOOLIZE..." + $INTLTOOLIZE --force --copy --automake || exit 1 fi - done - - ###################################### - # remove any previous build products # - ###################################### - if test -d autom4te.cache ; then - $VERBOSE_ECHO "Found an autom4te.cache directory, deleting it" - $VERBOSE_ECHO "rm -rf autom4te.cache" - rm -rf autom4te.cache - fi -# tcl/tk (and probably others) have a customized aclocal.m4, so can't delete it -# if test -f aclocal.m4 ; then -# $VERBOSE_ECHO "Found an aclocal.m4 file, deleting it" -# $VERBOSE_ECHO "rm -f aclocal.m4" -# rm -f aclocal.m4 -# fi - -} # end of initialize() - - -############## -# initialize # -############## - -# stash path -START_PATH="`pwd`" - -# Before running autoreconf or manual steps, some prep detection work -# is necessary or useful. Only needs to occur once per directory, but -# does need to traverse the entire subconfigure hierarchy to protect -# files from being clobbered even by autoreconf. -recursive_protect - -# start from where we started -cd "$START_PATH" - -# get ready to process -initialize - - -############################################ -# prepare build via autoreconf or manually # -############################################ -reconfigure_manually=no -if [ "x$HAVE_AUTORECONF" = "xyes" ] ; then - $ECHO - $ECHO $ECHO_N "Automatically preparing build ... $ECHO_C" - - $VERBOSE_ECHO "$AUTORECONF $SEARCH_DIRS $AUTORECONF_OPTIONS" - autoreconf_output="`$AUTORECONF $SEARCH_DIRS $AUTORECONF_OPTIONS 2>&1`" - ret=$? - $VERBOSE_ECHO "$autoreconf_output" - - if [ ! $ret = 0 ] ; then - if [ "x$HAVE_ALT_LIBTOOLIZE" = "xyes" ] ; then - if [ ! "x`echo \"$autoreconf_output\" | grep libtoolize | grep \"No such file or directory\"`" = "x" ] ; then - $ECHO - $ECHO "Warning: autoreconf failed but due to what is usually a common libtool" - $ECHO "misconfiguration issue. This problem is encountered on systems that" - $ECHO "have installed libtoolize under a different name without providing a" - $ECHO "symbolic link or without setting the LIBTOOLIZE environment variable." - $ECHO - $ECHO "Restarting the preparation steps with LIBTOOLIZE set to $LIBTOOLIZE" - - export LIBTOOLIZE - RUN_RECURSIVE=no - export RUN_RECURSIVE - untrap_abnormal - - $VERBOSE_ECHO sh $AUTOGEN_SH "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" - sh "$AUTOGEN_SH" "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" - exit $? - fi + if grep "^GTK_DOC_CHECK" $basename >/dev/null; then + printbold "Running $GTKDOCIZE..." + $GTKDOCIZE --copy || exit 1 fi - $ECHO "Warning: $AUTORECONF failed" - - if test -f ltmain.sh ; then - $ECHO "libtoolize being run by autoreconf is not creating ltmain.sh in the auxillary directory like it should" + if [ "x$USE_COMMON_DOC_BUILD" = "xyes" ]; then + printbold "Running gnome-doc-common..." + gnome-doc-common --copy || exit 1 fi - - $ECHO "Attempting to run the preparation steps individually" - reconfigure_manually=yes - fi -else - reconfigure_manually=yes -fi - - -############################ -# LIBTOOL_FAILURE FUNCTION # -############################ -libtool_failure ( ) { - - # libtool is rather error-prone in comparison to the other - # autotools and this routine attempts to compensate for some - # common failures. the output after a libtoolize failure is - # parsed for an error related to AC_PROG_LIBTOOL and if found, we - # attempt to inject a project-provided libtool.m4 file. - - _autoconf_output="$1" - - if [ "x$RUN_RECURSIVE" = "xno" ] ; then - # we already tried the libtool.m4, don't try again - return 1 - fi - - if test -f "$LIBTOOL_M4" ; then - found_libtool="`$ECHO $_autoconf_output | grep AC_PROG_LIBTOOL`" - if test ! "x$found_libtool" = "x" ; then - if test -f acinclude.m4 ; then - rm -f acinclude.m4.$$.backup - $VERBOSE_ECHO "cat acinclude.m4 > acinclude.m4.$$.backup" - cat acinclude.m4 > acinclude.m4.$$.backup - fi - $VERBOSE_ECHO "cat \"$LIBTOOL_M4\" >> acinclude.m4" - chmod u+w acinclude.m4 - cat "$LIBTOOL_M4" >> acinclude.m4 - - # don't keep doing this - RUN_RECURSIVE=no - export RUN_RECURSIVE - untrap_abnormal - - $ECHO - $ECHO "Restarting the preparation steps with libtool macros in acinclude.m4" - $VERBOSE_ECHO sh $AUTOGEN_SH "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" - sh "$AUTOGEN_SH" "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" - exit $? + if grep "^GNOME_DOC_INIT" $basename >/dev/null; then + printbold "Running $GNOME_DOC_PREPARE..." + $GNOME_DOC_PREPARE --force --copy || exit 1 fi - fi -} - -########################### -# MANUAL_AUTOGEN FUNCTION # -########################### -manual_autogen ( ) { + # Now run aclocal to pull in any additional macros needed - ################################################## - # Manual preparation steps taken are as follows: # - # aclocal [-I m4] # - # libtoolize --automake -c -f # - # aclocal [-I m4] # - # autoconf -f # - # autoheader # - # automake -a -c -f # - ################################################## - - ########### - # aclocal # - ########### - $VERBOSE_ECHO "$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS" - aclocal_output="`$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS 2>&1`" - ret=$? - $VERBOSE_ECHO "$aclocal_output" - if [ ! $ret = 0 ] ; then $ECHO "ERROR: $ACLOCAL failed" && exit 2 ; fi - - ############## - # libtoolize # - ############## - need_libtoolize=no - for feature in AC_PROG_LIBTOOL LT_INIT ; do - $VERBOSE_ECHO "Searching for $feature in $CONFIGURE" - found="`grep \"^$feature.*\" $CONFIGURE`" - if [ ! "x$found" = "x" ] ; then - need_libtoolize=yes - break - fi - done - if [ "x$need_libtoolize" = "xyes" ] ; then - if [ "x$HAVE_LIBTOOLIZE" = "xyes" ] ; then - $VERBOSE_ECHO "$LIBTOOLIZE $LIBTOOLIZE_OPTIONS" - libtoolize_output="`$LIBTOOLIZE $LIBTOOLIZE_OPTIONS 2>&1`" - ret=$? - $VERBOSE_ECHO "$libtoolize_output" - - if [ ! $ret = 0 ] ; then $ECHO "ERROR: $LIBTOOLIZE failed" && exit 2 ; fi - else - if [ "x$HAVE_ALT_LIBTOOLIZE" = "xyes" ] ; then - $VERBOSE_ECHO "$LIBTOOLIZE $ALT_LIBTOOLIZE_OPTIONS" - libtoolize_output="`$LIBTOOLIZE $ALT_LIBTOOLIZE_OPTIONS 2>&1`" - ret=$? - $VERBOSE_ECHO "$libtoolize_output" - - if [ ! $ret = 0 ] ; then $ECHO "ERROR: $LIBTOOLIZE failed" && exit 2 ; fi - fi + # if the AC_CONFIG_MACRO_DIR() macro is used, pass that + # directory to aclocal. + m4dir=`cat "$basename" | grep '^AC_CONFIG_MACRO_DIR' | sed -n -e 's/AC_CONFIG_MACRO_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q` + if [ -n "$m4dir" ]; then + m4dir="-I $m4dir" fi + printbold "Running $ACLOCAL..." + $ACLOCAL $m4dir $ACLOCAL_FLAGS || exit 1 - ########### - # aclocal # - ########### - # re-run again as instructed by libtoolize - $VERBOSE_ECHO "$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS" - aclocal_output="`$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS 2>&1`" - ret=$? - $VERBOSE_ECHO "$aclocal_output" - - # libtoolize might put ltmain.sh in the wrong place - if test -f ltmain.sh ; then - if test ! -f "${_aux_dir}/ltmain.sh" ; then - $ECHO - $ECHO "Warning: $LIBTOOLIZE is creating ltmain.sh in the wrong directory" - $ECHO - $ECHO "Fortunately, the problem can be worked around by simply copying the" - $ECHO "file to the appropriate location (${_aux_dir}/). This has been done for you." - $ECHO - $VERBOSE_ECHO "cp -p ltmain.sh \"${_aux_dir}/ltmain.sh\"" - cp -p ltmain.sh "${_aux_dir}/ltmain.sh" - $ECHO $ECHO_N "Continuing build preparation ... $ECHO_C" - fi - fi # ltmain.sh - fi # need_libtoolize - - ############ - # autoconf # - ############ - $VERBOSE_ECHO - $VERBOSE_ECHO "$AUTOCONF $AUTOCONF_OPTIONS" - autoconf_output="`$AUTOCONF $AUTOCONF_OPTIONS 2>&1`" - ret=$? - $VERBOSE_ECHO "$autoconf_output" - - if [ ! $ret = 0 ] ; then - # retry without the -f and check for usage of macros that are too new - ac2_59_macros="AC_C_RESTRICT AC_INCLUDES_DEFAULT AC_LANG_ASSERT AC_LANG_WERROR AS_SET_CATFILE" - ac2_55_macros="AC_COMPILER_IFELSE AC_FUNC_MBRTOWC AC_HEADER_STDBOOL AC_LANG_CONFTEST AC_LANG_SOURCE AC_LANG_PROGRAM AC_LANG_CALL AC_LANG_FUNC_TRY_LINK AC_MSG_FAILURE AC_PREPROC_IFELSE" - ac2_54_macros="AC_C_BACKSLASH_A AC_CONFIG_LIBOBJ_DIR AC_GNU_SOURCE AC_PROG_EGREP AC_PROG_FGREP AC_REPLACE_FNMATCH AC_FUNC_FNMATCH_GNU AC_FUNC_REALLOC AC_TYPE_MBSTATE_T" - - macros_to_search="" - ac_major="`echo ${AUTOCONF_VERSION}. | cut -d. -f1 | sed 's/[^0-9]//g'`" - ac_minor="`echo ${AUTOCONF_VERSION}. | cut -d. -f2 | sed 's/[^0-9]//g'`" - - if [ $ac_major -lt 2 ] ; then - macros_to_search="$ac2_59_macros $ac2_55_macros $ac2_54_macros" - else - if [ $ac_minor -lt 54 ] ; then - macros_to_search="$ac2_59_macros $ac2_55_macros $ac2_54_macros" - elif [ $ac_minor -lt 55 ] ; then - macros_to_search="$ac2_59_macros $ac2_55_macros" - elif [ $ac_minor -lt 59 ] ; then - macros_to_search="$ac2_59_macros" - fi + if grep "GNOME_AUTOGEN_OBSOLETE" aclocal.m4 >/dev/null; then + printerr "*** obsolete gnome macros were used in $configure_ac" fi - configure_ac_macros=__none__ - for feature in $macros_to_search ; do - $VERBOSE_ECHO "Searching for $feature in $CONFIGURE" - found="`grep \"^$feature.*\" $CONFIGURE`" - if [ ! "x$found" = "x" ] ; then - if [ "x$configure_ac_macros" = "x__none__" ] ; then - configure_ac_macros="$feature" - else - configure_ac_macros="$feature $configure_ac_macros" - fi - fi - done - if [ ! "x$configure_ac_macros" = "x__none__" ] ; then - $ECHO - $ECHO "Warning: Unsupported macros were found in $CONFIGURE" - $ECHO - $ECHO "The `echo $CONFIGURE | basename` file was scanned in order to determine if any" - $ECHO "unsupported macros are used that exceed the minimum version" - $ECHO "settings specified within this file. As such, the following macros" - $ECHO "should be removed from configure.ac or the version numbers in this" - $ECHO "file should be increased:" - $ECHO - $ECHO "$configure_ac_macros" - $ECHO - $ECHO $ECHO_N "Ignorantly continuing build preparation ... $ECHO_C" + # Now that all the macros are sorted, run autoconf and autoheader ... + printbold "Running $AUTOCONF..." + $AUTOCONF || exit 1 + if grep "^A[CM]_CONFIG_HEADER" $basename >/dev/null; then + printbold "Running $AUTOHEADER..." + $AUTOHEADER || exit 1 + # this prevents automake from thinking config.h.in is out of + # date, since autoheader doesn't touch the file if it doesn't + # change. + test -f config.h.in && touch config.h.in fi - ################### - # autoconf, retry # - ################### - $VERBOSE_ECHO - $VERBOSE_ECHO "$AUTOCONF" - autoconf_output="`$AUTOCONF 2>&1`" - ret=$? - $VERBOSE_ECHO "$autoconf_output" - - if [ ! $ret = 0 ] ; then - # test if libtool is busted - libtool_failure "$autoconf_output" - - # let the user know what went wrong - cat < /dev/null || cp -pf COPYING.autogen_bak COPYING + rm -f COPYING.autogen_bak + fi + if [ -f INSTALL.autogen_bak ]; then + cmp INSTALL INSTALL.autogen_bak > /dev/null || cp -pf INSTALL.autogen_bak INSTALL + rm -f INSTALL.autogen_bak + fi - # run manual steps for the subdir and any others below - recursive_manual_autogen - done + cd "$topdir" fi -} - - -################################ -# run manual preparation steps # -################################ -if [ "x$reconfigure_manually" = "xyes" ] ; then - $ECHO - $ECHO $ECHO_N "Preparing build ... $ECHO_C" - - recursive_manual_autogen -fi - - -######################### -# restore and summarize # -######################### -cd "$START_PATH" - -# restore COPYING and INSTALL from backup if necessary -recursive_restore +done -# make sure we end up with a configure script -config_ac="`locate_configure_template`" -config="`echo $config_ac | sed 's/\.ac$//' | sed 's/\.in$//'`" -if [ "x$config" = "x" ] ; then - $VERBOSE_ECHO "Could not locate the configure template (from `pwd`)" -fi +conf_flags="--enable-maintainer-mode" -# summarize -$ECHO "done" -$ECHO -if test "x$config" = "x" -o ! -f "$config" ; then - $ECHO "WARNING: The $PROJECT build system should now be prepared but there" - $ECHO "does not seem to be a resulting configure file. This is unexpected" - $ECHO "and likely the result of an error. You should run $NAME_OF_AUTOGEN" - $ECHO "with the --verbose option to get more details on a potential" - $ECHO "misconfiguration." +if test x$NOCONFIGURE = x; then + printbold Running $srcdir/configure $conf_flags "$@" ... + $srcdir/configure $conf_flags "$@" \ + && echo Now type \`make\' to compile $PKG_NAME || exit 1 else - $ECHO "The $PROJECT build system is now prepared. To build here, run:" - $ECHO " $config" - $ECHO " make" + echo Skipping configure process. fi - - -# Local Variables: -# mode: sh -# tab-width: 8 -# sh-basic-offset: 4 -# sh-indentation: 4 -# indent-tabs-mode: t -# End: -# ex: shiftwidth=4 tabstop=8 diff --git a/spi-common/Makefile.am b/spi-common/Makefile.am index f45e6e0..283b8dc 100644 --- a/spi-common/Makefile.am +++ b/spi-common/Makefile.am @@ -19,8 +19,8 @@ spicommoninclude_HEADERS = \ spi-stateset.h \ spi-types.h -BUILT_SOURCES = generated-types.h -CLEANFILES = generated-types.h +#BUILT_SOURCES = generated-types.h +#CLEANFILES = generated-types.h nodist_libspicommon_la_SOURCES = generated-types.h @@ -33,5 +33,5 @@ libspicommon_la_SOURCES = \ spi-stateset.h \ spi-stateset.c -generated-types.h: $(top_srcdir)/xml/spec.xml $(top_srcdir)/tools/c-constants-generator.xsl - xsltproc --stringparam mixed-case-prefix Accessibility_ $(top_srcdir)/tools/c-constants-generator.xsl $< >$@ +#generated-types.h: $(top_srcdir)/xml/spec.xml $(top_srcdir)/tools/c-constants-generator.xsl +# xsltproc --stringparam mixed-case-prefix Accessibility_ $(top_srcdir)/tools/c-constants-generator.xsl $< >$@ diff --git a/spi-common/bitarray.h b/spi-common/bitarray.h index e93dbef..65021e2 100644 --- a/spi-common/bitarray.h +++ b/spi-common/bitarray.h @@ -28,7 +28,7 @@ #define BITARRAY_SEQ_TERM 0xffffffff -#define BITARRAY_SET(p, n) ((p)[n/32] |= (1<<(n))) +#define BITARRAY_SET(p, n) ((p)[n>>5] |= (1<<(n&31))) gint bitarray_to_seq(dbus_uint32_t *array, gint array_size, gint **out); dbus_uint32_t bitarray_from_seq(gint *seq, dbus_uint32_t **out); diff --git a/spi-common/generated-types.h b/spi-common/generated-types.h new file mode 100644 index 0000000..c165cf6 --- /dev/null +++ b/spi-common/generated-types.h @@ -0,0 +1,835 @@ +/* Generated from , version 1.24.0 + + + + !\mainpage AT-SPI Interfaces and Subinterfaces + + This is the main documentation page for the + Assistive Technology Service Provider Interface (AT-SPI). + + \section apps Applications and Interface Components + Namespace Accessibility includes service APIs implemented by + participating applications and their user interface components:\n\n + Accessibility::Accessible\n + Accessibility::Application\n + Accessibility::Desktop\n + Accessibility::Collecgtion\n + Accessibility::Component\n + Accessibility::Hypertext\n + Accessibility::Image\n + Accessibility::Selection\n + Accessibility::StreamableContent\n + Accessibility::Table\n + Accessibility::Text\n + Accessibility::EditableText\n + Accessibility::Value + + \section types Enumerated Types + Accessibility defines a number of key enumerated types, including:\n\n + Accessibility::RelationType\n + Accessibility::Role\n + Accessibility::StateType\n + Accessibility::Event\n + Accessibility::EventDetails \n + + \section Registry + Accessibility also includes Accessibility::Registry, + which is the service used by assistive technologies and related + AT-SPI clients to register interest in certain classes of events, + enumerate the currently available desktop and application list, + and to synthesize certain kinds of device events. + + \section listeners Event Listener Interfaces + Accessibility::EventListener\n + Accessibility::DeviceEventListener + + \section helpers Helper Interfaces + + The following interfaces may be implemented by assistive technologies + themselves, in order to export their services in a consistent manner or + in order to interoperate with other applications or desktop services.\n + + Accessibility::LoginHelper : Implemented by adaptive technologies which + need to participate in user-authentication or login activities, and which + therefore may need negotiation with authentication agents or processes.\n + + Accessibility::Selector [NEW]: Implemented by user agents or assistive + technologies which export lists of choices from which the end-user is + expected to make selections. Useful for various types of remote + activation or intercommunication between multiple ATs. + + */ + +#ifndef _ACCESSIBILITY_H_ +#define _ACCESSIBILITY_H_ +#ifdef __cplusplus +extern "C" { +#endif + +/** + * +Accessibility_LOCALE_TYPE: + * @Accessibility_LOCALE_TYPE_MESSAGES: + * @Accessibility_LOCALE_TYPE_COLLATE: + * @Accessibility_LOCALE_TYPE_CTYPE: + * @Accessibility_LOCALE_TYPE_MONETARY: + * @Accessibility_LOCALE_TYPE_NUMERIC: + * @Accessibility_LOCALE_TYPE_TIME: + * + * + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_LOCALE_TYPE_MESSAGES, + Accessibility_LOCALE_TYPE_COLLATE, + Accessibility_LOCALE_TYPE_CTYPE, + Accessibility_LOCALE_TYPE_MONETARY, + Accessibility_LOCALE_TYPE_NUMERIC, + Accessibility_LOCALE_TYPE_TIME, +} Accessibility_LOCALE_TYPE; + +/** + * NUM_ACCESSIBILITY_LOCALE_TYPES: + * + * 1 higher than the highest valid value of #Accessibility_LOCALE_TYPE. + */ +#define NUM_ACCESSIBILITY_LOCALE_TYPES (5+1) + +/** + * +Accessibility_Collection_SortOrder: + * @Accessibility_Collection_SORT_ORDER_INVALID: + * @Accessibility_Collection_SORT_ORDER_CANONICAL: + * @Accessibility_Collection_SORT_ORDER_FLOW: + * @Accessibility_Collection_SORT_ORDER_TAB: + * @Accessibility_Collection_SORT_ORDER_REVERSE_CANONICAL: + * @Accessibility_Collection_SORT_ORDER_REVERSE_FLOW: + * @Accessibility_Collection_SORT_ORDER_REVERSE_TAB: + * @Accessibility_Collection_SORT_ORDER_LAST_DEFINED: + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_Collection_SORT_ORDER_INVALID, + Accessibility_Collection_SORT_ORDER_CANONICAL, + Accessibility_Collection_SORT_ORDER_FLOW, + Accessibility_Collection_SORT_ORDER_TAB, + Accessibility_Collection_SORT_ORDER_REVERSE_CANONICAL, + Accessibility_Collection_SORT_ORDER_REVERSE_FLOW, + Accessibility_Collection_SORT_ORDER_REVERSE_TAB, + Accessibility_Collection_SORT_ORDER_LAST_DEFINED, +} Accessibility_Collection_SortOrder; + +/** + * NUM_ACCESSIBILITY_SORTORDERS: + * + * 1 higher than the highest valid value of #Accessibility_Collection_SortOrder. + */ +#define NUM_ACCESSIBILITY_SORTORDERS (7+1) + +/** + * +Accessibility_Collection_MatchType: + * @Accessibility_Collection_MATCH_INVALID: + * @Accessibility_Collection_MATCH_ALL: + * @Accessibility_Collection_MATCH_ANY: + * @Accessibility_Collection_MATCH_NONE: + * @Accessibility_Collection_MATCH_EMPTY: + * @Accessibility_Collection_MATCH_LAST_DEFINED: + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_Collection_MATCH_INVALID, + Accessibility_Collection_MATCH_ALL, + Accessibility_Collection_MATCH_ANY, + Accessibility_Collection_MATCH_NONE, + Accessibility_Collection_MATCH_EMPTY, + Accessibility_Collection_MATCH_LAST_DEFINED, +} Accessibility_Collection_MatchType; + +/** + * NUM_ACCESSIBILITY_MATCHTYPES: + * + * 1 higher than the highest valid value of #Accessibility_Collection_MatchType. + */ +#define NUM_ACCESSIBILITY_MATCHTYPES (5+1) + +/** + * +Accessibility_Collection_TreeTraversalType: + * @Accessibility_Collection_TREE_RESTRICT_CHILDREN: + * @Accessibility_Collection_TREE_RESTRICT_SIBLING: + * @Accessibility_Collection_TREE_INORDER: + * @Accessibility_Collection_TREE_LAST_DEFINED: + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_Collection_TREE_RESTRICT_CHILDREN, + Accessibility_Collection_TREE_RESTRICT_SIBLING, + Accessibility_Collection_TREE_INORDER, + Accessibility_Collection_TREE_LAST_DEFINED, +} Accessibility_Collection_TreeTraversalType; + +/** + * NUM_ACCESSIBILITY_TREETRAVERSALTYPES: + * + * 1 higher than the highest valid value of #Accessibility_Collection_TreeTraversalType. + */ +#define NUM_ACCESSIBILITY_TREETRAVERSALTYPES (3+1) + +/** + * +Accessibility_ComponentLayer: + * @Accessibility_LAYER_INVALID: + * @Accessibility_LAYER_BACKGROUND: + * @Accessibility_LAYER_CANVAS: + * @Accessibility_LAYER_WIDGET: + * @Accessibility_LAYER_MDI: + * @Accessibility_LAYER_POPUP: + * @Accessibility_LAYER_OVERLAY: + * @Accessibility_LAYER_WINDOW: + * @Accessibility_LAYER_LAST_DEFINED: + * + * + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_LAYER_INVALID, + Accessibility_LAYER_BACKGROUND, + Accessibility_LAYER_CANVAS, + Accessibility_LAYER_WIDGET, + Accessibility_LAYER_MDI, + Accessibility_LAYER_POPUP, + Accessibility_LAYER_OVERLAY, + Accessibility_LAYER_WINDOW, + Accessibility_LAYER_LAST_DEFINED, +} Accessibility_ComponentLayer; + +/** + * NUM_ACCESSIBILITY_COMPONENTLAYERS: + * + * 1 higher than the highest valid value of #Accessibility_ComponentLayer. + */ +#define NUM_ACCESSIBILITY_COMPONENTLAYERS (8+1) + +/** + * +Accessibility_SeekType: + * @Accessibility_SEEK_SET: + * @Accessibility_SEEK_CURRENT: + * @Accessibility_SEEK_END: + * + * + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_SEEK_SET, + Accessibility_SEEK_CURRENT, + Accessibility_SEEK_END, +} Accessibility_SeekType; + +/** + * NUM_ACCESSIBILITY_SEEKTYPES: + * + * 1 higher than the highest valid value of #Accessibility_SeekType. + */ +#define NUM_ACCESSIBILITY_SEEKTYPES (2+1) + +/** + * +Accessibility_TEXT_BOUNDARY_TYPE: + * @Accessibility_TEXT_BOUNDARY_CHAR: + * @Accessibility_TEXT_BOUNDARY_WORD_START: + * @Accessibility_TEXT_BOUNDARY_WORD_END: + * @Accessibility_TEXT_BOUNDARY_SENTENCE_START: + * @Accessibility_TEXT_BOUNDARY_SENTENCE_END: + * @Accessibility_TEXT_BOUNDARY_LINE_START: + * @Accessibility_TEXT_BOUNDARY_LINE_END: + * + * + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_TEXT_BOUNDARY_CHAR, + Accessibility_TEXT_BOUNDARY_WORD_START, + Accessibility_TEXT_BOUNDARY_WORD_END, + Accessibility_TEXT_BOUNDARY_SENTENCE_START, + Accessibility_TEXT_BOUNDARY_SENTENCE_END, + Accessibility_TEXT_BOUNDARY_LINE_START, + Accessibility_TEXT_BOUNDARY_LINE_END, +} Accessibility_TEXT_BOUNDARY_TYPE; + +/** + * NUM_ACCESSIBILITY_TEXT_BOUNDARY_TYPES: + * + * 1 higher than the highest valid value of #Accessibility_TEXT_BOUNDARY_TYPE. + */ +#define NUM_ACCESSIBILITY_TEXT_BOUNDARY_TYPES (6+1) + +/** + * +Accessibility_TEXT_CLIP_TYPE: + * @Accessibility_TEXT_CLIP_NONE: + * @Accessibility_TEXT_CLIP_MIN: + * @Accessibility_TEXT_CLIP_MAX: + * @Accessibility_TEXT_CLIP_BOTH: + * + * + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_TEXT_CLIP_NONE, + Accessibility_TEXT_CLIP_MIN, + Accessibility_TEXT_CLIP_MAX, + Accessibility_TEXT_CLIP_BOTH, +} Accessibility_TEXT_CLIP_TYPE; + +/** + * NUM_ACCESSIBILITY_TEXT_CLIP_TYPES: + * + * 1 higher than the highest valid value of #Accessibility_TEXT_CLIP_TYPE. + */ +#define NUM_ACCESSIBILITY_TEXT_CLIP_TYPES (3+1) + +/** + * +Accessibility_StateType: + * @Accessibility_STATE_INVALID: + * @Accessibility_STATE_ACTIVE: + * @Accessibility_STATE_ARMED: + * @Accessibility_STATE_BUSY: + * @Accessibility_STATE_CHECKED: + * @Accessibility_STATE_COLLAPSED: + * @Accessibility_STATE_DEFUNCT: + * @Accessibility_STATE_EDITABLE: + * @Accessibility_STATE_ENABLED: + * @Accessibility_STATE_EXPANDABLE: + * @Accessibility_STATE_EXPANDED: + * @Accessibility_STATE_FOCUSABLE: + * @Accessibility_STATE_FOCUSED: + * @Accessibility_STATE_HAS_TOOLTIP: + * @Accessibility_STATE_HORIZONTAL: + * @Accessibility_STATE_ICONIFIED: + * @Accessibility_STATE_MODAL: + * @Accessibility_STATE_MULTI_LINE: + * @Accessibility_STATE_MULTISELECTABLE: + * @Accessibility_STATE_OPAQUE: + * @Accessibility_STATE_PRESSED: + * @Accessibility_STATE_RESIZABLE: + * @Accessibility_STATE_SELECTABLE: + * @Accessibility_STATE_SELECTED: + * @Accessibility_STATE_SENSITIVE: + * @Accessibility_STATE_SHOWING: + * @Accessibility_STATE_SINGLE_LINE: + * @Accessibility_STATE_STALE: + * @Accessibility_STATE_TRANSIENT: + * @Accessibility_STATE_VERTICAL: + * @Accessibility_STATE_VISIBLE: + * @Accessibility_STATE_MANAGES_DESCENDANTS: + * @Accessibility_STATE_INDETERMINATE: + * @Accessibility_STATE_REQUIRED: + * @Accessibility_STATE_TRUNCATED: + * @Accessibility_STATE_ANIMATED: + * @Accessibility_STATE_INVALID_ENTRY: + * @Accessibility_STATE_SUPPORTS_AUTOCOMPLETION: + * @Accessibility_STATE_SELECTABLE_TEXT: + * @Accessibility_STATE_IS_DEFAULT: + * @Accessibility_STATE_VISITED: + * @Accessibility_STATE_LAST_DEFINED: + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_STATE_INVALID, + Accessibility_STATE_ACTIVE, + Accessibility_STATE_ARMED, + Accessibility_STATE_BUSY, + Accessibility_STATE_CHECKED, + Accessibility_STATE_COLLAPSED, + Accessibility_STATE_DEFUNCT, + Accessibility_STATE_EDITABLE, + Accessibility_STATE_ENABLED, + Accessibility_STATE_EXPANDABLE, + Accessibility_STATE_EXPANDED, + Accessibility_STATE_FOCUSABLE, + Accessibility_STATE_FOCUSED, + Accessibility_STATE_HAS_TOOLTIP, + Accessibility_STATE_HORIZONTAL, + Accessibility_STATE_ICONIFIED, + Accessibility_STATE_MODAL, + Accessibility_STATE_MULTI_LINE, + Accessibility_STATE_MULTISELECTABLE, + Accessibility_STATE_OPAQUE, + Accessibility_STATE_PRESSED, + Accessibility_STATE_RESIZABLE, + Accessibility_STATE_SELECTABLE, + Accessibility_STATE_SELECTED, + Accessibility_STATE_SENSITIVE, + Accessibility_STATE_SHOWING, + Accessibility_STATE_SINGLE_LINE, + Accessibility_STATE_STALE, + Accessibility_STATE_TRANSIENT, + Accessibility_STATE_VERTICAL, + Accessibility_STATE_VISIBLE, + Accessibility_STATE_MANAGES_DESCENDANTS, + Accessibility_STATE_INDETERMINATE, + Accessibility_STATE_REQUIRED, + Accessibility_STATE_TRUNCATED, + Accessibility_STATE_ANIMATED, + Accessibility_STATE_INVALID_ENTRY, + Accessibility_STATE_SUPPORTS_AUTOCOMPLETION, + Accessibility_STATE_SELECTABLE_TEXT, + Accessibility_STATE_IS_DEFAULT, + Accessibility_STATE_VISITED, + Accessibility_STATE_LAST_DEFINED, +} Accessibility_StateType; + +/** + * NUM_ACCESSIBILITY_STATETYPES: + * + * 1 higher than the highest valid value of #Accessibility_StateType. + */ +#define NUM_ACCESSIBILITY_STATETYPES (41+1) + +/** + * +Accessibility_KeyEventType: + * @Accessibility_KEY_PRESSED: + * @Accessibility_KEY_RELEASED: + * + * + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_KEY_PRESSED, + Accessibility_KEY_RELEASED, +} Accessibility_KeyEventType; + +/** + * NUM_ACCESSIBILITY_KEYEVENTTYPES: + * + * 1 higher than the highest valid value of #Accessibility_KeyEventType. + */ +#define NUM_ACCESSIBILITY_KEYEVENTTYPES (1+1) + +/** + * +Accessibility_EventType: + * @Accessibility_KEY_PRESSED_EVENT: + * @Accessibility_KEY_RELEASED_EVENT: + * @Accessibility_BUTTON_PRESSED_EVENT: + * @Accessibility_BUTTON_RELEASED_EVENT: + * + * + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_KEY_PRESSED_EVENT, + Accessibility_KEY_RELEASED_EVENT, + Accessibility_BUTTON_PRESSED_EVENT, + Accessibility_BUTTON_RELEASED_EVENT, +} Accessibility_EventType; + +/** + * NUM_ACCESSIBILITY_EVENTTYPES: + * + * 1 higher than the highest valid value of #Accessibility_EventType. + */ +#define NUM_ACCESSIBILITY_EVENTTYPES (3+1) + +/** + * +Accessibility_KeySynthType: + * @Accessibility_KEY_PRESS: + * @Accessibility_KEY_RELEASE: + * @Accessibility_KEY_PRESSRELEASE: + * @Accessibility_KEY_SYM: + * @Accessibility_KEY_STRING: + * + * + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_KEY_PRESS, + Accessibility_KEY_RELEASE, + Accessibility_KEY_PRESSRELEASE, + Accessibility_KEY_SYM, + Accessibility_KEY_STRING, +} Accessibility_KeySynthType; + +/** + * NUM_ACCESSIBILITY_KEYSYNTHTYPES: + * + * 1 higher than the highest valid value of #Accessibility_KeySynthType. + */ +#define NUM_ACCESSIBILITY_KEYSYNTHTYPES (4+1) + +/** + * +Accessibility_ModifierType: + * @Accessibility_MODIFIER_SHIFT: + * @Accessibility_MODIFIER_SHIFTLOCK: + * @Accessibility_MODIFIER_CONTROL: + * @Accessibility_MODIFIER_ALT: + * @Accessibility_MODIFIER_META: + * @Accessibility_MODIFIER_META2: + * @Accessibility_MODIFIER_META3: + * @Accessibility_MODIFIER_NUMLOCK: + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_MODIFIER_SHIFT, + Accessibility_MODIFIER_SHIFTLOCK, + Accessibility_MODIFIER_CONTROL, + Accessibility_MODIFIER_ALT, + Accessibility_MODIFIER_META, + Accessibility_MODIFIER_META2, + Accessibility_MODIFIER_META3, + Accessibility_MODIFIER_NUMLOCK, +} Accessibility_ModifierType; + +/** + * NUM_ACCESSIBILITY_MODIFIERTYPES: + * + * 1 higher than the highest valid value of #Accessibility_ModifierType. + */ +#define NUM_ACCESSIBILITY_MODIFIERTYPES (7+1) + +/** + * +Accessibility_RelationType: + * @Accessibility_RELATION_NULL: + * @Accessibility_RELATION_LABEL_FOR: + * @Accessibility_RELATION_LABELLED_BY: + * @Accessibility_RELATION_CONTROLLER_FOR: + * @Accessibility_RELATION_CONTROLLED_BY: + * @Accessibility_RELATION_MEMBER_OF: + * @Accessibility_RELATION_TOOLTIP_FOR: + * @Accessibility_RELATION_NODE_CHILD_OF: + * @Accessibility_RELATION_EXTENDED: + * @Accessibility_RELATION_FLOWS_TO: + * @Accessibility_RELATION_FLOWS_FROM: + * @Accessibility_RELATION_SUBWINDOW_OF: + * @Accessibility_RELATION_EMBEDS: + * @Accessibility_RELATION_EMBEDDED_BY: + * @Accessibility_RELATION_POPUP_FOR: + * @Accessibility_RELATION_PARENT_WINDOW_OF: + * @Accessibility_RELATION_DESCRIPTION_FOR: + * @Accessibility_RELATION_DESCRIBED_BY: + * @Accessibility_RELATION_LAST_DEFINED: + * + * + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_RELATION_NULL, + Accessibility_RELATION_LABEL_FOR, + Accessibility_RELATION_LABELLED_BY, + Accessibility_RELATION_CONTROLLER_FOR, + Accessibility_RELATION_CONTROLLED_BY, + Accessibility_RELATION_MEMBER_OF, + Accessibility_RELATION_TOOLTIP_FOR, + Accessibility_RELATION_NODE_CHILD_OF, + Accessibility_RELATION_EXTENDED, + Accessibility_RELATION_FLOWS_TO, + Accessibility_RELATION_FLOWS_FROM, + Accessibility_RELATION_SUBWINDOW_OF, + Accessibility_RELATION_EMBEDS, + Accessibility_RELATION_EMBEDDED_BY, + Accessibility_RELATION_POPUP_FOR, + Accessibility_RELATION_PARENT_WINDOW_OF, + Accessibility_RELATION_DESCRIPTION_FOR, + Accessibility_RELATION_DESCRIBED_BY, + Accessibility_RELATION_LAST_DEFINED, +} Accessibility_RelationType; + +/** + * NUM_ACCESSIBILITY_RELATIONTYPES: + * + * 1 higher than the highest valid value of #Accessibility_RelationType. + */ +#define NUM_ACCESSIBILITY_RELATIONTYPES (18+1) + +/** + * +Accessibility_Role: + * @Accessibility_ROLE_INVALID: + * @Accessibility_ROLE_ACCELERATOR_LABEL: + * @Accessibility_ROLE_ALERT: + * @Accessibility_ROLE_ANIMATION: + * @Accessibility_ROLE_ARROW: + * @Accessibility_ROLE_CALENDAR: + * @Accessibility_ROLE_CANVAS: + * @Accessibility_ROLE_CHECK_BOX: + * @Accessibility_ROLE_CHECK_MENU_ITEM: + * @Accessibility_ROLE_COLOR_CHOOSER: + * @Accessibility_ROLE_COLUMN_HEADER: + * @Accessibility_ROLE_COMBO_BOX: + * @Accessibility_ROLE_DATE_EDITOR: + * @Accessibility_ROLE_DESKTOP_ICON: + * @Accessibility_ROLE_DESKTOP_FRAME: + * @Accessibility_ROLE_DIAL: + * @Accessibility_ROLE_DIALOG: + * @Accessibility_ROLE_DIRECTORY_PANE: + * @Accessibility_ROLE_DRAWING_AREA: + * @Accessibility_ROLE_FILE_CHOOSER: + * @Accessibility_ROLE_FILLER: + * @Accessibility_ROLE_FOCUS_TRAVERSABLE: + * @Accessibility_ROLE_FONT_CHOOSER: + * @Accessibility_ROLE_FRAME: + * @Accessibility_ROLE_GLASS_PANE: + * @Accessibility_ROLE_HTML_CONTAINER: + * @Accessibility_ROLE_ICON: + * @Accessibility_ROLE_IMAGE: + * @Accessibility_ROLE_INTERNAL_FRAME: + * @Accessibility_ROLE_LABEL: + * @Accessibility_ROLE_LAYERED_PANE: + * @Accessibility_ROLE_LIST: + * @Accessibility_ROLE_LIST_ITEM: + * @Accessibility_ROLE_MENU: + * @Accessibility_ROLE_MENU_BAR: + * @Accessibility_ROLE_MENU_ITEM: + * @Accessibility_ROLE_OPTION_PANE: + * @Accessibility_ROLE_PAGE_TAB: + * @Accessibility_ROLE_PAGE_TAB_LIST: + * @Accessibility_ROLE_PANEL: + * @Accessibility_ROLE_PASSWORD_TEXT: + * @Accessibility_ROLE_POPUP_MENU: + * @Accessibility_ROLE_PROGRESS_BAR: + * @Accessibility_ROLE_PUSH_BUTTON: + * @Accessibility_ROLE_RADIO_BUTTON: + * @Accessibility_ROLE_RADIO_MENU_ITEM: + * @Accessibility_ROLE_ROOT_PANE: + * @Accessibility_ROLE_ROW_HEADER: + * @Accessibility_ROLE_SCROLL_BAR: + * @Accessibility_ROLE_SCROLL_PANE: + * @Accessibility_ROLE_SEPARATOR: + * @Accessibility_ROLE_SLIDER: + * @Accessibility_ROLE_SPIN_BUTTON: + * @Accessibility_ROLE_SPLIT_PANE: + * @Accessibility_ROLE_STATUS_BAR: + * @Accessibility_ROLE_TABLE: + * @Accessibility_ROLE_TABLE_CELL: + * @Accessibility_ROLE_TABLE_COLUMN_HEADER: + * @Accessibility_ROLE_TABLE_ROW_HEADER: + * @Accessibility_ROLE_TEAROFF_MENU_ITEM: + * @Accessibility_ROLE_TERMINAL: + * @Accessibility_ROLE_TEXT: + * @Accessibility_ROLE_TOGGLE_BUTTON: + * @Accessibility_ROLE_TOOL_BAR: + * @Accessibility_ROLE_TOOL_TIP: + * @Accessibility_ROLE_TREE: + * @Accessibility_ROLE_TREE_TABLE: + * @Accessibility_ROLE_UNKNOWN: + * @Accessibility_ROLE_VIEWPORT: + * @Accessibility_ROLE_WINDOW: + * @Accessibility_ROLE_EXTENDED: + * @Accessibility_ROLE_HEADER: + * @Accessibility_ROLE_FOOTER: + * @Accessibility_ROLE_PARAGRAPH: + * @Accessibility_ROLE_RULER: + * @Accessibility_ROLE_APPLICATION: + * @Accessibility_ROLE_AUTOCOMPLETE: + * @Accessibility_ROLE_EDITBAR: + * @Accessibility_ROLE_EMBEDDED: + * @Accessibility_ROLE_ENTRY: + * @Accessibility_ROLE_CHART: + * @Accessibility_ROLE_CAPTION: + * @Accessibility_ROLE_DOCUMENT_FRAME: + * @Accessibility_ROLE_HEADING: + * @Accessibility_ROLE_PAGE: + * @Accessibility_ROLE_SECTION: + * @Accessibility_ROLE_REDUNDANT_OBJECT: + * @Accessibility_ROLE_FORM: + * @Accessibility_ROLE_LINK: + * @Accessibility_ROLE_INPUT_METHOD_WINDOW: + * @Accessibility_ROLE_LAST_DEFINED: + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_ROLE_INVALID, + Accessibility_ROLE_ACCELERATOR_LABEL, + Accessibility_ROLE_ALERT, + Accessibility_ROLE_ANIMATION, + Accessibility_ROLE_ARROW, + Accessibility_ROLE_CALENDAR, + Accessibility_ROLE_CANVAS, + Accessibility_ROLE_CHECK_BOX, + Accessibility_ROLE_CHECK_MENU_ITEM, + Accessibility_ROLE_COLOR_CHOOSER, + Accessibility_ROLE_COLUMN_HEADER, + Accessibility_ROLE_COMBO_BOX, + Accessibility_ROLE_DATE_EDITOR, + Accessibility_ROLE_DESKTOP_ICON, + Accessibility_ROLE_DESKTOP_FRAME, + Accessibility_ROLE_DIAL, + Accessibility_ROLE_DIALOG, + Accessibility_ROLE_DIRECTORY_PANE, + Accessibility_ROLE_DRAWING_AREA, + Accessibility_ROLE_FILE_CHOOSER, + Accessibility_ROLE_FILLER, + Accessibility_ROLE_FOCUS_TRAVERSABLE, + Accessibility_ROLE_FONT_CHOOSER, + Accessibility_ROLE_FRAME, + Accessibility_ROLE_GLASS_PANE, + Accessibility_ROLE_HTML_CONTAINER, + Accessibility_ROLE_ICON, + Accessibility_ROLE_IMAGE, + Accessibility_ROLE_INTERNAL_FRAME, + Accessibility_ROLE_LABEL, + Accessibility_ROLE_LAYERED_PANE, + Accessibility_ROLE_LIST, + Accessibility_ROLE_LIST_ITEM, + Accessibility_ROLE_MENU, + Accessibility_ROLE_MENU_BAR, + Accessibility_ROLE_MENU_ITEM, + Accessibility_ROLE_OPTION_PANE, + Accessibility_ROLE_PAGE_TAB, + Accessibility_ROLE_PAGE_TAB_LIST, + Accessibility_ROLE_PANEL, + Accessibility_ROLE_PASSWORD_TEXT, + Accessibility_ROLE_POPUP_MENU, + Accessibility_ROLE_PROGRESS_BAR, + Accessibility_ROLE_PUSH_BUTTON, + Accessibility_ROLE_RADIO_BUTTON, + Accessibility_ROLE_RADIO_MENU_ITEM, + Accessibility_ROLE_ROOT_PANE, + Accessibility_ROLE_ROW_HEADER, + Accessibility_ROLE_SCROLL_BAR, + Accessibility_ROLE_SCROLL_PANE, + Accessibility_ROLE_SEPARATOR, + Accessibility_ROLE_SLIDER, + Accessibility_ROLE_SPIN_BUTTON, + Accessibility_ROLE_SPLIT_PANE, + Accessibility_ROLE_STATUS_BAR, + Accessibility_ROLE_TABLE, + Accessibility_ROLE_TABLE_CELL, + Accessibility_ROLE_TABLE_COLUMN_HEADER, + Accessibility_ROLE_TABLE_ROW_HEADER, + Accessibility_ROLE_TEAROFF_MENU_ITEM, + Accessibility_ROLE_TERMINAL, + Accessibility_ROLE_TEXT, + Accessibility_ROLE_TOGGLE_BUTTON, + Accessibility_ROLE_TOOL_BAR, + Accessibility_ROLE_TOOL_TIP, + Accessibility_ROLE_TREE, + Accessibility_ROLE_TREE_TABLE, + Accessibility_ROLE_UNKNOWN, + Accessibility_ROLE_VIEWPORT, + Accessibility_ROLE_WINDOW, + Accessibility_ROLE_EXTENDED, + Accessibility_ROLE_HEADER, + Accessibility_ROLE_FOOTER, + Accessibility_ROLE_PARAGRAPH, + Accessibility_ROLE_RULER, + Accessibility_ROLE_APPLICATION, + Accessibility_ROLE_AUTOCOMPLETE, + Accessibility_ROLE_EDITBAR, + Accessibility_ROLE_EMBEDDED, + Accessibility_ROLE_ENTRY, + Accessibility_ROLE_CHART, + Accessibility_ROLE_CAPTION, + Accessibility_ROLE_DOCUMENT_FRAME, + Accessibility_ROLE_HEADING, + Accessibility_ROLE_PAGE, + Accessibility_ROLE_SECTION, + Accessibility_ROLE_REDUNDANT_OBJECT, + Accessibility_ROLE_FORM, + Accessibility_ROLE_LINK, + Accessibility_ROLE_INPUT_METHOD_WINDOW, + Accessibility_ROLE_LAST_DEFINED, +} Accessibility_Role; + +/** + * NUM_ACCESSIBILITY_ROLES: + * + * 1 higher than the highest valid value of #Accessibility_Role. + */ +#define NUM_ACCESSIBILITY_ROLES (90+1) + +/** + * +Accessibility_LoginHelper_DeviceReq: + * @Accessibility_LoginHelper_GUI_EVENTS: + * @Accessibility_LoginHelper_CORE_KEYBOARD: + * @Accessibility_LoginHelper_CORE_POINTER: + * @Accessibility_LoginHelper_EXT_INPUT: + * @Accessibility_LoginHelper_POST_WINDOWS: + * @Accessibility_LoginHelper_AUDIO_OUT: + * @Accessibility_LoginHelper_AUDIO_IN: + * @Accessibility_LoginHelper_NETWORK: + * @Accessibility_LoginHelper_LOCALHOST: + * @Accessibility_LoginHelper_SERIAL_OUT: + * @Accessibility_LoginHelper_SERIAL_IN: + * + * + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_LoginHelper_GUI_EVENTS, + Accessibility_LoginHelper_CORE_KEYBOARD, + Accessibility_LoginHelper_CORE_POINTER, + Accessibility_LoginHelper_EXT_INPUT, + Accessibility_LoginHelper_POST_WINDOWS, + Accessibility_LoginHelper_AUDIO_OUT, + Accessibility_LoginHelper_AUDIO_IN, + Accessibility_LoginHelper_NETWORK, + Accessibility_LoginHelper_LOCALHOST, + Accessibility_LoginHelper_SERIAL_OUT, + Accessibility_LoginHelper_SERIAL_IN, +} Accessibility_LoginHelper_DeviceReq; + +/** + * NUM_ACCESSIBILITY_DEVICEREQS: + * + * 1 higher than the highest valid value of #Accessibility_LoginHelper_DeviceReq. + */ +#define NUM_ACCESSIBILITY_DEVICEREQS (10+1) + +/** + * +Accessibility_Selector_CommandResult: + * @Accessibility_Selector_COMMAND_RESULT_INVALID: + * @Accessibility_Selector_COMMAND_RESULT_SUCCESS: + * @Accessibility_Selector_COMMAND_RESULT_FAILED: + * @Accessibility_Selector_COMMAND_RESULT_OBSOLETE: + * @Accessibility_Selector_COMMAND_RESULT_LAST_DEFINED: + * + * + * + * Bitfield/set of flags generated from the AT-SPI specification. + */ +typedef enum { + Accessibility_Selector_COMMAND_RESULT_INVALID, + Accessibility_Selector_COMMAND_RESULT_SUCCESS, + Accessibility_Selector_COMMAND_RESULT_FAILED, + Accessibility_Selector_COMMAND_RESULT_OBSOLETE, + Accessibility_Selector_COMMAND_RESULT_LAST_DEFINED, +} Accessibility_Selector_CommandResult; + +/** + * NUM_ACCESSIBILITY_COMMANDRESULTS: + * + * 1 higher than the highest valid value of #Accessibility_Selector_CommandResult. + */ +#define NUM_ACCESSIBILITY_COMMANDRESULTS (4+1) + + +#ifdef __cplusplus +} +#endif +#endif