]> git.draconx.ca Git - gob-dx.git/commitdiff
Release 2.0.16 v2.0.16
authorGeorge Lebl <jirka@5z.com>
Wed, 22 Jul 2009 01:31:00 +0000 (17:31 -0800)
committerNick Bowler <nbowler@draconx.ca>
Tue, 19 Feb 2019 17:34:28 +0000 (12:34 -0500)
33 files changed:
ChangeLog
INSTALL
Makefile.in
NEWS
README
aclocal.m4
configure
configure.in
depcomp
doc/Makefile.in
doc/gob2.1.in
examples/Makefile.in
gob2.spec
install-sh
missing
src/Makefile.am
src/Makefile.in
src/Makefile.str [new file with mode: 0644]
src/checks.c
src/checks.h
src/lexer.c
src/lexer.l
src/main.c
src/parse.c
src/parse.h
src/parse.y
src/str.gob [new file with mode: 0644]
src/str_test.c [new file with mode: 0644]
src/test.gob
src/treefuncs.c
src/treefuncs.def
src/treefuncs.h
ylwrap [deleted file]

index 44d4ebac3d3ad5e54ae16faea404d000b8d923fa..c4dc9f1c1762f6791ea4f35fc78bae82105198da 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,58 @@
+Tue Jul 21 10:20:58 2009  Jiri (George) Lebl <jirka@5z.com>
+
+       * Release 2.0.16
+
+Fri Jul 10 14:34:38 2009  Jiri (George) Lebl <jirka@5z.com>
+
+       * configure.in: raise version
+
+       * src/Makefile.am: fixup for new files
+
+       * src/main.c, src/parse.y, src/lexer.l, src/test.gob: Apply patch by
+         Jean-Yves Lefort to add %afterdecls{ %} code handling
+
+       * doc/gob2.1.in: document
+
+Fri Jul 10 14:18:44 2009  Jiri (George) Lebl <jirka@5z.com>
+
+       * src/main.c, src/parse.y, doc/gob2.1.in, src/treefuncs.def,
+         src/test.gob: Apply and somewhat rework
+         the patch by Jean-Yves Lefort jylefort at brutele dot be to
+         handle finalize, dispose, constructor just as init and
+         class_init are handled.
+
+Fri Jul 10 12:23:39 2009  Jiri (George) Lebl <jirka@5z.com>
+
+       * src/main.c: add G_GNUC_CONST to _get_type, thanks to
+         Jean-Yves Lefort jylefort at brutele dot be for pointing that
+         out
+
+       * src/main.c: move #line sections past the opening brace of
+         functions, enclose function declarations in #line sections
+         to refer to the .gob file.  by Jean-Yves Lefort
+
+       * src/main.c, src/lexer.l, src/parse.y, src/str*, src/test.gob,
+         doc/gob2.1.in:
+         Partially back out the function attribute patch and rework it
+         in a simpler, more flexible, though syntactically not as nice
+         way.
+
+Fri Jul 10 10:22:10 2009  Jiri (George) Lebl <jirka@5z.com>
+
+       * doc/gob2.1.in: fix the _GET_CLASS documentation.  Thanks to
+         Andrew Feren acferen at yahoo dot com.  I guess this has been an
+         error in the docs since the GTK 1.x days
+
+Fri Jul 10 09:57:29 2009  Jiri (George) Lebl <jirka@5z.com>
+
+       * doc/gob2.1.in, src/checks.c, src/checks.h, src/lexer.l, src/main.c,
+         src/parse.y, src/str.gob, src/str_test.c, src/test.gob,
+         src/treefuncs.def: Apply patch by Britton Kerin
+         bkerin at fastmail dot fm, to allow function attributes
+         like G_GNUC_PRINTF, etc...
+
+       * src/main.c: fix a warning
+
 Tue Nov 20 23:22:57 2007  Jiri (George) Lebl <jirka@5z.com>
 
        * Release 2.0.15
diff --git a/INSTALL b/INSTALL
index 5458714e1e2cb289572992ad92eceffc848f64d6..23e5f25d0e5f85798dcfb368ecb2f04f59777f61 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
 
 This file is free documentation; the Free Software Foundation gives
 unlimited permission to copy, distribute and modify it.
@@ -10,10 +10,7 @@ unlimited permission to copy, distribute and modify it.
 Basic Installation
 ==================
 
-Briefly, the shell commands `./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.
+These are generic installation instructions.
 
    The `configure' shell script attempts to guess correct values for
 various system-dependent variables used during compilation.  It uses
@@ -26,9 +23,9 @@ 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
+the results of its tests to speed up reconfiguring.  (Caching is
 disabled by default to prevent problems with accidental use of stale
-cache files.
+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
@@ -38,17 +35,20 @@ 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'.
+`configure' by a program called `autoconf'.  You only 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.
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
 
-     Running `configure' might take a while.  While running, it prints
-     some messages telling which features it is checking for.
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
 
   2. Type `make' to compile the package.
 
@@ -78,7 +78,7 @@ details on some of the pertinent environment variables.
 by setting variables in the command line or in the environment.  Here
 is an example:
 
-     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
 
    *Note Defining Variables::, for more details.
 
@@ -87,15 +87,17 @@ 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
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as 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 `..'.
 
-   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.
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have 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.
 
 Installation Names
 ==================
@@ -188,12 +190,12 @@ 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).
+overridden in the site shell script).  Here is a another example:
 
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug.  Until the bug is fixed you can use this workaround:
+     /bin/bash ./configure CONFIG_SHELL=/bin/bash
 
-     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
 
 `configure' Invocation
 ======================
index 61c0b4a602099c4c6ec8a940f829949ac3250f96..6be458de68893f8b0bee076ae4519346731a1f87 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# 2003, 2004, 2005  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.
 
 @SET_MAKE@
 
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
@@ -34,13 +38,13 @@ subdir = .
 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        $(srcdir)/Makefile.in $(srcdir)/config.h.in \
        $(srcdir)/gob2.spec.in $(top_srcdir)/configure AUTHORS COPYING \
-       ChangeLog INSTALL NEWS TODO depcomp install-sh missing ylwrap
+       ChangeLog INSTALL NEWS TODO depcomp install-sh missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
+ configure.lineno configure.status.lineno
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES = gob2.spec
@@ -48,11 +52,10 @@ SOURCES =
 DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-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 uninstall-recursive
+       install-exec-recursive install-info-recursive \
+       install-recursive installcheck-recursive installdirs-recursive \
+       pdf-recursive ps-recursive uninstall-info-recursive \
+       uninstall-recursive
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -62,8 +65,6 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(m4dir)"
 m4DATA_INSTALL = $(INSTALL_DATA)
 DATA = $(m4_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -78,6 +79,8 @@ GZIP_ENV = --best
 distuninstallcheck_listfiles = find . -type f -print
 distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
 AMTAR = @AMTAR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -99,7 +102,6 @@ EXEEXT = @EXEEXT@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_LIBS = @GLIB_LIBS@
 GREP = @GREP@
-INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -113,10 +115,13 @@ LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
 MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
 MV = @MV@
 NOINSTGOB = @NOINSTGOB@
+NOINSTGOB_FALSE = @NOINSTGOB_FALSE@
+NOINSTGOB_TRUE = @NOINSTGOB_TRUE@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -135,11 +140,9 @@ TAR = @TAR@
 VERSION = @VERSION@
 YACC = @YACC@
 YFLAGS = @YFLAGS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -147,7 +150,6 @@ am__tar = @am__tar@
 am__untar = @am__untar@
 bindir = @bindir@
 build_alias = @build_alias@
-builddir = @builddir@
 datadir = @datadir@
 datarootdir = @datarootdir@
 docdir = @docdir@
@@ -171,11 +173,8 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
 DIST_SUBDIRS = src doc examples
 m4dir = $(datadir)/aclocal
 m4_DATA = gob2.m4
@@ -221,7 +220,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 config.h: stamp-h1
        @if test ! -f $@; then \
          rm -f stamp-h1; \
-         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+         $(MAKE) stamp-h1; \
        else :; fi
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@@ -236,9 +235,10 @@ distclean-hdr:
        -rm -f config.h stamp-h1
 gob2.spec: $(top_builddir)/config.status $(srcdir)/gob2.spec.in
        cd $(top_builddir) && $(SHELL) ./config.status $@
+uninstall-info-am:
 install-m4DATA: $(m4_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(m4dir)" || $(MKDIR_P) "$(DESTDIR)$(m4dir)"
+       test -z "$(m4dir)" || $(mkdir_p) "$(DESTDIR)$(m4dir)"
        @list='$(m4_DATA)'; for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          f=$(am__strip_dir) \
@@ -285,7 +285,8 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
        @failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -387,22 +388,24 @@ distclean-tags:
 
 distdir: $(DISTFILES)
        $(am__remove_distdir)
-       test -d $(distdir) || mkdir $(distdir)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
+       mkdir $(distdir)
+       $(mkdir_p) $(distdir)/. $(distdir)/doc
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+         esac; \
          if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkdir_p) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
          if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
            if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
              cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
            fi; \
@@ -416,7 +419,7 @@ distdir: $(DISTFILES)
        list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
+           || $(mkdir_p) "$(distdir)/$$subdir" \
            || exit 1; \
            distdir=`$(am__cd) $(distdir) && pwd`; \
            top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -424,8 +427,6 @@ distdir: $(DISTFILES)
              $(MAKE) $(AM_MAKEFLAGS) \
                top_distdir="$$top_distdir" \
                distdir="$$distdir/$$subdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
                distdir) \
              || exit 1; \
          fi; \
@@ -436,7 +437,7 @@ distdir: $(DISTFILES)
        -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -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 {} {} \; \
+         ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
        || chmod -R a+r $(distdir)
 dist-gzip: distdir
        tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
@@ -511,7 +512,7 @@ distcheck: dist
        $(am__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'
+         sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
 distuninstallcheck:
        @cd $(distuninstallcheck_dir) \
        && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
@@ -536,7 +537,7 @@ all-am: Makefile $(DATA) config.h
 installdirs: installdirs-recursive
 installdirs-am:
        for dir in "$(DESTDIR)$(m4dir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+         test -z "$$dir" || $(mkdir_p) "$$dir"; \
        done
 install: install-recursive
 install-exec: install-exec-recursive
@@ -583,20 +584,12 @@ info-am:
 
 install-data-am: install-m4DATA
 
-install-dvi: install-dvi-recursive
-
 install-exec-am:
 
-install-html: install-html-recursive
-
 install-info: install-info-recursive
 
 install-man:
 
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -617,26 +610,24 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-m4DATA
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-       install-strip
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-generic \
-       ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
-       dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \
-       distclean-generic distclean-hdr distclean-tags distcleancheck \
-       distdir distuninstallcheck 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-m4DATA 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 pdf \
-       pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
-       uninstall-m4DATA
+uninstall-am: uninstall-info-am uninstall-m4DATA
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+       check-am clean clean-generic clean-recursive ctags \
+       ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
+       dist-shar dist-tarZ dist-zip distcheck distclean \
+       distclean-generic distclean-hdr distclean-recursive \
+       distclean-tags distcleancheck distdir distuninstallcheck dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-exec install-exec-am \
+       install-info install-info-am install-m4DATA install-man \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       maintainer-clean-recursive mostlyclean mostlyclean-generic \
+       mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+       uninstall uninstall-am uninstall-info-am uninstall-m4DATA
 
 
 dist-hook: gob2.spec
diff --git a/NEWS b/NEWS
index 3ffd557107ed2acb1250b119cba79600da3e0969..6a629a1c1f797951d6f5ba7043f63893e9b17254 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,15 @@
+2.0.16:
+       * add possibility of using function attributes such as
+         G_GNUC_PRINTF etc... (Britton Kerin, Jean-Yves Lefort, me)
+       * *_get_type methods are G_GNUC_CONST (Jean-Yves Lefort, me)
+       * move #line sections past opening brace of functions
+         (Jean-Yves Lefort)
+       * handle finalize, dispose, constructor just like init
+         (Jean-Yves Lefort)
+       * Add %afterdecls{ %} code block
+         (Jean-Yves Lefort)
+       * Minor fixes to docs (me, Andrew Feren)
+
 2.0.15:
        * Fix --file-sep usage with respect to private headers
        * Don't use /dev/null to help portability on non-unix
diff --git a/README b/README
index 93f7b12a12bc48804b275e54a19a0d0097d201f8..82ae003936d91144f41f7c58b291a724e438d0bf 100644 (file)
--- a/README
+++ b/README
@@ -1,8 +1,3 @@
-[
-  Note: if you are looking for the old GOB (for GTK+ objects), which is what
-  used to be here, look into the gob-1-0 branch in CVS!
-]
-
 GObject Builder (GOB-2)
 (George's Obfuscated Bits)
 
@@ -16,6 +11,10 @@ Reasons:
        - Need for a generator that doesn't require changes to generated code
        - I like how Java writes method code directly into the class
          definition.
+       - Perhaps there is less of a need for GOB now that Vala is around.
+         Still, GOB is simpler and more 'lightweight' if that matters.
+         IMO, Vala is a nicer long term solution.  But that doesn't mean
+         that GOB needs to (nor will) go away.
 
 To build:
        (the usual drill :)
@@ -60,3 +59,10 @@ TODO:
        - get a life (done, hence the lower rate of updates to gob!)
 
 George <jirka@5z.com>
+
+[
+  Note: if you are looking for the old GOB (for GTK+ objects), which is what
+  used to be here, look into the gob-1-0 branch in old gnome CVS!  It is
+  not maintained anymore.
+]
+
index 7417e0e21caadeb6ac73966b8818628b226dd2ad..e5c2fa7f5ba7ed062c78f121cea0a1f4029e189f 100644 (file)
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.10 -*- Autoconf -*-
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006  Free Software Foundation, Inc.
+# 2005  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-m4_if(m4_PACKAGE_VERSION, [2.61],,
-[m4_fatal([this file was generated for autoconf 2.61.
-You have another version of autoconf.  If you want to use that,
-you should regenerate the build system entirely.], [63])])
-
 # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
 # 
 # Copyright Â© 2004 Scott James Remnant <scott@netsplit.com>.
@@ -174,7 +169,7 @@ else
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
-# Copyright (C) 2002, 2003, 2005, 2006  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -184,29 +179,14 @@ fi[]dnl
 # ----------------------------
 # 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.10'
-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.10], [],
-      [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], [])
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
 
 # AM_SET_CURRENT_AUTOMAKE_VERSION
 # -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# Call AM_AUTOMAKE_VERSION so it can be traced.
 # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10])dnl
-_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+        [AM_AUTOMAKE_VERSION([1.9.6])])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
@@ -263,14 +243,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 8
+# serial 7
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
@@ -279,10 +259,8 @@ AC_DEFUN([AM_CONDITIONAL],
 [AC_PREREQ(2.52)dnl
  ifelse([$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
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
 if $2; then
   $1_TRUE=
   $1_FALSE='#'
@@ -296,14 +274,15 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
+# serial 8
 
 # 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,
@@ -331,7 +310,6 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
 ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
        [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
        [$1], OBJC, [depcc="$OBJC" 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=])
 
@@ -397,7 +375,6 @@ AC_CACHE_CHECK([dependency style of $depcc],
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
        $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
@@ -450,8 +427,7 @@ if test "x$enable_dependency_tracking" != xno; then
   AMDEPBACKSLASH='\'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([AMDEPBACKSLASH])
 ])
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
@@ -476,9 +452,8 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
   # some people rename them; so instead we look at the file content.
   # Grep'ing the first line is not enough: some people post-process
   # each Makefile.in and add a new line on top of each file to say so.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
     dirpart=`AS_DIRNAME("$mf")`
   else
     continue
@@ -537,8 +512,8 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -561,20 +536,16 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
 # 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.60])dnl
+[AC_PREREQ([2.58])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
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
 fi
 
 # test whether we have cygpath
@@ -594,9 +565,6 @@ m4_ifval([$2],
  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], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-  [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
 
@@ -632,10 +600,6 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX],
                   [_AM_DEPENDENCIES(CXX)],
                   [define([AC_PROG_CXX],
                           defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                  [_AM_DEPENDENCIES(OBJC)],
-                  [define([AC_PROG_OBJC],
-                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
 ])
 ])
 
@@ -671,7 +635,7 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
 AC_SUBST(install_sh)])
 
 # Copyright (C) 2003, 2005  Free Software Foundation, Inc.
@@ -799,14 +763,14 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# serial 4
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -822,7 +786,6 @@ AC_SUBST($1)])
 # If it does, 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
 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
 # Use eval to expand $SHELL
 if eval "$MISSING --run true"; then
@@ -833,7 +796,7 @@ else
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -841,23 +804,60 @@ fi
 
 # AM_PROG_MKDIR_P
 # ---------------
-# Check for `mkdir -p'.
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake.  There are at least two reasons why we must not
+# use `-m 0755':
+#   - it causes special bits like SGID to be ignored,
+#   - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out.  Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
 AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+AC_SUBST([mkdir_p])])
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
@@ -969,21 +969,9 @@ 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"
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006  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 outputing VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
 # Check how to create a tarball.                            -*- Autoconf -*-
 
 # Copyright (C) 2004, 2005  Free Software Foundation, Inc.
index b8095613a0936decf31e7baffa2a8bc09754339f..d2da4c366234038533a15a19d55979b29a46fc86 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61.
+# Generated by GNU Autoconf 2.63.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
 ## --------------------- ##
@@ -15,7 +15,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
 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
+  # 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
@@ -37,17 +37,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
 as_cr_digits='0123456789'
 as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
+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
+if (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
-    PATH_SEPARATOR=:
+    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
-  rm -f conf$$.sh
+  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
 
 # Support unset when possible.
@@ -63,8 +91,6 @@ fi
 # 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.)
-as_nl='
-'
 IFS=" ""       $as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
@@ -87,7 +113,7 @@ if test "x$as_myself" = x; then
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   { (exit 1); exit 1; }
 fi
 
@@ -100,17 +126,10 @@ PS2='> '
 PS4='+ '
 
 # NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-  fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
 
 # Required to use basename.
 if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -132,7 +151,7 @@ as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
         X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
            s//\1/
            q
@@ -158,7 +177,7 @@ else
   as_have_required=no
 fi
 
-  if test $as_have_required = yes &&    (eval ":
+  if test $as_have_required = yes &&    (eval ":
 (as_func_return () {
   (exit \$1)
 }
@@ -240,7 +259,7 @@ IFS=$as_save_IFS
 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
+  # 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
@@ -261,7 +280,7 @@ _ASEOF
 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
+  # 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
@@ -341,10 +360,10 @@ fi
 
       if test "x$CONFIG_SHELL" != x; then
   for as_var in BASH_ENV ENV
-        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-        done
-        export CONFIG_SHELL
-        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+       do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+       done
+       export CONFIG_SHELL
+       exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
 fi
 
 
@@ -413,9 +432,10 @@ fi
 
 test \$exitcode = 0") || {
   echo No shell found that supports shell functions.
-  echo Please tell autoconf@gnu.org about your system,
-  echo including any error possibly output before this
-  echo message
+  echo Please tell bug-autoconf@gnu.org about your system,
+  echo including any error possibly output before this message.
+  echo This can help us improve future autoconf versions.
+  echo Configuration will now proceed without shell functions.
 }
 
 
@@ -451,7 +471,7 @@ test \$exitcode = 0") || {
       s/-\n.*//
     ' >$as_me.lineno &&
   chmod +x "$as_me.lineno" ||
-    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
@@ -479,7 +499,6 @@ case `echo -n x` in
 *)
   ECHO_N='-n';;
 esac
-
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
@@ -492,19 +511,22 @@ if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
 else
   rm -f conf$$.dir
-  mkdir conf$$.dir
-fi
-echo >conf$$.file
-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 -p'.
-  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+  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 -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
     as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
+  fi
 else
   as_ln_s='cp -p'
 fi
@@ -529,10 +551,10 @@ else
   as_test_x='
     eval sh -c '\''
       if test -d "$1"; then
-        test -d "$1/.";
+       test -d "$1/.";
       else
        case $1 in
-        -*)set "./$1";;
+       -*)set "./$1";;
        esac;
        case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
        ???[sx]*):;;*)false;;esac;fi
@@ -577,106 +599,110 @@ PACKAGE_STRING=
 PACKAGE_BUGREPORT=
 
 ac_unique_file="src/treefuncs.h"
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-am__isrc
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-MAINTAINER_MODE_TRUE
-MAINTAINER_MODE_FALSE
-MAINT
-NOINSTGOB_TRUE
-NOINSTGOB_FALSE
-SUBDIRS
-INSTGOB
-NOINSTGOB
-CC
-CFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CC
-EXEEXT
-OBJEXT
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-CPP
-GREP
-EGREP
-YACC
-YFLAGS
-LEX
-LEX_OUTPUT_ROOT
-LEXLIB
-RM
-MV
-TAR
-PKG_CONFIG
-GLIB_CFLAGS
-GLIB_LIBS
+ac_subst_vars='LTLIBOBJS
 LIBOBJS
-LTLIBOBJS'
+GLIB_LIBS
+GLIB_CFLAGS
+PKG_CONFIG
+TAR
+MV
+RM
+LEXLIB
+LEX_OUTPUT_ROOT
+LEX
+YFLAGS
+YACC
+EGREP
+GREP
+CPP
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+NOINSTGOB
+INSTGOB
+SUBDIRS
+NOINSTGOB_FALSE
+NOINSTGOB_TRUE
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+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
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
 ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_maintainer_mode
+enable_dependency_tracking
+'
       ac_precious_vars='build_alias
 host_alias
 target_alias
@@ -696,6 +722,8 @@ GLIB_LIBS'
 # Initialize some variables set by options.
 ac_init_help=
 ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
 # The variables have the same names as the options, with
 # dashes changed to underlines.
 cache_file=/dev/null
@@ -794,13 +822,21 @@ do
     datarootdir=$ac_optarg ;;
 
   -disable-* | --disable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-    eval enable_$ac_feature=no ;;
+    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 ;;
@@ -813,13 +849,21 @@ do
     dvidir=$ac_optarg ;;
 
   -enable-* | --enable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-    eval enable_$ac_feature=\$ac_optarg ;;
+    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- \
@@ -1010,22 +1054,38 @@ do
     ac_init_version=: ;;
 
   -with-* | --with-*)
-    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-    eval with_$ac_package=\$ac_optarg ;;
+    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_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-    eval with_$ac_package=no ;;
+    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.
@@ -1045,7 +1105,7 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) { echo "$as_me: error: unrecognized option: $ac_option
+  -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
 Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; }
     ;;
@@ -1054,16 +1114,16 @@ Try \`$0 --help' for more information." >&2
     ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
     # Reject names that are not valid shell variable names.
     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
    { (exit 1); exit 1; }; }
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
   *)
     # FIXME: should be removed in autoconf 3.0.
-    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
     : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
     ;;
 
@@ -1072,22 +1132,38 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  { echo "$as_me: error: missing argument to $ac_option" >&2
+  { $as_echo "$as_me: error: missing argument to $ac_option" >&2
    { (exit 1); exit 1; }; }
 fi
 
-# Be sure to have absolute directory names.
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+   { (exit 1); exit 1; }; } ;;
+    *)     $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
 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
-  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+  { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
    { (exit 1); exit 1; }; }
 done
 
@@ -1102,7 +1178,7 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
     If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
@@ -1118,10 +1194,10 @@ 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 .` ||
-  { echo "$as_me: error: Working directory cannot be determined" >&2
+  { $as_echo "$as_me: error: working directory cannot be determined" >&2
    { (exit 1); exit 1; }; }
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  { echo "$as_me: error: pwd does not report name of working directory" >&2
+  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
    { (exit 1); exit 1; }; }
 
 
@@ -1129,12 +1205,12 @@ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
 if test -z "$srcdir"; then
   ac_srcdir_defaulted=yes
   # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$0" : 'X\(//\)[^/]' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
+  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
@@ -1161,12 +1237,12 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+  { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
    { (exit 1); exit 1; }; }
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+       cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
    { (exit 1); exit 1; }; }
        pwd)`
 # When building in place, set srcdir=.
@@ -1215,9 +1291,9 @@ Configuration:
 
 Installation directories:
   --prefix=PREFIX         install architecture-independent files in PREFIX
-                         [$ac_default_prefix]
+                          [$ac_default_prefix]
   --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                         [PREFIX]
+                          [PREFIX]
 
 By default, \`make install' will install all the files in
 \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
@@ -1227,25 +1303,25 @@ 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]
-  --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/PACKAGE]
-  --htmldir=DIR          html documentation [DOCDIR]
-  --dvidir=DIR           dvi documentation [DOCDIR]
-  --pdfdir=DIR           pdf documentation [DOCDIR]
-  --psdir=DIR            ps documentation [DOCDIR]
+  --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]
+  --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/PACKAGE]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
 _ACEOF
 
   cat <<\_ACEOF
@@ -1262,6 +1338,7 @@ if test -n "$ac_init_help"; then
   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-maintainer-mode  enable make rules and dependencies not useful
@@ -1297,15 +1374,17 @@ 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" || 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=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  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/ ;;
@@ -1341,7 +1420,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
       echo &&
       $SHELL "$ac_srcdir/configure" --help=recursive
     else
-      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi || ac_status=$?
     cd "$ac_pwd" || { ac_status=$?; break; }
   done
@@ -1351,10 +1430,10 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.61
+generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1365,7 +1444,7 @@ This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
+generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
 
@@ -1401,7 +1480,7 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  echo "PATH: $as_dir"
+  $as_echo "PATH: $as_dir"
 done
 IFS=$as_save_IFS
 
@@ -1436,7 +1515,7 @@ do
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
     *\'*)
-      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
     1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
@@ -1488,11 +1567,12 @@ _ASBOX
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      *_cv_*) { $as_echo "$as_me:$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= ;; #(
       *) $as_unset $ac_var ;;
       esac ;;
     esac
@@ -1522,9 +1602,9 @@ _ASBOX
     do
       eval ac_val=\$$ac_var
       case $ac_val in
-      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
       esac
-      echo "$ac_var='\''$ac_val'\''"
+      $as_echo "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
@@ -1539,9 +1619,9 @@ _ASBOX
       do
        eval ac_val=\$$ac_var
        case $ac_val in
-       *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
        esac
-       echo "$ac_var='\''$ac_val'\''"
+       $as_echo "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
@@ -1557,8 +1637,8 @@ _ASBOX
       echo
     fi
     test "$ac_signal" != 0 &&
-      echo "$as_me: caught signal $ac_signal"
-    echo "$as_me: exit $exit_status"
+      $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 &&
@@ -1600,21 +1680,24 @@ _ACEOF
 
 
 # Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  set x "$CONFIG_SITE"
+  ac_site_file1=$CONFIG_SITE
 elif test "x$prefix" != xNONE; then
-  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
 else
-  set x "$ac_default_prefix/share/config.site" \
-       "$ac_default_prefix/etc/config.site"
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
 fi
-shift
-for ac_site_file
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
+  test "x$ac_site_file" = xNONE && continue
   if test -r "$ac_site_file"; then
-    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+    { $as_echo "$as_me:$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"
   fi
@@ -1624,16 +1707,16 @@ if test -r "$cache_file"; then
   # Some versions of bash will fail to source /dev/null (special
   # files actually), so we avoid doing that.
   if test -f "$cache_file"; then
-    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+    { $as_echo "$as_me:$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
-  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+  { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
@@ -1647,29 +1730,38 @@ for ac_var in $ac_precious_vars; do
   eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      { $as_echo "$as_me:$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)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      { $as_echo "$as_me:$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
-       { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-       { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
-echo "$as_me:   former value:  $ac_old_val" >&2;}
-       { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
-echo "$as_me:   current value: $ac_new_val" >&2;}
-       ac_cache_corrupted=:
+       # 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:$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:$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:$LINENO:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+       { $as_echo "$as_me:$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=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) 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
@@ -1679,10 +1771,12 @@ echo "$as_me:   current value: $ac_new_val" >&2;}
   fi
 done
 if $ac_cache_corrupted; then
-  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:$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_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
@@ -1711,8 +1805,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_config_headers="$ac_config_headers config.h"
 
-am__api_version='1.10'
-
+am__api_version="1.9"
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
   if test -f "$ac_dir/install-sh"; then
@@ -1730,8 +1823,8 @@ for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
   fi
 done
 if test -z "$ac_aux_dir"; then
-  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+  { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
@@ -1757,11 +1850,12 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 # 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.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
 if test "${ac_cv_path_install+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -1790,17 +1884,29 @@ case $as_dir/ in
            # program-specific install script used by HP pwplus--don't use.
            :
          else
-           ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-           break 3
+           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
@@ -1813,8 +1919,8 @@ fi
     INSTALL=$ac_install_sh
   fi
 fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
+{ $as_echo "$as_me:$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.
@@ -1824,8 +1930,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
 # Just in case
 sleep 1
 echo timestamp > conftest.file
@@ -1848,9 +1954,9 @@ if (
       # 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".
-      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+      { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
 alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+$as_echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
 alias in your environment" >&2;}
    { (exit 1); exit 1; }; }
    fi
@@ -1861,26 +1967,23 @@ then
    # Ok.
    :
 else
-   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+   { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
 Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
+$as_echo "$as_me: error: newly created file is older than distributed files!
 Check your system clock" >&2;}
    { (exit 1); exit 1; }; }
 fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 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 $.  echo might interpret backslashes.
+# Double any \ or $.
 # By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
+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`
@@ -1891,66 +1994,51 @@ if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
-if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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
-
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
+  { $as_echo "$as_me:$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 mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
   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.
-    test -d ./--version && rmdir ./--version
-    MKDIR_P="$ac_install_sh -d"
+    mkdir_p='$(install_sh) -d'
   fi
 fi
-{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-echo "${ECHO_T}$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
 
 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_AWK+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
   ac_cv_prog_AWK="$AWK" # Let the user override the test.
@@ -1963,7 +2051,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AWK="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -1974,22 +2062,23 @@ fi
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
   test -n "$AWK" && break
 done
 
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+{ $as_echo "$as_me:$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 { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
 SHELL = /bin/sh
@@ -2006,12 +2095,12 @@ esac
 rm -f conftest.make
 fi
 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
   SET_MAKE=
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
@@ -2024,16 +2113,12 @@ else
 fi
 rmdir .tst 2>/dev/null
 
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
    { (exit 1); exit 1; }; }
-  fi
 fi
 
 # test whether we have cygpath
@@ -2048,7 +2133,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=gob2
- VERSION=2.0.15
+ VERSION=2.0.16
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2076,7 +2161,7 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
 
 # Installed binaries are usually stripped using `strip' when the user
 # run `make install-strip'.  However `strip' might not be the right
@@ -2086,10 +2171,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
   ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
@@ -2102,7 +2187,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2113,11 +2198,11 @@ fi
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -2126,10 +2211,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $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.
@@ -2142,7 +2227,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_STRIP="strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2153,11 +2238,11 @@ fi
 fi
 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
 if test -n "$ac_ct_STRIP"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
   if test "x$ac_ct_STRIP" = x; then
@@ -2165,12 +2250,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$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
@@ -2180,7 +2261,7 @@ else
 fi
 
 fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
 
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
@@ -2194,8 +2275,8 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 
 
 
-{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$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
@@ -2203,9 +2284,11 @@ else
   USE_MAINTAINER_MODE=no
 fi
 
-  { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
+  { $as_echo "$as_me:$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
@@ -2220,7 +2303,9 @@ fi
 GLIB_REQUIRED=2.0.0
 
 
- if test -f ../NOINST_GOB; then
+
+
+if test -f ../NOINST_GOB; then
   NOINSTGOB_TRUE=
   NOINSTGOB_FALSE='#'
 else
@@ -2230,8 +2315,8 @@ fi
 
 
 if test -f ../NOINST_GOB ; then
-  { echo "$as_me:$LINENO: result: *** NOT Going to install GOB ***" >&5
-echo "${ECHO_T}*** NOT Going to install GOB ***" >&6; }
+  { $as_echo "$as_me:$LINENO: result: *** NOT Going to install GOB ***" >&5
+$as_echo "*** NOT Going to install GOB ***" >&6; }
   SUBDIRS="src examples"
   INSTGOB=""
   NOINSTGOB="gob2"
@@ -2256,8 +2341,8 @@ am__doit:
 .PHONY: am__doit
 END
 # If we don't find an include directive, just comment out the code.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
 am__include="#"
 am__quote=
 _am_result=none
@@ -2284,8 +2369,8 @@ if test "$am__include" = "#"; then
 fi
 
 
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
 rm -f confinc confmf
 
 # Check whether --enable-dependency-tracking was given.
@@ -2297,7 +2382,9 @@ if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
 fi
- if test "x$enable_dependency_tracking" != xno; then
+
+
+if test "x$enable_dependency_tracking" != xno; then
   AMDEP_TRUE=
   AMDEP_FALSE='#'
 else
@@ -2306,6 +2393,7 @@ else
 fi
 
 
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2314,10 +2402,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2330,7 +2418,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2341,11 +2429,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -2354,10 +2442,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $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.
@@ -2370,7 +2458,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2381,11 +2469,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
   if test "x$ac_ct_CC" = x; then
@@ -2393,12 +2481,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$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
@@ -2411,10 +2495,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2427,7 +2511,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2438,11 +2522,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -2451,10 +2535,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2472,7 +2556,7 @@ do
        continue
      fi
     ac_cv_prog_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2495,11 +2579,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -2510,10 +2594,10 @@ if test -z "$CC"; then
   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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2526,7 +2610,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2537,11 +2621,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -2554,10 +2638,10 @@ if test -z "$CC"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $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.
@@ -2570,7 +2654,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2581,11 +2665,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -2597,12 +2681,8 @@ done
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$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
@@ -2612,44 +2692,50 @@ fi
 fi
 
 
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 1); exit 1; }; }; }
 
 # Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
 { (ac_try="$ac_compiler --version >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 { (ac_try="$ac_compiler -v >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 { (ac_try="$ac_compiler -V >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 
 cat >conftest.$ac_ext <<_ACEOF
@@ -2668,27 +2754,22 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
+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.
-{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort.  b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions.  Remove them first so a
-# subsequent execution test works.
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&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 | *.o | *.obj ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
     * ) ac_rmfiles="$ac_rmfiles $ac_file";;
   esac
 done
@@ -2699,10 +2780,11 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link_default") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; 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'
@@ -2713,7 +2795,7 @@ 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 | *.o | *.obj )
+    *.$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
@@ -2740,25 +2822,27 @@ else
   ac_file=''
 fi
 
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
 See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
+$as_echo "$as_me: error: C compiler cannot create executables
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
+   { (exit 77); exit 77; }; }; }
 fi
 
 ac_exeext=$ac_cv_exeext
 
 # Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
 # If not cross compiling, check that we can run a simple program.
 if test "$cross_compiling" != yes; then
@@ -2767,49 +2851,53 @@ if test "$cross_compiling" != yes; then
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
     cross_compiling=no
   else
     if test "$cross_compiling" = maybe; then
        cross_compiling=yes
     else
-       { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+       { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
+$as_echo "$as_me: error: cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 1); exit 1; }; }; }
     fi
   fi
 fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
 # Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
 
-{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
   # If both `conftest.exe' and `conftest' are `present' (well, observable)
 # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
@@ -2818,31 +2906,33 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
 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 | *.o | *.obj ) ;;
+    *.$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
-  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 1); exit 1; }; }; }
 fi
 
 rm -f conftest$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
 if test "${ac_cv_objext+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2865,40 +2955,43 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; 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 ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
        break;;
   esac
 done
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 1); exit 1; }; }; }
 fi
 
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$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 test "${ac_cv_c_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2924,20 +3017,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_compiler_gnu=no
@@ -2947,15 +3041,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$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
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
 if test "${ac_cv_prog_cc_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
    ac_c_werror_flag=yes
@@ -2982,20 +3080,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_g=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        CFLAGS=""
@@ -3020,20 +3119,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   :
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_c_werror_flag=$ac_save_c_werror_flag
@@ -3059,20 +3159,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_g=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
@@ -3087,8 +3188,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+{ $as_echo "$as_me:$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
@@ -3104,10 +3205,10 @@ else
     CFLAGS=
   fi
 fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
 if test "${ac_cv_prog_cc_c89+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
@@ -3178,20 +3279,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_c89=$ac_arg
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
@@ -3207,15 +3309,15 @@ fi
 # AC_CACHE_VAL
 case "x$ac_cv_prog_cc_c89" in
   x)
-    { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
+    { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
   xno)
-    { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
+    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
   *)
     CC="$CC $ac_cv_prog_cc_c89"
-    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 
 
@@ -3227,10 +3329,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 depcc="$CC"   am_compiler_list=
 
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $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
@@ -3292,7 +3394,6 @@ else
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
        $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
@@ -3318,11 +3419,13 @@ else
 fi
 
 fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$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
+
+
+if
   test "x$enable_dependency_tracking" != xno \
   && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
   am__fastdepCC_TRUE=
@@ -3334,10 +3437,10 @@ fi
 
 
 
-{ echo "$as_me:$LINENO: checking for library containing strerror" >&5
-echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for library containing strerror" >&5
+$as_echo_n "checking for library containing strerror... " >&6; }
 if test "${ac_cv_search_strerror+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
 cat >conftest.$ac_ext <<_ACEOF
@@ -3375,26 +3478,30 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_search_strerror=$ac_res
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
 fi
 
+rm -rf conftest.dSYM
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext
   if test "${ac_cv_search_strerror+set}" = set; then
@@ -3409,8 +3516,8 @@ fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
-echo "${ECHO_T}$ac_cv_search_strerror" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
+$as_echo "$ac_cv_search_strerror" >&6; }
 ac_res=$ac_cv_search_strerror
 if test "$ac_res" != no; then
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
@@ -3425,10 +3532,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -3441,7 +3548,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3452,11 +3559,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -3465,10 +3572,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $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.
@@ -3481,7 +3588,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3492,11 +3599,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
   if test "x$ac_ct_CC" = x; then
@@ -3504,12 +3611,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$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
@@ -3522,10 +3625,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -3538,7 +3641,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3549,11 +3652,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -3562,10 +3665,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -3583,7 +3686,7 @@ do
        continue
      fi
     ac_cv_prog_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3606,11 +3709,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -3621,10 +3724,10 @@ if test -z "$CC"; then
   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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -3637,7 +3740,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3648,11 +3751,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -3665,10 +3768,10 @@ if test -z "$CC"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $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.
@@ -3681,7 +3784,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3692,11 +3795,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -3708,12 +3811,8 @@ done
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$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
@@ -3723,50 +3822,56 @@ fi
 fi
 
 
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 1); exit 1; }; }; }
 
 # Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
 { (ac_try="$ac_compiler --version >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 { (ac_try="$ac_compiler -v >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 { (ac_try="$ac_compiler -V >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$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 test "${ac_cv_c_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -3792,20 +3897,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_compiler_gnu=no
@@ -3815,15 +3921,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$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
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
 if test "${ac_cv_prog_cc_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
    ac_c_werror_flag=yes
@@ -3850,20 +3960,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_g=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        CFLAGS=""
@@ -3888,20 +3999,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   :
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_c_werror_flag=$ac_save_c_werror_flag
@@ -3927,20 +4039,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_g=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
@@ -3955,8 +4068,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+{ $as_echo "$as_me:$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
@@ -3972,10 +4085,10 @@ else
     CFLAGS=
   fi
 fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
 if test "${ac_cv_prog_cc_c89+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
@@ -4046,20 +4159,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_c89=$ac_arg
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
@@ -4075,15 +4189,15 @@ fi
 # AC_CACHE_VAL
 case "x$ac_cv_prog_cc_c89" in
   x)
-    { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
+    { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
   xno)
-    { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
+    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
   *)
     CC="$CC $ac_cv_prog_cc_c89"
-    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 
 
@@ -4095,10 +4209,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 depcc="$CC"   am_compiler_list=
 
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $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
@@ -4160,7 +4274,6 @@ else
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
        $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
@@ -4186,11 +4299,13 @@ else
 fi
 
 fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$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
+
+
+if
   test "x$enable_dependency_tracking" != xno \
   && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
   am__fastdepCC_TRUE=
@@ -4206,15 +4321,15 @@ 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
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$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 test "${ac_cv_prog_CPP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $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"
@@ -4246,20 +4361,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
        }; then
   :
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Broken: fails on valid input.
@@ -4283,13 +4399,14 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
@@ -4297,7 +4414,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   # Broken: success on invalid input.
 continue
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Passes both tests.
@@ -4322,8 +4439,8 @@ fi
 else
   ac_cv_prog_CPP=$CPP
 fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 do
@@ -4351,20 +4468,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
        }; then
   :
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Broken: fails on valid input.
@@ -4388,13 +4506,14 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
@@ -4402,7 +4521,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   # Broken: success on invalid input.
 continue
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Passes both tests.
@@ -4418,11 +4537,13 @@ rm -f conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then
   :
 else
-  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 1); exit 1; }; }; }
 fi
 
 ac_ext=c
@@ -4432,42 +4553,37 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$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 test "${ac_cv_path_GREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
-if test "${ac_cv_path_GREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $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
+  # 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"
-    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-    # Check for GNU ac_path_GREP and select it if it is found.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_GREP" && $as_test_x "$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
-  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  $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"
-    echo 'GREP' >> "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
     ac_count=`expr $ac_count + 1`
@@ -4482,74 +4598,60 @@ case `"$ac_path_GREP" --version 2>&1` in
   rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
 esac
 
-
-    $ac_path_GREP_found && break 3
+      $ac_path_GREP_found && break 3
+    done
   done
 done
-
-done
 IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
-  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+  if test -z "$ac_cv_path_GREP"; then
+    { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
    { (exit 1); exit 1; }; }
-fi
-
+  fi
 else
   ac_cv_path_GREP=$GREP
 fi
 
-
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
  GREP="$ac_cv_path_GREP"
 
 
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
 if test "${ac_cv_path_EGREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $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
-     # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-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
+  # 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"
-    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-    # Check for GNU ac_path_EGREP and select it if it is found.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_EGREP" && $as_test_x "$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
-  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  $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"
-    echo 'EGREP' >> "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
     ac_count=`expr $ac_count + 1`
@@ -4564,40 +4666,31 @@ case `"$ac_path_EGREP" --version 2>&1` in
   rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
 esac
 
-
-    $ac_path_EGREP_found && break 3
+      $ac_path_EGREP_found && break 3
+    done
   done
 done
-
-done
 IFS=$as_save_IFS
-
-
-fi
-
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
-  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+  if test -z "$ac_cv_path_EGREP"; then
+    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
    { (exit 1); exit 1; }; }
-fi
-
+  fi
 else
   ac_cv_path_EGREP=$EGREP
 fi
 
-
    fi
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
 if test "${ac_cv_header_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -4624,20 +4717,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_cv_header_stdc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_cv_header_stdc=no
@@ -4729,37 +4823,40 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
   { (case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   :
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $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
 
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
+rm -rf conftest.dSYM
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
 
 fi
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4772,10 +4869,10 @@ for ac_prog in 'bison -y' byacc
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_YACC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$YACC"; then
   ac_cv_prog_YACC="$YACC" # Let the user override the test.
@@ -4788,7 +4885,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_YACC="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4799,11 +4896,11 @@ fi
 fi
 YACC=$ac_cv_prog_YACC
 if test -n "$YACC"; then
-  { echo "$as_me:$LINENO: result: $YACC" >&5
-echo "${ECHO_T}$YACC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $YACC" >&5
+$as_echo "$YACC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -4815,10 +4912,10 @@ for ac_prog in flex lex
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_LEX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$LEX"; then
   ac_cv_prog_LEX="$LEX" # Let the user override the test.
@@ -4831,7 +4928,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_LEX="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4842,11 +4939,11 @@ fi
 fi
 LEX=$ac_cv_prog_LEX
 if test -n "$LEX"; then
-  { echo "$as_me:$LINENO: result: $LEX" >&5
-echo "${ECHO_T}$LEX" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $LEX" >&5
+$as_echo "$LEX" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -4879,15 +4976,16 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$LEX conftest.l") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ echo "$as_me:$LINENO: checking lex output file root" >&5
-echo $ECHO_N "checking lex output file root... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking lex output file root" >&5
+$as_echo_n "checking lex output file root... " >&6; }
 if test "${ac_cv_prog_lex_root+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
 
 if test -f lex.yy.c; then
@@ -4895,20 +4993,20 @@ if test -f lex.yy.c; then
 elif test -f lexyy.c; then
   ac_cv_prog_lex_root=lexyy
 else
-  { { echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5
-echo "$as_me: error: cannot find output from $LEX; giving up" >&2;}
+  { { $as_echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5
+$as_echo "$as_me: error: cannot find output from $LEX; giving up" >&2;}
    { (exit 1); exit 1; }; }
 fi
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5
-echo "${ECHO_T}$ac_cv_prog_lex_root" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5
+$as_echo "$ac_cv_prog_lex_root" >&6; }
 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
 
 if test -z "${LEXLIB+set}"; then
-  { echo "$as_me:$LINENO: checking lex library" >&5
-echo $ECHO_N "checking lex library... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking lex library" >&5
+$as_echo_n "checking lex library... " >&6; }
 if test "${ac_cv_lib_lex+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
 
     ac_save_LIBS=$LIBS
@@ -4924,26 +5022,30 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_lex=$ac_lib
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
 fi
 
+rm -rf conftest.dSYM
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
       test "$ac_cv_lib_lex" != 'none needed' && break
@@ -4951,16 +5053,16 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
     LIBS=$ac_save_LIBS
 
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_lex" >&5
-echo "${ECHO_T}$ac_cv_lib_lex" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_lex" >&5
+$as_echo "$ac_cv_lib_lex" >&6; }
   test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex
 fi
 
 
-{ echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5
-echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5
+$as_echo_n "checking whether yytext is a pointer... " >&6; }
 if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   # POSIX says lex can declare yytext either as a pointer or an array; the
 # default is implementation-dependent.  Figure out which it is, since
@@ -4978,33 +5080,37 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_prog_lex_yytext_pointer=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
 fi
 
+rm -rf conftest.dSYM
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_save_LIBS
 
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5
-echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5
+$as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; }
 if test $ac_cv_prog_lex_yytext_pointer = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -5031,11 +5137,12 @@ fi
 # 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.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
 if test "${ac_cv_path_install+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -5064,17 +5171,29 @@ case $as_dir/ in
            # program-specific install script used by HP pwplus--don't use.
            :
          else
-           ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-           break 3
+           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
@@ -5087,8 +5206,8 @@ fi
     INSTALL=$ac_install_sh
   fi
 fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
+{ $as_echo "$as_me:$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.
@@ -5103,15 +5222,15 @@ 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
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$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 test "${ac_cv_prog_CPP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $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"
@@ -5143,20 +5262,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
        }; then
   :
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Broken: fails on valid input.
@@ -5180,13 +5300,14 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
@@ -5194,7 +5315,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   # Broken: success on invalid input.
 continue
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Passes both tests.
@@ -5219,8 +5340,8 @@ fi
 else
   ac_cv_prog_CPP=$CPP
 fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 do
@@ -5248,20 +5369,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
        }; then
   :
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Broken: fails on valid input.
@@ -5285,13 +5407,14 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
@@ -5299,7 +5422,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   # Broken: success on invalid input.
 continue
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Passes both tests.
@@ -5315,11 +5438,13 @@ rm -f conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then
   :
 else
-  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 1); exit 1; }; }; }
 fi
 
 ac_ext=c
@@ -5330,10 +5455,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 # Extract the first word of "rm", so it can be a program name with args.
 set dummy rm; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_RM+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $RM in
   [\\/]* | ?:[\\/]*)
@@ -5348,7 +5473,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5361,20 +5486,20 @@ esac
 fi
 RM=$ac_cv_path_RM
 if test -n "$RM"; then
-  { echo "$as_me:$LINENO: result: $RM" >&5
-echo "${ECHO_T}$RM" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $RM" >&5
+$as_echo "$RM" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
 # Extract the first word of "mv", so it can be a program name with args.
 set dummy mv; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_MV+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $MV in
   [\\/]* | ?:[\\/]*)
@@ -5389,7 +5514,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_MV="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5402,20 +5527,20 @@ esac
 fi
 MV=$ac_cv_path_MV
 if test -n "$MV"; then
-  { echo "$as_me:$LINENO: result: $MV" >&5
-echo "${ECHO_T}$MV" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $MV" >&5
+$as_echo "$MV" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
 # Extract the first word of "tar", so it can be a program name with args.
 set dummy tar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_TAR+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $TAR in
   [\\/]* | ?:[\\/]*)
@@ -5430,7 +5555,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5443,11 +5568,11 @@ esac
 fi
 TAR=$ac_cv_path_TAR
 if test -n "$TAR"; then
-  { echo "$as_me:$LINENO: result: $TAR" >&5
-echo "${ECHO_T}$TAR" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $TAR" >&5
+$as_echo "$TAR" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -5457,10 +5582,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $PKG_CONFIG in
   [\\/]* | ?:[\\/]*)
@@ -5475,7 +5600,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5487,11 +5612,11 @@ esac
 fi
 PKG_CONFIG=$ac_cv_path_PKG_CONFIG
 if test -n "$PKG_CONFIG"; then
-  { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -5500,10 +5625,10 @@ 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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $ac_pt_PKG_CONFIG in
   [\\/]* | ?:[\\/]*)
@@ -5518,7 +5643,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5530,11 +5655,11 @@ esac
 fi
 ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
 if test -n "$ac_pt_PKG_CONFIG"; then
-  { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
-echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
   if test "x$ac_pt_PKG_CONFIG" = x; then
@@ -5542,12 +5667,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$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
@@ -5559,32 +5680,32 @@ fi
 fi
 if test -n "$PKG_CONFIG"; then
        _pkg_min_version=0.9.0
-       { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
-echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
+       { $as_echo "$as_me:$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
-               { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
        else
-               { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
                PKG_CONFIG=""
        fi
 
 fi
 
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for GLIB" >&5
-echo $ECHO_N "checking for GLIB... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for GLIB" >&5
+$as_echo_n "checking for GLIB... " >&6; }
 
 if test -n "$PKG_CONFIG"; then
     if test -n "$GLIB_CFLAGS"; then
         pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_REQUIRED\"") >&5
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_REQUIRED\"") >&5
   ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_REQUIRED") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
   pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= $GLIB_REQUIRED" 2>/dev/null`
 else
@@ -5599,10 +5720,10 @@ if test -n "$PKG_CONFIG"; then
         pkg_cv_GLIB_LIBS="$GLIB_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_REQUIRED\"") >&5
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_REQUIRED\"") >&5
   ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_REQUIRED") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
   pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= $GLIB_REQUIRED" 2>/dev/null`
 else
@@ -5630,7 +5751,7 @@ fi
        # Put the nasty error message in config.log where it belongs
        echo "$GLIB_PKG_ERRORS" >&5
 
-       { { echo "$as_me:$LINENO: error: Package requirements (glib-2.0 >= $GLIB_REQUIRED) were not met:
+       { { $as_echo "$as_me:$LINENO: error: Package requirements (glib-2.0 >= $GLIB_REQUIRED) were not met:
 
 $GLIB_PKG_ERRORS
 
@@ -5641,7 +5762,7 @@ Alternatively, you may set the environment variables GLIB_CFLAGS
 and GLIB_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details.
 " >&5
-echo "$as_me: error: Package requirements (glib-2.0 >= $GLIB_REQUIRED) were not met:
+$as_echo "$as_me: error: Package requirements (glib-2.0 >= $GLIB_REQUIRED) were not met:
 
 $GLIB_PKG_ERRORS
 
@@ -5654,7 +5775,9 @@ See the pkg-config man page for more details.
 " >&2;}
    { (exit 1); exit 1; }; }
 elif test $pkg_failed = untried; then
-       { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
+       { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
 
@@ -5664,7 +5787,7 @@ See the pkg-config man page for more details.
 
 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
 See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
+$as_echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
 
@@ -5674,12 +5797,12 @@ See the pkg-config man page for more details.
 
 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 1); exit 1; }; }; }
 else
        GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS
        GLIB_LIBS=$pkg_cv_GLIB_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+        { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
        :
 fi
 
@@ -5721,11 +5844,12 @@ _ACEOF
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      *_cv_*) { $as_echo "$as_me:$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= ;; #(
       *) $as_unset $ac_var ;;
       esac ;;
     esac
@@ -5758,12 +5882,12 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
     test "x$cache_file" != "x/dev/null" &&
-      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
+      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+    { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -5779,7 +5903,7 @@ ac_ltlibobjs=
 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=`echo "$ac_i" | sed "$ac_script"`
+  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.
   ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
@@ -5791,47 +5915,48 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+  { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
 if test -z "${NOINSTGOB_TRUE}" && test -z "${NOINSTGOB_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"NOINSTGOB\" was never defined.
+  { { $as_echo "$as_me:$LINENO: error: conditional \"NOINSTGOB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"NOINSTGOB\" was never defined.
+$as_echo "$as_me: error: conditional \"NOINSTGOB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+  { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
+$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
 
 : ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #! $SHELL
 # Generated by $as_me.
 # Run this file to recreate the current configuration.
@@ -5844,7 +5969,7 @@ ac_cs_silent=false
 SHELL=\${CONFIG_SHELL-$SHELL}
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ## --------------------- ##
 ## M4sh Initialization.  ##
 ## --------------------- ##
@@ -5854,7 +5979,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
 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
+  # 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
@@ -5876,17 +6001,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
 as_cr_digits='0123456789'
 as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
+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
+if (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
-    PATH_SEPARATOR=:
+    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
-  rm -f conf$$.sh
+  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
 
 # Support unset when possible.
@@ -5902,8 +6055,6 @@ fi
 # 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.)
-as_nl='
-'
 IFS=" ""       $as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
@@ -5926,7 +6077,7 @@ if test "x$as_myself" = x; then
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   { (exit 1); exit 1; }
 fi
 
@@ -5939,17 +6090,10 @@ PS2='> '
 PS4='+ '
 
 # NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-  fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
 
 # Required to use basename.
 if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -5971,7 +6115,7 @@ as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
         X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
            s//\1/
            q
@@ -6022,7 +6166,7 @@ $as_unset CDPATH
       s/-\n.*//
     ' >$as_me.lineno &&
   chmod +x "$as_me.lineno" ||
-    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
@@ -6050,7 +6194,6 @@ case `echo -n x` in
 *)
   ECHO_N='-n';;
 esac
-
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
@@ -6063,19 +6206,22 @@ if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
 else
   rm -f conf$$.dir
-  mkdir conf$$.dir
-fi
-echo >conf$$.file
-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 -p'.
-  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+  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 -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
     as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
+  fi
 else
   as_ln_s='cp -p'
 fi
@@ -6100,10 +6246,10 @@ else
   as_test_x='
     eval sh -c '\''
       if test -d "$1"; then
-        test -d "$1/.";
+       test -d "$1/.";
       else
        case $1 in
-        -*)set "./$1";;
+       -*)set "./$1";;
        esac;
        case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
        ???[sx]*):;;*)false;;esac;fi
@@ -6126,7 +6272,7 @@ exec 6>&1
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
+generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -6139,7 +6285,16 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
 
 _ACEOF
 
-cat >>$CONFIG_STATUS <<_ACEOF
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 # Files that config.status was made for.
 config_files="$ac_config_files"
 config_headers="$ac_config_headers"
@@ -6147,22 +6302,23 @@ config_commands="$ac_config_commands"
 
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
 
-Usage: $0 [OPTIONS] [FILE]...
+Usage: $0 [OPTION]... [FILE]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
-  -q, --quiet      do not print progress messages
+  -q, --quiet, --silent
+                   do not print progress messages
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
-  --file=FILE[:TEMPLATE]
-                  instantiate the configuration file FILE
-  --header=FILE[:TEMPLATE]
-                  instantiate the configuration header FILE
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+      --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
 
 Configuration files:
 $config_files
@@ -6176,25 +6332,25 @@ $config_commands
 Report bugs to <bug-autoconf@gnu.org>."
 
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.61,
-  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.63,
+  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
-Copyright (C) 2006 Free Software Foundation, Inc.
+Copyright (C) 2008 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
-# If no file are specified by the user, then we need to provide default
-# value.  By we need to know if files were specified by the user.
+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
@@ -6216,30 +6372,36 @@ do
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    echo "$ac_cs_version"; exit ;;
+    $as_echo "$ac_cs_version"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
-    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
     ac_need_defaults=false;;
   --header | --heade | --head | --hea )
     $ac_shift
-    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    { echo "$as_me: error: ambiguous option: $1
+    { $as_echo "$as_me: error: ambiguous option: $1
 Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; };;
   --help | --hel | -h )
-    echo "$ac_cs_usage"; exit ;;
+    $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.
-  -*) { echo "$as_me: error: unrecognized option: $1
+  -*) { $as_echo "$as_me: error: unrecognized option: $1
 Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; } ;;
 
@@ -6258,27 +6420,29 @@ if $ac_cs_silent; then
 fi
 
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  CONFIG_SHELL=$SHELL
+  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 $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  exec "\$@"
 fi
 
 _ACEOF
-cat >>$CONFIG_STATUS <<\_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
-  echo "$ac_log"
+  $as_echo "$ac_log"
 } >&5
 
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 # INIT-COMMANDS
 #
@@ -6286,7 +6450,7 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 
 # Handling of arguments.
 for ac_config_target in $ac_config_targets
@@ -6301,8 +6465,8 @@ do
     "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
     "doc/gob2.1") CONFIG_FILES="$CONFIG_FILES doc/gob2.1" ;;
 
-  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
 done
@@ -6343,205 +6507,144 @@ $debug ||
   (umask 077 && mkdir "$tmp")
 } ||
 {
-   echo "$me: cannot create a temporary directory in ." >&2
+   $as_echo "$as_me: cannot create a temporary directory in ." >&2
    { (exit 1); exit 1; }
 }
 
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
+# 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
 
-_ACEOF
-
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-am__isrc!$am__isrc$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-MAINT!$MAINT$ac_delim
-NOINSTGOB_TRUE!$NOINSTGOB_TRUE$ac_delim
-NOINSTGOB_FALSE!$NOINSTGOB_FALSE$ac_delim
-SUBDIRS!$SUBDIRS$ac_delim
-INSTGOB!$INSTGOB$ac_delim
-NOINSTGOB!$NOINSTGOB$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-EXEEXT!$EXEEXT$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-CPP!$CPP$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-YACC!$YACC$ac_delim
-YFLAGS!$YFLAGS$ac_delim
-LEX!$LEX$ac_delim
-LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim
-LEXLIB!$LEXLIB$ac_delim
-RM!$RM$ac_delim
-MV!$MV$ac_delim
-TAR!$TAR$ac_delim
-PKG_CONFIG!$PKG_CONFIG$ac_delim
-GLIB_CFLAGS!$GLIB_CFLAGS$ac_delim
-GLIB_LIBS!$GLIB_LIBS$ac_delim
-_ACEOF
-
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
-    break
-  elif $ac_last_try; then
-    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
 
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
-  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
-  ac_eof=`expr $ac_eof + 1`
+ac_cr='\r'
+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
 
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
 _ACEOF
 
 
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
-  cat >conf$$subs.sed <<_ACEOF
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
+  . ./conf$$subs.sh ||
+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 2; then
+  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
-    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
    { (exit 1); exit 1; }; }
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
 done
+rm -f conf$$subs.sh
 
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
-  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
-  ac_eof=`expr $ac_eof + 1`
-fi
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$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 >>"\$tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = "\a"
 
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+}
+{
+  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
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
+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 < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+   { (exit 1); exit 1; }; }
 _ACEOF
 
-
 # VPATH may cause trouble with some makes, so we remove $(srcdir),
 # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
@@ -6557,19 +6660,133 @@ s/^[^=]*=[      ]*$//
 }'
 fi
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 fi # test -n "$CONFIG_FILES"
 
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
 
-for ac_tag in  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_t"; then
+    break
+  elif $ac_last_try; then
+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any.  Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[    ]*#[    ]*define[       ][      ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  for (key in D) D_is_set[key] = 1
+  FS = "\a"
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+  line = \$ 0
+  split(line, arg, " ")
+  if (arg[1] == "#") {
+    defundef = arg[2]
+    mac1 = arg[3]
+  } else {
+    defundef = substr(arg[1], 2)
+    mac1 = arg[2]
+  }
+  split(mac1, mac2, "(") #)
+  macro = mac2[1]
+  prefix = substr(line, 1, index(line, defundef) - 1)
+  if (D_is_set[macro]) {
+    # Preserve the white space surrounding the "#".
+    print prefix "define", macro P[macro] D[macro]
+    next
+  } else {
+    # Replace #undef with comments.  This is necessary, for example,
+    # in the case of _POSIX_SOURCE, which is predefined and required
+    # on some systems where configure will not decide to define it.
+    if (defundef == "undef") {
+      print "/*", prefix defundef, macro, "*/"
+      next
+    }
+  }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+  { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+   { (exit 1); exit 1; }; }
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+shift
+for ac_tag
 do
   case $ac_tag in
   :[FHLC]) ac_mode=$ac_tag; continue;;
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
    { (exit 1); exit 1; }; };;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
@@ -6598,26 +6815,38 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;}
           [\\/$]*) false;;
           *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
           esac ||
-          { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+          { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
    { (exit 1); exit 1; }; };;
       esac
-      ac_file_inputs="$ac_file_inputs $ac_f"
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      ac_file_inputs="$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 "`IFS=:
-         echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    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"
-      { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
+      { $as_echo "$as_me:$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 >"$tmp/stdin";;
+    *:-:* | *:-) cat >"$tmp/stdin" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; } ;;
     esac
     ;;
   esac
@@ -6627,7 +6856,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$ac_file" : 'X\(//\)[^/]' \| \
         X"$ac_file" : 'X\(//\)$' \| \
         X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
+$as_echo X"$ac_file" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -6653,7 +6882,7 @@ echo X"$ac_file" |
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -6662,7 +6891,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$as_dir" : 'X\(//\)[^/]' \| \
         X"$as_dir" : 'X\(//\)$' \| \
         X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -6683,17 +6912,17 @@ echo X"$as_dir" |
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
   ac_builddir=.
 
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  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/ ;;
@@ -6731,19 +6960,15 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
   [\\/$]* | ?:[\\/]* ) 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
+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=
 
-case `sed -n '/datarootdir/ {
+ac_sed_dataroot='
+/datarootdir/ {
   p
   q
 }
@@ -6752,13 +6977,14 @@ case `sed -n '/datarootdir/ {
 /@infodir@/p
 /@localedir@/p
 /@mandir@/p
-' $ac_file_inputs` in
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+  { $as_echo "$as_me:$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
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   ac_datarootdir_hack='
   s&@datadir@&$datadir&g
   s&@docdir@&$docdir&g
@@ -6772,15 +6998,16 @@ _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
-  sed "$ac_vpsub
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
 $extrasub
 _ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 :t
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
+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
@@ -6789,137 +7016,75 @@ 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
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
   { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+  { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+$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 "$tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out"; rm -f "$tmp/out";;
-  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
-  esac
+  -) cat "$tmp/out" && rm -f "$tmp/out";;
+  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  esac \
+  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
  ;;
   :H)
   #
   # CONFIG_HEADER
   #
-_ACEOF
-
-# Transform confdefs.h into a sed script `conftest.defines', that
-# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
-# First, append a space to every undef/define line, to ease matching.
-echo 's/$/ /' >conftest.defines
-# Then, protect against being on the right side of a sed subst, or in
-# an unquoted here document, in config.status.  If some macros were
-# called several times there might be several #defines for the same
-# symbol, which is useless.  But do not sort them, since the last
-# AC_DEFINE must be honored.
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-# NAME is the cpp macro being defined, VALUE is the value it is being given.
-# PARAMS is the parameter list in the macro definition--in most cases, it's
-# just an empty string.
-ac_dA='s,^\\([  #]*\\)[^        ]*\\([  ]*'
-ac_dB='\\)[     (].*,\\1define\\2'
-ac_dC=' '
-ac_dD=' ,'
-
-uniq confdefs.h |
-  sed -n '
-       t rset
-       :rset
-       s/^[     ]*#[    ]*define[       ][      ]*//
-       t ok
-       d
-       :ok
-       s/[\\&,]/\\&/g
-       s/^\('"$ac_word_re"'\)\(([^()]*)\)[      ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
-       s/^\('"$ac_word_re"'\)[  ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
-  ' >>conftest.defines
-
-# Remove the space that was appended to ease matching.
-# Then replace #undef with comments.  This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-# (The regexp can be short, since the line contains either #define or #undef.)
-echo 's/ $//
-s,^[    #]*u.*,/* & */,' >>conftest.defines
-
-# Break up conftest.defines:
-ac_max_sed_lines=50
-
-# First sed command is:         sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-# Second one is:        sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-# Third one will be:    sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-# et cetera.
-ac_in='$ac_file_inputs'
-ac_out='"$tmp/out1"'
-ac_nxt='"$tmp/out2"'
-
-while :
-do
-  # Write a here document:
-    cat >>$CONFIG_STATUS <<_ACEOF
-    # First, check the format of the line:
-    cat >"\$tmp/defines.sed" <<\\CEOF
-/^[     ]*#[    ]*undef[        ][      ]*$ac_word_re[  ]*\$/b def
-/^[     ]*#[    ]*define[       ][      ]*$ac_word_re[(         ]/b def
-b
-:def
-_ACEOF
-  sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
-  echo 'CEOF
-    sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
-  ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
-  sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
-  grep . conftest.tail >/dev/null || break
-  rm -f conftest.defines
-  mv conftest.tail conftest.defines
-done
-rm -f conftest.defines conftest.tail
-
-echo "ac_result=$ac_in" >>$CONFIG_STATUS
-cat >>$CONFIG_STATUS <<\_ACEOF
   if test x"$ac_file" != x-; then
-    echo "/* $configure_input  */" >"$tmp/config.h"
-    cat "$ac_result" >>"$tmp/config.h"
-    if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
-      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+    } >"$tmp/config.h" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
+    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
-      rm -f $ac_file
-      mv "$tmp/config.h" $ac_file
+      rm -f "$ac_file"
+      mv "$tmp/config.h" "$ac_file" \
+       || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
     fi
   else
-    echo "/* $configure_input  */"
-    cat "$ac_result"
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+   { (exit 1); exit 1; }; }
   fi
-  rm -f "$tmp/out12"
-# Compute $ac_file's index in $config_headers.
+# Compute "$ac_file"'s index in $config_headers.
 _am_stamp_count=1
 for _am_header in $config_headers :; do
   case $_am_header in
-    $ac_file | $ac_file:* )
+    "$ac_file" | "$ac_file":* )
       break ;;
     * )
       _am_stamp_count=`expr $_am_stamp_count + 1` ;;
   esac
 done
-echo "timestamp for $ac_file" >`$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 ||
-echo X$ac_file |
+echo "timestamp for "$ac_file"" >`$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
@@ -6939,8 +7104,8 @@ echo X$ac_file |
          s/.*/./; q'`/stamp-h$_am_stamp_count
  ;;
 
-  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
+  :C)  { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
  ;;
   esac
 
@@ -6954,15 +7119,14 @@ echo "$as_me: executing $ac_file commands" >&6;}
   # some people rename them; so instead we look at the file content.
   # Grep'ing the first line is not enough: some people post-process
   # each Makefile.in and add a new line on top of each file to say so.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
     dirpart=`$as_dirname -- "$mf" ||
 $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$mf" : 'X\(//\)[^/]' \| \
         X"$mf" : 'X\(//\)$' \| \
         X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$mf" |
+$as_echo X"$mf" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -7006,7 +7170,7 @@ $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$file" : 'X\(//\)[^/]' \| \
         X"$file" : 'X\(//\)$' \| \
         X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$file" |
+$as_echo X"$file" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -7032,7 +7196,7 @@ echo X"$file" |
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -7041,7 +7205,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$as_dir" : 'X\(//\)[^/]' \| \
         X"$as_dir" : 'X\(//\)$' \| \
         X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -7062,8 +7226,8 @@ echo X"$as_dir" |
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
     # echo "creating $dirpart/$file"
     echo '# dummy' > "$dirpart/$file"
@@ -7080,6 +7244,11 @@ _ACEOF
 chmod +x $CONFIG_STATUS
 ac_clean_files=$ac_clean_files_save
 
+test $ac_write_fail = 0 ||
+  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+
 
 # configure is writing to config.log, and then calls config.status.
 # config.status does its own redirection, appending to config.log.
@@ -7101,4 +7270,8 @@ if test "$no_create" != yes; then
   # would make configure fail if this is the last instruction.
   $ac_cs_success || { (exit 1); exit 1; }
 fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
 
index c8821fbcc1fb67631800882a975c63e3efa052c3..da4b965f14e6bcf441248a1101385fd42d9e35ab 100644 (file)
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.2)
 AC_INIT(src/treefuncs.h)
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(gob2,2.0.15)
+AM_INIT_AUTOMAKE(gob2,2.0.16)
 AM_MAINTAINER_MODE
 
 GLIB_REQUIRED=2.0.0
diff --git a/depcomp b/depcomp
index ca5ea4e1ef9c125b1cb1fc7d51c93d8747637deb..04701da536f33a7c39d7bb01b87a70ae3a776df5 100755 (executable)
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2006-10-15.18
+scriptversion=2005-07-09.11
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
-# Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 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
@@ -92,20 +91,7 @@ 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
-  "$@"
+  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
   stat=$?
   if test $stat -eq 0; then :
   else
@@ -290,46 +276,6 @@ icc)
   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.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-  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 -eq 0; then :
-  else
-     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,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
-    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
-  else
-    echo "#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'.
@@ -342,13 +288,13 @@ tru64)
 
    if test "$libtool" = yes; then
       # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
+      # static library.  This mecanism is used in libtool 1.4 series to
       # handle both shared and static libraries in a single compilation.
       # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
       #
       # With libtool 1.5 this exception was removed, and libtool now
       # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
+      # compilations output dependencies in 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
index df48946d0cd376b4bb69e29567490e432b6078ac..d3fb485720ddd65f30fc85fe27fe44ed7336fa66 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# 2003, 2004, 2005  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.
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
@@ -43,22 +47,21 @@ SOURCES =
 DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-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 uninstall-recursive
+       install-exec-recursive install-info-recursive \
+       install-recursive installcheck-recursive installdirs-recursive \
+       pdf-recursive ps-recursive uninstall-info-recursive \
+       uninstall-recursive
 man1dir = $(mandir)/man1
 am__installdirs = "$(DESTDIR)$(man1dir)"
 NROFF = nroff
 MANS = $(man_MANS)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
 AMTAR = @AMTAR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -80,7 +83,6 @@ EXEEXT = @EXEEXT@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_LIBS = @GLIB_LIBS@
 GREP = @GREP@
-INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -94,10 +96,13 @@ LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
 MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
 MV = @MV@
 NOINSTGOB = @NOINSTGOB@
+NOINSTGOB_FALSE = @NOINSTGOB_FALSE@
+NOINSTGOB_TRUE = @NOINSTGOB_TRUE@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -116,11 +121,9 @@ TAR = @TAR@
 VERSION = @VERSION@
 YACC = @YACC@
 YFLAGS = @YFLAGS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -128,7 +131,6 @@ am__tar = @am__tar@
 am__untar = @am__untar@
 bindir = @bindir@
 build_alias = @build_alias@
-builddir = @builddir@
 datadir = @datadir@
 datarootdir = @datarootdir@
 docdir = @docdir@
@@ -152,11 +154,8 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
 man_MANS = gob2.1
 EXTRA_DIST = gob2.1.in makehtml.pl
 all: all-recursive
@@ -193,9 +192,10 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 gob2.1: $(top_builddir)/config.status $(srcdir)/gob2.1.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+uninstall-info-am:
 install-man1: $(man1_MANS) $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
+       test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
        @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
        l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
        for i in $$l2; do \
@@ -270,7 +270,8 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
        @failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -371,21 +372,22 @@ distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+         esac; \
          if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkdir_p) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
          if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
            if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
              cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
            fi; \
@@ -399,7 +401,7 @@ distdir: $(DISTFILES)
        list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
+           || $(mkdir_p) "$(distdir)/$$subdir" \
            || exit 1; \
            distdir=`$(am__cd) $(distdir) && pwd`; \
            top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -407,8 +409,6 @@ distdir: $(DISTFILES)
              $(MAKE) $(AM_MAKEFLAGS) \
                top_distdir="$$top_distdir" \
                distdir="$$distdir/$$subdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
                distdir) \
              || exit 1; \
          fi; \
@@ -419,7 +419,7 @@ all-am: Makefile $(MANS)
 installdirs: installdirs-recursive
 installdirs-am:
        for dir in "$(DESTDIR)$(man1dir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+         test -z "$$dir" || $(mkdir_p) "$$dir"; \
        done
 install: install-recursive
 install-exec: install-exec-recursive
@@ -463,20 +463,12 @@ info-am:
 
 install-data-am: install-man
 
-install-dvi: install-dvi-recursive
-
 install-exec-am:
 
-install-html: install-html-recursive
-
 install-info: install-info-recursive
 
 install-man: install-man1
 
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -495,26 +487,24 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-man
+uninstall-am: uninstall-info-am uninstall-man
 
-uninstall-man: uninstall-man1
+uninstall-info: uninstall-info-recursive
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-       install-strip
+uninstall-man: uninstall-man1
 
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic ctags \
-       ctags-recursive distclean distclean-generic distclean-tags \
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+       clean clean-generic clean-recursive ctags ctags-recursive \
+       distclean distclean-generic distclean-recursive 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-man1 install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
+       install-am install-data install-data-am install-exec \
+       install-exec-am install-info install-info-am install-man \
+       install-man1 install-strip installcheck installcheck-am \
        installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+       maintainer-clean-generic maintainer-clean-recursive \
+       mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
        pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
-       uninstall-man uninstall-man1
+       uninstall-info-am uninstall-man uninstall-man1
 
 
 html: gob2.1
index 9a53cffa7f2f62412a5474538a26c41abb294ce4..904691ebb0f61659edb7a9fa25dc2dd5da277a8d 100644 (file)
@@ -150,36 +150,44 @@ the extern "C" and the protecting define.  To do this you can put them
 into the \'headertop\' (or \'ht\') section.  You may wish to include code or
 comments in all the files, which you can do by putting them into the \'all\'
 (or \'a\') section.  Similarly, code you wish to appear at the top of all
-files go in the \'alltop\' (or \'at\') section.  For example:
+files go in the \'alltop\' (or \'at\') section.  Finally,
+\'afterdecls\' includes code between the declarations and the method
+implementations, but note that \'afterdecls\' requires version 2.0.16.
+For example:
 .nf
 
   %alltop{
-  /* this will be on top of all output files */
+        /* this will be on top of all output files */
   %}
 
   %headertop{
-  /* this will be on top of the public header */
+        /* this will be on top of the public header */
   %}
 
   %privateheader{
-  /* this will go into the private header file */
+        /* this will go into the private header file */
   %}
 
   %h{
-  /* will be included in the header */
-  void somefunc(int i);
+        /* will be included in the header */
+        void somefunc(int i);
   %}
 
   %a{
-  /* will be included in all files */
+        /* will be included in all files */
+  %}
+
+  %afterdecls{
+        /* between the declarations and the method implementations */
+        /* Requires gob version 2.0.16 */
   %}
 
   %{
-  /* will be included in the C file */
-  void somefunc(int i)
-  {
-        /* some code */
-  }
+        /* will be included in the C file */
+        void somefunc(int i)
+        {
+              /* some code */
+        }
   %}
 
 .fi
@@ -282,11 +290,12 @@ member foo:
   classwide int foo;
 
 .fi
-To access the member you do the standard voodoo of getting the class from the
-object and casting it to your class pointer.  Thus the following would work:
+To access the member you can use the SELF_GET_CLASS macro (or
+YOUR_OBJECT_NAME_GET_CLASS) to get at the class.
+Thus the following would work:
 .nf
 
-  SELF_CLASS(GTK_OBJECT(object)->klass)->foo = 20;
+  SELF_GET_CLASS(object)->foo = 20;
 
 .fi
 .PP
@@ -604,15 +613,43 @@ to be more then 0 and less then 11, and a pointer to a GtkWidget object
 instance and it is checked for being null and the type will also be
 checked.
 .PP
+.B "Function attributes:"
+.PP
+For method that aren't virtual, signal or override methods, and aren't
+init or class_init, GLib function attribute macros G_GNUC_PRINTF,
+G_GNUC_SCANF, and G_GNUC_FORMAT can optionally be included after the
+argument list.  Simply include an \'attr\' keyword and the C code to include
+in the file.  You have to include braces and anything inside the braces
+will be printed into the header file after the function declaration and
+before the trailing semicolon.  The braces themselves are not printed.
+For example:
+.nf
+
+  public void
+  print (self, const char *format (check null), ...)
+    attr {G_GNUC_PRINTF(2, 3)}
+
+.fi
+.PP
+This will produce a prototype which will generate a warning at compile
+time if the contents of the format argument (argument number 2) aren't
+consistent with the types and number of the subsequent variadic
+arguments (the first of which is argument number 3).  Only one \'attr\'
+keyword per method is allowed.
+If you have more than one attribute to include, you should
+put them all within the braces.
+Note that function attributes were aded in version 2.0.16.
+.PP
 .B "Error return:"
 .PP
 Methods which have a return value, there also has to be something
-returned if there is an error, such as if a precondition is not met.  The
-default is 0, casted to the type of the method.  If you need to return
-something else then you can specify an "onerror" keyword after the
-prototype and after that a number, a token (an identifier) or a bit of C
-code enclosed in braces {}.  The braces will not be printed into the
-output, they just delimit the string.  For example:
+returned if there is an error, such as if a precondition is not met.
+The default is 0, casted to the type of the method.  If you need to
+return something else then you can specify an \'onerror\' keyword after
+the prototype and any optional function attribute macros, and after
+that a number, a token (an identifier) or a bit of C code enclosed in
+braces {}.  The braces will not be printed into the output, they just
+delimit the string.  For example:
 .nf
 
   public void * get_something (self, int i (check >= 0)) onerror NULL {
@@ -667,6 +704,31 @@ initialization is taken care of for you by gob itself.  The init function
 should on the other hand be used whenever you need to construct or initialize
 anything in the object to put it into a sane state.
 .PP
+.B "Constructor, dispose, finalize methods:"
+.PP
+Since 2.0.16, you can also easily add code to the object's constructor,
+dispose, and finalize methods.  See GObject documentation on how these are
+run.  The code you add will be run before calling the parents function
+for dispose and finalize, and after the parent function for constructor.
+The syntax is just like init and class_init.
+For example:
+.nf
+
+  constructor (self) {
+       /* constructor method */
+  }
+
+  dispose (self) {
+       /* dispose method */
+  }
+
+  finalize (self) {
+       /* finalize method */
+  }
+
+.fi
+You can also just override those methods as usual, but the above is much easier and nearly as flexible.
+.PP
 .B "Virtual methods:"
 .PP
 Virtual methods are basically pointers in the class structure,
index 7c967320660e1462a1eb7d211bfc9f0085659327..a9b244e869a4cd35819b1b2daf2a983fb43118f7 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# 2003, 2004, 2005  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.
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
@@ -42,18 +46,17 @@ SOURCES =
 DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-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 uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
+       install-exec-recursive install-info-recursive \
+       install-recursive installcheck-recursive installdirs-recursive \
+       pdf-recursive ps-recursive uninstall-info-recursive \
+       uninstall-recursive
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
 AMTAR = @AMTAR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -75,7 +78,6 @@ EXEEXT = @EXEEXT@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_LIBS = @GLIB_LIBS@
 GREP = @GREP@
-INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -89,10 +91,13 @@ LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
 MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
 MV = @MV@
 NOINSTGOB = @NOINSTGOB@
+NOINSTGOB_FALSE = @NOINSTGOB_FALSE@
+NOINSTGOB_TRUE = @NOINSTGOB_TRUE@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -111,11 +116,9 @@ TAR = @TAR@
 VERSION = @VERSION@
 YACC = @YACC@
 YFLAGS = @YFLAGS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -123,7 +126,6 @@ am__tar = @am__tar@
 am__untar = @am__untar@
 bindir = @bindir@
 build_alias = @build_alias@
-builddir = @builddir@
 datadir = @datadir@
 datarootdir = @datarootdir@
 docdir = @docdir@
@@ -147,11 +149,8 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
 EXTRA_DIST = \
        README                  \
        gtk-button-count.gob    \
@@ -194,6 +193,7 @@ $(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
+uninstall-info-am:
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -226,7 +226,8 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
        @failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -327,21 +328,22 @@ distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+         esac; \
          if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkdir_p) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
          if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
            if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
              cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
            fi; \
@@ -355,7 +357,7 @@ distdir: $(DISTFILES)
        list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
+           || $(mkdir_p) "$(distdir)/$$subdir" \
            || exit 1; \
            distdir=`$(am__cd) $(distdir) && pwd`; \
            top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -363,8 +365,6 @@ distdir: $(DISTFILES)
              $(MAKE) $(AM_MAKEFLAGS) \
                top_distdir="$$top_distdir" \
                distdir="$$distdir/$$subdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
                distdir) \
              || exit 1; \
          fi; \
@@ -418,20 +418,12 @@ info-am:
 
 install-data-am:
 
-install-dvi: install-dvi-recursive
-
 install-exec-am:
 
-install-html: install-html-recursive
-
 install-info: install-info-recursive
 
 install-man:
 
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -450,23 +442,21 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am:
+uninstall-am: uninstall-info-am
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-       install-strip
+uninstall-info: uninstall-info-recursive
 
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic ctags \
-       ctags-recursive distclean distclean-generic distclean-tags \
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+       clean clean-generic clean-recursive ctags ctags-recursive \
+       distclean distclean-generic distclean-recursive 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-am install-data install-data-am install-exec \
+       install-exec-am install-info install-info-am install-man \
        install-strip installcheck installcheck-am installdirs \
        installdirs-am maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
-       tags-recursive uninstall uninstall-am
+       maintainer-clean-recursive mostlyclean mostlyclean-generic \
+       mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+       uninstall uninstall-am uninstall-info-am
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 927cffc12c71ea6f449843c9145835da42cabd0a..d556fd8b6541e3105cf518c6a1e505789b517996 100644 (file)
--- a/gob2.spec
+++ b/gob2.spec
@@ -1,4 +1,4 @@
-%define  ver     2.0.15
+%define  ver     2.0.16
 %define  rel     1
 %define  prefix  /usr
 
index 4fbbae7b7ff932e5af542dbe9612f193a68ed4d1..4d4a9519eaf88b18fb157dfe5fae59c1c5d005c7 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2006-10-14.15
+scriptversion=2005-05-14.22
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -39,24 +39,15 @@ scriptversion=2006-10-14.15
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
-# from scratch.
-
-nl='
-'
-IFS=" ""       $nl"
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
 
 # set DOITPROG to echo to test this script
 
 # Don't use :- since 4.3BSD and earlier shells don't like it.
 doit="${DOITPROG-}"
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
 
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
+# put in absolute paths if you don't have them in your path; or use env. vars.
 
 mvprog="${MVPROG-mv}"
 cpprog="${CPPROG-cp}"
@@ -67,13 +58,7 @@ stripprog="${STRIPPROG-strip}"
 rmprog="${RMPROG-rm}"
 mkdirprog="${MKDIRPROG-mkdir}"
 
-posix_glob=
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chmodcmd=$chmodprog
+chmodcmd="$chmodprog 0755"
 chowncmd=
 chgrpcmd=
 stripcmd=
@@ -110,7 +95,7 @@ Environment variables override the default commands:
   CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
 "
 
-while test $# -ne 0; do
+while test -n "$1"; do
   case $1 in
     -c) shift
         continue;;
@@ -126,15 +111,9 @@ while test $# -ne 0; do
 
     --help) echo "$usage"; exit $?;;
 
-    -m) mode=$2
+    -m) chmodcmd="$chmodprog $2"
         shift
         shift
-       case $mode in
-         *' '* | *'    '* | *'
-'*       | *'*'* | *'?'* | *'['*)
-           echo "$0: invalid mode: $mode" >&2
-           exit 1;;
-       esac
         continue;;
 
     -o) chowncmd="$chownprog $2"
@@ -157,33 +136,25 @@ while test $# -ne 0; do
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --)        shift
+    *)  # When -d is used, all remaining arguments are directories to create.
+       # When -t is used, the destination is already specified.
+       test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from $@.
+       for arg
+       do
+          if test -n "$dstarg"; then
+           # $@ is not empty: it contains at least $arg.
+           set fnord "$@" "$dstarg"
+           shift # fnord
+         fi
+         shift # arg
+         dstarg=$arg
+       done
        break;;
-
-    -*)        echo "$0: invalid option: $1" >&2
-       exit 1;;
-
-    *)  break;;
   esac
 done
 
-if test $# -ne 0 && test -z "$dir_arg$dstarg"; 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 "$dstarg"; then
-      # $@ is not empty: it contains at least $arg.
-      set fnord "$@" "$dstarg"
-      shift # fnord
-    fi
-    shift # arg
-    dstarg=$arg
-  done
-fi
-
-if test $# -eq 0; then
+if test -z "$1"; then
   if test -z "$dir_arg"; then
     echo "$0: no input file specified." >&2
     exit 1
@@ -193,33 +164,6 @@ if test $# -eq 0; then
   exit 0
 fi
 
-if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 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 starting with `-'.
@@ -229,11 +173,15 @@ do
 
   if test -n "$dir_arg"; then
     dst=$src
-    dstdir=$dst
-    test -d "$dstdir"
-    dstdir_status=$?
-  else
+    src=
 
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  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 '*'.
@@ -260,188 +208,53 @@ do
        echo "$0: $dstarg: Is a directory" >&2
        exit 1
       fi
-      dstdir=$dst
-      dst=$dstdir/`basename "$src"`
-      dstdir_status=0
-    else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-       (dirname "$dst") 2>/dev/null ||
-       expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-            X"$dst" : 'X\(//\)[^/]' \| \
-            X"$dst" : 'X\(//\)$' \| \
-            X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-       echo X"$dst" |
-           sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\/\)[^/].*/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\/\)$/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\).*/{
-                  s//\1/
-                  q
-                }
-                s/.*/./; q'
-      `
-
-      test -d "$dstdir"
-      dstdir_status=$?
+      dst=$dst/`basename "$src"`
     fi
   fi
 
-  obsolete_mkdir_used=false
-
-  if test $dstdir_status != 0; then
-    case $posix_mkdir in
-      '')
-       # Create intermediate dirs using mode 755 as modified by the umask.
-       # This is like FreeBSD 'install' as of 1997-10-28.
-       umask=`umask`
-       case $stripcmd.$umask in
-         # Optimize common cases.
-         *[2367][2367]) mkdir_umask=$umask;;
-         .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-         *[0-7])
-           mkdir_umask=`expr $umask + 22 \
-             - $umask % 100 % 40 + $umask % 20 \
-             - $umask % 10 % 4 + $umask % 2
-           `;;
-         *) mkdir_umask=$umask,go-w;;
-       esac
-
-       # With -d, create the new directory with the user-specified mode.
-       # Otherwise, rely on $mkdir_umask.
-       if test -n "$dir_arg"; then
-         mkdir_mode=-m$mode
-       else
-         mkdir_mode=
-       fi
-
-       posix_mkdir=false
-       case $umask in
-         *[123567][0-7][0-7])
-           # POSIX mkdir -p sets u+wx bits regardless of umask, which
-           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-           ;;
-         *)
-           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-           trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-           if (umask $mkdir_umask &&
-               exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/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-writeable bit of parent directory when it shouldn't.
-                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                  ls_ld_tmpdir=`ls -ld "$tmpdir"`
-                  case $ls_ld_tmpdir in
-                    d????-?r-*) different_mode=700;;
-                    d????-?--*) different_mode=755;;
-                    *) false;;
-                  esac &&
-                  $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-                    ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-                  }
-                }
-             then posix_mkdir=:
-             fi
-             rmdir "$tmpdir/d" "$tmpdir"
-           else
-             # Remove any dirs left behind by ancient mkdir implementations.
-             rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-           fi
-           trap '' 0;;
-       esac;;
-    esac
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
 
-    if
-      $posix_mkdir && (
-       umask $mkdir_umask &&
-       $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
-      )
-    then :
-    else
+  # Make sure that the destination directory exists.
+
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+        '
+    IFS="${IFS-$defaultIFS}"
 
-      # 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
-
-      case $posix_glob in
-        '')
-         if (set -f) 2>/dev/null; then
-           posix_glob=true
-         else
-           posix_glob=false
-         fi ;;
-      esac
-
-      oIFS=$IFS
-      IFS=/
-      $posix_glob && set -f
-      set fnord $dstdir
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
+    IFS=$oIFS
+
+    pathcomp=
+
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
       shift
-      $posix_glob && set +f
-      IFS=$oIFS
-
-      prefixes=
-
-      for d
-      do
-       test -z "$d" && 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
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+       # mkdir can fail with a `File exist' error in case several
+       # install-sh are creating the directory concurrently.  This
+       # is OK.
+       test -d "$pathcomp" || exit
       fi
-    fi
+      pathcomp=$pathcomp/
+    done
   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
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
   else
+    dstfile=`basename "$dst"`
 
     # Make a couple of temp file names in the proper directory.
     dsttmp=$dstdir/_inst.$$_
@@ -449,9 +262,10 @@ do
 
     # Trap to clean up those temp files at exit.
     trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
 
     # Copy the file name to the temp name.
-    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+    $doit $cpprog "$src" "$dsttmp" &&
 
     # and set any options; do chmod last to preserve setuid bits.
     #
@@ -462,10 +276,10 @@ do
     { 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"; } &&
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
 
     # Now rename the file to the real destination.
-    { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 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
@@ -477,12 +291,11 @@ do
           # reasons.  In this case, the final cleanup might fail but the new
           # file should still install successfully.
           {
-            if test -f "$dst"; then
-              $doit $rmcmd -f "$dst" 2>/dev/null \
-              || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
-                    && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
+            if test -f "$dstdir/$dstfile"; then
+              $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+              || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
               || {
-                echo "$0: cannot unlink or rename $dst" >&2
+                echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
                 (exit 1); exit 1
               }
             else
@@ -491,14 +304,17 @@ do
           } &&
 
           # Now rename the file to the real destination.
-          $doit $mvcmd "$dsttmp" "$dst"
+          $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
         }
-    } || exit 1
-
-    trap '' 0
-  fi
+    }
+  fi || { (exit 1); exit 1; }
 done
 
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit 0
+}
+
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
diff --git a/missing b/missing
index 1c8ff7049d8f3aaa9741c53e7f3145d9b76a77d8..894e786e16c1d0d94dfc08d6b475270fe1418d6a 100755 (executable)
--- a/missing
+++ b/missing
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2006-05-10.23
+scriptversion=2005-06-08.21
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
 #   Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
@@ -33,8 +33,6 @@ if test $# -eq 0; then
 fi
 
 run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
 
 # In the cases where this matters, `missing' is being run in the
 # srcdir already.
@@ -46,7 +44,7 @@ fi
 
 msg="missing on your system"
 
-case $1 in
+case "$1" in
 --run)
   # Try to run requested program, and just exit if it succeeds.
   run=
@@ -79,7 +77,6 @@ Supported PROGRAM values:
   aclocal      touch file \`aclocal.m4'
   autoconf     touch file \`configure'
   autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
   automake     touch all \`Makefile.in' files
   bison        create \`y.tab.[ch]', if possible, from existing .[ch]
   flex         create \`lex.yy.c', if possible, from existing .c
@@ -109,7 +106,7 @@ esac
 # Now exit if we have it, but it failed.  Also exit now if we
 # don't have it and --version was passed (most likely to detect
 # the program).
-case $1 in
+case "$1" in
   lex|yacc)
     # Not GNU programs, they don't have --version.
     ;;
@@ -138,7 +135,7 @@ esac
 
 # If it does not exist, or fails to run (possibly an outdated version),
 # try to emulate it.
-case $1 in
+case "$1" in
   aclocal*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
@@ -167,7 +164,7 @@ WARNING: \`$1' is $msg.  You should only need it if
     test -z "$files" && files="config.h"
     touch_files=
     for f in $files; do
-      case $f in
+      case "$f" in
       *:*) touch_files="$touch_files "`echo "$f" |
                                       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
       *) touch_files="$touch_files $f.in";;
@@ -195,8 +192,8 @@ WARNING: \`$1' is needed, but is $msg.
          You can get \`$1' as part of \`Autoconf' from any GNU
          archive site."
 
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
     if test -f "$file"; then
        touch $file
     else
@@ -217,25 +214,25 @@ WARNING: \`$1' $msg.  You should only need it if
          in order for those modifications to take effect.  You can get
          \`Bison' from any GNU archive site."
     rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
+    if [ $# -ne 1 ]; then
         eval LASTARG="\${$#}"
-       case $LASTARG in
+       case "$LASTARG" in
        *.y)
            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if test -f "$SRCFILE"; then
+           if [ -f "$SRCFILE" ]; then
                 cp "$SRCFILE" y.tab.c
            fi
            SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if test -f "$SRCFILE"; then
+           if [ -f "$SRCFILE" ]; then
                 cp "$SRCFILE" y.tab.h
            fi
          ;;
        esac
     fi
-    if test ! -f y.tab.h; then
+    if [ ! -f y.tab.h ]; then
        echo >y.tab.h
     fi
-    if test ! -f y.tab.c; then
+    if [ ! -f y.tab.c ]; then
        echo 'main() { return 0; }' >y.tab.c
     fi
     ;;
@@ -247,18 +244,18 @@ WARNING: \`$1' is $msg.  You should only need it if
          in order for those modifications to take effect.  You can get
          \`Flex' from any GNU archive site."
     rm -f lex.yy.c
-    if test $# -ne 1; then
+    if [ $# -ne 1 ]; then
         eval LASTARG="\${$#}"
-       case $LASTARG in
+       case "$LASTARG" in
        *.l)
            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if test -f "$SRCFILE"; then
+           if [ -f "$SRCFILE" ]; then
                 cp "$SRCFILE" lex.yy.c
            fi
          ;;
        esac
     fi
-    if test ! -f lex.yy.c; then
+    if [ ! -f lex.yy.c ]; then
        echo 'main() { return 0; }' >lex.yy.c
     fi
     ;;
@@ -270,9 +267,11 @@ WARNING: \`$1' is $msg.  You should only need it if
         \`Help2man' package in order for those modifications to take
         effect.  You can get \`Help2man' from any GNU archive site."
 
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+       file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
        touch $file
     else
        test -z "$file" || exec >$file
@@ -290,17 +289,11 @@ WARNING: \`$1' is $msg.  You should only need it if
          DU, IRIX).  You might want to install the \`Texinfo' package or
          the \`GNU make' package.  Grab either from any GNU archive site."
     # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
     if test -z "$file"; then
       # ... or it is the one specified with @setfilename ...
       infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-       /^@setfilename/{
-         s/.* \([^ ]*\) *$/\1/
-         p
-         q
-       }' $infile`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
       # ... or it is derived from the source name (dir/f.texi becomes f.info)
       test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
     fi
@@ -324,13 +317,13 @@ WARNING: \`$1' is $msg.  You should only need it if
     fi
     firstarg="$1"
     if shift; then
-       case $firstarg in
+       case "$firstarg" in
        *o*)
            firstarg=`echo "$firstarg" | sed s/o//`
            tar "$firstarg" "$@" && exit 0
            ;;
        esac
-       case $firstarg in
+       case "$firstarg" in
        *h*)
            firstarg=`echo "$firstarg" | sed s/h//`
            tar "$firstarg" "$@" && exit 0
index 51e76ad171c308ae9f83c3028b70a377e6d4cbba..585fe091451287828b8d085dc9db6953f68d1468 100644 (file)
@@ -53,7 +53,7 @@ gob2_LDADD = \
 
 CLEANFILES = @CLEANFILES@ $(BUILT_SOURCES) test-object.* test-object-private.h
 
-EXTRA_DIST = $(BUILT_SOURCES) test.gob generate_treefuncs.pl treefuncs.def
+EXTRA_DIST = $(BUILT_SOURCES) test.gob generate_treefuncs.pl treefuncs.def str.gob str_test.c Makefile.str
 
 # parse.h parse.c: parse.y
 #      $(YACC) $(YFLAGS) $<
index b2aee83c1a29217eb1ad586e88c369e019c484fd..6abf61267f9a1d042f2fbda83bf95fd0bcfe54d4 100644 (file)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# 2003, 2004, 2005  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.
 
 @SET_MAKE@
 
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
@@ -30,6 +34,8 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+@NOINSTGOB_TRUE@noinst_PROGRAMS = @NOINSTGOB@
+@NOINSTGOB_FALSE@bin_PROGRAMS = @INSTGOB@
 EXTRA_PROGRAMS = gob2$(EXEEXT)
 subdir = src
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in lexer.c \
@@ -50,34 +56,30 @@ am_gob2_OBJECTS = main.$(OBJEXT) treefuncs.$(OBJEXT) out.$(OBJEXT) \
 gob2_OBJECTS = $(am_gob2_OBJECTS)
 am__DEPENDENCIES_1 =
 gob2_DEPENDENCIES = $(am__DEPENDENCIES_1)
-DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-@MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ ||
 LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
-YLWRAP = $(top_srcdir)/ylwrap
-@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ ||
 YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
 SOURCES = $(gob2_SOURCES)
 DIST_SOURCES = $(gob2_SOURCES)
 RECURSIVE_TARGETS = all-recursive check-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 uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
+       install-exec-recursive install-info-recursive \
+       install-recursive installcheck-recursive installdirs-recursive \
+       pdf-recursive ps-recursive uninstall-info-recursive \
+       uninstall-recursive
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
 AMTAR = @AMTAR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -108,7 +110,6 @@ EXEEXT = @EXEEXT@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_LIBS = @GLIB_LIBS@
 GREP = @GREP@
-INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -122,10 +123,13 @@ LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
 MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
 MV = @MV@
 NOINSTGOB = @NOINSTGOB@
+NOINSTGOB_FALSE = @NOINSTGOB_FALSE@
+NOINSTGOB_TRUE = @NOINSTGOB_TRUE@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -144,11 +148,9 @@ TAR = @TAR@
 VERSION = @VERSION@
 YACC = @YACC@
 YFLAGS = @YFLAGS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -156,7 +158,6 @@ am__tar = @am__tar@
 am__untar = @am__untar@
 bindir = @bindir@
 build_alias = @build_alias@
-builddir = @builddir@
 datadir = @datadir@
 datarootdir = @datarootdir@
 docdir = @docdir@
@@ -180,11 +181,8 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
 
 #YACCFLAGS += -d -t
 AM_YFLAGS = -d -t
@@ -196,8 +194,6 @@ INCLUDES = \
        -I$(top_srcdir)/src     \
        -I$(includedir)
 
-@NOINSTGOB_TRUE@noinst_PROGRAMS = @NOINSTGOB@
-@NOINSTGOB_FALSE@bin_PROGRAMS = @INSTGOB@
 BUILT_SOURCES = parse.h parse.c lexer.c
 gob2_SOURCES = \
        main.c          \
@@ -222,7 +218,7 @@ gob2_LDADD = \
 # we might want popt back in the future
 #      @POPT_LIB@
 CLEANFILES = @CLEANFILES@ $(BUILT_SOURCES) test-object.* test-object-private.h
-EXTRA_DIST = $(BUILT_SOURCES) test.gob generate_treefuncs.pl treefuncs.def
+EXTRA_DIST = $(BUILT_SOURCES) test.gob generate_treefuncs.pl treefuncs.def str.gob str_test.c Makefile.str
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
@@ -259,7 +255,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+       test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; for p in $$list; do \
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
@@ -286,11 +282,11 @@ clean-noinstPROGRAMS:
 parse.h: parse.c
        @if test ! -f $@; then \
          rm -f parse.c; \
-         $(MAKE) $(AM_MAKEFLAGS) parse.c; \
+         $(MAKE) parse.c; \
        else :; fi
 gob2$(EXEEXT): $(gob2_OBJECTS) $(gob2_DEPENDENCIES) 
        @rm -f gob2$(EXEEXT)
-       $(LINK) $(gob2_OBJECTS) $(gob2_LDADD) $(LIBS)
+       $(LINK) $(gob2_LDFLAGS) $(gob2_OBJECTS) $(gob2_LDADD) $(LIBS)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
@@ -307,24 +303,45 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c $<
 
 .c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .l.c:
-       $(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
+       $(LEXCOMPILE) $<
+       sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@
+       rm -f $(LEX_OUTPUT_ROOT).c
 
 .y.c:
-       $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
+       $(YACCCOMPILE) $<
+       if test -f y.tab.h; then \
+         to=`echo "$*_H" | sed \
+                -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
+                -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \
+         sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|$*.h|" \
+            y.tab.h >$*.ht; \
+         rm -f y.tab.h; \
+         if cmp -s $*.ht $*.h; then \
+           rm -f $*.ht ;\
+         else \
+           mv $*.ht $*.h; \
+         fi; \
+       fi
+       if test -f y.output; then \
+         mv y.output $*.output; \
+       fi
+       sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@
+       rm -f y.tab.c
+uninstall-info-am:
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -357,7 +374,8 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
        @failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -458,21 +476,22 @@ distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+         esac; \
          if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkdir_p) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
          if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
            if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
              cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
            fi; \
@@ -486,7 +505,7 @@ distdir: $(DISTFILES)
        list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
+           || $(mkdir_p) "$(distdir)/$$subdir" \
            || exit 1; \
            distdir=`$(am__cd) $(distdir) && pwd`; \
            top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -494,8 +513,6 @@ distdir: $(DISTFILES)
              $(MAKE) $(AM_MAKEFLAGS) \
                top_distdir="$$top_distdir" \
                distdir="$$distdir/$$subdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
                distdir) \
              || exit 1; \
          fi; \
@@ -507,7 +524,7 @@ all-am: Makefile $(PROGRAMS)
 installdirs: installdirs-recursive
 installdirs-am:
        for dir in "$(DESTDIR)$(bindir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+         test -z "$$dir" || $(mkdir_p) "$$dir"; \
        done
 install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-recursive
@@ -562,20 +579,12 @@ info-am:
 
 install-data-am:
 
-install-dvi: install-dvi-recursive
-
 install-exec-am: install-binPROGRAMS
 
-install-html: install-html-recursive
-
 install-info: install-info-recursive
 
 install-man:
 
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -595,25 +604,23 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-binPROGRAMS
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-       install-strip
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic clean-noinstPROGRAMS ctags ctags-recursive \
-       distclean distclean-compile distclean-generic distclean-tags \
-       distdir dvi dvi-am html html-am info info-am install \
-       install-am install-binPROGRAMS 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-compile \
-       mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-binPROGRAMS
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+       clean clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \
+       clean-recursive ctags ctags-recursive distclean \
+       distclean-compile distclean-generic distclean-recursive \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-binPROGRAMS install-data \
+       install-data-am install-exec install-exec-am install-info \
+       install-info-am install-man install-strip installcheck \
+       installcheck-am installdirs installdirs-am maintainer-clean \
+       maintainer-clean-generic maintainer-clean-recursive \
+       mostlyclean mostlyclean-compile mostlyclean-generic \
+       mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+       uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am
 
 
 # parse.h parse.c: parse.y
diff --git a/src/Makefile.str b/src/Makefile.str
new file mode 100644 (file)
index 0000000..f5ac688
--- /dev/null
@@ -0,0 +1,18 @@
+# This is a test makefile for the str_test to check string attributes stuff
+#
+
+CFLAGS := -Wall $(shell pkg-config --cflags gobject-2.0 glib-2.0)
+LDFLAGS := $(shell pkg-config --libs-only-other --libs-only-L \
+                              gobject-2.0 glib-2.0)
+LDLIBS := $(shell pkg-config --libs-only-l gobject-2.0 glib-2.0)
+
+default: str.o str_test.o Makefile.str
+       gcc $(LDFLAGS) str.o str_test.o $(LDLIBS) -o str_test
+
+%.c %.h: %.gob
+       ./gob2 $<
+
+str.o str_test.o: Makefile.str
+
+clean:
+       rm -rf str.o str_test.o str.c str.h str-private.h str_test
index cccdedba562a4d80537724b79749d8d8aada9326..c651e9a5fd153a01c160d25e2516b808a4c8d5e7 100644 (file)
@@ -478,6 +478,30 @@ check_func_arg_checks(Class *c)
        }
 }
 
+void
+check_func_attrs(Class *c)
+{
+  GList *li;
+  for (li = c->nodes; li != NULL; li = li->next) {
+    Node *n = li->data;
+    if (n->type == METHOD_NODE) {
+      Method *m = (Method *)n;
+      if ((m->method == INIT_METHOD ||
+          m->method == CLASS_INIT_METHOD)
+         && (m->funcattrs != NULL && strlen(m->funcattrs) != 0)) {
+       /* This is actually dead code at the moment, since the parser
+          doesn't accept attributes to the init or class_init
+          syntactic forms anyway.  But it could easily be made to do
+          so, and also for virtual override and signal methods, and
+          then we could give kinder error messages here.  */
+       error_print (GOB_ERROR, m->line_no,
+                    "function attributes (G_GNUC_PRINTF, etc.) aren't "
+                     "supported for the init or class_init methods");
+      }
+    }
+  }
+}
+
 void
 check_for_class_destructors (Class *c)
 {
index 88dd8d12e6cf58aa07ae75c16ca9a57098b2477d..870ce05287e471910e637c6033d4abf8ca1f2186 100644 (file)
@@ -36,6 +36,7 @@ void          check_signal_args               (Class *c);
 void           check_argument_types            (Class *c);
 void           check_property_types            (Class *c);
 void           check_func_arg_checks           (Class *c);
+void            check_func_attrs                (Class *c);
 void           check_for_class_destructors     (Class *c);
 
 int            count_signals                   (Class *c);
index 0a7c011a757d3ab6901a4a5550f61594449749d2..d2e3d336314028e111f793a1eafd86ae600e9d91 100644 (file)
@@ -8,7 +8,7 @@
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
 #define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 33
+#define YY_FLEX_SUBMINOR_VERSION 35
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #define FLEX_BETA
 #endif
@@ -30,7 +30,7 @@
 
 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
 
-#if __STDC_VERSION__ >= 199901L
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 
 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
  * if you want the limit (max/min) macros for int types. 
@@ -53,7 +53,6 @@ typedef int flex_int32_t;
 typedef unsigned char flex_uint8_t; 
 typedef unsigned short int flex_uint16_t;
 typedef unsigned int flex_uint32_t;
-#endif /* ! C99 */
 
 /* Limits of integral types. */
 #ifndef INT8_MIN
@@ -84,6 +83,8 @@ typedef unsigned int flex_uint32_t;
 #define UINT32_MAX             (4294967295U)
 #endif
 
+#endif /* ! C99 */
+
 #endif /* ! FLEXINT_H */
 
 #ifdef __cplusplus
@@ -93,11 +94,12 @@ typedef unsigned int flex_uint32_t;
 
 #else  /* ! __cplusplus */
 
-#if __STDC__
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
 
 #define YY_USE_CONST
 
-#endif /* __STDC__ */
+#endif /* defined (__STDC__) */
 #endif /* ! __cplusplus */
 
 #ifdef YY_USE_CONST
@@ -139,7 +141,15 @@ typedef unsigned int flex_uint32_t;
 
 /* Size of default input buffer. */
 #ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
 #define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
 #endif
 
 /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -177,14 +187,9 @@ extern FILE *yyin, *yyout;
 
 #define unput(c) yyunput( c, (yytext_ptr)  )
 
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-
 #ifndef YY_TYPEDEF_YY_SIZE_T
 #define YY_TYPEDEF_YY_SIZE_T
-typedef unsigned int yy_size_t;
+typedef size_t yy_size_t;
 #endif
 
 #ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -363,8 +368,8 @@ static void yy_fatal_error (yyconst char msg[]  );
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 120
-#define YY_END_OF_BUFFER 121
+#define YY_NUM_RULES 121
+#define YY_END_OF_BUFFER 122
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -372,82 +377,83 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_acclist[651] =
+static yyconst flex_int16_t yy_acclist[652] =
     {   0,
-      121,  117,  120,  116,  117,  120,    1,  118,  120,  117,
-      118,  120,  117,  120,  117,  120,  117,  120,  105,  117,
-      120,  105,  117,  120,  117,  120,  109,  117,  120,  109,
-      117,  120,  109,  117,  120,  109,  117,  120,  116,  117,
-      120,  117,  120,  117,  120,  109,  117,  120,  109,  117,
-      120,   29,  117,  120,    1,   30,  118,  120,   29,  117,
-      118,  120,   29,  117,  120,   29,  117,  120,   29,  117,
-      120,   53,  117,  120,    1,   54,  118,  120,   53,  117,
-      118,  120,   45,   53,  117,  120,   53,  117,  120,   53,
-      117,  120,   53,  117,  120,   51,   53,  117,  120,   52,
-
-       53,  117,  120,   53,  117,  120,   53,  117,  120,   49,
-      117,  120,    1,   50,  118,  120,   49,  117,  118,  120,
-       48,   49,  117,  120,   49,  117,  120,   49,  117,  120,
-       62,  117,  120,  117,  120,  109,  117,  120,  109,  117,
-      120,  109,  117,  120,  113,  117,  120,   65,  117,  120,
-        1,   66,  118,  120,   65,  117,  118,  120,   64,   65,
-      117,  120,   65,  117,  120,   65,  117,  120,  117,  120,
-      117,  120,  117,  120,  117,  120,  109,  117,  120,  109,
-      117,  120,  109,  117,  120,  109,  117,  120,  109,  117,
-      120,  109,  117,  120,  109,  117,  120,  109,  117,  120,
-
-      109,  117,  120,  109,  117,  120,  109,  117,  120,  109,
-      117,  120,  114,  117,  120,  115,  117,  120,  102,  117,
-      120,   46,  117,  120,  103,  117,  120,  104,  117,  120,
-      117,  120,  109,  117,  120,  109,  117,  120,  109,  117,
-      120,  109,  117,  120,  109,  117,  120,  109,  117,  120,
-      109,  117,  120,  109,  117,  120,  109,  117,  120,  109,
-      117,  120,  109,  117,  120,  109,  117,  120,   10,  117,
-      120,   10,  117,  118,  120,   10,  117,  120,   10,  117,
-      120,   10,  117,  120,   10,  117,  120,   15,  117,  120,
-       15,  117,  118,  120,   15,  117,  120,   15,  117,  120,
-
-       15,  117,  120,   15,  117,  120,   18,  117,  120,   18,
-      117,  118,  120,   18,  117,  120,   18,  117,  120,  105,
-       23,  105,  105,  108,  109,  109,  109,  109,  109,   36,
-      109,  109,   28,   24,   44,   37,   47,   25,  109,  109,
-      109,   63,   26,  112,  111,  109,  109,  109,  109,  109,
-      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  109,  109,   27,  109,  109,  109,  109,  109,  109,
-      109,  109,  109,  109,  109,  109,    9,    7,   14,   13,
-       11,   12,   14,   17,   16,  110,  110,  105,    3,  105,
-      105,  108,  106,  107,  109,  109,  109,  109,   31,   35,
-
-      109,  109,   42,   38,   40,   19,   20,  109,  109,  109,
-       80,   21,  109,  109,  109,  109,  109,  109,  109,   75,
-      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  109,  109,   22,  109,  109,  109,  109,  109,  109,
-      109,  109,  109,  109,  109,  109,   12,  108,  106,  107,
-      109,   57,  109,  109,  109,   32,   33,   34,  109,  109,
-       43,   39,   41,  109,   61,  109,   60,  109,    6,  109,
-       78,  109,  109,  109,  109,   70,  109,  109,   73,  109,
-      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,   67,  109,  109,  109,  109,   70,  109,  109,  109,
-
-      109,   90,  109,  109,  109,  109,   96,  109,    8,  108,
-       55,  109,   56,  109,   58,  109,  109,  109,  109,   60,
-      109,   79,  109,  109,   76,  109,  109,  109,  109,  109,
-      109,   74,  109,  109,  109,  109,   69,  109,  109,  109,
-       91,  109,  109,  109,  109,   95,  109,  109,  109,  109,
-      109,  109,  109,  109,  109,   77,  109,  109,  109,  109,
-      109,   81,  109,   87,  109,   71,  109,   68,  109,  109,
-      109,  109,  109,  109,  109,  109,  109,  109,  109,    4,
-      109,  109,  109,  109,  109,   82,  109,  109,  109,  109,
-       86,  109,  109,  109,  109,  109,   92,  109,   93,  109,
-
-      109,  109,  109,  109,   85,  109,  109,   88,  109,   89,
-      109,  109,   72,  109,  109,  109,  109,  109,  109,  109,
-       84,  109,   83,  109,  109,  109,   98,  109,  109,  109,
-      109,    4,    2,  100,  109,  109,   97,  109,  109,   99,
-      109,  119,    5,  109,  101,  109,  109,   94,  109,   59
+      122,  118,  121,  117,  118,  121,    1,  119,  121,  118,
+      119,  121,  118,  121,  118,  121,  118,  121,  106,  118,
+      121,  106,  118,  121,  118,  121,  110,  118,  121,  110,
+      118,  121,  110,  118,  121,  110,  118,  121,  117,  118,
+      121,  118,  121,  118,  121,  110,  118,  121,  110,  118,
+      121,   29,  118,  121,    1,   30,  119,  121,   29,  118,
+      119,  121,   29,  118,  121,   29,  118,  121,   29,  118,
+      121,   54,  118,  121,    1,   55,  119,  121,   54,  118,
+      119,  121,   46,   54,  118,  121,   54,  118,  121,   54,
+      118,  121,   54,  118,  121,   52,   54,  118,  121,   53,
+
+       54,  118,  121,   54,  118,  121,   54,  118,  121,   50,
+      118,  121,    1,   51,  119,  121,   50,  118,  119,  121,
+       49,   50,  118,  121,   50,  118,  121,   50,  118,  121,
+       63,  118,  121,  118,  121,  110,  118,  121,  110,  118,
+      121,  110,  118,  121,  114,  118,  121,   66,  118,  121,
+        1,   67,  119,  121,   66,  118,  119,  121,   65,   66,
+      118,  121,   66,  118,  121,   66,  118,  121,  118,  121,
+      118,  121,  118,  121,  118,  121,  110,  118,  121,  110,
+      118,  121,  110,  118,  121,  110,  118,  121,  110,  118,
+      121,  110,  118,  121,  110,  118,  121,  110,  118,  121,
+
+      110,  118,  121,  110,  118,  121,  110,  118,  121,  110,
+      118,  121,  115,  118,  121,  116,  118,  121,  103,  118,
+      121,   47,  118,  121,  104,  118,  121,  105,  118,  121,
+      118,  121,  110,  118,  121,  110,  118,  121,  110,  118,
+      121,  110,  118,  121,  110,  118,  121,  110,  118,  121,
+      110,  118,  121,  110,  118,  121,  110,  118,  121,  110,
+      118,  121,  110,  118,  121,  110,  118,  121,   10,  118,
+      121,   10,  118,  119,  121,   10,  118,  121,   10,  118,
+      121,   10,  118,  121,   10,  118,  121,   15,  118,  121,
+       15,  118,  119,  121,   15,  118,  121,   15,  118,  121,
+
+       15,  118,  121,   15,  118,  121,   18,  118,  121,   18,
+      118,  119,  121,   18,  118,  121,   18,  118,  121,  106,
+       23,  106,  106,  109,  110,  110,  110,  110,  110,   36,
+      110,  110,   28,   24,   45,   38,   48,   25,  110,  110,
+      110,   64,   26,  113,  112,  110,  110,  110,  110,  110,
+      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
+      110,  110,  110,   27,  110,  110,  110,  110,  110,  110,
+      110,  110,  110,  110,  110,  110,    9,    7,   14,   13,
+       11,   12,   14,   17,   16,  111,  111,  106,    3,  106,
+      106,  109,  107,  108,  110,  110,  110,  110,   31,   35,
+
+      110,  110,   43,   39,   41,   19,   20,  110,  110,  110,
+       81,   21,  110,  110,  110,  110,  110,  110,  110,   76,
+      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
+      110,  110,  110,   22,  110,  110,  110,  110,  110,  110,
+      110,  110,  110,  110,  110,  110,   12,  109,  107,  108,
+      110,   58,  110,  110,  110,   37,   32,   33,   34,  110,
+      110,   44,   40,   42,  110,   62,  110,   61,  110,    6,
+      110,   79,  110,  110,  110,  110,   71,  110,  110,   74,
+      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
+      110,  110,   68,  110,  110,  110,  110,   71,  110,  110,
+
+      110,  110,   91,  110,  110,  110,  110,   97,  110,    8,
+      109,   56,  110,   57,  110,   59,  110,  110,  110,  110,
+       61,  110,   80,  110,  110,   77,  110,  110,  110,  110,
+      110,  110,   75,  110,  110,  110,  110,   70,  110,  110,
+      110,   92,  110,  110,  110,  110,   96,  110,  110,  110,
+      110,  110,  110,  110,  110,  110,   78,  110,  110,  110,
+      110,  110,   82,  110,   88,  110,   72,  110,   69,  110,
+      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
+        4,  110,  110,  110,  110,  110,   83,  110,  110,  110,
+      110,   87,  110,  110,  110,  110,  110,   93,  110,   94,
+
+      110,  110,  110,  110,  110,   86,  110,  110,   89,  110,
+       90,  110,  110,   73,  110,  110,  110,  110,  110,  110,
+      110,   85,  110,   84,  110,  110,  110,   99,  110,  110,
+      110,  110,    4,    2,  101,  110,  110,   98,  110,  110,
+      100,  110,  120,    5,  110,  102,  110,  110,   95,  110,
+       60
     } ;
 
-static yyconst flex_int16_t yy_accept[552] =
+static yyconst flex_int16_t yy_accept[562] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -476,40 +482,41 @@ static yyconst flex_int16_t yy_accept[552] =
       378,  379,  379,  380,  380,  380,  381,  382,  382,  384,
       385,  386,  387,  387,  388,  389,  389,  390,  391,  392,
       393,  393,  394,  395,  396,  397,  398,  399,  399,  399,
-      399,  399,  399,  400,  400,  400,  401,  401,  401,  402,
-      403,  403,  404,  404,  404,  404,  405,  406,  406,  407,
-      407,  407,  408,  409,  410,  411,  412,  412,  412,  413,
-      413,  413,  414,  415,  416,  417,  418,  419,  420,  422,
-      423,  424,  425,  426,  427,  428,  429,  430,  431,  432,
-
-      433,  434,  434,  435,  436,  437,  438,  439,  440,  441,
-      442,  443,  444,  445,  446,  447,  447,  448,  448,  449,
-      450,  450,  451,  451,  452,  454,  455,  456,  456,  456,
-      456,  456,  457,  457,  458,  459,  459,  460,  461,  461,
-      462,  463,  464,  464,  465,  467,  469,  469,  470,  471,
-      473,  474,  475,  476,  478,  479,  481,  482,  483,  484,
-      485,  486,  487,  488,  489,  490,  491,  492,  494,  495,
-      496,  497,  499,  500,  501,  502,  504,  505,  506,  507,
-      509,  509,  510,  510,  510,  511,  513,  515,  517,  517,
-      517,  517,  517,  517,  517,  518,  519,  519,  519,  520,
-
-      522,  524,  525,  527,  528,  529,  530,  531,  532,  534,
-      535,  536,  537,  539,  540,  541,  543,  544,  545,  546,
-      548,  549,  550,  551,  552,  552,  552,  552,  552,  552,
-      552,  553,  554,  554,  554,  555,  556,  558,  559,  560,
-      561,  562,  564,  566,  568,  570,  571,  572,  573,  574,
-      575,  576,  577,  578,  579,  580,  580,  580,  581,  581,
-      581,  582,  583,  583,  583,  584,  585,  586,  588,  589,
-      590,  591,  593,  594,  595,  596,  597,  599,  601,  602,
-      603,  603,  603,  603,  603,  603,  604,  605,  605,  605,
-      607,  608,  610,  612,  613,  615,  616,  617,  618,  619,
-
-      620,  621,  621,  621,  621,  621,  621,  621,  621,  621,
-      621,  621,  623,  625,  626,  627,  629,  630,  631,  632,
-      632,  633,  633,  633,  633,  633,  634,  634,  636,  637,
-      639,  640,  642,  642,  642,  643,  643,  643,  644,  645,
-      647,  647,  647,  648,  648,  648,  650,  650,  650,  651,
-      651
+      399,  399,  399,  399,  399,  400,  400,  400,  401,  401,
+      401,  402,  403,  403,  404,  404,  404,  404,  405,  406,
+      406,  407,  407,  407,  408,  409,  410,  411,  412,  412,
+      412,  413,  413,  413,  414,  415,  416,  417,  418,  419,
+      420,  422,  423,  424,  425,  426,  427,  428,  429,  430,
+
+      431,  432,  433,  434,  434,  435,  436,  437,  438,  439,
+      440,  441,  442,  443,  444,  445,  446,  447,  447,  448,
+      448,  449,  450,  450,  451,  451,  452,  454,  455,  456,
+      456,  456,  456,  457,  457,  457,  458,  458,  459,  460,
+      460,  461,  462,  462,  463,  464,  465,  465,  466,  468,
+      470,  470,  471,  472,  474,  475,  476,  477,  479,  480,
+      482,  483,  484,  485,  486,  487,  488,  489,  490,  491,
+      492,  493,  495,  496,  497,  498,  500,  501,  502,  503,
+      505,  506,  507,  508,  510,  510,  511,  511,  511,  512,
+      514,  516,  518,  518,  518,  518,  518,  518,  518,  518,
+
+      519,  520,  520,  520,  521,  523,  525,  526,  528,  529,
+      530,  531,  532,  533,  535,  536,  537,  538,  540,  541,
+      542,  544,  545,  546,  547,  549,  550,  551,  552,  553,
+      553,  553,  553,  553,  553,  553,  553,  554,  555,  555,
+      555,  556,  557,  559,  560,  561,  562,  563,  565,  567,
+      569,  571,  572,  573,  574,  575,  576,  577,  578,  579,
+      580,  581,  581,  581,  582,  582,  582,  582,  583,  584,
+      584,  584,  585,  586,  587,  589,  590,  591,  592,  594,
+      595,  596,  597,  598,  600,  602,  603,  604,  604,  604,
+      604,  604,  604,  604,  605,  606,  606,  606,  608,  609,
+
+      611,  613,  614,  616,  617,  618,  619,  620,  621,  622,
+      622,  622,  622,  622,  622,  622,  622,  622,  622,  622,
+      622,  624,  626,  627,  628,  630,  631,  632,  633,  633,
+      634,  634,  634,  634,  634,  634,  635,  635,  637,  638,
+      640,  641,  643,  643,  643,  644,  644,  644,  645,  646,
+      648,  648,  648,  649,  649,  649,  651,  651,  651,  652,
+      652
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -554,143 +561,147 @@ static yyconst flex_int32_t yy_meta[60] =
         8,    8,    8,    8,    8,    8,    8,    1,    1
     } ;
 
-static yyconst flex_int16_t yy_base[585] =
+static yyconst flex_int16_t yy_base[595] =
     {   0,
         0,   58,   58,   65,   69,  126,   80,   85,   74,   87,
-       93,  113,  172, 1318,  131,  136,  225, 1317,  100,  147,
-      135,  159,  175,  190, 1324, 1327, 1327, 1327, 1327, 1293,
-      225,   62,  231,  237,    0, 1302,   42,  150,   60,  232,
-       63,  164,  156,   77, 1327, 1327, 1327, 1306,  173, 1292,
-     1327, 1327, 1327, 1327,  245,  104,    0, 1327, 1327,  279,
-     1260, 1327, 1327, 1327, 1327,    0,  262, 1327,  144,  110,
-      161,  143, 1327, 1327, 1327, 1327, 1327,    0,  282,  275,
+       93,  113,  172, 1329,  131,  136,  225, 1328,  100,  147,
+      135,  159,  175,  190, 1335, 1338, 1338, 1338, 1338, 1304,
+      225,   62,  231,  237,    0, 1313,   42,  150,   60,  232,
+       63,  164,  156,   77, 1338, 1338, 1338, 1317,  173, 1303,
+     1338, 1338, 1338, 1338,  245,  104,    0, 1338, 1338,  279,
+     1271, 1338, 1338, 1338, 1338,    0,  262, 1338,  144,  110,
+      161,  143, 1338, 1338, 1338, 1338, 1338,    0,  282,  275,
       214,  279,  283,  171,  285,  263,  182,  138,  219,  266,
-      179,  287,  295,  270,  292, 1327, 1327, 1327, 1327, 1327,
-
-     1327,  296,  297,  298,  311,  288,  170,  310,  226,  308,
-      326,  329,  299,  307, 1327, 1327, 1303,  351,  359,  360,
-     1327, 1327, 1302,  365,  366,  371, 1313, 1312,  373,  377,
-     1304, 1303,  373, 1327, 1309,  377,  383,  390,    0,  397,
-     1291, 1290, 1289,  365,  302,  332,  385,  417, 1258, 1270,
-      418, 1265,  373,  375,  310, 1327,  198,  402, 1327,    0,
-     1295,  380, 1294, 1293, 1327, 1299, 1327,  428, 1255, 1327,
-     1327, 1327, 1297,  408,  406,  409, 1327, 1285, 1285, 1294,
-      426,  430, 1265, 1266,   62,  435,  437,  412,  420,  432,
-      416,  434,  436,  237,  440,  444,  446,  451,  439,  454,
-
-      456,  455, 1327, 1291,  457,  459,  460,  463,  464,  468,
-      471,  472,  479,  480,  474,  481, 1327,  506,  520,  525,
-     1327,  530, 1327,  512,  532,  537, 1327, 1278, 1327, 1327,
-     1327, 1327, 1282, 1281,  532, 1287, 1327,  536,    0, 1269,
-        0, 1268, 1267,  517,  521,  522,  524, 1249, 1236, 1238,
-     1239, 1224, 1327, 1248, 1222, 1327, 1221, 1237,  526,  536,
-     1250, 1327, 1266, 1265, 1264, 1327, 1327, 1270, 1327, 1237,
-     1268, 1327,  537,  538,  540, 1327,  559, 1267, 1327, 1238,
-      554,  544,  554,  547,  555,  556,  557,  559, 1248,  560,
-      558,  561,  562,  567,  566,  573,  564,  574,  581,  575,
-
-      484, 1264, 1327,  576,  583,  580,  585,  589,  592,  598,
-      603,  587,  605,  609,  611,  634, 1327,  639, 1246, 1245,
-     1244, 1243, 1242,  612, 1241,  614,  615, 1227, 1206, 1221,
-      451, 1327, 1221, 1327, 1327, 1202,  623,  624, 1229, 1327,
-     1327, 1327, 1210,  627, 1233, 1232,  647, 1327,  631, 1231,
-      632,  636,  637, 1230,  638, 1229,  639,  640,  642,  648,
-      641,  649,  654,  651,  650,  655,  652, 1228,  664,  657,
-      660,  672,  675,  677,  679, 1227,  680,  682,  683, 1226,
-      704, 1327,  715,  706, 1225, 1224, 1223, 1222, 1197, 1199,
-      717, 1192, 1201, 1204,  694,  691,    0, 1183,  696,  705,
-
-     1215,  708, 1214,  709,  710,  711,  712,  714, 1213,  719,
-      716,  717, 1212,  720,  722, 1211,  724,  723,  726,  733,
-      728,  731,  734,  738, 1186, 1179,  771, 1180, 1177, 1168,
-      744,  737, 1188, 1175,  739,  751, 1182,  759,  756,  748,
-      752, 1171, 1156, 1155, 1154,  760,  755,  762,  763,  774,
-      776,  778,  781,  785,  782, 1112, 1087,  819,  751, 1076,
-      787,  788, 1085, 1053,  790,  791,  792, 1062,  786,  793,
-      796, 1053,  798,  813,  799,  800, 1044, 1029,  804,  820,
-      944,  927,  970,  929,  935,  842,  844,  834,  852,  954,
-      829,  953,  951,  839,  919,  821,  840,  841,  843,  845,
-
-      847,  866,  868,  931,  853,  851,  880,  887,  891,  899,
-      864,  867,  861,  853,  859,  860,  863,  864,  893,  869,
-     1327,  469,  917,  908,  925, 1327,  907,  417,  901,  415,
-      911,  304,  285,  944, 1327,  935,  933, 1327,  908,  238,
-      178,  946,  912,  127,  940,  117,  964,  966, 1327, 1327,
-      983,  992, 1001, 1010, 1019, 1028, 1037, 1046, 1049, 1053,
-     1061, 1070, 1079, 1084, 1093, 1102, 1107, 1110, 1113, 1121,
-     1130, 1139, 1148, 1153, 1162, 1170, 1172, 1176, 1180, 1187,
-     1191, 1199, 1208, 1217
+      179,  287,  295,  270,  292, 1338, 1338, 1338, 1338, 1338,
+
+     1338,  296,  297,  298,  311,  288,  170,  310,  226,  308,
+      326,  329,  299,  307, 1338, 1338, 1314,  351,  359,  360,
+     1338, 1338, 1313,  365,  366,  371, 1324, 1323,  373,  377,
+     1315, 1314,  373, 1338, 1320,  377,  383,  390,    0,  397,
+     1302, 1301, 1300,  365,  302,  332,  385,  417, 1269, 1281,
+      418, 1276,  389,  380,  310, 1338,  198,  402, 1338,    0,
+     1306,  405, 1305, 1304, 1338, 1310, 1338,  428, 1266, 1338,
+     1338, 1338, 1308,  406,  408,  409, 1338, 1296, 1296, 1305,
+      426,  440, 1276, 1277,   62,  415,  416,  420,  417,  426,
+      433,  432,  440,  237,  434,  448,  441,  453,  454,  456,
+
+      458,  457, 1338, 1302,  463,  465,  467,  469,  470,  471,
+      473,  474,  476,  475,  481,  480, 1338,  500,  508,  527,
+     1338,  529, 1338,  532,  534,  540, 1338, 1289, 1338, 1338,
+     1338, 1338, 1293, 1292,  534, 1298, 1338,  538,    0, 1280,
+        0, 1279, 1278,  519,  479,  521,  524, 1260, 1247, 1249,
+     1236, 1241, 1248, 1233, 1338, 1257, 1231, 1338, 1230, 1246,
+      528,  506, 1259, 1338, 1275, 1274, 1273, 1338, 1338, 1279,
+     1338, 1246, 1277, 1338,  538,  540,  542, 1338,  563, 1276,
+     1338, 1247,  555,  544,  555,  547,  556,  557,  558,  559,
+     1257,  560,  561,  562,  567,  564,  563,  568,  570,  574,
+
+      576,  575,  582, 1273, 1338,  580,  589,  592,  584,  581,
+      590,  602,  604,  608,  613,  586,  614,  633, 1338,  635,
+     1255, 1254, 1253, 1252, 1251,  620, 1250,  622,  624, 1236,
+     1215, 1230, 1338, 1229,  596, 1338, 1229, 1338, 1338, 1210,
+      629,  635, 1237, 1338, 1338, 1338, 1218,  630, 1241, 1240,
+      654, 1338,  632, 1239,  638,  639,  641, 1238,  642, 1237,
+      643,  645,  646,  647,  649,  644,  662,  666,  654,  648,
+      650, 1236,  668,  672,  659,  677,  660,  678,  684, 1235,
+      685,  686,  687, 1234,  711, 1338,  713,  719, 1233, 1232,
+     1231, 1230, 1205, 1207,  724, 1197, 1199, 1208, 1211,  690,
+
+      698,    0, 1190,  707,  708, 1222,  712, 1221,  715,  716,
+      717,  718,  719, 1220,  720,  721,  722, 1219,  723,  725,
+     1218,  727,  726,  730,  740,  731,  732,  735,  741, 1193,
+     1186,  760, 1199, 1186, 1183, 1174,  745,  751, 1194, 1181,
+      755,  761, 1188,  760,  763,  766,  769, 1177, 1162, 1161,
+     1160,  770,  771,  773,  774,  775,  777,  778,  779,  784,
+      783, 1118, 1093,  825, 1082,  753, 1065,  793,  786, 1085,
+     1051,  788,  794,  797, 1059,  789,  799,  802, 1050,  790,
+      813,  800,  792, 1035,  965,  819,  830,  949,  932,  975,
+      946,  933,  939,  849,  850,  840,  858,  957,  841,  946,
+
+      945,  843,  940,  833,  834,  845,  842,  846,  847,  866,
+      871,  936,  898,  887,  878,  883,  890,  894,  902,  873,
+      884,  866,  854,  864,  855,  856,  878,  885,  516, 1338,
+      464,  479,  921,  914,  929, 1338,  922,  411,  905,  367,
+      897,  304,  285,  948, 1338,  939,  945, 1338,  863,  238,
+      178,  945,  916,  127,  952,  117,  970,  972, 1338, 1338,
+      989,  998, 1007, 1016, 1025, 1034, 1043, 1052, 1055, 1059,
+     1067, 1076, 1085, 1090, 1099, 1108, 1113, 1116, 1119, 1127,
+     1136, 1145, 1154, 1159, 1168, 1176, 1178, 1182, 1186, 1193,
+     1197, 1205, 1214, 1223
+
     } ;
 
-static yyconst flex_int16_t yy_def[585] =
+static yyconst flex_int16_t yy_def[595] =
     {   0,
-      550,    1,  551,  551,  552,  552,  553,  553,    1,    1,
-      554,  554,    1,   13,    1,    1,    1,   17,  555,  555,
-      556,  556,  557,  557,  550,  550,  550,  550,  550,  558,
-      550,  550,  550,  550,  559,  560,  560,  560,  560,  550,
-      550,  550,  560,  560,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  561,  550,  550,  550,
-      550,  550,  550,  550,  550,  562,  550,  550,  550,  560,
-      560,  560,  550,  550,  550,  550,  550,  563,  550,  550,
-      550,  559,  564,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  550,  550,  550,  550,  550,
-
-      550,  550,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  565,  550,  550,  566,  550,  550,  550,  567,  550,
-      568,  560,  569,  560,  560,  560,  560,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  560,  560,  550,  570,
-      550,  550,  550,  550,  550,  571,  550,  550,  550,  550,
-      550,  550,  572,  560,  560,  560,  550,  550,  550,  573,
-      550,  550,  574,  550,  560,  560,  560,  560,  560,  560,
+      560,    1,  561,  561,  562,  562,  563,  563,    1,    1,
+      564,  564,    1,   13,    1,    1,    1,   17,  565,  565,
+      566,  566,  567,  567,  560,  560,  560,  560,  560,  568,
+      560,  560,  560,  560,  569,  570,  570,  570,  570,  560,
+      560,  560,  570,  570,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  571,  560,  560,  560,
+      560,  560,  560,  560,  560,  572,  560,  560,  560,  570,
+      570,  570,  560,  560,  560,  560,  560,  573,  560,  560,
+      560,  569,  574,  570,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  570,  560,  560,  560,  560,  560,
+
+      560,  560,  570,  570,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  560,  560,  560,  560,  560,  560,
       560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-
-      560,  560,  550,  575,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  550,  550,  550,  550,
-      550,  576,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  566,  550,  550,  567,  568,
-      577,  578,  579,  560,  560,  560,  560,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  560,  560,
-      550,  550,  550,  550,  550,  550,  550,  571,  550,  550,
-      572,  550,  560,  560,  560,  550,  550,  573,  550,  574,
-      564,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  575,  560,  560,  576,  560,  560,  560,  577,  560,
+      578,  570,  579,  570,  570,  570,  570,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  570,  570,  560,  580,
+      560,  560,  560,  560,  560,  581,  560,  560,  560,  560,
+      560,  560,  582,  570,  570,  570,  560,  560,  560,  583,
+      560,  560,  584,  560,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
+
+      570,  570,  560,  585,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  570,  570,  560,  560,  560,  560,
+      560,  586,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  576,  560,  560,  577,  578,
+      587,  588,  589,  570,  570,  570,  570,  560,  560,  560,
       560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-
-      560,  575,  550,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  580,  550,  550,  581,  578,
-      550,  579,  569,  560,  560,  560,  560,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  560,  560,  550,  550,
-      550,  550,  550,  560,  560,  560,  550,  550,  560,  560,
+      570,  570,  560,  560,  560,  560,  560,  560,  560,  581,
+      560,  560,  582,  560,  570,  570,  570,  560,  560,  583,
+      560,  584,  574,  570,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
+
+      570,  570,  570,  585,  560,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  570,  570,  570,  590,  560,  560,
+      591,  588,  560,  589,  579,  570,  570,  570,  570,  560,
       560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      570,  570,  560,  560,  560,  560,  560,  570,  570,  570,
+      560,  560,  570,  570,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  560,  560,  590,  560,  591,  570,
+      570,  570,  560,  560,  560,  560,  560,  560,  560,  570,
+
+      570,  592,  560,  570,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  570,  570,  570,  570,  570,  560,
+      560,  560,  560,  560,  560,  560,  570,  570,  560,  560,
+      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
+      570,  560,  560,  560,  560,  560,  560,  570,  570,  560,
+      560,  570,  570,  570,  570,  570,  570,  570,  570,  570,
+      570,  570,  570,  570,  570,  570,  570,  560,  560,  560,
+      560,  560,  560,  570,  570,  560,  560,  570,  570,  570,
+
+      570,  570,  570,  570,  570,  570,  570,  570,  570,  560,
+      560,  593,  560,  560,  560,  560,  560,  560,  560,  560,
+      570,  570,  570,  570,  570,  570,  570,  570,  593,  560,
+      560,  560,  560,  560,  560,  560,  594,  570,  570,  570,
+      570,  570,  560,  560,  560,  560,  594,  560,  570,  570,
+      560,  560,  570,  560,  560,  570,  560,  560,  560,    0,
       560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
       560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      550,  550,  580,  550,  581,  560,  560,  560,  550,  550,
-      550,  550,  550,  550,  560,  560,  582,  550,  560,  560,
-
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  550,  550,  550,  550,  550,  550,
-      560,  560,  550,  550,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  550,  550,  550,  550,  550,
-      560,  560,  550,  550,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      550,  550,  550,  550,  550,  560,  560,  550,  550,  560,
       560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560
 
-      560,  550,  550,  583,  550,  550,  550,  550,  550,  550,
-      550,  560,  560,  560,  560,  560,  560,  560,  560,  583,
-      550,  550,  550,  550,  550,  550,  584,  560,  560,  560,
-      560,  560,  550,  550,  550,  550,  584,  550,  560,  560,
-      550,  550,  560,  550,  550,  560,  550,  550,  550,    0,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550
     } ;
 
-static yyconst flex_int16_t yy_nxt[1387] =
+static yyconst flex_int16_t yy_nxt[1398] =
     {   0,
        26,   27,   28,   27,   29,   27,   26,   26,   26,   30,
        26,   26,   26,   31,   32,   33,   34,   34,   34,   35,
@@ -703,150 +714,152 @@ static yyconst flex_int16_t yy_nxt[1387] =
        68,  143,   63,   56,   64,  144,   65,   63,   69,   64,
        50,   65,   67,   68,   41,   75,  143,   76,   57,   77,
 
-      282,   69,   28,  147,  116,   43,  152,   44,   70,   66,
+      284,   69,   28,  147,  116,   43,  152,   44,   70,   66,
        36,   71,  117,  158,   66,   75,  165,   76,  166,   77,
        79,   70,   78,   36,   71,   72,   58,   59,   52,  143,
        53,   73,   54,   60,   61,   55,  143,   28,   72,  122,
        56,   98,   78,   41,   73,   26,   98,  123,  118,   28,
        26,  116,  118,  174,  119,   57,  172,  143,  173,  120,
       124,   28,  143,  122,  124,   36,  125,   36,   36,  143,
-       36,  126,   36,   36,  151,  143,  257,   28,  151,  128,
+       36,  126,   36,   36,  151,  143,  259,   28,  151,  128,
       143,  191,  176,   58,   59,   80,   81,  129,   96,  143,
       143,   82,   28,   96,  128,  145,  153,  130,  143,  146,
 
        83,  143,  129,  154,   84,  157,   85,   86,   87,   88,
-      175,  155,   89,  209,  544,   90,  152,  143,   91,   92,
+      175,  155,   89,  209,  554,   90,  152,  143,   91,   92,
       185,  156,   93,   72,   94,   95,  179,  190,  180,   96,
-       97,   99,  194,  148,  259,  100,  101,  148,  143,  102,
+       97,   99,  194,  148,  261,  100,  101,  148,  143,  102,
       133,  133,  133,  133,  136,  143,  137,  137,  137,  138,
       136,  161,  140,  140,  140,  140,  143,  143,  103,  104,
       105,  106,  107,  151,  192,   89,  212,  151,   90,  108,
-      109,  110,  111,  291,  162,  112,  113,   94,  114,  149,
+      109,  110,  111,  293,  162,  112,  113,   94,  114,  149,
       168,  150,  143,  151,  168,  143,  139,  151,  178,  143,
       133,  133,  133,  133,  181,  181,  181,  181,  182,  182,
 
       182,  182,  163,  164,  143,  152,  143,  143,  203,  189,
       204,  143,  193,  184,  143,  200,  143,  143,  143,  169,
-      541,  143,  152,  143,  186,  152,  143,  143,  187,  143,
+      551,  143,  152,  143,  186,  152,  143,  143,  187,  143,
       143,  188,  201,  208,  197,  198,  195,  186,  202,  196,
-      205,  213,  210,  206,  188,  143,  199,  207,  143,  257,
-      211,  143,  218,  202,  245,  216,  218,  189,  214,  258,
+      205,  213,  210,  206,  188,  143,  199,  207,  143,  259,
+      211,  143,  218,  202,  245,  216,  218,  189,  214,  260,
       151,  220,  221,  219,  151,  222,  224,  151,  197,  215,
       224,  151,  226,  227,  217,  230,  226,  225,  151,  230,
-      199,  246,  151,  228,  143,  229,  263,  231,  235,  235,
+      199,  246,  151,  228,  143,  229,  143,  231,  235,  235,
       235,  235,  238,  238,  238,  238,  136,  244,  137,  137,
 
       137,  138,  152,  136,  143,  138,  138,  138,  138,  152,
-      136,  254,  140,  140,  140,  140,  251,  247,  148,  151,
-      152,  143,  148,  151,  252,  143,  255,  143,  143,  168,
-      253,  143,  256,  168,  143,  143,  143,  264,  265,  143,
-      273,  181,  181,  181,  181,  182,  182,  182,  182,  275,
-      260,  143,  274,  143,  143,  143,  143,  285,  143,  143,
-      184,  152,  288,  143,  149,  143,  150,  283,  169,  284,
-      143,  152,  286,  143,  143,  143,  143,  294,  143,  143,
-      292,  290,  143,  143,  287,  289,  293,  143,  297,  296,
-      143,  143,  295,  143,  298,  301,  308,  306,  143,  143,
-
-      143,  533,  392,  143,  299,  300,  311,  218,  253,  304,
-      288,  218,  314,  224,  305,  307,  310,  224,  219,  368,
-      312,  220,  221,  309,  225,  222,  220,  221,  315,  313,
-      220,  220,  221,  226,  227,  220,  143,  226,  318,  227,
-      143,  143,  318,  143,  228,  143,  317,  235,  235,  235,
-      235,  238,  238,  238,  238,  143,  143,  143,  337,  143,
-      347,  348,  327,  143,  347,  325,  143,  324,  326,  182,
-      182,  182,  182,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  345,  143,  184,  143,  143,  344,  338,  353,
-      346,  355,  143,  143,  143,  143,  349,  351,  356,  143,
-
-      143,  354,  143,  350,  143,  352,  143,  357,  143,  359,
-      361,  143,  371,  360,  358,  362,  364,  143,  363,  370,
-      365,  366,  143,  377,  143,  369,  367,  373,  143,  372,
-      143,  143,  374,  143,  143,  381,  382,  378,  375,  381,
-      318,  227,  143,  143,  318,  376,  143,  380,  347,  348,
-      143,  143,  347,  384,  379,  143,  143,  143,  143,  143,
-      143,  143,  386,  387,  396,  388,  395,  143,  143,  143,
-      143,  143,  405,  143,  143,  399,  143,  346,  406,  143,
-      402,  408,  400,  143,  407,  412,  410,  401,  404,  403,
-      411,  143,  417,  414,  143,  413,  143,  416,  143,  143,
-
-      409,  143,  143,  419,  415,  381,  382,  381,  382,  381,
-      143,  381,  418,  143,  423,  143,  381,  382,  427,  411,
-      381,  421,  427,  422,  143,  420,  424,  143,  143,  143,
-      143,  143,  435,  143,  384,  143,  143,  431,  143,  143,
-      432,  143,  143,  143,  437,  143,  441,  143,  442,  438,
-      143,  444,  143,  143,  447,  448,  143,  143,  143,  436,
-      440,  439,  443,  143,  451,  446,  449,  143,  445,  455,
-      143,  143,  427,  462,  143,  143,  427,  450,  143,  143,
-      452,  143,  143,  453,  465,  454,  458,  458,  458,  458,
-      461,  466,  468,  143,  467,  143,  471,  143,  472,  469,
-
-      143,  143,  484,  470,  143,  143,  143,  143,  256,  143,
-      143,  143,  143,  473,  474,  143,  479,  143,  143,  143,
-      483,  486,  477,  143,  483,  478,  491,  476,  492,  494,
-      475,  495,  143,  480,  458,  458,  458,  458,  487,  143,
-      143,  490,  493,  507,  497,  508,  498,  507,  143,  508,
-      509,  510,  510,  511,  496,  500,  499,  511,  143,  143,
-      143,  143,  143,  143,  143,  512,  143,  507,  514,  508,
-      527,  507,  143,  508,  513,  521,  501,  516,  143,  143,
-      143,  507,  143,  143,  527,  507,  143,  522,  508,  528,
-      517,  529,  508,  515,  519,  523,  523,  523,  523,  530,
-
-      255,  518,  524,  524,  524,  524,  525,  525,  525,  525,
-      526,  531,  143,  538,  525,  525,  525,  525,  534,  535,
-      143,  536,  534,  524,  524,  524,  524,  143,  538,  532,
-      143,  143,  523,  523,  523,  523,  526,  521,  143,  538,
-      525,  525,  525,  525,  539,  534,  535,  540,  546,  534,
-      542,  542,  542,  542,  538,  547,  547,  547,  547,  545,
-      543,  542,  542,  542,  542,  548,  549,  548,  549,  548,
-      143,  548,  143,  143,  506,  505,  504,  503,  502,  547,
-      547,  547,  547,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   51,   51,   51,   51,   51,   51,   51,   51,
-
-       51,   62,   62,   62,   62,   62,   62,   62,   62,   62,
-       74,   74,   74,   74,   74,   74,   74,   74,   74,  115,
-      115,  115,  115,  115,  115,  115,  115,  115,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  131,  131,  143,  131,
-      131,  131,  131,  131,  131,  141,  141,  142,  142,  142,
-      142,  167,  167,  143,  167,  167,  167,  167,  167,  167,
-      171,  171,  143,  171,  171,  171,  171,  171,  171,  177,
-      177,  143,  177,  177,  177,  177,  177,  177,  183,  489,
-      183,  183,  183,  233,  233,  488,  233,  233,  233,  233,
-
-      233,  233,  236,  236,  236,  236,  236,  236,  236,  236,
-      236,  239,  485,  239,  240,  240,  240,  240,  243,  243,
-      243,  261,  261,  482,  261,  261,  261,  261,  261,  261,
-      268,  268,  268,  268,  268,  268,  268,  268,  268,  271,
-      271,  271,  271,  271,  271,  271,  271,  271,  278,  278,
-      278,  278,  278,  278,  278,  278,  278,  280,  481,  280,
-      280,  280,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  316,  316,  143,  143,  143,  316,  316,  319,  319,
-      320,  320,  320,  320,  322,  322,  322,  322,  383,  383,
-      143,  383,  383,  383,  383,  385,  385,  385,  385,  433,
-
-      433,  143,  433,  433,  433,  433,  433,  433,  520,  520,
-      464,  463,  520,  520,  520,  520,  520,  537,  537,  460,
-      537,  537,  537,  537,  537,  537,  459,  252,  457,  456,
-      143,  143,  143,  143,  143,  434,  430,  429,  428,  426,
-      425,  143,  143,  143,  241,  143,  143,  143,  143,  143,
-      143,  143,  143,  398,  397,  394,  393,  391,  390,  389,
-      143,  550,  323,  242,  321,  241,  303,  143,  184,  279,
-      272,  343,  269,  342,  341,  340,  339,  336,  335,  334,
-      333,  332,  331,  330,  329,  328,  323,  321,  241,  237,
-      232,  232,  317,  303,  281,  184,  279,  277,  276,  272,
-
-      270,  269,  267,  266,  262,  250,  249,  248,  242,  143,
-      241,  237,  234,  232,  230,  230,  223,  217,  170,  160,
-      159,  143,  132,  550,   41,   41,   25,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550
+      136,  265,  140,  140,  140,  140,  256,  247,  148,  151,
+      152,  143,  148,  151,  251,  143,  252,  143,  143,  168,
+      143,  257,  253,  168,  143,  143,  143,  258,  275,  143,
+      254,  181,  181,  181,  181,  143,  255,  285,  286,  277,
+      262,  143,  143,  143,  276,  182,  182,  182,  182,  143,
+      143,  152,  266,  267,  149,  287,  150,  143,  169,  288,
+      184,  152,  143,  143,  294,  143,  143,  143,  289,  290,
+      295,  296,  143,  291,  143,  292,  143,  297,  143,  143,
+      143,  298,  143,  143,  143,  143,  300,  303,  143,  143,
+
+      143,  218,  310,  299,  308,  218,  301,  302,  313,  220,
+      221,  543,  219,  222,  251,  306,  290,  314,  312,  316,
+      307,  309,  530,  327,  315,  143,  311,  317,  220,  221,
+      220,  221,  220,  224,  220,  226,  227,  224,  143,  226,
+      143,  320,  227,  143,  225,  320,  228,  143,  319,  235,
+      235,  235,  235,  238,  238,  238,  238,  143,  342,  143,
+      341,  143,  329,  143,  351,  352,  143,  328,  351,  326,
+      182,  182,  182,  182,  143,  143,  143,  143,  143,  143,
+      143,  143,  143,  143,  349,  184,  143,  143,  348,  143,
+      357,  359,  350,  143,  143,  143,  353,  355,  360,  143,
+
+      143,  143,  358,  143,  354,  143,  356,  365,  143,  143,
+      361,  143,  366,  367,  363,  362,  370,  372,  364,  377,
+      369,  143,  368,  143,  375,  374,  371,  143,  376,  373,
+      378,  383,  143,  143,  385,  386,  320,  227,  385,  143,
+      320,  143,  379,  143,  381,  382,  380,  397,  143,  143,
+      384,  143,  388,  255,  143,  351,  352,  143,  143,  351,
+      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
+      390,  391,  400,  143,  392,  401,  404,  410,  143,  143,
+      350,  143,  411,  412,  407,  143,  419,  143,  405,  413,
+      406,  143,  409,  408,  415,  414,  143,  143,  416,  418,
+
+      417,  421,  420,  143,  143,  143,  143,  422,  424,  143,
+      425,  423,  385,  386,  385,  386,  385,  143,  385,  428,
+      385,  386,  426,  416,  385,  432,  143,  143,  427,  432,
+      429,  143,  388,  437,  143,  143,  143,  143,  143,  143,
+      143,  143,  143,  441,  143,  143,  143,  438,  443,  143,
+      143,  143,  447,  448,  143,  444,  450,  453,  454,  143,
+      143,  432,  442,  449,  143,  432,  446,  445,  452,  455,
+      143,  457,  461,  451,  143,  464,  464,  464,  464,  143,
+      143,  456,  143,  458,  459,  143,  460,  469,  143,  143,
+      143,  468,  143,  143,  143,  474,  143,  143,  143,  475,
+
+      472,  473,  143,  143,  492,  143,  478,  143,  143,  143,
+      258,  143,  143,  143,  479,  486,  143,  476,  143,  143,
+      477,  143,  484,  485,  480,  481,  490,  494,  483,  499,
+      490,  482,  143,  500,  487,  502,  495,  503,  143,  498,
+      464,  464,  464,  464,  505,  501,  504,  506,  507,  143,
+      516,  517,  143,  143,  516,  517,  518,  519,  519,  520,
+      143,  143,  143,  520,  143,  143,  143,  516,  143,  143,
+      508,  516,  517,  143,  143,  143,  517,  521,  522,  537,
+      523,  525,  143,  143,  516,  143,  509,  524,  516,  526,
+      538,  517,  540,  537,  528,  517,  539,  143,  533,  533,
+
+      533,  533,  527,  143,  143,  534,  534,  534,  534,  535,
+      535,  535,  535,  536,  532,  553,  143,  535,  535,  535,
+      535,  542,  544,  545,  143,  541,  544,  546,  548,  534,
+      534,  534,  534,  550,  257,  143,  533,  533,  533,  533,
+      536,  531,  530,  548,  535,  535,  535,  535,  549,  544,
+      545,  548,  556,  544,  552,  552,  552,  552,  555,  143,
+      552,  552,  552,  552,  143,  143,  548,  557,  557,  557,
+      557,  558,  559,  558,  559,  558,  143,  558,  515,  514,
+      513,  512,  511,  510,  143,  557,  557,  557,  557,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   51,   51,
+
+       51,   51,   51,   51,   51,   51,   51,   62,   62,   62,
+       62,   62,   62,   62,   62,   62,   74,   74,   74,   74,
+       74,   74,   74,   74,   74,  115,  115,  115,  115,  115,
+      115,  115,  115,  115,  121,  121,  121,  121,  121,  121,
+      121,  121,  121,  127,  127,  127,  127,  127,  127,  127,
+      127,  127,  131,  131,  143,  131,  131,  131,  131,  131,
+      131,  141,  141,  142,  142,  142,  142,  167,  167,  143,
+      167,  167,  167,  167,  167,  167,  171,  171,  143,  171,
+      171,  171,  171,  171,  171,  177,  177,  497,  177,  177,
+      177,  177,  177,  177,  183,  496,  183,  183,  183,  233,
+
+      233,  493,  233,  233,  233,  233,  233,  233,  236,  236,
+      236,  236,  236,  236,  236,  236,  236,  239,  491,  239,
+      240,  240,  240,  240,  243,  243,  243,  263,  263,  489,
+      263,  263,  263,  263,  263,  263,  270,  270,  270,  270,
+      270,  270,  270,  270,  270,  273,  273,  273,  273,  273,
+      273,  273,  273,  273,  280,  280,  280,  280,  280,  280,
+      280,  280,  280,  282,  488,  282,  282,  282,  304,  304,
+      304,  304,  304,  304,  304,  304,  304,  318,  318,  143,
+      143,  143,  318,  318,  321,  321,  322,  322,  322,  322,
+      324,  324,  324,  324,  387,  387,  143,  387,  387,  387,
+
+      387,  389,  389,  389,  389,  439,  439,  143,  439,  439,
+      439,  439,  439,  439,  529,  529,  471,  470,  529,  529,
+      529,  529,  529,  547,  547,  467,  547,  547,  547,  547,
+      547,  547,  466,  254,  465,  463,  462,  143,  143,  143,
+      143,  143,  440,  436,  435,  434,  433,  431,  430,  143,
+      143,  143,  241,  143,  143,  143,  143,  143,  143,  143,
+      143,  403,  402,  399,  398,  396,  395,  394,  393,  143,
+      560,  325,  242,  323,  241,  305,  143,  184,  281,  274,
+      347,  271,  346,  345,  344,  343,  340,  339,  338,  337,
+      336,  335,  334,  333,  332,  331,  330,  325,  323,  241,
+
+      237,  232,  232,  319,  305,  283,  184,  281,  279,  278,
+      274,  272,  271,  269,  268,  264,  250,  249,  248,  242,
+      143,  241,  237,  234,  232,  230,  230,  223,  217,  170,
+      160,  159,  143,  132,  560,   41,   41,   25,  560,  560,
+      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  560
+
     } ;
 
-static yyconst flex_int16_t yy_chk[1387] =
+static yyconst flex_int16_t yy_chk[1398] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -862,20 +875,20 @@ static yyconst flex_int16_t yy_chk[1387] =
       185,   10,   19,   39,   19,    2,   41,    2,    9,    7,
         9,    9,   19,   44,    8,   12,   56,   12,   56,   12,
        12,   10,   11,   10,   10,    9,    5,    5,    6,   70,
-        6,    9,    6,    6,    6,    6,  546,   21,   10,   21,
+        6,    9,    6,    6,    6,    6,  556,   21,   10,   21,
         6,   15,   12,   16,   10,   15,   16,   21,   20,   20,
        16,   20,   20,   70,   20,    6,   69,   88,   69,   20,
        22,   22,   72,   22,   22,   15,   22,   15,   15,   38,
-       16,   22,   16,   16,   49,   43,  544,   23,   49,   23,
+       16,   22,   16,   16,   49,   43,  554,   23,   49,   23,
        71,   88,   72,    6,    6,   13,   13,   23,   15,  107,
        84,   13,   24,   16,   24,   38,   42,   24,   91,   38,
 
        13,   87,   24,   42,   13,   43,   13,   13,   13,   13,
-       71,   42,   13,  107,  541,   13,   49,  157,   13,   13,
+       71,   42,   13,  107,  551,   13,   49,  157,   13,   13,
        84,   42,   13,   13,   13,   13,   81,   87,   81,   13,
        13,   17,   91,   40,  157,   17,   17,   40,   89,   17,
        31,   31,   31,   31,   33,  109,   33,   33,   33,   33,
-       34,   55,   34,   34,   34,   34,  194,  540,   17,   17,
+       34,   55,   34,   34,   34,   34,  194,  550,   17,   17,
        17,   17,   17,   67,   89,   17,  109,   67,   17,   17,
        17,   17,   17,  194,   55,   17,   17,   17,   17,   40,
        60,   40,   86,   79,   60,   90,   33,   79,   80,   94,
@@ -883,123 +896,125 @@ static yyconst flex_int16_t yy_chk[1387] =
 
        83,   83,   55,   55,   85,   67,   92,  106,  102,   86,
       102,   95,   90,   83,   93,   94,  103,  104,  113,   60,
-      533,  145,   60,  532,   85,   79,  114,  110,   85,  108,
+      543,  145,   60,  542,   85,   79,  114,  110,   85,  108,
       105,   85,   95,  106,   93,   93,   92,  104,   95,   92,
       103,  110,  108,  103,  104,  111,   93,  105,  112,  155,
       108,  146,  118,  114,  145,  113,  118,  105,  111,  155,
       119,  120,  120,  118,  119,  120,  124,  125,  112,  112,
       124,  125,  126,  126,  120,  129,  126,  124,  130,  130,
-      112,  146,  130,  126,  144,  126,  162,  129,  133,  133,
+      112,  146,  130,  126,  144,  126,  540,  129,  133,  133,
       133,  133,  136,  136,  136,  136,  137,  144,  137,  137,
 
       137,  137,  119,  138,  147,  138,  138,  138,  138,  125,
-      140,  154,  140,  140,  140,  140,  153,  147,  148,  151,
-      130,  158,  148,  151,  153,  175,  154,  174,  176,  168,
-      153,  188,  154,  168,  530,  191,  528,  162,  162,  189,
-      174,  181,  181,  181,  181,  182,  182,  182,  182,  176,
-      158,  190,  175,  192,  186,  193,  187,  188,  199,  195,
-      182,  151,  191,  196,  148,  197,  148,  186,  168,  187,
-      198,  168,  189,  200,  202,  201,  205,  196,  206,  207,
-      195,  193,  208,  209,  190,  192,  195,  210,  199,  198,
-      211,  212,  197,  215,  200,  202,  209,  207,  213,  214,
-
-      216,  522,  331,  301,  200,  201,  212,  218,  331,  205,
-      209,  218,  215,  224,  206,  208,  211,  224,  218,  301,
-      213,  219,  219,  210,  224,  219,  220,  220,  216,  214,
-      220,  222,  222,  225,  225,  222,  244,  225,  226,  226,
-      245,  246,  226,  247,  225,  259,  225,  235,  235,  235,
-      235,  238,  238,  238,  238,  260,  273,  274,  259,  275,
-      277,  277,  247,  282,  277,  245,  284,  244,  246,  281,
-      281,  281,  281,  283,  285,  286,  287,  291,  288,  290,
-      292,  293,  274,  297,  281,  295,  294,  273,  260,  286,
-      275,  288,  296,  298,  300,  304,  282,  284,  290,  306,
-
-      299,  287,  305,  283,  307,  285,  312,  291,  308,  293,
-      294,  309,  306,  293,  292,  295,  297,  310,  296,  305,
-      298,  299,  311,  312,  313,  304,  300,  308,  314,  307,
-      315,  324,  309,  326,  327,  316,  316,  313,  310,  316,
-      318,  318,  337,  338,  318,  311,  344,  315,  347,  347,
-      349,  351,  347,  316,  314,  352,  353,  355,  357,  358,
-      361,  359,  324,  326,  338,  327,  337,  360,  362,  365,
-      364,  367,  358,  363,  366,  349,  370,  344,  359,  371,
-      353,  361,  351,  369,  360,  364,  363,  352,  357,  355,
-      363,  372,  370,  366,  373,  365,  374,  369,  375,  377,
-
-      362,  378,  379,  372,  367,  381,  381,  384,  384,  381,
-      396,  384,  371,  395,  377,  399,  383,  383,  391,  379,
-      383,  374,  391,  375,  400,  373,  378,  402,  404,  405,
-      406,  407,  399,  408,  383,  411,  412,  395,  410,  414,
-      396,  415,  418,  417,  402,  419,  407,  421,  408,  404,
-      422,  411,  420,  423,  415,  417,  432,  424,  435,  400,
-      406,  405,  410,  431,  420,  414,  418,  440,  412,  424,
-      436,  441,  427,  432,  447,  439,  427,  419,  438,  446,
-      421,  448,  449,  422,  435,  423,  427,  427,  427,  427,
-      431,  436,  439,  450,  438,  451,  446,  452,  447,  440,
-
-      453,  455,  459,  441,  454,  469,  461,  462,  459,  465,
-      466,  467,  470,  448,  449,  471,  454,  473,  475,  476,
-      458,  461,  452,  479,  458,  453,  466,  451,  467,  470,
-      450,  471,  474,  455,  458,  458,  458,  458,  462,  480,
-      496,  465,  469,  486,  474,  487,  475,  486,  491,  487,
-      488,  488,  488,  489,  473,  479,  476,  489,  494,  497,
-      498,  486,  499,  487,  500,  491,  501,  502,  496,  503,
-      511,  502,  514,  503,  494,  520,  480,  498,  515,  516,
-      513,  507,  517,  518,  511,  507,  512,  506,  508,  514,
-      499,  515,  508,  497,  501,  507,  507,  507,  507,  517,
-
-      505,  500,  508,  508,  508,  508,  509,  509,  509,  509,
-      510,  518,  519,  527,  510,  510,  510,  510,  523,  523,
-      529,  524,  523,  524,  524,  524,  524,  539,  527,  519,
-      531,  543,  523,  523,  523,  523,  525,  504,  495,  537,
-      525,  525,  525,  525,  529,  534,  534,  531,  543,  534,
-      536,  536,  536,  536,  537,  545,  545,  545,  545,  542,
-      539,  542,  542,  542,  542,  547,  547,  548,  548,  547,
-      493,  548,  492,  490,  485,  484,  483,  482,  481,  547,
-      547,  547,  547,  551,  551,  551,  551,  551,  551,  551,
-      551,  551,  552,  552,  552,  552,  552,  552,  552,  552,
-
-      552,  553,  553,  553,  553,  553,  553,  553,  553,  553,
-      554,  554,  554,  554,  554,  554,  554,  554,  554,  555,
-      555,  555,  555,  555,  555,  555,  555,  555,  556,  556,
-      556,  556,  556,  556,  556,  556,  556,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  558,  558,  478,  558,
-      558,  558,  558,  558,  558,  559,  559,  560,  560,  560,
-      560,  561,  561,  477,  561,  561,  561,  561,  561,  561,
-      562,  562,  472,  562,  562,  562,  562,  562,  562,  563,
-      563,  468,  563,  563,  563,  563,  563,  563,  564,  464,
-      564,  564,  564,  565,  565,  463,  565,  565,  565,  565,
-
-      565,  565,  566,  566,  566,  566,  566,  566,  566,  566,
-      566,  567,  460,  567,  568,  568,  568,  568,  569,  569,
-      569,  570,  570,  457,  570,  570,  570,  570,  570,  570,
-      571,  571,  571,  571,  571,  571,  571,  571,  571,  572,
-      572,  572,  572,  572,  572,  572,  572,  572,  573,  573,
-      573,  573,  573,  573,  573,  573,  573,  574,  456,  574,
-      574,  574,  575,  575,  575,  575,  575,  575,  575,  575,
-      575,  576,  576,  445,  444,  443,  576,  576,  577,  577,
-      578,  578,  578,  578,  579,  579,  579,  579,  580,  580,
-      442,  580,  580,  580,  580,  581,  581,  581,  581,  582,
-
-      582,  437,  582,  582,  582,  582,  582,  582,  583,  583,
-      434,  433,  583,  583,  583,  583,  583,  584,  584,  430,
-      584,  584,  584,  584,  584,  584,  429,  428,  426,  425,
-      416,  413,  409,  403,  401,  398,  394,  393,  392,  390,
-      389,  388,  387,  386,  385,  380,  376,  368,  356,  354,
-      350,  346,  345,  343,  339,  336,  333,  330,  329,  328,
-      325,  323,  322,  321,  320,  319,  302,  289,  280,  278,
-      271,  270,  268,  265,  264,  263,  261,  258,  257,  255,
-      254,  252,  251,  250,  249,  248,  243,  242,  240,  236,
-      234,  233,  228,  204,  184,  183,  180,  179,  178,  173,
-
-      169,  166,  164,  163,  161,  152,  150,  149,  143,  142,
-      141,  135,  132,  131,  128,  127,  123,  117,   61,   50,
-       48,   36,   30,   25,   18,   14,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550
+      140,  162,  140,  140,  140,  140,  154,  147,  148,  151,
+      130,  158,  148,  151,  153,  174,  153,  175,  176,  168,
+      538,  154,  153,  168,  186,  187,  189,  154,  174,  188,
+      153,  181,  181,  181,  181,  190,  153,  186,  187,  176,
+      158,  192,  191,  195,  175,  182,  182,  182,  182,  193,
+      197,  151,  162,  162,  148,  188,  148,  196,  168,  189,
+      182,  168,  198,  199,  195,  200,  202,  201,  190,  191,
+      195,  196,  205,  192,  206,  193,  207,  197,  208,  209,
+      210,  198,  211,  212,  214,  213,  200,  202,  245,  216,
+
+      215,  218,  209,  199,  207,  218,  200,  201,  212,  219,
+      219,  532,  218,  219,  531,  205,  209,  213,  211,  215,
+      206,  208,  529,  245,  214,  262,  210,  216,  220,  220,
+      222,  222,  220,  224,  222,  225,  225,  224,  244,  225,
+      246,  226,  226,  247,  224,  226,  225,  261,  225,  235,
+      235,  235,  235,  238,  238,  238,  238,  275,  262,  276,
+      261,  277,  247,  284,  279,  279,  286,  246,  279,  244,
+      283,  283,  283,  283,  285,  287,  288,  289,  290,  292,
+      293,  294,  297,  296,  276,  283,  295,  298,  275,  299,
+      288,  290,  277,  300,  302,  301,  284,  286,  292,  306,
+
+      310,  303,  289,  309,  285,  316,  287,  296,  307,  311,
+      293,  308,  297,  298,  295,  294,  301,  303,  295,  310,
+      300,  312,  299,  313,  308,  307,  302,  314,  309,  306,
+      311,  316,  315,  317,  318,  318,  320,  320,  318,  326,
+      320,  328,  312,  329,  314,  315,  313,  335,  341,  348,
+      317,  353,  318,  335,  342,  351,  351,  355,  356,  351,
+      357,  359,  361,  366,  362,  363,  364,  370,  365,  371,
+      326,  328,  341,  369,  329,  342,  353,  362,  375,  377,
+      348,  367,  363,  364,  357,  368,  370,  373,  355,  365,
+      356,  374,  361,  359,  367,  366,  376,  378,  367,  369,
+
+      368,  373,  371,  379,  381,  382,  383,  374,  376,  400,
+      377,  375,  385,  385,  387,  387,  385,  401,  387,  381,
+      388,  388,  378,  383,  388,  395,  404,  405,  379,  395,
+      382,  407,  387,  400,  409,  410,  411,  412,  413,  415,
+      416,  417,  419,  404,  420,  423,  422,  401,  407,  424,
+      426,  427,  412,  413,  428,  409,  416,  420,  422,  425,
+      429,  432,  405,  415,  437,  432,  411,  410,  419,  423,
+      438,  425,  429,  417,  441,  432,  432,  432,  432,  444,
+      442,  424,  445,  426,  427,  446,  428,  438,  447,  452,
+      453,  437,  454,  455,  456,  444,  457,  458,  459,  445,
+
+      441,  442,  461,  460,  466,  469,  452,  472,  476,  480,
+      466,  483,  468,  473,  453,  460,  474,  446,  477,  482,
+      447,  478,  458,  459,  454,  455,  464,  468,  457,  473,
+      464,  456,  481,  474,  461,  477,  469,  478,  486,  472,
+      464,  464,  464,  464,  481,  476,  480,  482,  483,  487,
+      494,  495,  504,  505,  494,  495,  496,  496,  496,  497,
+      499,  507,  502,  497,  506,  508,  509,  510,  494,  495,
+      486,  510,  511,  523,  525,  526,  511,  499,  502,  520,
+      504,  506,  549,  524,  516,  522,  487,  505,  516,  507,
+      523,  517,  526,  520,  509,  517,  524,  527,  516,  516,
+
+      516,  516,  508,  521,  528,  517,  517,  517,  517,  518,
+      518,  518,  518,  519,  515,  549,  541,  519,  519,  519,
+      519,  528,  533,  533,  539,  527,  533,  534,  537,  534,
+      534,  534,  534,  541,  514,  553,  533,  533,  533,  533,
+      535,  513,  512,  537,  535,  535,  535,  535,  539,  544,
+      544,  547,  553,  544,  546,  546,  546,  546,  552,  503,
+      552,  552,  552,  552,  501,  500,  547,  555,  555,  555,
+      555,  557,  557,  558,  558,  557,  498,  558,  493,  492,
+      491,  490,  489,  488,  485,  557,  557,  557,  557,  561,
+      561,  561,  561,  561,  561,  561,  561,  561,  562,  562,
+
+      562,  562,  562,  562,  562,  562,  562,  563,  563,  563,
+      563,  563,  563,  563,  563,  563,  564,  564,  564,  564,
+      564,  564,  564,  564,  564,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  566,  566,  566,  566,  566,  566,
+      566,  566,  566,  567,  567,  567,  567,  567,  567,  567,
+      567,  567,  568,  568,  484,  568,  568,  568,  568,  568,
+      568,  569,  569,  570,  570,  570,  570,  571,  571,  479,
+      571,  571,  571,  571,  571,  571,  572,  572,  475,  572,
+      572,  572,  572,  572,  572,  573,  573,  471,  573,  573,
+      573,  573,  573,  573,  574,  470,  574,  574,  574,  575,
+
+      575,  467,  575,  575,  575,  575,  575,  575,  576,  576,
+      576,  576,  576,  576,  576,  576,  576,  577,  465,  577,
+      578,  578,  578,  578,  579,  579,  579,  580,  580,  463,
+      580,  580,  580,  580,  580,  580,  581,  581,  581,  581,
+      581,  581,  581,  581,  581,  582,  582,  582,  582,  582,
+      582,  582,  582,  582,  583,  583,  583,  583,  583,  583,
+      583,  583,  583,  584,  462,  584,  584,  584,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  586,  586,  451,
+      450,  449,  586,  586,  587,  587,  588,  588,  588,  588,
+      589,  589,  589,  589,  590,  590,  448,  590,  590,  590,
+
+      590,  591,  591,  591,  591,  592,  592,  443,  592,  592,
+      592,  592,  592,  592,  593,  593,  440,  439,  593,  593,
+      593,  593,  593,  594,  594,  436,  594,  594,  594,  594,
+      594,  594,  435,  434,  433,  431,  430,  421,  418,  414,
+      408,  406,  403,  399,  398,  397,  396,  394,  393,  392,
+      391,  390,  389,  384,  380,  372,  360,  358,  354,  350,
+      349,  347,  343,  340,  337,  334,  332,  331,  330,  327,
+      325,  324,  323,  322,  321,  304,  291,  282,  280,  273,
+      272,  270,  267,  266,  265,  263,  260,  259,  257,  256,
+      254,  253,  252,  251,  250,  249,  248,  243,  242,  240,
+
+      236,  234,  233,  228,  204,  184,  183,  180,  179,  178,
+      173,  169,  166,  164,  163,  161,  152,  150,  149,  143,
+      142,  141,  135,  132,  131,  128,  127,  123,  117,   61,
+       50,   48,   36,   30,   25,   18,   14,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
+      560,  560,  560,  560,  560,  560,  560
+
     } ;
 
 extern int yy_flex_debug;
@@ -1022,7 +1037,9 @@ goto find_rule; \
 char *yytext;
 #line 1 "lexer.l"
 /* GOB C Preprocessor
- * Copyright (C) 1999 the Free Software Foundation.
+ * Copyright (C) 1999-2000 the Free Software Foundation.
+ * Copyright (C) 2000 Eazel, Inc.
+ * Copyright (C) 2001-2009 George (Jiri) Lebl
  *
  * Author: George Lebl
  *
@@ -1041,7 +1058,7 @@ char *yytext;
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
  * USA.
  */
-#line 22 "lexer.l"
+#line 24 "lexer.l"
 
 #include "config.h"
 #include <stdlib.h>
@@ -1132,7 +1149,7 @@ int yylex(void);
 
 
 
-#line 1136 "lexer.c"
+#line 1153 "lexer.c"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -1161,6 +1178,35 @@ int yylex(void);
 
 static int yy_init_globals (void );
 
+/* Accessor methods to globals.
+   These are made visible to non-reentrant scanners for convenience. */
+
+int yylex_destroy (void );
+
+int yyget_debug (void );
+
+void yyset_debug (int debug_flag  );
+
+YY_EXTRA_TYPE yyget_extra (void );
+
+void yyset_extra (YY_EXTRA_TYPE user_defined  );
+
+FILE *yyget_in (void );
+
+void yyset_in  (FILE * in_str  );
+
+FILE *yyget_out (void );
+
+void yyset_out  (FILE * out_str  );
+
+int yyget_leng (void );
+
+char *yyget_text (void );
+
+int yyget_lineno (void );
+
+void yyset_lineno (int line_number  );
+
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
  */
@@ -1195,7 +1241,12 @@ static int input (void );
 
 /* Amount of stuff to slurp up with each read. */
 #ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
 #define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
@@ -1203,7 +1254,7 @@ static int input (void );
 /* This used to be an fputs(), but since the string might contain NUL's,
  * we now use fwrite().
  */
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
 #endif
 
 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
@@ -1299,7 +1350,7 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
     
-#line 117 "lexer.l"
+#line 119 "lexer.l"
 
 
 
@@ -1310,7 +1361,7 @@ yy_current_state = 0;
 
 
 
-#line 1314 "lexer.c"
+#line 1365 "lexer.c"
 
        if ( !(yy_init) )
                {
@@ -1323,6 +1374,8 @@ yy_current_state = 0;
         /* Create the reject buffer large enough to save one state per allowed character. */
         if ( ! (yy_state_buf) )
             (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE  );
+            if ( ! (yy_state_buf) )
+                YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
 
                if ( ! (yy_start) )
                        (yy_start) = 1; /* first start state */
@@ -1367,14 +1420,14 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 551 )
+                               if ( yy_current_state >= 561 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        *(yy_state_ptr)++ = yy_current_state;
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 1327 );
+               while ( yy_base[yy_current_state] != 1338 );
 
 yy_find_action:
                yy_current_state = *--(yy_state_ptr);
@@ -1404,7 +1457,7 @@ do_action:        /* This label is used only to access EOF actions. */
 case 1:
 /* rule 1 can match eol */
 YY_RULE_SETUP
-#line 127 "lexer.l"
+#line 129 "lexer.l"
 { line_no++; REJECT; }
        YY_BREAK
 case 2:
@@ -1412,7 +1465,7 @@ case 2:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 129 "lexer.l"
+#line 131 "lexer.l"
 {
 /* Thy evil easter egg */
 #define QQ(x) long x
@@ -1440,12 +1493,12 @@ case 3:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 151 "lexer.l"
+#line 153 "lexer.l"
 { ; /*comment, ignore*/ }
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 153 "lexer.l"
+#line 155 "lexer.l"
 {
        char *p;
        char *number;
@@ -1485,7 +1538,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 190 "lexer.l"
+#line 192 "lexer.l"
 {
        if(look_for_includes==1) {
                char *p;
@@ -1496,9 +1549,11 @@ YY_RULE_SETUP
                file++;
                p = strchr(file,'"');
                if(!p) p = strchr(file,'>');
-               *p = '\0';
-               include_files = g_list_prepend(include_files,g_strdup(file));
-               g_free(str);
+               if (p != NULL) {
+                       *p = '\0';
+                       include_files = g_list_prepend(include_files,g_strdup(file));
+                       g_free(str);
+               }
        }
        REJECT;
 }
@@ -1508,7 +1563,7 @@ case 6:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 207 "lexer.l"
+#line 211 "lexer.l"
 {
                        /* eat out gtk doc stuff */
                        BEGIN(GTK_DOC_BEFORE_NAME);
@@ -1520,7 +1575,7 @@ case 7:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 212 "lexer.l"
+#line 216 "lexer.l"
 {
                        /* empty doc lines */
                        ;
@@ -1531,7 +1586,7 @@ case 8:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 216 "lexer.l"
+#line 220 "lexer.l"
 {
                        char *p;
                        BEGIN(GTK_DOC);
@@ -1545,14 +1600,14 @@ YY_RULE_SETUP
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 226 "lexer.l"
+#line 230 "lexer.l"
 {
                        BEGIN(CLASS_CODE_I);
                }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 229 "lexer.l"
+#line 233 "lexer.l"
 {
                        BEGIN(COMMENT);
                        before_comment = CLASS_CODE_I;
@@ -1563,7 +1618,7 @@ case 11:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 233 "lexer.l"
+#line 237 "lexer.l"
 {
                        /* empty doc lines */
                        add_to_cbuf(" *\n");
@@ -1571,7 +1626,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 237 "lexer.l"
+#line 241 "lexer.l"
 {
                        BEGIN(CLASS_CODE_I);
                        add_gtk_doc_func();
@@ -1579,7 +1634,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 241 "lexer.l"
+#line 245 "lexer.l"
 {
                        fflush(stdout);
                        add_to_cbuf(" * ");
@@ -1588,14 +1643,14 @@ YY_RULE_SETUP
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 246 "lexer.l"
+#line 250 "lexer.l"
 {
                        BEGIN(CLASS_CODE_I);
                }
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 249 "lexer.l"
+#line 253 "lexer.l"
 {
                        BEGIN(COMMENT);
                        before_comment = CLASS_CODE_I;
@@ -1603,7 +1658,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 253 "lexer.l"
+#line 257 "lexer.l"
 {
                        BEGIN(CLASS_CODE_I);
                        add_to_cbuf("\n");
@@ -1615,7 +1670,7 @@ case 17:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 258 "lexer.l"
+#line 262 "lexer.l"
 {
                        BEGIN(GTK_DOC);
                        add_to_cbuf(yytext);
@@ -1624,7 +1679,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 263 "lexer.l"
+#line 267 "lexer.l"
 {
                        fflush(stdout);
                        add_to_cbuf(yytext);
@@ -1635,7 +1690,7 @@ case 19:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 268 "lexer.l"
+#line 272 "lexer.l"
 { add_to_cbuf(yytext); /*comment, ignore*/ }
        YY_BREAK
 case 20:
@@ -1643,7 +1698,7 @@ case 20:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 269 "lexer.l"
+#line 273 "lexer.l"
 { ; /*comment, ignore*/ }
        YY_BREAK
 case 21:
@@ -1651,7 +1706,7 @@ case 21:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 270 "lexer.l"
+#line 274 "lexer.l"
 { ; /*comment, ignore*/ }
        YY_BREAK
 case 22:
@@ -1659,17 +1714,17 @@ case 22:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 271 "lexer.l"
+#line 275 "lexer.l"
 { ; /*comment, ignore*/ }
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 272 "lexer.l"
+#line 276 "lexer.l"
 {BEGIN(COMMENT); before_comment = INITIAL; }
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 273 "lexer.l"
+#line 277 "lexer.l"
 {
        add_to_cbuf(yytext);
        BEGIN(COMMENT);
@@ -1678,22 +1733,22 @@ YY_RULE_SETUP
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 278 "lexer.l"
+#line 282 "lexer.l"
 {BEGIN(COMMENT); before_comment = CLASS_CODE; }
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 279 "lexer.l"
+#line 283 "lexer.l"
 {BEGIN(COMMENT); before_comment = CLASS_CODE_I; }
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 280 "lexer.l"
+#line 284 "lexer.l"
 {BEGIN(COMMENT); before_comment = PROPERTY_CODE_I; }
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 281 "lexer.l"
+#line 285 "lexer.l"
 {
        if(before_comment == C_CODE) add_to_cbuf(yytext);
        BEGIN(before_comment);
@@ -1701,7 +1756,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 285 "lexer.l"
+#line 289 "lexer.l"
 {
        /* comment, ignore */
        if(before_comment == C_CODE) add_to_cbuf(yytext);
@@ -1710,7 +1765,7 @@ YY_RULE_SETUP
 case 30:
 /* rule 30 can match eol */
 YY_RULE_SETUP
-#line 289 "lexer.l"
+#line 293 "lexer.l"
 {
        /* comment, ignore */
        if(before_comment == C_CODE) add_to_cbuf(yytext);
@@ -1718,7 +1773,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 294 "lexer.l"
+#line 298 "lexer.l"
 {
                        BEGIN(C_CODE);
                        parenth_depth = 1;
@@ -1730,7 +1785,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 302 "lexer.l"
+#line 306 "lexer.l"
 {
                        BEGIN(C_CODE);
                        parenth_depth = 1;
@@ -1742,7 +1797,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 311 "lexer.l"
+#line 315 "lexer.l"
 {
                        BEGIN(C_CODE);
                        parenth_depth = 1;
@@ -1754,7 +1809,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 319 "lexer.l"
+#line 323 "lexer.l"
 {
                        BEGIN(C_CODE);
                        parenth_depth = 1;
@@ -1766,7 +1821,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 327 "lexer.l"
+#line 331 "lexer.l"
 {
                        BEGIN(C_CODE);
                        parenth_depth = 1;
@@ -1778,7 +1833,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 335 "lexer.l"
+#line 339 "lexer.l"
 {
                        BEGIN(C_CODE);
                        parenth_depth = 1;
@@ -1792,7 +1847,19 @@ YY_RULE_SETUP
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 345 "lexer.l"
+#line 349 "lexer.l"
+{
+                       BEGIN(C_CODE);
+                       parenth_depth = 1;
+                       class_after_c = FALSE;
+                       code_type = ADCODE;
+                       clear_cbuf();
+                       ccode_line = line_no;
+               }
+       YY_BREAK
+case 38:
+YY_RULE_SETUP
+#line 357 "lexer.l"
 {
                        BEGIN(INITIAL);
                        yylval.cbuf = cbuf;
@@ -1802,67 +1869,67 @@ YY_RULE_SETUP
                        return code_type;
                }
        YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 354 "lexer.l"
-{ add_to_cbuf(yytext); }
-       YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 355 "lexer.l"
+#line 366 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 356 "lexer.l"
+#line 367 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 357 "lexer.l"
+#line 368 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 358 "lexer.l"
+#line 369 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 359 "lexer.l"
+#line 370 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 361 "lexer.l"
+#line 371 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 364 "lexer.l"
+#line 373 "lexer.l"
+{ add_to_cbuf(yytext); }
+       YY_BREAK
+case 46:
+YY_RULE_SETUP
+#line 376 "lexer.l"
 {
                        BEGIN(CODE_STRING);
                        before_string = C_CODE;
                        add_to_cbuf(yytext);
                }
        YY_BREAK
-case 46:
+case 47:
 YY_RULE_SETUP
-#line 369 "lexer.l"
+#line 381 "lexer.l"
 {
                        BEGIN(CODE_STRING);
                        before_string = PROPERTY_CODE_I;
                        add_to_cbuf(yytext);
                }
        YY_BREAK
-case 47:
+case 48:
 YY_RULE_SETUP
-#line 374 "lexer.l"
+#line 386 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 48:
+case 49:
 YY_RULE_SETUP
-#line 375 "lexer.l"
+#line 387 "lexer.l"
 {
                        BEGIN(before_string);
                        add_to_cbuf(yytext);
@@ -1874,28 +1941,28 @@ YY_RULE_SETUP
                        }
                }
        YY_BREAK
-case 49:
+case 50:
 YY_RULE_SETUP
-#line 385 "lexer.l"
+#line 397 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 50:
-/* rule 50 can match eol */
+case 51:
+/* rule 51 can match eol */
 YY_RULE_SETUP
-#line 386 "lexer.l"
+#line 398 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 51:
+case 52:
 YY_RULE_SETUP
-#line 388 "lexer.l"
+#line 400 "lexer.l"
 {
                        parenth_depth++;
                        add_to_cbuf(yytext);
                }
        YY_BREAK
-case 52:
+case 53:
 YY_RULE_SETUP
-#line 392 "lexer.l"
+#line 404 "lexer.l"
 {
                        parenth_depth--;
                        if(parenth_depth<0) {
@@ -1909,20 +1976,20 @@ YY_RULE_SETUP
                        add_to_cbuf(yytext);
                }
        YY_BREAK
-case 53:
+case 54:
 YY_RULE_SETUP
-#line 405 "lexer.l"
+#line 417 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 54:
-/* rule 54 can match eol */
+case 55:
+/* rule 55 can match eol */
 YY_RULE_SETUP
-#line 406 "lexer.l"
+#line 418 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 55:
+case 56:
 YY_RULE_SETUP
-#line 408 "lexer.l"
+#line 420 "lexer.l"
 {
                        static int found_classes = 0;
                        look_for_includes = 2;
@@ -1936,27 +2003,27 @@ YY_RULE_SETUP
                        return CLASS;
                }
        YY_BREAK
-case 56:
+case 57:
 YY_RULE_SETUP
-#line 421 "lexer.l"
+#line 433 "lexer.l"
 { return ERROR; }
        YY_BREAK
-case 57:
+case 58:
 YY_RULE_SETUP
-#line 422 "lexer.l"
+#line 434 "lexer.l"
 { return ENUM; }
        YY_BREAK
-case 58:
+case 59:
 YY_RULE_SETUP
-#line 423 "lexer.l"
+#line 435 "lexer.l"
 { return FLAGS; }
        YY_BREAK
-case 59:
+case 60:
 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 425 "lexer.l"
+#line 437 "lexer.l"
 {
                        int maj = 0, min = 0, pl = 0;
                        int rmaj = 0, rmin = 0, rpl = 0;
@@ -1998,9 +2065,9 @@ YY_RULE_SETUP
 
                }
        YY_BREAK
-case 60:
+case 61:
 YY_RULE_SETUP
-#line 466 "lexer.l"
+#line 478 "lexer.l"
 {
                        if(for_cpp) {
                                error_printf(GOB_WARN, line_no,
@@ -2011,28 +2078,28 @@ YY_RULE_SETUP
                        REJECT;
                }
        YY_BREAK
-case 61:
+case 62:
 YY_RULE_SETUP
-#line 476 "lexer.l"
+#line 488 "lexer.l"
 {return FROM;}
        YY_BREAK
-case 62:
+case 63:
 YY_RULE_SETUP
-#line 477 "lexer.l"
+#line 489 "lexer.l"
 {
                        BEGIN(CLASS_STRING);
                        before_string = CLASS_CODE;
                        add_to_cbuf(yytext);
                }
        YY_BREAK
-case 63:
+case 64:
 YY_RULE_SETUP
-#line 482 "lexer.l"
+#line 494 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 64:
+case 65:
 YY_RULE_SETUP
-#line 483 "lexer.l"
+#line 495 "lexer.l"
 {
                        BEGIN(before_string);
                        add_to_cbuf(yytext);
@@ -2042,199 +2109,199 @@ YY_RULE_SETUP
                        return STRING;
                }
        YY_BREAK
-case 65:
+case 66:
 YY_RULE_SETUP
-#line 491 "lexer.l"
+#line 503 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 66:
-/* rule 66 can match eol */
+case 67:
+/* rule 67 can match eol */
 YY_RULE_SETUP
-#line 492 "lexer.l"
+#line 504 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 67:
+case 68:
 YY_RULE_SETUP
-#line 494 "lexer.l"
+#line 506 "lexer.l"
 {return VOID;}
        YY_BREAK
-case 68:
+case 69:
 YY_RULE_SETUP
-#line 495 "lexer.l"
+#line 507 "lexer.l"
 {return STRUCT;}
        YY_BREAK
-case 69:
+case 70:
 YY_RULE_SETUP
-#line 496 "lexer.l"
+#line 508 "lexer.l"
 {return UNION;}
        YY_BREAK
-case 70:
+case 71:
 YY_RULE_SETUP
-#line 497 "lexer.l"
+#line 509 "lexer.l"
 {return ENUM;}
        YY_BREAK
-case 71:
+case 72:
 YY_RULE_SETUP
-#line 498 "lexer.l"
+#line 510 "lexer.l"
 {return SIGNED;}
        YY_BREAK
-case 72:
+case 73:
 YY_RULE_SETUP
-#line 499 "lexer.l"
+#line 511 "lexer.l"
 {return UNSIGNED;}
        YY_BREAK
-case 73:
+case 74:
 YY_RULE_SETUP
-#line 500 "lexer.l"
+#line 512 "lexer.l"
 {return LONG;}
        YY_BREAK
-case 74:
+case 75:
 YY_RULE_SETUP
-#line 501 "lexer.l"
+#line 513 "lexer.l"
 {return SHORT;}
        YY_BREAK
-case 75:
+case 76:
 YY_RULE_SETUP
-#line 502 "lexer.l"
+#line 514 "lexer.l"
 {return INT;}
        YY_BREAK
-case 76:
+case 77:
 YY_RULE_SETUP
-#line 503 "lexer.l"
+#line 515 "lexer.l"
 {return FLOAT;}
        YY_BREAK
-case 77:
+case 78:
 YY_RULE_SETUP
-#line 504 "lexer.l"
+#line 516 "lexer.l"
 {return DOUBLE;}
        YY_BREAK
-case 78:
+case 79:
 YY_RULE_SETUP
-#line 505 "lexer.l"
+#line 517 "lexer.l"
 {return CHAR;}
        YY_BREAK
-case 79:
+case 80:
 YY_RULE_SETUP
-#line 506 "lexer.l"
+#line 518 "lexer.l"
 {return CONST;}
        YY_BREAK
-case 80:
+case 81:
 YY_RULE_SETUP
-#line 508 "lexer.l"
+#line 520 "lexer.l"
 {return THREEDOTS;}
        YY_BREAK
-case 81:
+case 82:
 YY_RULE_SETUP
-#line 510 "lexer.l"
+#line 522 "lexer.l"
 {yylval.line = line_no; return PUBLIC;}
        YY_BREAK
-case 82:
+case 83:
 YY_RULE_SETUP
-#line 511 "lexer.l"
+#line 523 "lexer.l"
 {yylval.line = line_no; return PRIVATE;}
        YY_BREAK
-case 83:
+case 84:
 YY_RULE_SETUP
-#line 512 "lexer.l"
+#line 524 "lexer.l"
 {yylval.line = line_no; return PROTECTED;}
        YY_BREAK
-case 84:
+case 85:
 YY_RULE_SETUP
-#line 513 "lexer.l"
+#line 525 "lexer.l"
 {yylval.line = line_no; return CLASSWIDE;}
        YY_BREAK
-case 85:
+case 86:
 YY_RULE_SETUP
-#line 514 "lexer.l"
+#line 526 "lexer.l"
 {yylval.line = line_no; return ARGUMENT;}
        YY_BREAK
-case 86:
+case 87:
 YY_RULE_SETUP
-#line 515 "lexer.l"
+#line 527 "lexer.l"
 {yylval.line = line_no; return VIRTUAL;}
        YY_BREAK
-case 87:
+case 88:
 YY_RULE_SETUP
-#line 516 "lexer.l"
+#line 528 "lexer.l"
 {yylval.line = line_no; return SIGNAL;}
        YY_BREAK
-case 88:
+case 89:
 YY_RULE_SETUP
-#line 517 "lexer.l"
+#line 529 "lexer.l"
 {yylval.line = line_no; return OVERRIDE;}
        YY_BREAK
-case 89:
+case 90:
 YY_RULE_SETUP
-#line 518 "lexer.l"
+#line 530 "lexer.l"
 {
                                yylval.line = line_no;
                                BEGIN(PROPERTY_CODE);
                                return PROPERTY;
                        }
        YY_BREAK
-case 90:
+case 91:
 YY_RULE_SETUP
-#line 523 "lexer.l"
+#line 535 "lexer.l"
 { yylval.line = line_no; return NICK; }
        YY_BREAK
-case 91:
+case 92:
 YY_RULE_SETUP
-#line 524 "lexer.l"
+#line 536 "lexer.l"
 { yylval.line = line_no; return BLURB; }
        YY_BREAK
-case 92:
+case 93:
 YY_RULE_SETUP
-#line 525 "lexer.l"
+#line 537 "lexer.l"
 { yylval.line = line_no; return MAXIMUM; }
        YY_BREAK
-case 93:
+case 94:
 YY_RULE_SETUP
-#line 526 "lexer.l"
+#line 538 "lexer.l"
 { yylval.line = line_no; return MINIMUM; }
        YY_BREAK
-case 94:
+case 95:
 YY_RULE_SETUP
-#line 527 "lexer.l"
+#line 539 "lexer.l"
 { yylval.line = line_no; return DEFAULT_VALUE; }
        YY_BREAK
-case 95:
+case 96:
 YY_RULE_SETUP
-#line 528 "lexer.l"
+#line 540 "lexer.l"
 { yylval.line = line_no; return FLAGS; }
        YY_BREAK
-case 96:
+case 97:
 YY_RULE_SETUP
-#line 529 "lexer.l"
+#line 541 "lexer.l"
 { yylval.line = line_no; return TYPE; }
        YY_BREAK
-case 97:
+case 98:
 YY_RULE_SETUP
-#line 530 "lexer.l"
+#line 542 "lexer.l"
 { yylval.line = line_no; return FLAGS_TYPE; }
        YY_BREAK
-case 98:
+case 99:
 YY_RULE_SETUP
-#line 531 "lexer.l"
+#line 543 "lexer.l"
 { yylval.line = line_no; return ENUM_TYPE; }
        YY_BREAK
-case 99:
+case 100:
 YY_RULE_SETUP
-#line 532 "lexer.l"
+#line 544 "lexer.l"
 { yylval.line = line_no; return PARAM_TYPE; }
        YY_BREAK
-case 100:
+case 101:
 YY_RULE_SETUP
-#line 533 "lexer.l"
+#line 545 "lexer.l"
 { yylval.line = line_no; return BOXED_TYPE; }
        YY_BREAK
-case 101:
+case 102:
 YY_RULE_SETUP
-#line 534 "lexer.l"
+#line 546 "lexer.l"
 { yylval.line = line_no; return OBJECT_TYPE; }
        YY_BREAK
-case 102:
+case 103:
 YY_RULE_SETUP
-#line 535 "lexer.l"
+#line 547 "lexer.l"
 {
                yylval.line = line_no;
                property_paren_depth = 1;
@@ -2242,18 +2309,18 @@ YY_RULE_SETUP
                return '(';
                        }
        YY_BREAK
-case 103:
+case 104:
 YY_RULE_SETUP
-#line 541 "lexer.l"
+#line 553 "lexer.l"
 {
                yylval.line = line_no;
                property_paren_depth++;
                return '(';
                        }
        YY_BREAK
-case 104:
+case 105:
 YY_RULE_SETUP
-#line 546 "lexer.l"
+#line 558 "lexer.l"
 {
                yylval.line = line_no;
                property_paren_depth--;
@@ -2263,17 +2330,17 @@ YY_RULE_SETUP
                return ')';
                        }
        YY_BREAK
-case 105:
+case 106:
 YY_RULE_SETUP
-#line 555 "lexer.l"
+#line 567 "lexer.l"
 {
                        yylval.id = g_strdup(yytext);
                        return NUMBER;
                }
        YY_BREAK
-case 106:
+case 107:
 YY_RULE_SETUP
-#line 559 "lexer.l"
+#line 571 "lexer.l"
 {
                        /* This is cpp kind of token thingie */
                        if (for_cpp) {
@@ -2284,68 +2351,68 @@ YY_RULE_SETUP
                        }
                }
        YY_BREAK
-case 107:
+case 108:
 YY_RULE_SETUP
-#line 568 "lexer.l"
+#line 580 "lexer.l"
 {
                        /* this one is for a classname with a namespace */
                        yylval.id = g_strdup(yytext);
                        return TYPETOKEN;
                }
        YY_BREAK
-case 108:
+case 109:
 YY_RULE_SETUP
-#line 573 "lexer.l"
+#line 585 "lexer.l"
 {
                        /* this is for a classname with an empty namespace */
                        yylval.id = g_strdup(yytext);
                        return TYPETOKEN;
                }
        YY_BREAK
-case 109:
+case 110:
 YY_RULE_SETUP
-#line 578 "lexer.l"
+#line 590 "lexer.l"
 {
                        yylval.id = g_strdup(yytext);
                        return TOKEN;
                }
        YY_BREAK
-case 110:
+case 111:
 YY_RULE_SETUP
-#line 582 "lexer.l"
+#line 594 "lexer.l"
 {
                        yylval.id = g_strdup(yytext);
                        return SINGLE_CHAR;
                }
        YY_BREAK
-case 111:
+case 112:
 YY_RULE_SETUP
-#line 587 "lexer.l"
+#line 599 "lexer.l"
 {
                        yylval.id = g_strdup(yytext);
                        return ARRAY_DIM;
                }
        YY_BREAK
-case 112:
+case 113:
 YY_RULE_SETUP
-#line 591 "lexer.l"
+#line 603 "lexer.l"
 {
                        /* cheat for bitfield */
                        yylval.id = g_strdup(yytext);
                        return ARRAY_DIM;
                }
        YY_BREAK
-case 113:
+case 114:
 YY_RULE_SETUP
-#line 596 "lexer.l"
+#line 608 "lexer.l"
 {
                        BEGIN(CLASS_CODE_I);
                        return '{';
                }
        YY_BREAK
-case 114:
+case 115:
 YY_RULE_SETUP
-#line 600 "lexer.l"
+#line 612 "lexer.l"
 {
                        BEGIN(C_CODE);
                        parenth_depth=1;
@@ -2356,39 +2423,39 @@ YY_RULE_SETUP
                        return '{';
                }
        YY_BREAK
-case 115:
+case 116:
 YY_RULE_SETUP
-#line 609 "lexer.l"
+#line 621 "lexer.l"
 {
                                BEGIN(INITIAL);
                                return '}';
                        }
        YY_BREAK
-case 116:
+case 117:
 YY_RULE_SETUP
-#line 614 "lexer.l"
+#line 626 "lexer.l"
 ;  /*ignore*/
        YY_BREAK
-case 117:
+case 118:
 YY_RULE_SETUP
-#line 616 "lexer.l"
+#line 628 "lexer.l"
 {
                        yylval.line = line_no;
                        return yytext[0];
                }
        YY_BREAK
-case 118:
-/* rule 118 can match eol */
+case 119:
+/* rule 119 can match eol */
 YY_RULE_SETUP
-#line 621 "lexer.l"
+#line 633 "lexer.l"
 ;  /*ignore*/
        YY_BREAK
-case 119:
+case 120:
 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 623 "lexer.l"
+#line 635 "lexer.l"
 {
                        char *p;
                        int t;
@@ -2398,12 +2465,12 @@ YY_RULE_SETUP
                        prealloc=t;
                }
        YY_BREAK
-case 120:
+case 121:
 YY_RULE_SETUP
-#line 632 "lexer.l"
+#line 644 "lexer.l"
 ECHO;
        YY_BREAK
-#line 2407 "lexer.c"
+#line 2474 "lexer.c"
                        case YY_STATE_EOF(INITIAL):
                        case YY_STATE_EOF(COMMENT):
                        case YY_STATE_EOF(C_CODE):
@@ -2640,6 +2707,14 @@ static int yy_get_next_buffer (void)
        else
                ret_val = EOB_ACT_CONTINUE_SCAN;
 
+       if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+               /* Extend the array by 50%, plus the number we really need. */
+               yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+               YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+               if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+                       YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+       }
+
        (yy_n_chars) += number_to_move;
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
@@ -2668,7 +2743,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 551 )
+                       if ( yy_current_state >= 561 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2691,11 +2766,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 551 )
+               if ( yy_current_state >= 561 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 550);
+       yy_is_jam = (yy_current_state == 560);
        if ( ! yy_is_jam )
                *(yy_state_ptr)++ = yy_current_state;
 
@@ -3053,7 +3128,9 @@ static void yyensure_buffer_stack (void)
                (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
                                                                );
-               
+               if ( ! (yy_buffer_stack) )
+                       YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+                                                                 
                memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
                                
                (yy_buffer_stack_max) = num_to_alloc;
@@ -3071,6 +3148,8 @@ static void yyensure_buffer_stack (void)
                                                                ((yy_buffer_stack),
                                                                num_to_alloc * sizeof(struct yy_buffer_state*)
                                                                );
+               if ( ! (yy_buffer_stack) )
+                       YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
 
                /* zero only the new slots.*/
                memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
@@ -3129,8 +3208,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
 
 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
  * scan from a @e copy of @a bytes.
- * @param bytes the byte buffer to scan
- * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * @param yybytes the byte buffer to scan
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
  * 
  * @return the newly allocated buffer state object.
  */
@@ -3377,7 +3456,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 632 "lexer.l"
+#line 644 "lexer.l"
 
 
 
index b3b2d596c3fde0348f0ae55534c88e8bdab2d78f..0c8ef11cd4c3f1ffe877888a302df7832fb9fd82 100644 (file)
@@ -1,5 +1,7 @@
 /* GOB C Preprocessor
- * Copyright (C) 1999 the Free Software Foundation.
+ * Copyright (C) 1999-2000 the Free Software Foundation.
+ * Copyright (C) 2000 Eazel, Inc.
+ * Copyright (C) 2001-2009 George (Jiri) Lebl
  *
  * Author: George Lebl
  *
@@ -344,6 +346,14 @@ REJECT;
                        if(look_for_includes==0)
                                look_for_includes=1;
                }
+^\%(ad|afterdecls)\{           {
+                       BEGIN(C_CODE);
+                       parenth_depth = 1;
+                       class_after_c = FALSE;
+                       code_type = ADCODE;
+                       clear_cbuf();
+                       ccode_line = line_no;
+               }
 <C_CODE>^\%\}  {
                        BEGIN(INITIAL);
                        yylval.cbuf = cbuf;
index e1cfe4b9313c425a70cdd14f3b30988638c2f398..f3142ada93025d7a52904ed651cbb29b765b1b73 100644 (file)
@@ -1,7 +1,7 @@
 /* GOB C Preprocessor
  * Copyright (C) 1999,2000 the Free Software Foundation.
  * Copyright (C) 2000 Eazel, Inc.
- * Copyright (C) 2001-2004 George (Jiri) Lebl
+ * Copyright (C) 2001-2009 George (Jiri) Lebl
  *
  * Author: George (Jiri) Lebl
  *
@@ -92,11 +92,16 @@ static gboolean made_aliases = FALSE;  /* if we made any shorthand aliases
 static gboolean special_array[SPECIAL_LAST] = {0};
 static gboolean any_special = FALSE;
 
+static gboolean need_constructor = FALSE;
+static Method * user_constructor = NULL;
+
 static gboolean need_dispose = FALSE;
 static Method * dispose_handler = NULL;
-
+static Method * user_dispose_method = NULL;
 static gboolean need_finalize = FALSE;
 static Method * finalize_handler = NULL;
+static Method * user_finalize_method = NULL;
 
 FILE *out = NULL;
 FILE *outh = NULL;
@@ -199,6 +204,7 @@ print_method (FILE *fp,
              const char *afterargs,
              const char *postfix,
              const Method *m,
+             gboolean print_funcattrs,
              gboolean one_arg_per_line,
              gboolean no_funcbase,
              gboolean kill_underscore,
@@ -254,7 +260,28 @@ print_method (FILE *fp,
        } else {
                out_printf(fp, "void"); 
        }
-       out_printf(fp, "%s)%s", afterargs, postfix); 
+       /* Slightly icky: sometimes we are called st m->funcattrs
+          hasn't been set, but if so it should be NULL since its been
+          zero-initialized.  */
+       if(print_funcattrs && m->funcattrs != NULL
+          && strlen(m->funcattrs) > 0) {
+               /* To keep the output neat, we trim off the trailing '\n'
+                  from the end of funcattrs for a moment.  */
+               size_t funcattrs_len = strlen(m->funcattrs);
+                gboolean funcattrs_chomped = FALSE;
+               if((m->funcattrs)[funcattrs_len - 1] == '\n') {
+                       m->funcattrs[funcattrs_len - 1] = '\0';
+                        funcattrs_chomped = TRUE;
+               } 
+               out_printf(fp, "%s)\n%s%s", afterargs, m->funcattrs, postfix);
+                /* Put it back like it was (though it shouldn't matter).  */
+               if (funcattrs_chomped) {
+                       (m->funcattrs)[funcattrs_len - 1] = '\n';
+               }
+       }
+       else {
+               out_printf(fp, "%s)%s", afterargs, postfix); 
+       }
 }
 
 static gboolean
@@ -269,6 +296,9 @@ any_method_to_alias(Class *c)
                        
                        if(m->method == INIT_METHOD ||
                           m->method == CLASS_INIT_METHOD ||
+                          m->method == CONSTRUCTOR_METHOD ||
+                          m->method == DISPOSE_METHOD ||
+                          m->method == FINALIZE_METHOD ||
                           m->method == OVERRIDE_METHOD)
                                continue;
 
@@ -291,6 +321,9 @@ make_method_aliases (Class *c)
                        
                        if(m->method == INIT_METHOD ||
                           m->method == CLASS_INIT_METHOD ||
+                          m->method == CONSTRUCTOR_METHOD ||
+                          m->method == DISPOSE_METHOD ||
+                          m->method == FINALIZE_METHOD ||
                           m->method == OVERRIDE_METHOD)
                                continue;
 
@@ -330,6 +363,9 @@ add_bad_hack_to_avoid_unused_warnings(const Class *c)
                        
                        if(m->method == INIT_METHOD ||
                           m->method == CLASS_INIT_METHOD ||
+                          m->method == CONSTRUCTOR_METHOD ||
+                          m->method == DISPOSE_METHOD ||
+                          m->method == FINALIZE_METHOD ||
                           m->method == OVERRIDE_METHOD)
                                continue;
 
@@ -371,11 +407,12 @@ put_vs_method(const Method *m)
 
        /* if a signal mark it as such */
        if(m->method != VIRTUAL_METHOD)
-               print_method(outh, "\t/*signal*/", "(* ", "", ") ", "", ";\n",
-                            m, FALSE, TRUE, TRUE, FALSE, FALSE);
+               print_method(outh, "\t/*signal*/", "(* ", "", ") ", "", ";\n",
+                            m, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE);
        else
-               print_method(outh, "\t", "(* ", "", ") ", "", ";\n",
-                            m, FALSE, TRUE, TRUE, FALSE, FALSE);
+               print_method(outh, "\t", "(* ", "", ") ", "", ";\n",
+                            m, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE);
+
 }
 
 static void
@@ -384,8 +421,10 @@ put_pub_method(const Method *m)
        if(m->scope != PUBLIC_SCOPE)
                return;
 
+       out_addline_infile(outh, m->line_no);
        print_method(outh, "", "\t", "", "\t", "", ";\n", m,
-                    TRUE, FALSE, TRUE, FALSE, FALSE);
+                    TRUE, TRUE, FALSE, TRUE, FALSE, FALSE);
+       out_addline_outfile(outh);
 }
 
 static void
@@ -423,7 +462,7 @@ put_signal_macro (const Method *m, gboolean gnu)
                            "(GCallback) __extension__ ({",
                            funcbase, m->id, macrobase, typebase, m->id);
                print_method (outh, "", "(* ___", "", ") ", ", gpointer ___data ",
-                             " = (func); ", m, FALSE, TRUE, TRUE, FALSE, TRUE);
+                             " = (func); ", m, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE);
                out_printf (outh, "___%s; }), (data))\n", m->id);
 
                /* connect_after */
@@ -434,7 +473,7 @@ put_signal_macro (const Method *m, gboolean gnu)
                            "(GCallback) __extension__ ({",
                            funcbase, m->id, macrobase, typebase, m->id);
                print_method (outh, "", "(* ___", "", ") ", ", gpointer ___data ",
-                             " = (func); ", m, FALSE, TRUE, TRUE, FALSE, TRUE);
+                             " = (func); ", m, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE);
                out_printf (outh, "___%s; }), (data))\n", m->id);
 
                /* connect_data */
@@ -446,7 +485,7 @@ put_signal_macro (const Method *m, gboolean gnu)
                            "(GCallback) __extension__ ({",
                            funcbase, m->id, macrobase, typebase, m->id);
                print_method (outh, "", "(* ___", "", ") ", ", gpointer ___data ",
-                             " = (func); ", m, FALSE, TRUE, TRUE, FALSE, TRUE);
+                             " = (func); ", m, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE);
                out_printf (outh, "___%s; }), (data), (destroy_data), (GConnectFlags)(flags))\n", m->id);
        }
 }
@@ -508,15 +547,17 @@ put_local_signal_macros (const Class *c)
 static void
 put_prot_method(const Method *m)
 {
-       if(m->scope != PROTECTED_SCOPE)
-               return;
+       FILE *f;
 
-       if(outph)
-               print_method(outph, "", "\t", "", "\t", "", ";\n",
-                            m, FALSE, FALSE, TRUE, FALSE, FALSE);
-       else
-               print_method(out, "", "\t", "", "\t", "", ";\n",
-                            m, FALSE, FALSE, TRUE, FALSE, FALSE);
+       if(m->scope != PROTECTED_SCOPE)
+               return;
+       f = outph ? outph : out;
+
+       out_addline_infile(f, m->line_no);
+       print_method(f, "", "\t", "", "\t", "", ";\n",
+                    m, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE);
+       out_addline_outfile(f);
 }
 
 static void
@@ -528,7 +569,7 @@ put_priv_method_prot(const Method *m)
                if(m->cbuf)
                        print_method(out,
                                     "static ", "___real_", "", " ", "", ";\n",
-                                    m, FALSE, FALSE, TRUE, FALSE, FALSE);
+                                    m, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE);
        }
        /* no else, here, it might still have a private prototype, it's not
         * exclusive */
@@ -537,16 +578,23 @@ put_priv_method_prot(const Method *m)
            m->cbuf)) {
                /* add unique ID */
                char *s = g_strdup_printf("___%x_", (guint)m->unique_id);
+               out_addline_infile(out, m->line_no);
                print_method(out, "static ", s, "", " ", "",
                             no_gnu?";\n":" G_GNUC_UNUSED;\n",
-                            m, FALSE, FALSE, FALSE, FALSE, FALSE);
+                            m, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
+               out_addline_outfile(out);
                g_free(s);
        } else if(m->scope == PRIVATE_SCOPE ||
                  m->method == INIT_METHOD ||
-                 m->method == CLASS_INIT_METHOD) {
+                 m->method == CLASS_INIT_METHOD ||
+                 m->method == CONSTRUCTOR_METHOD ||
+                 m->method == DISPOSE_METHOD ||
+                 m->method == FINALIZE_METHOD) {
+               out_addline_infile(out, m->line_no);
                print_method(out, "static ", "", "", " ", "",
                             no_gnu?";\n":" G_GNUC_UNUSED;\n",
-                            m, FALSE, FALSE, TRUE, FALSE, FALSE);
+                            m, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE);
+               out_addline_outfile(out);
        }
 }
 
@@ -629,66 +677,68 @@ make_inits(Class *cl)
        }
 }
 
-static void
-find_dispose(const Class *cl)
+static Method *
+find_method(const Class *cl, int method, const char *id)
 {
        GList *li;
 
-       dispose_handler = NULL;
        for(li=cl->nodes;li;li=g_list_next(li)) {
                Node *n = li->data;
                if(n->type == METHOD_NODE) {
                        Method *m = (Method *)n;
-                       if(m->method == OVERRIDE_METHOD &&
-                          strcmp(m->id, "dispose")==0) {
-                               if(strcmp(m->otype, "G:Object") != 0) {
-                                       error_print(GOB_ERROR, m->line_no,
-                                                   "dispose method override "
-                                                   "of class other then "
-                                                   "G:Object");
-                               }
-                               if(g_list_length(m->args) != 1) {
-                                       error_print(GOB_ERROR, m->line_no,
-                                                   "dispose method override "
-                                                   "with more then one "
-                                                   "parameter");
-                               }
-                               dispose_handler = m;
-                               break;
-                       }
+                       if (m->method == method
+                           && (id == NULL || strcmp(m->id, id)==0))
+                               return m;
                }
        }
+
+       return NULL;
 }
 
 static void
-find_finalize(const Class *cl)
+find_constructor(const Class *cl)
 {
-       GList *li;
+       user_constructor = find_method(cl, CONSTRUCTOR_METHOD, NULL);
+}
 
-       finalize_handler = NULL;
-       for(li=cl->nodes;li;li=g_list_next(li)) {
-               Node *n = li->data;
-               if(n->type == METHOD_NODE) {
-                       Method *m = (Method *)n;
-                       if(m->method == OVERRIDE_METHOD &&
-                          strcmp(m->id, "finalize")==0) {
-                               if(strcmp(m->otype, "G:Object") != 0) {
-                                       error_print(GOB_ERROR, m->line_no,
-                                                   "finalize method override "
-                                                   "of class other then "
-                                                   "G:Object");
-                               }
-                               if(g_list_length(m->args) != 1) {
-                                       error_print(GOB_ERROR, m->line_no,
-                                                   "finalize method override "
-                                                   "with more then one "
-                                                   "parameter");
-                               }
-                               finalize_handler = m;
-                               break;
-                       }
-               }
+static void
+find_dispose(const Class *cl)
+{
+       dispose_handler = find_method(cl, OVERRIDE_METHOD, "dispose");
+       if (dispose_handler != NULL) {
+               if(strcmp(dispose_handler->otype, "G:Object") != 0)
+                       error_print(GOB_ERROR, dispose_handler->line_no,
+                                   "dispose method override "
+                                   "of class other then "
+                                   "G:Object");
+               if(g_list_length(dispose_handler->args) != 1)
+                       error_print(GOB_ERROR, dispose_handler->line_no,
+                                   "dispose method override "
+                                   "with more then one "
+                                   "parameter");
+       }
+
+       user_dispose_method = find_method(cl, DISPOSE_METHOD, NULL);
+}
+
+static void
+find_finalize(const Class *cl)
+{
+       finalize_handler = find_method(cl, OVERRIDE_METHOD, "finalize");
+       if (finalize_handler != NULL) {
+               if(strcmp(finalize_handler->otype, "G:Object") != 0)
+                       error_print(GOB_ERROR, finalize_handler->line_no,
+                                   "finalize method override "
+                                   "of class other then "
+                                   "G:Object");
+               if(g_list_length(finalize_handler->args) != 1)
+                       error_print(GOB_ERROR, finalize_handler->line_no,
+                                   "finalize method override "
+                                   "with more then one "
+                                   "parameter");
        }
+
+       user_finalize_method = find_method(cl, FINALIZE_METHOD, NULL);
 }
 
 
@@ -2033,10 +2083,12 @@ print_initializer(Method *m, Variable *v)
        if (v->initializer_simple)
                out_printf(out, "\t%s->%s = %s;\n",
                   root, v->id, v->initializer);
-       else if (!strcmp(v->id, "_glade_xml"))
+       else if (strcmp(v->id, "_glade_xml") == 0)
+               /* This is OK, this v->initializer string is set internally
+                  and it will eat exactly one string! */
                out_printf(out,v->initializer, ((FuncArg *)m->args->data)->name);
        else
-               out_printf(out,v->initializer);
+               out_printf(out, "%s", v->initializer);
 
        if(v->initializer_line > 0)
                out_addline_outfile(out);
@@ -2117,6 +2169,33 @@ print_destructor (Variable *v)
        }
 }
 
+static void
+add_constructor (Class *c)
+{
+       out_printf(out, "\nstatic GObject *\n"
+                  "___constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties)\n"
+                  "{\n");
+       out_printf(out,
+                  "#define __GOB_FUNCTION__ \"%s::constructor\"\n",
+                  c->otype);
+
+       out_printf(out, "\tGObject *obj_self;\n");
+       out_printf(out, "\t%s *self;\n", typebase);
+
+       out_printf(out, "\tobj_self = G_OBJECT_CLASS (parent_class)->constructor (type, n_construct_properties, construct_properties);\n");
+       out_printf(out, "\tself = %s (obj_self);\n", macrobase);
+
+       if (user_constructor->line_no > 0)
+               out_addline_infile (out, user_constructor->line_no);
+       out_printf (out, "\t%s_constructor (self);\n", funcbase);
+       if (user_constructor->line_no > 0)
+               out_addline_outfile (out);
+
+       out_printf(out, "\treturn obj_self;\n");
+       out_printf(out, "}\n"
+                  "#undef __GOB_FUNCTION__\n\n");
+}
+
 static void
 add_dispose (Class *c)
 {
@@ -2127,7 +2206,7 @@ add_dispose (Class *c)
                   "#define __GOB_FUNCTION__ \"%s::dispose\"\n",
                   c->otype);
 
-       if (unreftors > 0) {
+       if (unreftors > 0 || user_dispose_method != NULL) {
                out_printf (out, "\t%s *self%s = %s (obj_self);\n",
                            typebase,
                            ! no_gnu ? " G_GNUC_UNUSED" : "",
@@ -2143,6 +2222,14 @@ add_dispose (Class *c)
                if (dispose_handler->line_no > 0)
                        out_addline_outfile (out);
        } else {
+               if (user_dispose_method != NULL) {
+                       if (user_dispose_method->line_no > 0)
+                               out_addline_infile (out, user_dispose_method->line_no);
+                       out_printf (out, "\t%s_dispose (self);\n", funcbase);
+                       if (user_dispose_method->line_no > 0)
+                               out_addline_outfile (out);
+               }
+
                out_printf (out,
                            "\tif (G_OBJECT_CLASS (parent_class)->dispose) \\\n"
                            "\t\t(* G_OBJECT_CLASS (parent_class)->dispose) (obj_self);\n");
@@ -2178,7 +2265,8 @@ add_finalize (Class *c)
                   c->otype);
 
        if (privates > 0 ||
-           destructors > 0) {
+           destructors > 0 ||
+           user_finalize_method != NULL) {
                const char *unused = "";
                if ( ! no_gnu)
                        unused = " G_GNUC_UNUSED";
@@ -2202,6 +2290,14 @@ add_finalize (Class *c)
                if(finalize_handler->line_no > 0)
                        out_addline_outfile(out);
        } else {
+               if (user_finalize_method != NULL) {
+                       if (user_finalize_method->line_no > 0)
+                               out_addline_infile (out, user_finalize_method->line_no);
+                       out_printf (out, "\t%s_finalize (self);\n", funcbase);
+                       if (user_finalize_method->line_no > 0)
+                               out_addline_outfile (out);
+               }
+
                out_printf(out,
                           "\tif(G_OBJECT_CLASS(parent_class)->finalize) \\\n"
                           "\t\t(* G_OBJECT_CLASS(parent_class)->finalize)(obj_self);\n");
@@ -2275,10 +2371,12 @@ add_inits(Class *c)
                        if(m->line_no > 0)
                                out_addline_infile(out, m->line_no);
                        print_method(out, "static ", "\n", "", " ", "", "\n",
-                                    m, FALSE, FALSE, TRUE, TRUE, FALSE);
+                                    m, FALSE, FALSE, FALSE, TRUE, TRUE,
+                                    FALSE);
+                       out_printf(out, "{\n");
                        if(m->line_no > 0)
                                out_addline_outfile(out);
-                       out_printf(out, "{\n"
+                       out_printf(out,
                                   "#define __GOB_FUNCTION__ \"%s::init\"\n",
                                   c->otype);
                        if (privates > 0) {
@@ -2324,15 +2422,18 @@ add_inits(Class *c)
                        if(m->line_no > 0)
                                out_addline_infile(out, m->line_no);
                        print_method(out, "static ", "\n", "", " ", "", "\n",
-                                    m, FALSE, FALSE, TRUE, TRUE, FALSE);
+                                    m, FALSE, FALSE, FALSE, TRUE, TRUE,
+                                    FALSE);
+                       out_printf(out, "{\n");
                        if(m->line_no > 0)
                                out_addline_outfile(out);
-                       out_printf(out, "{\n"
+                       out_printf(out,
                                   "#define __GOB_FUNCTION__ \"%s::class_init\"\n",
                                   c->otype);
                        if (set_properties > 0 ||
                            get_properties > 0 ||
                            signals > 0 ||
+                           need_constructor ||
                            need_dispose ||
                            need_finalize) {
                                out_printf(out,
@@ -2381,6 +2482,9 @@ add_inits(Class *c)
 
                        /* if there are no handlers for these things, we
                         * need to set them up here */
+                       if(need_constructor)
+                               out_printf(out, "\tg_object_class->constructor "
+                                          "= ___constructor;\n");
                        if(need_dispose && !dispose_handler)
                                out_printf(out, "\tg_object_class->dispose "
                                           "= ___dispose;\n");
@@ -2676,10 +2780,10 @@ print_preconditions(Method *m)
 static void
 print_method_body (Method *m, gboolean pre, gboolean unused_self)
 {
+       out_printf(out, "{\n");
        if (m->line_no > 0)
                out_addline_outfile(out);
-       out_printf(out, "{\n"
-                  "#define __GOB_FUNCTION__ \"%s::%s\"\n",
+       out_printf(out, "#define __GOB_FUNCTION__ \"%s::%s\"\n",
                   ((Class *)class)->otype,
                   m->id);
        if (pre)
@@ -2832,10 +2936,10 @@ put_method(Method *m)
                        out_addline_infile(out, m->line_no);
                if(m->scope == PRIVATE_SCOPE)
                        print_method(out, "static ", "\n", "", " ", "", "\n",
-                                    m, FALSE, FALSE, TRUE, FALSE, FALSE);
+                                    m, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE);
                else /* PUBLIC, PROTECTED */
                        print_method(out, "", "\n", "", " ", "", "\n",
-                                    m, FALSE, FALSE, TRUE, FALSE, FALSE);
+                                    m, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE);
                print_method_body(m, TRUE, TRUE);
                /* the outfile line was added above */
                break;
@@ -2845,14 +2949,14 @@ put_method(Method *m)
                        out_addline_infile(out, m->line_no);
                if(m->scope == PRIVATE_SCOPE)
                        print_method(out, "static ", "\n", "", " ", "", "\n",
-                                    m, FALSE, FALSE, TRUE, FALSE, FALSE);
+                                    m, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE);
                else /* PUBLIC, PROTECTED */
                        print_method(out, "", "\n", "", " ", "", "\n",
-                                    m, FALSE, FALSE, TRUE, FALSE, FALSE);
-               out_addline_outfile (out);
-
+                                    m, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE);
                out_printf (out, "{\n");
 
+               out_addline_outfile (out);
+
                out_printf (out,
                            "\tGValue ___param_values[%d];\n"
                            "\tGValue ___return_val;\n\n"
@@ -2967,7 +3071,7 @@ put_method(Method *m)
                if(m->line_no > 0)
                        out_addline_infile(out, m->line_no);
                print_method(out, "static ", "\n___real_", "", " ", "", "\n",
-                            m, FALSE, FALSE, TRUE, TRUE, FALSE);
+                            m, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE);
                print_method_body(m, FALSE, TRUE);
                /* the outfile line was added above */
                break;
@@ -2976,13 +3080,13 @@ put_method(Method *m)
                        out_addline_infile(out, m->line_no);
                if(m->scope==PRIVATE_SCOPE)
                        print_method(out, "static ", "\n", "", " ", "", "\n",
-                                    m, FALSE, FALSE, TRUE, FALSE, FALSE);
+                                    m, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE);
                else /* PUBLIC, PROTECTED */
                        print_method(out, "", "\n", "", " ", "", "\n",
-                                    m, FALSE, FALSE, TRUE, FALSE, FALSE);
+                                    m, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE);
+               out_printf(out, "{\n");
                out_addline_outfile(out);
-               out_printf(out, "{\n"
-                       "\t%sClass *klass;\n", typebase);
+               out_printf(out, "\t%sClass *klass;\n", typebase);
                print_preconditions(m);
                out_printf(out, "\tklass = %s_GET_CLASS(%s);\n\n"
                        "\tif(klass->%s)\n",
@@ -3025,7 +3129,7 @@ put_method(Method *m)
                if(m->line_no > 0)
                        out_addline_infile(out, m->line_no);
                print_method(out, "static ", "\n___real_", "", " ", "", "\n",
-                            m, FALSE, FALSE, TRUE, TRUE, FALSE);
+                            m, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE);
                print_method_body(m, FALSE, TRUE);
                /* the outfile line was added above */
                break;
@@ -3036,7 +3140,7 @@ put_method(Method *m)
                        out_addline_infile(out, m->line_no);
                s = g_strdup_printf("\n___%x_", (guint)m->unique_id);
                print_method(out, "static ", s, "", " ", "", "\n",
-                            m, FALSE, FALSE, FALSE, TRUE, FALSE);
+                            m, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE);
                g_free(s);
                out_addline_outfile(out);
                s = replace_sep(m->otype, '_');
@@ -3064,6 +3168,15 @@ put_method(Method *m)
                /* the outfile line was added above */
                out_printf(out, "#undef PARENT_HANDLER\n");
                break;
+       case CONSTRUCTOR_METHOD:
+       case DISPOSE_METHOD:
+       case FINALIZE_METHOD:
+               if(m->line_no > 0)
+                       out_addline_infile(out, m->line_no);
+               print_method(out, "static ", "\n", "", " ", "", "\n",
+                            m, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE);
+               print_method_body(m, TRUE, TRUE);
+               /* the outfile line was added above */
        default:
                break;
        }
@@ -3293,6 +3406,7 @@ print_ccode_block(CCode *cc)
        }
        out_printf(fp, "%s\n", cc->cbuf);
        if(cc->cctype == C_CCODE ||
+          cc->cctype == AD_CCODE ||
           cc->cctype == A_CCODE ||
           cc->cctype == AT_CCODE ||
           cc->cctype == PH_CCODE)
@@ -3501,7 +3615,7 @@ print_class_block(Class *c)
                    " */\n");
 
        if ( ! overrode_get_type) {
-               out_printf (outh, "GType\t%s_get_type\t(void);\n", funcbase);
+               out_printf (outh, "GType\t%s_get_type\t(void) G_GNUC_CONST;\n", funcbase);
        }
 
        for(li = c->nodes; li != NULL; li = li->next) {
@@ -3633,6 +3747,18 @@ print_class_block(Class *c)
                            funcbase);
        }
 
+       for (li = nodes; li != NULL; li = li->next) {
+               Node *node = li->data;
+               if (node->type == CCODE_NODE) {
+                       CCode *cc = (CCode *)node;
+                       if (cc->cctype == AD_CCODE)
+                               print_ccode_block (cc);
+               }
+       }
+
+       if (need_constructor)
+               add_constructor (c);
+
        if (need_dispose)
                add_dispose (c);
 
@@ -3878,7 +4004,7 @@ print_enum (EnumDef *enode)
        g_free (str);
 
        out_printf (outh, "%s_get_type()\n", funcprefix);
-       out_printf (outh, "GType %s_get_type (void);\n\n", funcprefix);
+       out_printf (outh, "GType %s_get_type (void) G_GNUC_CONST;\n\n", funcprefix);
 
        out_printf (out,
                    "GType\n%s_get_type (void)\n"
@@ -3943,7 +4069,7 @@ print_flags (Flags *fnode)
        g_free (str);
 
        out_printf (outh, "%s_get_type()\n", funcprefix);
-       out_printf (outh, "GType %s_get_type (void);\n\n", funcprefix);
+       out_printf (outh, "GType %s_get_type (void) G_GNUC_CONST;\n\n", funcprefix);
 
        out_printf (out,
                    "GType\n%s_get_type (void)\n"
@@ -4006,7 +4132,7 @@ print_error (Error *enode)
        g_free (str);
 
        out_printf (outh, "%s_get_type ()\n", funcprefix);
-       out_printf (outh, "GType %s_get_type (void);\n\n", funcprefix);
+       out_printf (outh, "GType %s_get_type (void) G_GNUC_CONST;\n\n", funcprefix);
 
        out_printf (out,
                    "GType\n%s_get_type (void)\n"
@@ -4064,7 +4190,8 @@ generate_outfiles(void)
                if (node->type == CCODE_NODE) {
                        CCode *cc = (CCode *)node;
                        if (cc->cctype != HT_CCODE &&
-                           cc->cctype != AT_CCODE)
+                           cc->cctype != AT_CCODE &&
+                           cc->cctype != AD_CCODE)
                                print_ccode_block ((CCode *)node);
                } else if (node->type == CLASS_NODE) {
                        print_class_block ((Class *)node);
@@ -4441,15 +4568,24 @@ main(int argc, char *argv[])
 
        make_bases ();
        make_inits ((Class *)class);
-       if(unreftors > 0) {
+
+       find_constructor ((Class *)class);
+       if (user_constructor != NULL)
+               need_constructor = TRUE;
+
+       find_dispose ((Class *)class);
+       if (unreftors > 0 ||
+           dispose_handler != NULL ||
+           user_dispose_method != NULL)
                need_dispose = TRUE;
-               find_dispose ((Class *)class);
-       }
+
+       find_finalize ((Class *)class);
        if (destructors > 0 ||
-           privates > 0) {
+           privates > 0 ||
+           user_finalize_method != NULL) {
                need_finalize = TRUE;
-               find_finalize ((Class *)class);
        }
+
        check_bad_symbols ((Class *)class);
        check_duplicate_symbols ((Class *)class);
        check_duplicate_overrides ((Class *)class);
@@ -4462,6 +4598,7 @@ main(int argc, char *argv[])
        check_property_types ((Class *)class);
        check_argument_types ((Class *)class);
        check_func_arg_checks ((Class *)class);
+       check_func_attrs ((Class *)class);
        check_for_class_destructors ((Class *)class);
 
        exit_on_error = TRUE;
index 05fbfbf92ecc08c62185a020a6ce0f0eaa3a6c03..aee046da503de2335bbb7b34a1be8a22cc018a22 100644 (file)
      ARRAY_DIM = 277,
      SINGLE_CHAR = 278,
      CCODE = 279,
-     HTCODE = 280,
-     PHCODE = 281,
-     HCODE = 282,
-     ACODE = 283,
-     ATCODE = 284,
-     STRING = 285,
-     PUBLIC = 286,
-     PRIVATE = 287,
-     PROTECTED = 288,
-     CLASSWIDE = 289,
-     PROPERTY = 290,
-     ARGUMENT = 291,
-     VIRTUAL = 292,
-     SIGNAL = 293,
-     OVERRIDE = 294,
-     NICK = 295,
-     BLURB = 296,
-     MAXIMUM = 297,
-     MINIMUM = 298,
-     DEFAULT_VALUE = 299,
-     ERROR = 300,
-     FLAGS = 301,
-     TYPE = 302,
-     FLAGS_TYPE = 303,
-     ENUM_TYPE = 304,
-     PARAM_TYPE = 305,
-     BOXED_TYPE = 306,
-     OBJECT_TYPE = 307
+     ADCODE = 280,
+     HTCODE = 281,
+     PHCODE = 282,
+     HCODE = 283,
+     ACODE = 284,
+     ATCODE = 285,
+     STRING = 286,
+     PUBLIC = 287,
+     PRIVATE = 288,
+     PROTECTED = 289,
+     CLASSWIDE = 290,
+     PROPERTY = 291,
+     ARGUMENT = 292,
+     VIRTUAL = 293,
+     SIGNAL = 294,
+     OVERRIDE = 295,
+     NICK = 296,
+     BLURB = 297,
+     MAXIMUM = 298,
+     MINIMUM = 299,
+     DEFAULT_VALUE = 300,
+     ERROR = 301,
+     FLAGS = 302,
+     TYPE = 303,
+     FLAGS_TYPE = 304,
+     ENUM_TYPE = 305,
+     PARAM_TYPE = 306,
+     BOXED_TYPE = 307,
+     OBJECT_TYPE = 308
    };
 #endif
 /* Tokens.  */
 #define ARRAY_DIM 277
 #define SINGLE_CHAR 278
 #define CCODE 279
-#define HTCODE 280
-#define PHCODE 281
-#define HCODE 282
-#define ACODE 283
-#define ATCODE 284
-#define STRING 285
-#define PUBLIC 286
-#define PRIVATE 287
-#define PROTECTED 288
-#define CLASSWIDE 289
-#define PROPERTY 290
-#define ARGUMENT 291
-#define VIRTUAL 292
-#define SIGNAL 293
-#define OVERRIDE 294
-#define NICK 295
-#define BLURB 296
-#define MAXIMUM 297
-#define MINIMUM 298
-#define DEFAULT_VALUE 299
-#define ERROR 300
-#define FLAGS 301
-#define TYPE 302
-#define FLAGS_TYPE 303
-#define ENUM_TYPE 304
-#define PARAM_TYPE 305
-#define BOXED_TYPE 306
-#define OBJECT_TYPE 307
+#define ADCODE 280
+#define HTCODE 281
+#define PHCODE 282
+#define HCODE 283
+#define ACODE 284
+#define ATCODE 285
+#define STRING 286
+#define PUBLIC 287
+#define PRIVATE 288
+#define PROTECTED 289
+#define CLASSWIDE 290
+#define PROPERTY 291
+#define ARGUMENT 292
+#define VIRTUAL 293
+#define SIGNAL 294
+#define OVERRIDE 295
+#define NICK 296
+#define BLURB 297
+#define MAXIMUM 298
+#define MINIMUM 299
+#define DEFAULT_VALUE 300
+#define ERROR 301
+#define FLAGS 302
+#define TYPE 303
+#define FLAGS_TYPE 304
+#define ENUM_TYPE 305
+#define PARAM_TYPE 306
+#define BOXED_TYPE 307
+#define OBJECT_TYPE 308
 
 
 
@@ -220,6 +222,7 @@ static char *initializer = NULL;
 static int initializer_line = 0;
 static int glade_widget = FALSE;
 
+static char *funcattrs = NULL;
 static char *onerror = NULL;
 static char *defreturn = NULL;
 
@@ -360,6 +363,7 @@ push_function (int scope, int method, char *oid, char *id,
                         "flags:steal", flags,
                         "id:steal", id,
                         "args:steal", funcargs,
+                        "funcattrs:steal", funcattrs,
                         "onerror:steal", onerror,
                         "defreturn:steal", defreturn,
                         "cbuf:steal", c_cbuf,
@@ -379,6 +383,7 @@ push_function (int scope, int method, char *oid, char *id,
        gtktypes = NULL;
        funcargs = NULL;
 
+       funcattrs = NULL;
        onerror = NULL;
        defreturn = NULL;
 
@@ -388,6 +393,8 @@ push_function (int scope, int method, char *oid, char *id,
 static void
 free_all_global_state(void)
 {
+       g_free(funcattrs);
+       funcattrs = NULL;
        g_free(onerror);
        onerror = NULL;
        g_free(defreturn);
@@ -491,9 +498,15 @@ find_var_or_die(const char *id, int line)
 }
 
 static gboolean
-set_return_value(char *type, char *val)
+set_attr_value(char *type, char *val)
 {
-       if(strcmp(type, "onerror")==0) {
+       if(strcmp(type, "attr")==0) {
+               if(!funcattrs) {
+                       funcattrs = val;
+                       return TRUE;
+               } else
+                       return FALSE;
+       } else if(strcmp(type, "onerror")==0) {
                if(!onerror) {
                        onerror = val;
                        return TRUE;
@@ -628,7 +641,6 @@ add_construct_glade (char * file, char * root, char * domain)
 {
        Node *var;
        Type * type;
-       GList * flags = NULL;
        
        type = (Type *)node_new (TYPE_NODE,
                                 "name", "GladeXML",
@@ -840,7 +852,7 @@ ensure_property (void)
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 668 "parse.y"
+#line 678 "parse.y"
 {
        char *id;
        GString *cbuf;
@@ -849,7 +861,7 @@ typedef union YYSTYPE
        int sigtype;
 }
 /* Line 187 of yacc.c.  */
-#line 853 "parse.c"
+#line 865 "parse.c"
        YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -862,7 +874,7 @@ typedef union YYSTYPE
 
 
 /* Line 216 of yacc.c.  */
-#line 866 "parse.c"
+#line 878 "parse.c"
 
 #ifdef short
 # undef short
@@ -1075,22 +1087,22 @@ union yyalloc
 #endif
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  23
+#define YYFINAL  24
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   629
+#define YYLAST   640
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  66
+#define YYNTOKENS  67
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  53
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  195
+#define YYNRULES  197
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  414
+#define YYNSTATES  417
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   307
+#define YYMAXUTOK   308
 
 #define YYTRANSLATE(YYX)                                               \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1101,16 +1113,16 @@ static const yytype_uint8 yytranslate[] =
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    64,     2,     2,     2,     2,     2,     2,
-      55,    56,    61,     2,    59,    65,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,    57,
-      63,    58,    62,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    65,     2,     2,     2,     2,     2,     2,
+      56,    57,    62,     2,    60,    66,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,    58,
+      64,    59,    63,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    53,    60,    54,     2,     2,     2,     2,
+       2,     2,     2,    54,    61,    55,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1128,7 +1140,7 @@ static const yytype_uint8 yytranslate[] =
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,    52
+      45,    46,    47,    48,    49,    50,    51,    52,    53
 };
 
 #if YYDEBUG
@@ -1137,129 +1149,130 @@ static const yytype_uint8 yytranslate[] =
 static const yytype_uint16 yyprhs[] =
 {
        0,     0,     3,     7,    10,    13,    15,    17,    19,    21,
-      23,    25,    27,    30,    33,    36,    39,    41,    43,    45,
-      47,    52,    56,    62,    63,    68,    74,    80,    86,    93,
-     101,   108,   116,   119,   121,   123,   126,   130,   132,   134,
-     136,   138,   140,   142,   144,   146,   149,   153,   156,   160,
-     163,   166,   168,   170,   172,   173,   179,   186,   199,   209,
-     216,   220,   221,   233,   242,   248,   252,   253,   257,   259,
-     261,   266,   268,   270,   274,   278,   282,   286,   290,   294,
-     298,   302,   306,   310,   314,   318,   322,   326,   330,   334,
-     338,   340,   346,   348,   352,   353,   357,   359,   362,   364,
-     366,   368,   371,   374,   377,   381,   385,   388,   391,   394,
-     396,   399,   401,   404,   406,   408,   410,   412,   414,   416,
-     418,   420,   422,   424,   426,   428,   430,   433,   436,   440,
-     443,   445,   449,   453,   456,   458,   463,   467,   469,   472,
-     474,   485,   497,   507,   517,   526,   538,   547,   553,   556,
-     561,   562,   564,   567,   569,   571,   574,   577,   581,   586,
-     591,   593,   597,   599,   603,   605,   608,   612,   619,   627,
-     630,   632,   634,   637,   640,   644,   648,   652,   656,   664,
-     673,   677,   679,   683,   685,   693,   702,   706,   708,   716,
-     725,   729,   731,   733,   736,   738
+      23,    25,    27,    29,    32,    35,    38,    41,    43,    45,
+      47,    49,    54,    58,    64,    65,    70,    76,    82,    88,
+      95,   103,   110,   118,   121,   123,   125,   128,   132,   134,
+     136,   138,   140,   142,   144,   146,   148,   151,   155,   158,
+     162,   165,   168,   170,   172,   174,   175,   181,   188,   201,
+     211,   218,   222,   223,   235,   244,   250,   254,   255,   259,
+     261,   263,   268,   270,   272,   276,   280,   284,   288,   292,
+     296,   300,   304,   308,   312,   316,   320,   324,   328,   332,
+     336,   340,   342,   348,   350,   354,   355,   359,   361,   364,
+     366,   368,   370,   373,   376,   379,   383,   387,   390,   393,
+     396,   398,   401,   403,   406,   408,   410,   412,   414,   416,
+     418,   420,   422,   424,   426,   428,   430,   432,   435,   438,
+     442,   445,   447,   451,   455,   458,   460,   465,   469,   471,
+     474,   476,   487,   499,   509,   519,   528,   540,   549,   555,
+     558,   563,   570,   571,   573,   576,   578,   580,   583,   586,
+     590,   595,   600,   602,   606,   608,   612,   614,   617,   621,
+     628,   636,   639,   641,   643,   646,   649,   653,   657,   661,
+     665,   673,   682,   686,   688,   692,   694,   702,   711,   715,
+     717,   725,   734,   738,   740,   742,   745,   747
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int8 yyrhs[] =
 {
-      67,     0,    -1,    69,    70,    69,    -1,    70,    69,    -1,
-      69,    70,    -1,    70,    -1,    24,    -1,    27,    -1,    25,
-      -1,    26,    -1,    28,    -1,    29,    -1,    69,    68,    -1,
-      69,   111,    -1,    69,   114,    -1,    69,   116,    -1,    68,
-      -1,   111,    -1,   114,    -1,   116,    -1,    71,    53,    73,
-      54,    -1,    71,    53,    54,    -1,     3,    21,     4,    21,
-      72,    -1,    -1,    55,    19,    56,    72,    -1,    55,    19,
-      19,    56,    72,    -1,    55,    19,    21,    56,    72,    -1,
-      55,    19,    20,    56,    72,    -1,    55,    19,    30,    30,
-      56,    72,    -1,    55,    19,    30,    30,    30,    56,    72,
-      -1,    55,    19,    19,    30,    56,    72,    -1,    55,    19,
-      19,    30,    30,    56,    72,    -1,    73,    74,    -1,    74,
-      -1,   102,    -1,    19,   102,    -1,    19,    21,   102,    -1,
-      79,    -1,    80,    -1,    82,    -1,    57,    -1,    31,    -1,
-      32,    -1,    33,    -1,    34,    -1,    19,    19,    -1,    19,
-      53,    24,    -1,    58,   118,    -1,    58,    53,    24,    -1,
-      76,    77,    -1,    77,    76,    -1,    77,    -1,    76,    -1,
-      19,    -1,    -1,    75,    91,    19,    78,    57,    -1,    75,
-      91,    19,    22,    78,    57,    -1,    36,    89,    88,    19,
-      81,    19,    53,    24,    19,    53,    24,    57,    -1,    36,
-      89,    88,    19,    81,    19,    53,    24,    57,    -1,    36,
-      89,    88,    19,    81,    19,    -1,    55,    19,    56,    -1,
-      -1,    35,    19,    19,    83,    19,    53,    24,    19,    53,
-      24,    57,    -1,    35,    19,    19,    83,    19,    53,    24,
-      57,    -1,    35,    19,    19,    83,    57,    -1,    55,    84,
-      56,    -1,    -1,    84,    59,    87,    -1,    87,    -1,    30,
-      -1,    19,    55,    30,    56,    -1,   118,    -1,    85,    -1,
-      40,    58,    85,    -1,    41,    58,    85,    -1,    42,    58,
-     118,    -1,    43,    58,   118,    -1,    44,    58,    86,    -1,
-      46,    58,    90,    -1,    47,    58,    91,    -1,    48,    58,
-      21,    -1,    48,    58,    19,    -1,    49,    58,    21,    -1,
-      49,    58,    19,    -1,    50,    58,    21,    -1,    50,    58,
-      19,    -1,    51,    58,    21,    -1,    51,    58,    19,    -1,
-      52,    58,    21,    -1,    52,    58,    19,    -1,    19,    -1,
-      19,    55,    19,    91,    56,    -1,    19,    -1,    55,    90,
-      56,    -1,    -1,    19,    60,    90,    -1,    19,    -1,    92,
-      96,    -1,    92,    -1,    93,    -1,    19,    -1,     5,    19,
-      -1,    19,     5,    -1,    95,    19,    -1,     5,    95,    19,
-      -1,    95,    19,     5,    -1,    94,    93,    -1,    21,    93,
-      -1,     5,    93,    -1,    21,    -1,    21,     5,    -1,    94,
-      -1,    94,     5,    -1,     6,    -1,    18,    -1,    14,    -1,
-      15,    -1,    13,    -1,    16,    -1,    17,    -1,    11,    -1,
-      12,    -1,     7,    -1,     8,    -1,     9,    -1,    61,    -1,
-      61,     5,    -1,    61,    96,    -1,    61,     5,    96,    -1,
-      19,    99,    -1,    99,    -1,    75,    19,    99,    -1,    19,
-      75,    99,    -1,    75,    99,    -1,    97,    -1,    19,    55,
-     100,    56,    -1,   100,    59,    19,    -1,    19,    -1,    53,
-      24,    -1,    57,    -1,    38,    89,    98,    91,    19,    55,
-     105,    56,   103,   101,    -1,    75,    38,    89,    97,    91,
-      19,    55,   105,    56,   103,   101,    -1,    37,    75,    91,
-      19,    55,   105,    56,   103,   101,    -1,    75,    37,    91,
-      19,    55,   105,    56,   103,   101,    -1,    37,    91,    19,
-      55,   105,    56,   103,   101,    -1,    39,    55,    21,    56,
-      91,    19,    55,   105,    56,   103,   101,    -1,    75,    91,
-      19,    55,   105,    56,   103,   101,    -1,    19,    55,    19,
-      56,   101,    -1,    19,   104,    -1,    19,   104,    19,   104,
-      -1,    -1,   118,    -1,    53,    24,    -1,     6,    -1,    19,
-      -1,    19,     5,    -1,     5,    19,    -1,    19,    59,   106,
-      -1,    19,     5,    59,   106,    -1,     5,    19,    59,   106,
-      -1,   106,    -1,   107,    59,    10,    -1,   107,    -1,   107,
-      59,   108,    -1,   108,    -1,    91,    19,    -1,    91,    19,
-      22,    -1,    91,    19,    55,    19,   109,    56,    -1,    91,
-      19,    22,    55,    19,   109,    56,    -1,   109,   110,    -1,
-     110,    -1,    19,    -1,    62,   118,    -1,    63,   118,    -1,
-      62,    58,   118,    -1,    63,    58,   118,    -1,    58,    58,
-     118,    -1,    64,    58,   118,    -1,     9,    19,    53,   112,
-      54,    21,    57,    -1,     9,    19,    53,   112,    59,    54,
-      21,    57,    -1,   112,    59,   113,    -1,   113,    -1,    19,
-      58,   118,    -1,    19,    -1,    46,    19,    53,   115,    54,
-      21,    57,    -1,    46,    19,    53,   115,    59,    54,    21,
-      57,    -1,   115,    59,    19,    -1,    19,    -1,    45,    19,
-      53,   117,    54,    21,    57,    -1,    45,    19,    53,   117,
-      59,    54,    21,    57,    -1,   117,    59,    19,    -1,    19,
-      -1,    20,    -1,    65,    20,    -1,    23,    -1,    19,    -1
+      68,     0,    -1,    70,    71,    70,    -1,    71,    70,    -1,
+      70,    71,    -1,    71,    -1,    24,    -1,    25,    -1,    28,
+      -1,    26,    -1,    27,    -1,    29,    -1,    30,    -1,    70,
+      69,    -1,    70,   112,    -1,    70,   115,    -1,    70,   117,
+      -1,    69,    -1,   112,    -1,   115,    -1,   117,    -1,    72,
+      54,    74,    55,    -1,    72,    54,    55,    -1,     3,    21,
+       4,    21,    73,    -1,    -1,    56,    19,    57,    73,    -1,
+      56,    19,    19,    57,    73,    -1,    56,    19,    21,    57,
+      73,    -1,    56,    19,    20,    57,    73,    -1,    56,    19,
+      31,    31,    57,    73,    -1,    56,    19,    31,    31,    31,
+      57,    73,    -1,    56,    19,    19,    31,    57,    73,    -1,
+      56,    19,    19,    31,    31,    57,    73,    -1,    74,    75,
+      -1,    75,    -1,   103,    -1,    19,   103,    -1,    19,    21,
+     103,    -1,    80,    -1,    81,    -1,    83,    -1,    58,    -1,
+      32,    -1,    33,    -1,    34,    -1,    35,    -1,    19,    19,
+      -1,    19,    54,    24,    -1,    59,   119,    -1,    59,    54,
+      24,    -1,    77,    78,    -1,    78,    77,    -1,    78,    -1,
+      77,    -1,    19,    -1,    -1,    76,    92,    19,    79,    58,
+      -1,    76,    92,    19,    22,    79,    58,    -1,    37,    90,
+      89,    19,    82,    19,    54,    24,    19,    54,    24,    58,
+      -1,    37,    90,    89,    19,    82,    19,    54,    24,    58,
+      -1,    37,    90,    89,    19,    82,    19,    -1,    56,    19,
+      57,    -1,    -1,    36,    19,    19,    84,    19,    54,    24,
+      19,    54,    24,    58,    -1,    36,    19,    19,    84,    19,
+      54,    24,    58,    -1,    36,    19,    19,    84,    58,    -1,
+      56,    85,    57,    -1,    -1,    85,    60,    88,    -1,    88,
+      -1,    31,    -1,    19,    56,    31,    57,    -1,   119,    -1,
+      86,    -1,    41,    59,    86,    -1,    42,    59,    86,    -1,
+      43,    59,   119,    -1,    44,    59,   119,    -1,    45,    59,
+      87,    -1,    47,    59,    91,    -1,    48,    59,    92,    -1,
+      49,    59,    21,    -1,    49,    59,    19,    -1,    50,    59,
+      21,    -1,    50,    59,    19,    -1,    51,    59,    21,    -1,
+      51,    59,    19,    -1,    52,    59,    21,    -1,    52,    59,
+      19,    -1,    53,    59,    21,    -1,    53,    59,    19,    -1,
+      19,    -1,    19,    56,    19,    92,    57,    -1,    19,    -1,
+      56,    91,    57,    -1,    -1,    19,    61,    91,    -1,    19,
+      -1,    93,    97,    -1,    93,    -1,    94,    -1,    19,    -1,
+       5,    19,    -1,    19,     5,    -1,    96,    19,    -1,     5,
+      96,    19,    -1,    96,    19,     5,    -1,    95,    94,    -1,
+      21,    94,    -1,     5,    94,    -1,    21,    -1,    21,     5,
+      -1,    95,    -1,    95,     5,    -1,     6,    -1,    18,    -1,
+      14,    -1,    15,    -1,    13,    -1,    16,    -1,    17,    -1,
+      11,    -1,    12,    -1,     7,    -1,     8,    -1,     9,    -1,
+      62,    -1,    62,     5,    -1,    62,    97,    -1,    62,     5,
+      97,    -1,    19,   100,    -1,   100,    -1,    76,    19,   100,
+      -1,    19,    76,   100,    -1,    76,   100,    -1,    98,    -1,
+      19,    56,   101,    57,    -1,   101,    60,    19,    -1,    19,
+      -1,    54,    24,    -1,    58,    -1,    39,    90,    99,    92,
+      19,    56,   106,    57,   104,   102,    -1,    76,    39,    90,
+      98,    92,    19,    56,   106,    57,   104,   102,    -1,    38,
+      76,    92,    19,    56,   106,    57,   104,   102,    -1,    76,
+      38,    92,    19,    56,   106,    57,   104,   102,    -1,    38,
+      92,    19,    56,   106,    57,   104,   102,    -1,    40,    56,
+      21,    57,    92,    19,    56,   106,    57,   104,   102,    -1,
+      76,    92,    19,    56,   106,    57,   104,   102,    -1,    19,
+      56,    19,    57,   102,    -1,    19,   105,    -1,    19,   105,
+      19,   105,    -1,    19,   105,    19,   105,    19,   105,    -1,
+      -1,   119,    -1,    54,    24,    -1,     6,    -1,    19,    -1,
+      19,     5,    -1,     5,    19,    -1,    19,    60,   107,    -1,
+      19,     5,    60,   107,    -1,     5,    19,    60,   107,    -1,
+     107,    -1,   108,    60,    10,    -1,   108,    -1,   108,    60,
+     109,    -1,   109,    -1,    92,    19,    -1,    92,    19,    22,
+      -1,    92,    19,    56,    19,   110,    57,    -1,    92,    19,
+      22,    56,    19,   110,    57,    -1,   110,   111,    -1,   111,
+      -1,    19,    -1,    63,   119,    -1,    64,   119,    -1,    63,
+      59,   119,    -1,    64,    59,   119,    -1,    59,    59,   119,
+      -1,    65,    59,   119,    -1,     9,    19,    54,   113,    55,
+      21,    58,    -1,     9,    19,    54,   113,    60,    55,    21,
+      58,    -1,   113,    60,   114,    -1,   114,    -1,    19,    59,
+     119,    -1,    19,    -1,    47,    19,    54,   116,    55,    21,
+      58,    -1,    47,    19,    54,   116,    60,    55,    21,    58,
+      -1,   116,    60,    19,    -1,    19,    -1,    46,    19,    54,
+     118,    55,    21,    58,    -1,    46,    19,    54,   118,    60,
+      55,    21,    58,    -1,   118,    60,    19,    -1,    19,    -1,
+      20,    -1,    66,    20,    -1,    23,    -1,    19,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   689,   689,   690,   691,   692,   695,   704,   713,   722,
-     731,   740,   751,   752,   753,   754,   755,   756,   757,   758,
-     761,   766,   773,   790,   791,   799,   811,   820,   832,   841,
-     850,   859,   870,   871,   874,   875,   884,   896,   897,   898,
-     899,   902,   903,   904,   905,   908,   928,   952,   956,   964,
-     965,   966,   967,   968,   976,   982,   985,   990,  1058,  1112,
-    1201,  1209,  1214,  1262,  1298,  1314,  1315,  1318,  1319,  1322,
-    1323,  1335,  1336,  1339,  1345,  1351,  1357,  1363,  1369,  1375,
-    1382,  1388,  1394,  1400,  1406,  1412,  1418,  1424,  1430,  1436,
-    1442,  1467,  1476,  1482,  1483,  1486,  1489,  1495,  1502,  1511,
-    1514,  1517,  1521,  1525,  1529,  1534,  1542,  1546,  1551,  1555,
-    1558,  1562,  1565,  1570,  1571,  1572,  1573,  1574,  1575,  1576,
-    1577,  1578,  1581,  1582,  1583,  1586,  1587,  1588,  1592,  1599,
-    1611,  1617,  1629,  1641,  1644,  1650,  1655,  1658,  1663,  1664,
-    1668,  1684,  1700,  1716,  1732,  1743,  1749,  1759,  1782,  1793,
-    1812,  1818,  1819,  1825,  1826,  1837,  1848,  1859,  1869,  1879,
-    1889,  1892,  1893,  1896,  1897,  1900,  1903,  1906,  1914,  1924,
-    1925,  1928,  1945,  1952,  1959,  1966,  1973,  1980,  1989,  1998,
-    2009,  2010,  2013,  2033,  2043,  2052,  2063,  2066,  2071,  2080,
-    2091,  2094,  2100,  2101,  2105,  2106
+       0,   699,   699,   700,   701,   702,   705,   714,   723,   732,
+     741,   750,   759,   770,   771,   772,   773,   774,   775,   776,
+     777,   780,   785,   792,   809,   810,   818,   830,   839,   851,
+     860,   869,   878,   889,   890,   893,   894,   903,   915,   916,
+     917,   918,   921,   922,   923,   924,   927,   947,   971,   975,
+     983,   984,   985,   986,   987,   995,  1001,  1004,  1009,  1077,
+    1131,  1220,  1228,  1233,  1281,  1317,  1333,  1334,  1337,  1338,
+    1341,  1342,  1354,  1355,  1358,  1364,  1370,  1376,  1382,  1388,
+    1394,  1401,  1407,  1413,  1419,  1425,  1431,  1437,  1443,  1449,
+    1455,  1461,  1486,  1495,  1501,  1502,  1505,  1508,  1514,  1521,
+    1530,  1533,  1536,  1540,  1544,  1548,  1553,  1561,  1565,  1570,
+    1574,  1577,  1581,  1584,  1589,  1590,  1591,  1592,  1593,  1594,
+    1595,  1596,  1597,  1600,  1601,  1602,  1605,  1606,  1607,  1611,
+    1618,  1630,  1636,  1648,  1660,  1663,  1669,  1674,  1677,  1682,
+    1683,  1687,  1710,  1733,  1756,  1779,  1797,  1810,  1820,  1860,
+    1872,  1892,  1923,  1930,  1931,  1937,  1938,  1949,  1960,  1971,
+    1981,  1991,  2001,  2004,  2005,  2008,  2009,  2012,  2015,  2018,
+    2026,  2036,  2037,  2040,  2057,  2064,  2071,  2078,  2085,  2092,
+    2101,  2110,  2121,  2122,  2125,  2145,  2155,  2164,  2175,  2178,
+    2183,  2192,  2203,  2206,  2212,  2213,  2217,  2218
 };
 #endif
 
@@ -1271,22 +1284,22 @@ static const char *const yytname[] =
   "$end", "error", "$undefined", "CLASS", "FROM", "CONST", "VOID",
   "STRUCT", "UNION", "ENUM", "THREEDOTS", "SIGNED", "UNSIGNED", "LONG",
   "SHORT", "INT", "FLOAT", "DOUBLE", "CHAR", "TOKEN", "NUMBER",
-  "TYPETOKEN", "ARRAY_DIM", "SINGLE_CHAR", "CCODE", "HTCODE", "PHCODE",
-  "HCODE", "ACODE", "ATCODE", "STRING", "PUBLIC", "PRIVATE", "PROTECTED",
-  "CLASSWIDE", "PROPERTY", "ARGUMENT", "VIRTUAL", "SIGNAL", "OVERRIDE",
-  "NICK", "BLURB", "MAXIMUM", "MINIMUM", "DEFAULT_VALUE", "ERROR", "FLAGS",
-  "TYPE", "FLAGS_TYPE", "ENUM_TYPE", "PARAM_TYPE", "BOXED_TYPE",
-  "OBJECT_TYPE", "'{'", "'}'", "'('", "')'", "';'", "'='", "','", "'|'",
-  "'*'", "'>'", "'<'", "'!'", "'-'", "$accept", "prog", "ccode", "ccodes",
-  "class", "classdec", "classflags", "classcode", "thing", "scope",
-  "destructor", "initializer", "varoptions", "variable", "argument",
-  "export", "property", "param_spec", "param_spec_list", "string",
-  "anyval", "param_spec_value", "argtype", "flags", "flaglist", "type",
-  "specifier_list", "spec_list", "specifier", "strunionenum", "pointer",
-  "simplesigtype", "fullsigtype", "sigtype", "tokenlist", "codenocode",
-  "method", "returnvals", "retcode", "funcargs", "arglist", "arglist1",
-  "arg", "checklist", "check", "enumcode", "enumvals", "enumval",
-  "flagcode", "flagvals", "errorcode", "errorvals", "numtok", 0
+  "TYPETOKEN", "ARRAY_DIM", "SINGLE_CHAR", "CCODE", "ADCODE", "HTCODE",
+  "PHCODE", "HCODE", "ACODE", "ATCODE", "STRING", "PUBLIC", "PRIVATE",
+  "PROTECTED", "CLASSWIDE", "PROPERTY", "ARGUMENT", "VIRTUAL", "SIGNAL",
+  "OVERRIDE", "NICK", "BLURB", "MAXIMUM", "MINIMUM", "DEFAULT_VALUE",
+  "ERROR", "FLAGS", "TYPE", "FLAGS_TYPE", "ENUM_TYPE", "PARAM_TYPE",
+  "BOXED_TYPE", "OBJECT_TYPE", "'{'", "'}'", "'('", "')'", "';'", "'='",
+  "','", "'|'", "'*'", "'>'", "'<'", "'!'", "'-'", "$accept", "prog",
+  "ccode", "ccodes", "class", "classdec", "classflags", "classcode",
+  "thing", "scope", "destructor", "initializer", "varoptions", "variable",
+  "argument", "export", "property", "param_spec", "param_spec_list",
+  "string", "anyval", "param_spec_value", "argtype", "flags", "flaglist",
+  "type", "specifier_list", "spec_list", "specifier", "strunionenum",
+  "pointer", "simplesigtype", "fullsigtype", "sigtype", "tokenlist",
+  "codenocode", "method", "methodmods", "retcode", "funcargs", "arglist",
+  "arglist1", "arg", "checklist", "check", "enumcode", "enumvals",
+  "enumval", "flagcode", "flagvals", "errorcode", "errorvals", "numtok", 0
 };
 #endif
 
@@ -1300,59 +1313,59 @@ static const yytype_uint16 yytoknum[] =
      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
-     305,   306,   307,   123,   125,    40,    41,    59,    61,    44,
-     124,    42,    62,    60,    33,    45
+     305,   306,   307,   308,   123,   125,    40,    41,    59,    61,
+      44,   124,    42,    62,    60,    33,    45
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,    66,    67,    67,    67,    67,    68,    68,    68,    68,
-      68,    68,    69,    69,    69,    69,    69,    69,    69,    69,
-      70,    70,    71,    72,    72,    72,    72,    72,    72,    72,
-      72,    72,    73,    73,    74,    74,    74,    74,    74,    74,
-      74,    75,    75,    75,    75,    76,    76,    77,    77,    78,
-      78,    78,    78,    78,    78,    79,    79,    80,    80,    80,
-      81,    81,    82,    82,    82,    83,    83,    84,    84,    85,
-      85,    86,    86,    87,    87,    87,    87,    87,    87,    87,
-      87,    87,    87,    87,    87,    87,    87,    87,    87,    87,
-      87,    88,    88,    89,    89,    90,    90,    91,    91,    92,
-      92,    92,    92,    92,    92,    92,    93,    93,    93,    93,
-      93,    93,    93,    94,    94,    94,    94,    94,    94,    94,
-      94,    94,    95,    95,    95,    96,    96,    96,    96,    97,
-      97,    98,    98,    98,    98,    99,   100,   100,   101,   101,
-     102,   102,   102,   102,   102,   102,   102,   102,   103,   103,
-     103,   104,   104,   105,   105,   105,   105,   105,   105,   105,
-     105,   106,   106,   107,   107,   108,   108,   108,   108,   109,
-     109,   110,   110,   110,   110,   110,   110,   110,   111,   111,
+       0,    67,    68,    68,    68,    68,    69,    69,    69,    69,
+      69,    69,    69,    70,    70,    70,    70,    70,    70,    70,
+      70,    71,    71,    72,    73,    73,    73,    73,    73,    73,
+      73,    73,    73,    74,    74,    75,    75,    75,    75,    75,
+      75,    75,    76,    76,    76,    76,    77,    77,    78,    78,
+      79,    79,    79,    79,    79,    79,    80,    80,    81,    81,
+      81,    82,    82,    83,    83,    83,    84,    84,    85,    85,
+      86,    86,    87,    87,    88,    88,    88,    88,    88,    88,
+      88,    88,    88,    88,    88,    88,    88,    88,    88,    88,
+      88,    88,    89,    89,    90,    90,    91,    91,    92,    92,
+      93,    93,    93,    93,    93,    93,    93,    94,    94,    94,
+      94,    94,    94,    94,    95,    95,    95,    95,    95,    95,
+      95,    95,    95,    96,    96,    96,    97,    97,    97,    97,
+      98,    98,    99,    99,    99,    99,   100,   101,   101,   102,
+     102,   103,   103,   103,   103,   103,   103,   103,   103,   104,
+     104,   104,   104,   105,   105,   106,   106,   106,   106,   106,
+     106,   106,   106,   107,   107,   108,   108,   109,   109,   109,
+     109,   110,   110,   111,   111,   111,   111,   111,   111,   111,
      112,   112,   113,   113,   114,   114,   115,   115,   116,   116,
-     117,   117,   118,   118,   118,   118
+     117,   117,   118,   118,   119,   119,   119,   119
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 static const yytype_uint8 yyr2[] =
 {
        0,     2,     3,     2,     2,     1,     1,     1,     1,     1,
-       1,     1,     2,     2,     2,     2,     1,     1,     1,     1,
-       4,     3,     5,     0,     4,     5,     5,     5,     6,     7,
-       6,     7,     2,     1,     1,     2,     3,     1,     1,     1,
-       1,     1,     1,     1,     1,     2,     3,     2,     3,     2,
-       2,     1,     1,     1,     0,     5,     6,    12,     9,     6,
-       3,     0,    11,     8,     5,     3,     0,     3,     1,     1,
-       4,     1,     1,     3,     3,     3,     3,     3,     3,     3,
+       1,     1,     1,     2,     2,     2,     2,     1,     1,     1,
+       1,     4,     3,     5,     0,     4,     5,     5,     5,     6,
+       7,     6,     7,     2,     1,     1,     2,     3,     1,     1,
+       1,     1,     1,     1,     1,     1,     2,     3,     2,     3,
+       2,     2,     1,     1,     1,     0,     5,     6,    12,     9,
+       6,     3,     0,    11,     8,     5,     3,     0,     3,     1,
+       1,     4,     1,     1,     3,     3,     3,     3,     3,     3,
        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       1,     5,     1,     3,     0,     3,     1,     2,     1,     1,
-       1,     2,     2,     2,     3,     3,     2,     2,     2,     1,
-       2,     1,     2,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     2,     3,     2,
-       1,     3,     3,     2,     1,     4,     3,     1,     2,     1,
-      10,    11,     9,     9,     8,    11,     8,     5,     2,     4,
-       0,     1,     2,     1,     1,     2,     2,     3,     4,     4,
-       1,     3,     1,     3,     1,     2,     3,     6,     7,     2,
-       1,     1,     2,     2,     3,     3,     3,     3,     7,     8,
-       3,     1,     3,     1,     7,     8,     3,     1,     7,     8,
-       3,     1,     1,     2,     1,     1
+       3,     1,     5,     1,     3,     0,     3,     1,     2,     1,
+       1,     1,     2,     2,     2,     3,     3,     2,     2,     2,
+       1,     2,     1,     2,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     2,     2,     3,
+       2,     1,     3,     3,     2,     1,     4,     3,     1,     2,
+       1,    10,    11,     9,     9,     8,    11,     8,     5,     2,
+       4,     6,     0,     1,     2,     1,     1,     2,     2,     3,
+       4,     4,     1,     3,     1,     3,     1,     2,     3,     6,
+       7,     2,     1,     1,     2,     2,     3,     3,     3,     3,
+       7,     8,     3,     1,     3,     1,     7,     8,     3,     1,
+       7,     8,     3,     1,     1,     2,     1,     1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1360,306 +1373,310 @@ static const yytype_uint8 yyr2[] =
    means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       0,     0,     0,     6,     8,     9,     7,    10,    11,     0,
-       0,     0,    16,     0,     5,     0,    17,    18,    19,     0,
-       0,     0,     0,     1,    12,     4,    13,    14,    15,     3,
-       0,     0,     0,     0,     0,     2,     0,    41,    42,    43,
-      44,     0,    94,     0,    94,     0,    21,    40,     0,    33,
-       0,    37,    38,    39,    34,    23,   183,     0,   181,   191,
-       0,   187,     0,     0,     0,     0,     0,    35,     0,     0,
-       0,     0,   113,   122,   123,   124,   120,   121,   117,   115,
-     116,   118,   119,   114,   100,   109,     0,     0,    98,    99,
-     111,     0,     0,     0,    20,    32,     0,    94,     0,     0,
-      22,     0,     0,     0,     0,     0,     0,     0,    36,     0,
-       0,    66,    96,     0,    92,     0,     0,   101,   108,     0,
-     102,   110,   107,     0,     0,   125,    97,   112,   106,   103,
-       0,     0,   134,     0,   130,     0,     0,     0,    54,     0,
-     195,   192,   194,     0,   182,     0,     0,   180,     0,   190,
-       0,     0,   186,     0,     0,     0,     0,     0,     0,    93,
-       0,    61,   104,     0,     0,   126,   127,   105,     0,     0,
-       0,   129,     0,   133,     0,     0,     0,     0,     0,    53,
-      54,     0,     0,    52,    51,     0,     0,     0,     0,     0,
-      23,   193,   178,     0,   188,     0,   184,     0,     0,   139,
-     147,    90,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    68,     0,    64,    95,     0,
-       0,     0,     0,     0,   113,   100,     0,     0,   160,   162,
-     164,   128,   137,     0,   132,   131,     0,     0,     0,     0,
-      45,     0,     0,     0,     0,    47,    49,     0,    50,    55,
-       0,    23,    23,    23,     0,    24,   179,   189,   185,   138,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    65,     0,     0,     0,     0,    59,     0,   101,
-     102,     0,   165,   150,     0,   135,     0,     0,     0,     0,
-       0,    46,    56,   150,    48,     0,    23,    25,    27,    26,
-       0,    23,     0,    69,    73,    74,    75,    76,   195,    72,
-      77,    71,    78,    79,    81,    80,    83,    82,    85,    84,
-      87,    86,    89,    88,    67,     0,    91,    60,     0,   150,
-       0,     0,   157,   166,     0,     0,     0,   161,   163,   136,
-       0,     0,   150,     0,     0,    23,    30,    23,    28,     0,
-       0,    63,     0,     0,   159,   158,     0,     0,     0,   148,
-     151,   144,   150,     0,     0,     0,   146,    31,    29,     0,
-       0,     0,    58,   142,     0,   171,     0,     0,     0,     0,
-       0,   170,   152,     0,     0,   150,   143,   150,    70,     0,
-       0,     0,     0,     0,   172,     0,   173,     0,   167,   169,
-     149,   140,     0,     0,    62,     0,   168,   176,   174,   175,
-     177,   145,   141,    57
+       0,     0,     0,     6,     7,     9,    10,     8,    11,    12,
+       0,     0,     0,    17,     0,     5,     0,    18,    19,    20,
+       0,     0,     0,     0,     1,    13,     4,    14,    15,    16,
+       3,     0,     0,     0,     0,     0,     2,     0,    42,    43,
+      44,    45,     0,    95,     0,    95,     0,    22,    41,     0,
+      34,     0,    38,    39,    40,    35,    24,   185,     0,   183,
+     193,     0,   189,     0,     0,     0,     0,     0,    36,     0,
+       0,     0,     0,   114,   123,   124,   125,   121,   122,   118,
+     116,   117,   119,   120,   115,   101,   110,     0,     0,    99,
+     100,   112,     0,     0,     0,    21,    33,     0,    95,     0,
+       0,    23,     0,     0,     0,     0,     0,     0,     0,    37,
+       0,     0,    67,    97,     0,    93,     0,     0,   102,   109,
+       0,   103,   111,   108,     0,     0,   126,    98,   113,   107,
+     104,     0,     0,   135,     0,   131,     0,     0,     0,    55,
+       0,   197,   194,   196,     0,   184,     0,     0,   182,     0,
+     192,     0,     0,   188,     0,     0,     0,     0,     0,     0,
+      94,     0,    62,   105,     0,     0,   127,   128,   106,     0,
+       0,     0,   130,     0,   134,     0,     0,     0,     0,     0,
+      54,    55,     0,     0,    53,    52,     0,     0,     0,     0,
+       0,    24,   195,   180,     0,   190,     0,   186,     0,     0,
+     140,   148,    91,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    69,     0,    65,    96,
+       0,     0,     0,     0,     0,   114,   101,     0,     0,   162,
+     164,   166,   129,   138,     0,   133,   132,     0,     0,     0,
+       0,    46,     0,     0,     0,     0,    48,    50,     0,    51,
+      56,     0,    24,    24,    24,     0,    25,   181,   191,   187,
+     139,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    66,     0,     0,     0,     0,    60,     0,
+     102,   103,     0,   167,   152,     0,   136,     0,     0,     0,
+       0,     0,    47,    57,   152,    49,     0,    24,    26,    28,
+      27,     0,    24,     0,    70,    74,    75,    76,    77,   197,
+      73,    78,    72,    79,    80,    82,    81,    84,    83,    86,
+      85,    88,    87,    90,    89,    68,     0,    92,    61,     0,
+     152,     0,     0,   159,   168,     0,     0,     0,   163,   165,
+     137,     0,     0,   152,     0,     0,    24,    31,    24,    29,
+       0,     0,    64,     0,     0,   161,   160,     0,     0,     0,
+     149,   153,   145,   152,     0,     0,     0,   147,    32,    30,
+       0,     0,     0,    59,   143,     0,   173,     0,     0,     0,
+       0,     0,   172,   154,     0,     0,   152,   144,   152,    71,
+       0,     0,     0,     0,     0,   174,     0,   175,     0,   169,
+     171,   150,   141,     0,     0,    63,     0,   170,   178,   176,
+     177,   179,     0,   146,   142,    58,   151
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    11,    12,    13,    14,    15,   100,    48,    49,    50,
-     183,   184,   185,    51,    52,   221,    53,   157,   214,   304,
-     310,   215,   115,    70,   113,   226,    88,    89,    90,    91,
-     126,   132,   133,   134,   233,   200,    54,   336,   359,   227,
-     228,   229,   230,   380,   381,    16,    57,    58,    17,    62,
-      18,    60,   360
+      -1,    12,    13,    14,    15,    16,   101,    49,    50,    51,
+     184,   185,   186,    52,    53,   222,    54,   158,   215,   305,
+     311,   216,   116,    71,   114,   227,    89,    90,    91,    92,
+     127,   133,   134,   135,   234,   201,    55,   337,   360,   228,
+     229,   230,   231,   381,   382,    17,    58,    59,    18,    63,
+      19,    61,   361
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -325
+#define YYPACT_NINF -326
 static const yytype_int16 yypact[] =
 {
-     144,    -5,    92,  -325,  -325,  -325,  -325,  -325,  -325,    98,
-      99,   123,  -325,   144,   167,    78,  -325,  -325,  -325,   161,
-     121,   154,   182,  -325,  -325,   167,  -325,  -325,  -325,   167,
-     148,   179,   217,   227,   228,   167,   211,  -325,  -325,  -325,
-    -325,   237,   229,   326,   229,   234,  -325,  -325,   184,  -325,
-     292,  -325,  -325,  -325,  -325,   263,   261,   -31,  -325,  -325,
-     147,  -325,   174,   268,   283,   309,   292,  -325,   317,   330,
-     331,   373,  -325,  -325,  -325,  -325,  -325,  -325,  -325,  -325,
-    -325,  -325,  -325,  -325,   346,   441,   390,   333,   294,  -325,
-     455,   334,   293,   335,  -325,  -325,   390,   229,   357,   364,
-    -325,    75,   372,    38,   379,    50,   389,    95,  -325,   298,
-     398,   393,   367,   378,   394,   425,   469,  -325,  -325,   431,
-    -325,   469,  -325,   432,   408,     5,  -325,   469,  -325,   459,
-     220,   446,  -325,   390,  -325,   421,   460,   470,   156,   178,
-    -325,  -325,  -325,   458,  -325,   434,   467,  -325,   435,  -325,
-     472,   437,  -325,   474,   202,   442,   221,    39,   330,  -325,
-     477,   443,  -325,   444,   407,   294,  -325,  -325,   445,   482,
-     483,  -325,    -6,  -325,   484,   390,   449,    -6,   390,   101,
-      31,   407,    15,   447,   487,   450,   -15,   452,   453,   480,
-     263,  -325,  -325,   454,  -325,   456,  -325,   457,   488,  -325,
-    -325,  -325,   461,   462,   463,   464,   465,   466,   468,   471,
-     473,   475,   476,   478,   -23,  -325,   479,  -325,  -325,   390,
-     496,   497,   407,   424,   481,    14,   498,   485,  -325,   486,
-    -325,  -325,  -325,   201,  -325,  -325,   489,   499,   407,   506,
-    -325,   503,   490,   492,   504,  -325,  -325,   101,  -325,  -325,
-     100,   263,   263,   263,   104,  -325,  -325,  -325,  -325,  -325,
-       2,     2,    75,    75,     7,   330,   390,   208,   266,   269,
-     274,   327,  -325,   221,   511,   493,   494,   500,   495,   222,
-     223,   390,    87,   519,   356,  -325,   520,   407,   491,   501,
-     505,  -325,  -325,   519,  -325,   502,   263,  -325,  -325,  -325,
-     507,   263,   509,  -325,  -325,  -325,  -325,  -325,   509,  -325,
-    -325,  -325,  -325,  -325,  -325,  -325,  -325,  -325,  -325,  -325,
-    -325,  -325,  -325,  -325,  -325,    58,  -325,  -325,   516,   519,
-     390,   390,  -325,   510,   523,    32,   202,  -325,  -325,  -325,
-     512,   407,   519,   407,   202,   263,  -325,   263,  -325,   513,
-     508,  -325,    71,   202,  -325,  -325,   533,    88,   530,   536,
-    -325,  -325,   519,   514,   202,   515,  -325,  -325,  -325,   517,
-     532,   521,  -325,  -325,    88,  -325,   518,    64,    83,   522,
-      63,  -325,  -325,    32,   202,   519,  -325,   519,  -325,   524,
-     535,    81,    75,    75,  -325,    75,  -325,    75,  -325,  -325,
-    -325,  -325,   202,   202,  -325,   525,  -325,  -325,  -325,  -325,
-    -325,  -325,  -325,  -325
+     145,    13,    77,  -326,  -326,  -326,  -326,  -326,  -326,  -326,
+     108,   196,   146,  -326,   145,   205,   168,  -326,  -326,  -326,
+     264,   173,   221,   232,  -326,  -326,   205,  -326,  -326,  -326,
+     205,   161,   259,   276,   283,   301,   205,   222,  -326,  -326,
+    -326,  -326,   309,   273,   327,   273,   281,  -326,  -326,   170,
+    -326,   292,  -326,  -326,  -326,  -326,   291,   290,   -27,  -326,
+    -326,    40,  -326,   127,   294,   250,   332,   292,  -326,   333,
+     334,   335,   375,  -326,  -326,  -326,  -326,  -326,  -326,  -326,
+    -326,  -326,  -326,  -326,  -326,   350,   443,   392,   337,   295,
+    -326,   457,   339,   239,   357,  -326,  -326,   392,   273,   366,
+     376,  -326,    27,   381,    71,   391,    95,   398,   124,  -326,
+     372,   417,   390,   389,   394,   396,   434,   471,  -326,  -326,
+     446,  -326,   471,  -326,   447,   411,     4,  -326,   471,  -326,
+     474,   231,   461,  -326,   392,  -326,   424,   472,   475,   122,
+     192,  -326,  -326,  -326,   470,  -326,   435,   476,  -326,   437,
+    -326,   477,   438,  -326,   478,   163,   444,   274,     0,   334,
+    -326,   482,   448,  -326,   449,   409,   295,  -326,  -326,   450,
+     483,   484,  -326,     6,  -326,   488,   392,   452,     6,   392,
+      64,    38,   409,    32,   451,   490,   453,    80,   455,   456,
+     485,   291,  -326,  -326,   459,  -326,   460,  -326,   462,   491,
+    -326,  -326,  -326,   463,   464,   465,   466,   467,   468,   469,
+     473,   479,   480,   481,   486,   -30,  -326,   487,  -326,  -326,
+     392,   495,   500,   409,   426,   489,    11,   502,   492,  -326,
+     493,  -326,  -326,  -326,   126,  -326,  -326,   494,   510,   409,
+     511,  -326,   507,   496,   498,   509,  -326,  -326,    64,  -326,
+    -326,   187,   291,   291,   291,   189,  -326,  -326,  -326,  -326,
+    -326,    85,    85,    27,    27,    18,   334,   392,    -6,   219,
+     226,   260,   293,  -326,   274,   512,   499,   501,   497,   503,
+     128,   179,   392,   100,   515,   358,  -326,   516,   409,   505,
+     506,   508,  -326,  -326,   515,  -326,   513,   291,  -326,  -326,
+    -326,   514,   291,   517,  -326,  -326,  -326,  -326,  -326,   517,
+    -326,  -326,  -326,  -326,  -326,  -326,  -326,  -326,  -326,  -326,
+    -326,  -326,  -326,  -326,  -326,  -326,    12,  -326,  -326,   518,
+     515,   392,   392,  -326,   519,   524,    69,   163,  -326,  -326,
+    -326,   520,   409,   515,   409,   163,   291,  -326,   291,  -326,
+     521,   522,  -326,    61,   163,  -326,  -326,   525,    66,   523,
+     529,  -326,  -326,   515,   526,   163,   527,  -326,  -326,  -326,
+     528,   533,   532,  -326,  -326,    66,  -326,   530,    83,   101,
+     531,    75,  -326,  -326,    69,   163,   515,  -326,   515,  -326,
+     504,   535,    88,    27,    27,  -326,    27,  -326,    27,  -326,
+    -326,   546,  -326,   163,   163,  -326,   534,  -326,  -326,  -326,
+    -326,  -326,    69,  -326,  -326,  -326,  -326
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -325,  -325,   103,   110,   549,  -325,  -188,  -325,   527,   -25,
-     382,   347,   387,  -325,  -325,  -325,  -325,  -325,  -325,    22,
-    -325,   296,  -325,   -35,  -153,   -42,  -325,   -68,  -325,   -65,
-     -94,   440,  -325,   -84,  -325,  -324,   -22,  -286,   189,  -177,
-    -256,  -325,   295,   204,  -154,   175,  -325,   526,   196,  -325,
-     245,  -325,  -101
+    -326,  -326,    -4,   102,   552,  -326,  -189,  -326,   538,   -26,
+     352,   383,   387,  -326,  -326,  -326,  -326,  -326,  -326,     5,
+    -326,   298,  -326,   -24,  -154,   -43,  -326,   -69,  -326,   -66,
+     -57,   431,  -326,   -96,  -326,  -325,   -23,  -287,  -297,  -178,
+    -259,  -326,   289,   203,  -216,   154,  -326,   536,   212,  -326,
+     223,  -326,  -102
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -157
+#define YYTABLE_NINF -159
 static const yytype_int16 yytable[] =
 {
-     144,    87,   255,   118,   243,   218,   119,   344,    98,    92,
-     165,    66,   361,   168,    67,   250,    19,   122,    86,   280,
-     366,   302,   128,   102,   110,   332,   308,   141,   103,   373,
-     142,   166,   303,   272,   140,   141,   273,   303,   142,    66,
-     386,   251,   108,   353,   123,   278,   171,   173,   118,   169,
-     179,   140,   141,   118,   136,   142,   364,    56,   216,   118,
-     401,   289,   137,   297,   298,   299,   125,   131,   244,   149,
-    -154,   231,   143,   281,   354,   355,   384,   350,   411,   412,
-     143,   245,   375,   140,   141,   358,   234,   142,   235,   182,
-     371,   174,   146,   171,   140,   141,   217,   143,   142,   402,
-     375,   403,   140,   141,   150,   170,   142,   375,   346,   333,
-     340,    20,   312,   348,   152,   351,    24,    21,    22,   398,
-     240,   376,   393,    23,    29,   377,   378,   379,   372,   143,
-     295,    30,    24,   237,   300,    35,   239,   406,    24,   376,
-     143,   395,   334,   377,   378,   379,   376,     1,   143,   153,
-     377,   378,   379,     2,   241,   118,   296,   367,   119,   368,
-     301,   306,   307,   311,   363,    31,   365,    36,     3,     4,
-       5,     6,     7,     8,    32,   179,     2,   275,   180,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    26,     9,
-      10,     3,     4,     5,     6,     7,     8,   186,   187,   188,
-      55,   104,    46,    36,    26,    47,   105,    33,   189,    27,
-      26,   181,     9,    10,   182,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,   313,    27,   399,   314,   106,   315,
-      63,    27,    64,   107,   190,    34,    56,   399,    94,   168,
-     201,    47,    37,    38,    39,    40,    59,    61,    43,    44,
-      45,    37,    38,    39,    40,   198,    68,   285,    28,   199,
-     286,   202,   203,   204,   205,   206,    65,   207,   208,   209,
-     210,   211,   212,   213,    28,   169,   394,   396,  -156,  -155,
-      28,   330,   331,   305,    69,   316,   309,   317,   318,    93,
-     319,   407,   408,   320,   409,   321,   410,    71,    72,    73,
-      74,    75,    63,    76,    77,    78,    79,    80,    81,    82,
-      83,    84,   130,    85,    37,    38,    39,    40,    99,   101,
-      43,    44,    45,    65,    37,    38,    39,    40,   109,    96,
-      97,    71,    72,    73,    74,    75,   111,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,   322,    85,   323,   112,
-     114,   120,   124,   129,   154,   125,   135,    37,    38,    39,
-      40,    71,    72,    73,    74,    75,   337,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,   138,    85,   116,    72,
-      73,    74,    75,   139,    76,    77,    78,    79,    80,    81,
-      82,    83,   117,   145,    85,    71,    72,    73,    74,    75,
-     148,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-     151,    85,   223,   224,    73,    74,    75,   155,    76,    77,
-      78,    79,    80,    81,    82,    83,   225,   158,    85,   116,
-      72,    73,    74,    75,   159,    76,    77,    78,    79,    80,
-      81,    82,    83,   279,   161,    85,   121,    72,   156,   160,
-     162,   163,    76,    77,    78,    79,    80,    81,    82,    83,
-     127,    72,    85,   164,   167,   172,    76,    77,    78,    79,
-      80,    81,    82,    83,   116,    72,    85,   175,   191,   176,
-      76,    77,    78,    79,    80,    81,    82,    83,   193,   177,
-      85,   192,   194,   195,   196,   197,   219,   181,   220,   222,
-     169,   232,   168,   236,   238,   182,   247,   249,   252,   253,
-     254,   256,   259,   257,   258,   276,   277,   282,   288,   260,
-     261,   262,   263,   264,   265,   290,   266,   291,   294,   267,
-     246,   268,   274,   269,   270,   325,   271,  -153,   335,   339,
-     352,   283,   357,   369,   287,   284,   341,   292,   293,   326,
-     327,   329,   374,   328,   382,   383,   389,   342,   345,   405,
-     343,   370,    25,   347,   349,   356,   248,   242,   362,   324,
-     385,   387,   400,   388,   390,    95,   392,   178,   391,   338,
-     397,   404,   413,     0,     0,     0,     0,     0,     0,     0,
+     145,    88,   256,   119,   244,   219,   120,   345,    99,   166,
+      25,    67,   362,   315,    68,   316,   281,   123,    87,   217,
+     367,    93,   129,   333,   111,   169,    25,   273,   103,   374,
+     274,   351,    25,   104,    20,   172,   174,   309,   142,    67,
+     387,   143,   109,   354,   124,   279,   141,   142,   119,   304,
+     143,   141,   142,   119,   137,   143,   365,   180,   218,   119,
+     402,   290,   170,   298,   299,   300,   126,   132,  -156,   167,
+     352,   282,   355,   356,   138,   235,   385,   236,   413,   414,
+     372,   246,   172,   241,   144,   376,   245,   401,   141,   142,
+      57,   175,   143,   144,   376,   105,    21,   183,   144,   403,
+     106,   404,   141,   142,   303,   171,   143,   376,   347,   232,
+     341,   251,   313,   349,   150,   416,   304,    30,   242,   373,
+     141,   142,   334,   359,   143,   377,   147,    22,    36,   378,
+     379,   380,   399,   238,   377,   144,   240,   252,   378,   379,
+     380,   180,   394,   153,   181,   407,    24,   377,     1,   144,
+     151,   378,   379,   380,     2,   119,   335,   368,   120,   369,
+     396,   307,   308,   312,   364,   400,   366,   144,    27,     3,
+       4,     5,     6,     7,     8,     9,   400,   276,   182,   154,
+      37,   183,   107,   286,    27,  -158,   287,   108,   331,    37,
+      27,    10,    11,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,   187,   188,   189,     2,    23,    47,   199,   296,    48,
+     301,   200,    31,   190,   314,    95,    28,    33,    48,     3,
+       4,     5,     6,     7,     8,     9,  -157,    29,   317,   332,
+     318,    64,    28,    65,   297,   319,   302,   320,    28,   191,
+     169,    10,    11,    29,    38,    39,    40,    41,   131,    29,
+      44,    45,    46,    38,    39,    40,    41,   306,    32,    64,
+     310,    38,    39,    40,    41,    34,   395,   397,    66,   321,
+      56,   322,    38,    39,    40,    41,    35,   170,    44,    45,
+      46,   408,   409,   202,   410,    57,   411,    72,    73,    74,
+      75,    76,    60,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,   323,    86,   324,   203,   204,   205,   206,   207,
+      62,   208,   209,   210,   211,   212,   213,   214,    69,    70,
+      97,    98,    72,    73,    74,    75,    76,    94,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,   100,    86,   102,
+      66,   110,   112,   113,   115,   121,   125,   126,   130,    38,
+      39,    40,    41,    72,    73,    74,    75,    76,   338,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,   136,    86,
+     117,    73,    74,    75,    76,   139,    77,    78,    79,    80,
+      81,    82,    83,    84,   118,   140,    86,    72,    73,    74,
+      75,    76,   146,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,   149,    86,   224,   225,    74,    75,    76,   152,
+      77,    78,    79,    80,    81,    82,    83,    84,   226,   155,
+      86,   117,    73,    74,    75,    76,   156,    77,    78,    79,
+      80,    81,    82,    83,    84,   280,   157,    86,   122,    73,
+     159,   160,   161,   162,    77,    78,    79,    80,    81,    82,
+      83,    84,   128,    73,    86,   163,   164,   165,    77,    78,
+      79,    80,    81,    82,    83,    84,   117,    73,    86,   168,
+     173,   176,    77,    78,    79,    80,    81,    82,    83,    84,
+     192,   177,    86,   193,   178,   195,   197,   194,   196,   198,
+     182,   220,   233,   169,   221,   223,   170,   237,   239,   248,
+     183,   250,   253,   254,   277,   260,   255,   257,   258,   278,
+     259,   283,   261,   262,   263,   264,   265,   266,   267,   289,
+     291,   292,   268,   295,   336,   340,   326,   249,   269,   270,
+     271,   275,   353,   358,   375,   272,  -155,   383,   384,   284,
+     288,   329,   370,   285,   293,   294,   327,   390,   328,   406,
+     330,   342,   405,   343,   344,   412,    26,   247,   243,   179,
+     346,   348,   325,   350,   339,   357,   371,   363,   392,     0,
+       0,     0,     0,   386,   388,   389,   391,    96,     0,   393,
+     398,     0,   415,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   147
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     148
 };
 
 static const yytype_int16 yycheck[] =
 {
-     101,    43,   190,    71,   181,   158,    71,   293,    50,    44,
-       5,    36,   336,    19,    36,    30,    21,    85,    43,     5,
-     344,    19,    90,    54,    66,   281,    19,    20,    59,   353,
-      23,   125,    30,    56,    19,    20,    59,    30,    23,    64,
-     364,    56,    64,   329,    86,   222,   130,   131,   116,    55,
-      19,    19,    20,   121,    96,    23,   342,    19,    19,   127,
-     384,   238,    97,   251,   252,   253,    61,    92,    53,    19,
-      56,   165,    65,    59,   330,   331,   362,    19,   402,   403,
-      65,   182,    19,    19,    20,    53,   170,    23,   172,    58,
-      19,   133,    54,   177,    19,    20,    57,    65,    23,   385,
-      19,   387,    19,    20,    54,   130,    23,    19,   296,    22,
-     287,    19,   265,   301,    19,    57,    13,    19,    19,    56,
-      19,    58,    58,     0,    14,    62,    63,    64,    57,    65,
-      30,    53,    29,   175,    30,    25,   178,    56,    35,    58,
-      65,    58,    55,    62,    63,    64,    58,     3,    65,    54,
-      62,    63,    64,     9,    53,   223,    56,   345,   223,   347,
-      56,   262,   263,   264,   341,     4,   343,    19,    24,    25,
-      26,    27,    28,    29,    53,    19,     9,   219,    22,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    13,    45,
-      46,    24,    25,    26,    27,    28,    29,    19,    20,    21,
-      21,    54,    54,    19,    29,    57,    59,    53,    30,    13,
-      35,    55,    45,    46,    58,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,   266,    29,   380,    19,    54,    21,
-      19,    35,    21,    59,    56,    53,    19,   391,    54,    19,
-      19,    57,    31,    32,    33,    34,    19,    19,    37,    38,
-      39,    31,    32,    33,    34,    53,    19,    56,    13,    57,
-      59,    40,    41,    42,    43,    44,    55,    46,    47,    48,
-      49,    50,    51,    52,    29,    55,   377,   378,    56,    56,
-      35,    59,    59,   261,    55,    19,   264,    21,    19,    55,
-      21,   392,   393,    19,   395,    21,   397,     5,     6,     7,
+     102,    44,   191,    72,   182,   159,    72,   294,    51,     5,
+      14,    37,   337,    19,    37,    21,     5,    86,    44,    19,
+     345,    45,    91,   282,    67,    19,    30,    57,    55,   354,
+      60,    19,    36,    60,    21,   131,   132,    19,    20,    65,
+     365,    23,    65,   330,    87,   223,    19,    20,   117,    31,
+      23,    19,    20,   122,    97,    23,   343,    19,    58,   128,
+     385,   239,    56,   252,   253,   254,    62,    93,    57,   126,
+      58,    60,   331,   332,    98,   171,   363,   173,   403,   404,
+      19,   183,   178,    19,    66,    19,    54,   384,    19,    20,
+      19,   134,    23,    66,    19,    55,    19,    59,    66,   386,
+      60,   388,    19,    20,    19,   131,    23,    19,   297,   166,
+     288,    31,   266,   302,    19,   412,    31,    15,    54,    58,
+      19,    20,    22,    54,    23,    59,    55,    19,    26,    63,
+      64,    65,    57,   176,    59,    66,   179,    57,    63,    64,
+      65,    19,    59,    19,    22,    57,     0,    59,     3,    66,
+      55,    63,    64,    65,     9,   224,    56,   346,   224,   348,
+      59,   263,   264,   265,   342,   381,   344,    66,    14,    24,
+      25,    26,    27,    28,    29,    30,   392,   220,    56,    55,
+      19,    59,    55,    57,    30,    57,    60,    60,    60,    19,
+      36,    46,    47,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    19,    20,    21,     9,    19,    55,    54,    31,    58,
+      31,    58,    54,    31,   267,    55,    14,    54,    58,    24,
+      25,    26,    27,    28,    29,    30,    57,    14,    19,    60,
+      21,    19,    30,    21,    57,    19,    57,    21,    36,    57,
+      19,    46,    47,    30,    32,    33,    34,    35,    19,    36,
+      38,    39,    40,    32,    33,    34,    35,   262,     4,    19,
+     265,    32,    33,    34,    35,    54,   378,   379,    56,    19,
+      21,    21,    32,    33,    34,    35,    54,    56,    38,    39,
+      40,   393,   394,    19,   396,    19,   398,     5,     6,     7,
        8,     9,    19,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    19,    21,    31,    32,    33,    34,    55,    58,
-      37,    38,    39,    55,    31,    32,    33,    34,    19,    37,
-      38,     5,     6,     7,     8,     9,    19,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    19,    21,    21,    19,
-      19,     5,    19,    19,    56,    61,    21,    31,    32,    33,
-      34,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    19,    21,     5,     6,
-       7,     8,     9,    19,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    21,    21,     5,     6,     7,     8,     9,
-      21,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      21,    21,     5,     6,     7,     8,     9,    19,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    60,    21,     5,
-       6,     7,     8,     9,    56,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    19,    21,     5,     6,    55,    55,
-      19,    19,    11,    12,    13,    14,    15,    16,    17,    18,
-       5,     6,    21,    55,     5,    19,    11,    12,    13,    14,
-      15,    16,    17,    18,     5,     6,    21,    56,    20,    19,
-      11,    12,    13,    14,    15,    16,    17,    18,    21,    19,
-      21,    57,    57,    21,    57,    21,    19,    55,    55,    55,
-      55,    19,    19,    19,    55,    58,    19,    57,    56,    56,
-      30,    57,    24,    57,    57,    19,    19,    19,    19,    58,
-      58,    58,    58,    58,    58,    19,    58,    24,    24,    58,
-     183,    58,    53,    58,    58,    24,    58,    56,    19,    19,
-      24,    56,    19,    30,    55,    59,    55,    57,    56,    56,
-      56,    56,    19,    53,    24,    19,    24,    56,    56,    24,
-      55,    53,    13,    56,    55,    55,   184,   180,    56,   273,
-      56,    56,   383,    56,    53,    48,    58,   137,   374,   284,
-      58,    57,    57,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      18,    19,    19,    21,    21,    41,    42,    43,    44,    45,
+      19,    47,    48,    49,    50,    51,    52,    53,    19,    56,
+      38,    39,     5,     6,     7,     8,     9,    56,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    56,    21,    59,
+      56,    19,    19,    19,    19,     5,    19,    62,    19,    32,
+      33,    34,    35,     5,     6,     7,     8,     9,    10,    11,
+      12,    13,    14,    15,    16,    17,    18,    19,    21,    21,
+       5,     6,     7,     8,     9,    19,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    19,    21,     5,     6,     7,
+       8,     9,    21,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    21,    21,     5,     6,     7,     8,     9,    21,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    57,
+      21,     5,     6,     7,     8,     9,    19,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,    56,    21,     5,     6,
+      61,    57,    56,    19,    11,    12,    13,    14,    15,    16,
+      17,    18,     5,     6,    21,    19,    19,    56,    11,    12,
+      13,    14,    15,    16,    17,    18,     5,     6,    21,     5,
+      19,    57,    11,    12,    13,    14,    15,    16,    17,    18,
+      20,    19,    21,    58,    19,    58,    58,    21,    21,    21,
+      56,    19,    19,    19,    56,    56,    56,    19,    56,    19,
+      59,    58,    57,    57,    19,    24,    31,    58,    58,    19,
+      58,    19,    59,    59,    59,    59,    59,    59,    59,    19,
+      19,    24,    59,    24,    19,    19,    24,   185,    59,    59,
+      59,    54,    24,    19,    19,    59,    57,    24,    19,    57,
+      56,    54,    31,    60,    58,    57,    57,    24,    57,    24,
+      57,    56,    58,    57,    56,    19,    14,   184,   181,   138,
+      57,    57,   274,    56,   285,    56,    54,    57,   375,    -1,
+      -1,    -1,    -1,    57,    57,    57,    54,    49,    -1,    59,
+      59,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103
+     104
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,     3,     9,    24,    25,    26,    27,    28,    29,    45,
-      46,    67,    68,    69,    70,    71,   111,   114,   116,    21,
-      19,    19,    19,     0,    68,    70,   111,   114,   116,    69,
-      53,     4,    53,    53,    53,    69,    19,    31,    32,    33,
-      34,    35,    36,    37,    38,    39,    54,    57,    73,    74,
-      75,    79,    80,    82,   102,    21,    19,   112,   113,    19,
-     117,    19,   115,    19,    21,    55,    75,   102,    19,    55,
-      89,     5,     6,     7,     8,     9,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    21,    75,    91,    92,    93,
-      94,    95,    89,    55,    54,    74,    37,    38,    91,    55,
-      72,    58,    54,    59,    54,    59,    54,    59,   102,    19,
-      91,    19,    19,    90,    19,    88,     5,    19,    93,    95,
-       5,     5,    93,    91,    19,    61,    96,     5,    93,    19,
-      19,    75,    97,    98,    99,    21,    91,    89,    19,    19,
-      19,    20,    23,    65,   118,    21,    54,   113,    21,    19,
-      54,    21,    19,    54,    56,    19,    55,    83,    60,    56,
-      55,    19,    19,    19,    55,     5,    96,     5,    19,    55,
-      75,    99,    19,    99,    91,    56,    19,    19,    97,    19,
-      22,    55,    58,    76,    77,    78,    19,    20,    21,    30,
-      56,    20,    57,    21,    57,    21,    57,    21,    53,    57,
-     101,    19,    40,    41,    42,    43,    44,    46,    47,    48,
-      49,    50,    51,    52,    84,    87,    19,    57,    90,    19,
-      55,    81,    55,     5,     6,    19,    91,   105,   106,   107,
-     108,    96,    19,   100,    99,    99,    19,    91,    55,    91,
-      19,    53,    78,   105,    53,   118,    77,    19,    76,    57,
-      30,    56,    56,    56,    30,    72,    57,    57,    57,    24,
-      58,    58,    58,    58,    58,    58,    58,    58,    58,    58,
-      58,    58,    56,    59,    53,    91,    19,    19,   105,    19,
-       5,    59,    19,    56,    59,    56,    59,    55,    19,   105,
-      19,    24,    57,    56,    24,    30,    56,    72,    72,    72,
-      30,    56,    19,    30,    85,    85,   118,   118,    19,    85,
-      86,   118,    90,    91,    19,    21,    19,    21,    19,    21,
-      19,    21,    19,    21,    87,    24,    56,    56,    53,    56,
-      59,    59,   106,    22,    55,    19,   103,    10,   108,    19,
-     105,    55,    56,    55,   103,    56,    72,    56,    72,    55,
-      19,    57,    24,   103,   106,   106,    55,    19,    53,   104,
-     118,   101,    56,   105,   103,   105,   101,    72,    72,    30,
-      53,    19,    57,   101,    19,    19,    58,    62,    63,    64,
-     109,   110,    24,    19,   103,    56,   101,    56,    56,    24,
-      53,   109,    58,    58,   118,    58,   118,    58,    56,   110,
-     104,   101,   103,   103,    57,    24,    56,   118,   118,   118,
-     118,   101,   101,    57
+       0,     3,     9,    24,    25,    26,    27,    28,    29,    30,
+      46,    47,    68,    69,    70,    71,    72,   112,   115,   117,
+      21,    19,    19,    19,     0,    69,    71,   112,   115,   117,
+      70,    54,     4,    54,    54,    54,    70,    19,    32,    33,
+      34,    35,    36,    37,    38,    39,    40,    55,    58,    74,
+      75,    76,    80,    81,    83,   103,    21,    19,   113,   114,
+      19,   118,    19,   116,    19,    21,    56,    76,   103,    19,
+      56,    90,     5,     6,     7,     8,     9,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,    21,    76,    92,    93,
+      94,    95,    96,    90,    56,    55,    75,    38,    39,    92,
+      56,    73,    59,    55,    60,    55,    60,    55,    60,   103,
+      19,    92,    19,    19,    91,    19,    89,     5,    19,    94,
+      96,     5,     5,    94,    92,    19,    62,    97,     5,    94,
+      19,    19,    76,    98,    99,   100,    21,    92,    90,    19,
+      19,    19,    20,    23,    66,   119,    21,    55,   114,    21,
+      19,    55,    21,    19,    55,    57,    19,    56,    84,    61,
+      57,    56,    19,    19,    19,    56,     5,    97,     5,    19,
+      56,    76,   100,    19,   100,    92,    57,    19,    19,    98,
+      19,    22,    56,    59,    77,    78,    79,    19,    20,    21,
+      31,    57,    20,    58,    21,    58,    21,    58,    21,    54,
+      58,   102,    19,    41,    42,    43,    44,    45,    47,    48,
+      49,    50,    51,    52,    53,    85,    88,    19,    58,    91,
+      19,    56,    82,    56,     5,     6,    19,    92,   106,   107,
+     108,   109,    97,    19,   101,   100,   100,    19,    92,    56,
+      92,    19,    54,    79,   106,    54,   119,    78,    19,    77,
+      58,    31,    57,    57,    57,    31,    73,    58,    58,    58,
+      24,    59,    59,    59,    59,    59,    59,    59,    59,    59,
+      59,    59,    59,    57,    60,    54,    92,    19,    19,   106,
+      19,     5,    60,    19,    57,    60,    57,    60,    56,    19,
+     106,    19,    24,    58,    57,    24,    31,    57,    73,    73,
+      73,    31,    57,    19,    31,    86,    86,   119,   119,    19,
+      86,    87,   119,    91,    92,    19,    21,    19,    21,    19,
+      21,    19,    21,    19,    21,    88,    24,    57,    57,    54,
+      57,    60,    60,   107,    22,    56,    19,   104,    10,   109,
+      19,   106,    56,    57,    56,   104,    57,    73,    57,    73,
+      56,    19,    58,    24,   104,   107,   107,    56,    19,    54,
+     105,   119,   102,    57,   106,   104,   106,   102,    73,    73,
+      31,    54,    19,    58,   102,    19,    19,    59,    63,    64,
+      65,   110,   111,    24,    19,   104,    57,   102,    57,    57,
+      24,    54,   110,    59,    59,   119,    59,   119,    59,    57,
+     111,   105,   102,   104,   104,    58,    24,    57,   119,   119,
+     119,   119,    19,   102,   102,    58,   105
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -2474,27 +2491,27 @@ yyreduce:
   switch (yyn)
     {
         case 2:
-#line 689 "parse.y"
+#line 699 "parse.y"
     { ; }
     break;
 
   case 3:
-#line 690 "parse.y"
+#line 700 "parse.y"
     { ; }
     break;
 
   case 4:
-#line 691 "parse.y"
+#line 701 "parse.y"
     { ; }
     break;
 
   case 5:
-#line 692 "parse.y"
+#line 702 "parse.y"
     { ; }
     break;
 
   case 6:
-#line 695 "parse.y"
+#line 705 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
                                               "cctype", C_CCODE,
@@ -2507,10 +2524,10 @@ yyreduce:
     break;
 
   case 7:
-#line 704 "parse.y"
+#line 714 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
-                                              "cctype", H_CCODE,
+                                              "cctype", AD_CCODE,
                                               "cbuf:steal", ((yyvsp[(1) - (1)].cbuf))->str,
                                               "line_no", ccode_line,
                                               NULL);
@@ -2520,10 +2537,10 @@ yyreduce:
     break;
 
   case 8:
-#line 713 "parse.y"
+#line 723 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
-                                              "cctype", HT_CCODE,
+                                              "cctype", H_CCODE,
                                               "cbuf:steal", ((yyvsp[(1) - (1)].cbuf))->str,
                                               "line_no", ccode_line,
                                               NULL);
@@ -2533,10 +2550,10 @@ yyreduce:
     break;
 
   case 9:
-#line 722 "parse.y"
+#line 732 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
-                                              "cctype", PH_CCODE,
+                                              "cctype", HT_CCODE,
                                               "cbuf:steal", ((yyvsp[(1) - (1)].cbuf))->str,
                                               "line_no", ccode_line,
                                               NULL);
@@ -2546,10 +2563,10 @@ yyreduce:
     break;
 
   case 10:
-#line 731 "parse.y"
+#line 741 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
-                                              "cctype", A_CCODE,
+                                              "cctype", PH_CCODE,
                                               "cbuf:steal", ((yyvsp[(1) - (1)].cbuf))->str,
                                               "line_no", ccode_line,
                                               NULL);
@@ -2559,10 +2576,10 @@ yyreduce:
     break;
 
   case 11:
-#line 740 "parse.y"
+#line 750 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
-                                              "cctype", AT_CCODE,
+                                              "cctype", A_CCODE,
                                               "cbuf:steal", ((yyvsp[(1) - (1)].cbuf))->str,
                                               "line_no", ccode_line,
                                               NULL);
@@ -2572,47 +2589,60 @@ yyreduce:
     break;
 
   case 12:
-#line 751 "parse.y"
-    { ; }
+#line 759 "parse.y"
+    {
+                       Node *node = node_new (CCODE_NODE,
+                                              "cctype", AT_CCODE,
+                                              "cbuf:steal", ((yyvsp[(1) - (1)].cbuf))->str,
+                                              "line_no", ccode_line,
+                                              NULL);
+                       nodes = g_list_append(nodes,node);
+                       g_string_free((yyvsp[(1) - (1)].cbuf),FALSE);
+                                       }
     break;
 
   case 13:
-#line 752 "parse.y"
+#line 770 "parse.y"
     { ; }
     break;
 
   case 14:
-#line 753 "parse.y"
+#line 771 "parse.y"
     { ; }
     break;
 
   case 15:
-#line 754 "parse.y"
+#line 772 "parse.y"
     { ; }
     break;
 
   case 16:
-#line 755 "parse.y"
+#line 773 "parse.y"
     { ; }
     break;
 
   case 17:
-#line 756 "parse.y"
+#line 774 "parse.y"
     { ; }
     break;
 
   case 18:
-#line 757 "parse.y"
+#line 775 "parse.y"
     { ; }
     break;
 
   case 19:
-#line 758 "parse.y"
+#line 776 "parse.y"
     { ; }
     break;
 
   case 20:
-#line 761 "parse.y"
+#line 777 "parse.y"
+    { ; }
+    break;
+
+  case 21:
+#line 780 "parse.y"
     {
                        ((Class *)class)->nodes = class_nodes;
                        class_nodes = NULL;
@@ -2620,8 +2650,8 @@ yyreduce:
                                                }
     break;
 
-  case 21:
-#line 766 "parse.y"
+  case 22:
+#line 785 "parse.y"
     {
                        ((Class *)class)->nodes = NULL;
                        class_nodes = NULL;
@@ -2629,8 +2659,8 @@ yyreduce:
                                                }
     break;
 
-  case 22:
-#line 773 "parse.y"
+  case 23:
+#line 792 "parse.y"
     {
                        class = node_new (CLASS_NODE,
                                          "otype:steal", (yyvsp[(2) - (5)].id),
@@ -2648,8 +2678,8 @@ yyreduce:
                                                }
     break;
 
-  case 24:
-#line 791 "parse.y"
+  case 25:
+#line 810 "parse.y"
     {
                        if(strcmp((yyvsp[(2) - (4)].id),"abstract") == 0) {
                                abstract = TRUE;
@@ -2660,8 +2690,8 @@ yyreduce:
                }
     break;
 
-  case 25:
-#line 799 "parse.y"
+  case 26:
+#line 818 "parse.y"
     {
                        if(strcmp((yyvsp[(2) - (5)].id),"chunks") == 0) {
                                g_free (chunk_size);
@@ -2676,8 +2706,8 @@ yyreduce:
                }
     break;
 
-  case 26:
-#line 811 "parse.y"
+  case 27:
+#line 830 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (5)].id), "interface") == 0) {
                                interfaces = g_list_append (interfaces,
@@ -2689,8 +2719,8 @@ yyreduce:
                }
     break;
 
-  case 27:
-#line 820 "parse.y"
+  case 28:
+#line 839 "parse.y"
     {
                        if(strcmp((yyvsp[(2) - (5)].id),"chunks") == 0) {
                                g_free (chunk_size);
@@ -2705,8 +2735,8 @@ yyreduce:
                }
     break;
 
-  case 28:
-#line 832 "parse.y"
+  case 29:
+#line 851 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (6)].id), "GladeXML") == 0) {
                                glade_xml = TRUE;
@@ -2718,8 +2748,8 @@ yyreduce:
                }
     break;
 
-  case 29:
-#line 841 "parse.y"
+  case 30:
+#line 860 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (7)].id), "GladeXML") == 0) {
                                glade_xml = TRUE;
@@ -2731,8 +2761,8 @@ yyreduce:
                }
     break;
 
-  case 30:
-#line 850 "parse.y"
+  case 31:
+#line 869 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (6)].id), "GladeXML") == 0) {
                                glade_xml = TRUE;
@@ -2744,8 +2774,8 @@ yyreduce:
                }
     break;
 
-  case 31:
-#line 859 "parse.y"
+  case 32:
+#line 878 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (7)].id), "GladeXML") == 0) {
                                glade_xml = TRUE;
@@ -2757,23 +2787,23 @@ yyreduce:
                }
     break;
 
-  case 32:
-#line 870 "parse.y"
-    { ; }
-    break;
-
   case 33:
-#line 871 "parse.y"
+#line 889 "parse.y"
     { ; }
     break;
 
   case 34:
-#line 874 "parse.y"
+#line 890 "parse.y"
     { ; }
     break;
 
   case 35:
-#line 875 "parse.y"
+#line 893 "parse.y"
+    { ; }
+    break;
+
+  case 36:
+#line 894 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (2)].id), "BonoboObject") != 0) {
                                g_free ((yyvsp[(1) - (2)].id));
@@ -2785,8 +2815,8 @@ yyreduce:
                                                }
     break;
 
-  case 36:
-#line 884 "parse.y"
+  case 37:
+#line 903 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (3)].id), "interface") != 0) {
                                g_free ((yyvsp[(1) - (3)].id));
@@ -2801,48 +2831,48 @@ yyreduce:
                                                }
     break;
 
-  case 37:
-#line 896 "parse.y"
-    { ; }
-    break;
-
   case 38:
-#line 897 "parse.y"
+#line 915 "parse.y"
     { ; }
     break;
 
   case 39:
-#line 898 "parse.y"
+#line 916 "parse.y"
     { ; }
     break;
 
   case 40:
-#line 899 "parse.y"
+#line 917 "parse.y"
     { ; }
     break;
 
   case 41:
-#line 902 "parse.y"
-    { the_scope = PUBLIC_SCOPE; }
+#line 918 "parse.y"
+    { ; }
     break;
 
   case 42:
-#line 903 "parse.y"
-    { the_scope = PRIVATE_SCOPE; }
+#line 921 "parse.y"
+    { the_scope = PUBLIC_SCOPE; }
     break;
 
   case 43:
-#line 904 "parse.y"
-    { the_scope = PROTECTED_SCOPE; }
+#line 922 "parse.y"
+    { the_scope = PRIVATE_SCOPE; }
     break;
 
   case 44:
-#line 905 "parse.y"
-    { the_scope = CLASS_SCOPE; }
+#line 923 "parse.y"
+    { the_scope = PROTECTED_SCOPE; }
     break;
 
   case 45:
-#line 908 "parse.y"
+#line 924 "parse.y"
+    { the_scope = CLASS_SCOPE; }
+    break;
+
+  case 46:
+#line 927 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (2)].id), "destroywith") == 0) {
                                g_free ((yyvsp[(1) - (2)].id));
@@ -2865,8 +2895,8 @@ yyreduce:
                                }
     break;
 
-  case 46:
-#line 928 "parse.y"
+  case 47:
+#line 947 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (3)].id), "destroy") == 0) {
                                g_free((yyvsp[(1) - (3)].id));
@@ -2891,16 +2921,16 @@ yyreduce:
                                        }
     break;
 
-  case 47:
-#line 952 "parse.y"
+  case 48:
+#line 971 "parse.y"
     {
                        initializer = (yyvsp[(2) - (2)].id);
                        initializer_line = ccode_line;
                                }
     break;
 
-  case 48:
-#line 956 "parse.y"
+  case 49:
+#line 975 "parse.y"
     {
                        initializer = ((yyvsp[(3) - (3)].cbuf))->str;
                        initializer_line = ccode_line;
@@ -2908,28 +2938,28 @@ yyreduce:
                                }
     break;
 
-  case 49:
-#line 964 "parse.y"
+  case 50:
+#line 983 "parse.y"
     { ; }
     break;
 
-  case 50:
-#line 965 "parse.y"
+  case 51:
+#line 984 "parse.y"
     { ; }
     break;
 
-  case 51:
-#line 966 "parse.y"
+  case 52:
+#line 985 "parse.y"
     { destructor = NULL; }
     break;
 
-  case 52:
-#line 967 "parse.y"
+  case 53:
+#line 986 "parse.y"
     { initializer = NULL; }
     break;
 
-  case 53:
-#line 968 "parse.y"
+  case 54:
+#line 987 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (1)].id), "GladeXML") == 0) {
                                glade_widget = TRUE;
@@ -2940,30 +2970,30 @@ yyreduce:
                                        }
     break;
 
-  case 54:
-#line 976 "parse.y"
+  case 55:
+#line 995 "parse.y"
     {
                        destructor = NULL;
                        initializer = NULL;
                                        }
     break;
 
-  case 55:
-#line 982 "parse.y"
+  case 56:
+#line 1001 "parse.y"
     {
                        push_variable((yyvsp[(3) - (5)].id), the_scope,(yyvsp[(1) - (5)].line), NULL);
                                                }
     break;
 
-  case 56:
-#line 985 "parse.y"
+  case 57:
+#line 1004 "parse.y"
     {
                        push_variable((yyvsp[(3) - (6)].id), the_scope, (yyvsp[(1) - (6)].line), (yyvsp[(4) - (6)].id));
                                                }
     break;
 
-  case 57:
-#line 990 "parse.y"
+  case 58:
+#line 1009 "parse.y"
     {
                        Node *node = NULL;
                        if(strcmp((yyvsp[(6) - (12)].id),"get")==0 &&
@@ -3034,8 +3064,8 @@ yyreduce:
                                                }
     break;
 
-  case 58:
-#line 1058 "parse.y"
+  case 59:
+#line 1077 "parse.y"
     {
                        Node *node = NULL;
                        if(strcmp((yyvsp[(6) - (9)].id), "get") == 0) {
@@ -3092,8 +3122,8 @@ yyreduce:
                                                }
     break;
 
-  case 59:
-#line 1112 "parse.y"
+  case 60:
+#line 1131 "parse.y"
     {
                        Node *node;
                        char *get, *set = NULL;
@@ -3183,8 +3213,8 @@ yyreduce:
                                                }
     break;
 
-  case 60:
-#line 1201 "parse.y"
+  case 61:
+#line 1220 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (3)].id), "export")!=0) {
                                g_free ((yyvsp[(2) - (3)].id)); 
@@ -3195,15 +3225,15 @@ yyreduce:
                                                }
     break;
 
-  case 61:
-#line 1209 "parse.y"
+  case 62:
+#line 1228 "parse.y"
     {
                        (yyval.id) = NULL;
                                                }
     break;
 
-  case 62:
-#line 1214 "parse.y"
+  case 63:
+#line 1233 "parse.y"
     {
                        ensure_property ();
                        node_set ((Node *)property,
@@ -3254,8 +3284,8 @@ yyreduce:
                }
     break;
 
-  case 63:
-#line 1262 "parse.y"
+  case 64:
+#line 1281 "parse.y"
     {
                        ensure_property ();
                        node_set ((Node *)property,
@@ -3294,8 +3324,8 @@ yyreduce:
                }
     break;
 
-  case 64:
-#line 1298 "parse.y"
+  case 65:
+#line 1317 "parse.y"
     {
                        ensure_property ();
                        node_set ((Node *)property,
@@ -3312,33 +3342,33 @@ yyreduce:
                }
     break;
 
-  case 65:
-#line 1314 "parse.y"
-    { ; }
-    break;
-
   case 66:
-#line 1315 "parse.y"
+#line 1333 "parse.y"
     { ; }
     break;
 
   case 67:
-#line 1318 "parse.y"
+#line 1334 "parse.y"
     { ; }
     break;
 
   case 68:
-#line 1319 "parse.y"
+#line 1337 "parse.y"
     { ; }
     break;
 
   case 69:
-#line 1322 "parse.y"
-    { (yyval.id) = (yyvsp[(1) - (1)].id); }
+#line 1338 "parse.y"
+    { ; }
     break;
 
   case 70:
-#line 1323 "parse.y"
+#line 1341 "parse.y"
+    { (yyval.id) = (yyvsp[(1) - (1)].id); }
+    break;
+
+  case 71:
+#line 1342 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (4)].id), "_") != 0) {
                                g_free ((yyvsp[(1) - (4)].id));
@@ -3351,99 +3381,89 @@ yyreduce:
                }
     break;
 
-  case 71:
-#line 1335 "parse.y"
-    { (yyval.id) = (yyvsp[(1) - (1)].id); }
-    break;
-
   case 72:
-#line 1336 "parse.y"
+#line 1354 "parse.y"
     { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
   case 73:
-#line 1339 "parse.y"
-    {
-               ensure_property ();
-               node_set ((Node *)property,
-                         "nick:steal", (yyvsp[(3) - (3)].id),
-                         NULL);
-                 }
+#line 1355 "parse.y"
+    { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
   case 74:
-#line 1345 "parse.y"
+#line 1358 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
-                         "blurb:steal", (yyvsp[(3) - (3)].id),
+                         "nick:steal", (yyvsp[(3) - (3)].id),
                          NULL);
                  }
     break;
 
   case 75:
-#line 1351 "parse.y"
+#line 1364 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
-                         "maximum:steal", (yyvsp[(3) - (3)].id),
+                         "blurb:steal", (yyvsp[(3) - (3)].id),
                          NULL);
                  }
     break;
 
   case 76:
-#line 1357 "parse.y"
+#line 1370 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
-                         "minimum:steal", (yyvsp[(3) - (3)].id),
+                         "maximum:steal", (yyvsp[(3) - (3)].id),
                          NULL);
                  }
     break;
 
   case 77:
-#line 1363 "parse.y"
+#line 1376 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
-                         "default_value:steal", (yyvsp[(3) - (3)].id),
+                         "minimum:steal", (yyvsp[(3) - (3)].id),
                          NULL);
                  }
     break;
 
   case 78:
-#line 1369 "parse.y"
+#line 1382 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
-                         "flags:steal", (yyvsp[(3) - (3)].list),
+                         "default_value:steal", (yyvsp[(3) - (3)].id),
                          NULL);
                  }
     break;
 
   case 79:
-#line 1375 "parse.y"
+#line 1388 "parse.y"
     {
-               Type *type = pop_type ();
                ensure_property ();
                node_set ((Node *)property,
-                         "ptype:steal", type,
+                         "flags:steal", (yyvsp[(3) - (3)].list),
                          NULL);
                  }
     break;
 
   case 80:
-#line 1382 "parse.y"
+#line 1394 "parse.y"
     {
+               Type *type = pop_type ();
                ensure_property ();
                node_set ((Node *)property,
-                         "extra_gtktype:steal", (yyvsp[(3) - (3)].id),
+                         "ptype:steal", type,
                          NULL);
                  }
     break;
 
   case 81:
-#line 1388 "parse.y"
+#line 1401 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3453,7 +3473,7 @@ yyreduce:
     break;
 
   case 82:
-#line 1394 "parse.y"
+#line 1407 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3463,7 +3483,7 @@ yyreduce:
     break;
 
   case 83:
-#line 1400 "parse.y"
+#line 1413 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3473,7 +3493,7 @@ yyreduce:
     break;
 
   case 84:
-#line 1406 "parse.y"
+#line 1419 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3483,7 +3503,7 @@ yyreduce:
     break;
 
   case 85:
-#line 1412 "parse.y"
+#line 1425 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3493,7 +3513,7 @@ yyreduce:
     break;
 
   case 86:
-#line 1418 "parse.y"
+#line 1431 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3503,7 +3523,7 @@ yyreduce:
     break;
 
   case 87:
-#line 1424 "parse.y"
+#line 1437 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3513,7 +3533,7 @@ yyreduce:
     break;
 
   case 88:
-#line 1430 "parse.y"
+#line 1443 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3523,7 +3543,7 @@ yyreduce:
     break;
 
   case 89:
-#line 1436 "parse.y"
+#line 1449 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3533,7 +3553,17 @@ yyreduce:
     break;
 
   case 90:
-#line 1442 "parse.y"
+#line 1455 "parse.y"
+    {
+               ensure_property ();
+               node_set ((Node *)property,
+                         "extra_gtktype:steal", (yyvsp[(3) - (3)].id),
+                         NULL);
+                 }
+    break;
+
+  case 91:
+#line 1461 "parse.y"
     {
                ensure_property ();
                if (strcmp ((yyvsp[(1) - (1)].id), "override") == 0) {
@@ -3559,8 +3589,8 @@ yyreduce:
                  }
     break;
 
-  case 91:
-#line 1467 "parse.y"
+  case 92:
+#line 1486 "parse.y"
     {
                        if(strcmp((yyvsp[(3) - (5)].id),"type")!=0) {
                                g_free((yyvsp[(1) - (5)].id));
@@ -3572,40 +3602,40 @@ yyreduce:
                                                }
     break;
 
-  case 92:
-#line 1476 "parse.y"
+  case 93:
+#line 1495 "parse.y"
     {
                        (yyval.id) = debool ((yyvsp[(1) - (1)].id));
                        typestack = g_list_prepend(typestack,NULL);
                                                }
     break;
 
-  case 93:
-#line 1482 "parse.y"
+  case 94:
+#line 1501 "parse.y"
     { (yyval.list) = (yyvsp[(2) - (3)].list); }
     break;
 
-  case 94:
-#line 1483 "parse.y"
+  case 95:
+#line 1502 "parse.y"
     { (yyval.list) = NULL; }
     break;
 
-  case 95:
-#line 1486 "parse.y"
+  case 96:
+#line 1505 "parse.y"
     {
                        (yyval.list) = g_list_append((yyvsp[(3) - (3)].list),(yyvsp[(1) - (3)].id));
                                                }
     break;
 
-  case 96:
-#line 1489 "parse.y"
+  case 97:
+#line 1508 "parse.y"
     {
                        (yyval.list) = g_list_append(NULL,(yyvsp[(1) - (1)].id));
                                                }
     break;
 
-  case 97:
-#line 1495 "parse.y"
+  case 98:
+#line 1514 "parse.y"
     {
                        Node *node = node_new (TYPE_NODE, 
                                               "name:steal", (yyvsp[(1) - (2)].id),
@@ -3615,8 +3645,8 @@ yyreduce:
                                                        }
     break;
 
-  case 98:
-#line 1502 "parse.y"
+  case 99:
+#line 1521 "parse.y"
     {
                        Node *node = node_new (TYPE_NODE, 
                                               "name:steal", (yyvsp[(1) - (1)].id),
@@ -3625,46 +3655,46 @@ yyreduce:
                                                        }
     break;
 
-  case 99:
-#line 1511 "parse.y"
+  case 100:
+#line 1530 "parse.y"
     {
                        (yyval.id) = (yyvsp[(1) - (1)].id);
                                                        }
     break;
 
-  case 100:
-#line 1514 "parse.y"
+  case 101:
+#line 1533 "parse.y"
     {
                        (yyval.id) = (yyvsp[(1) - (1)].id);
                                                        }
     break;
 
-  case 101:
-#line 1517 "parse.y"
+  case 102:
+#line 1536 "parse.y"
     {
                        (yyval.id) = g_strconcat("const ", (yyvsp[(2) - (2)].id), NULL);
                        g_free((yyvsp[(2) - (2)].id));
                                                        }
     break;
 
-  case 102:
-#line 1521 "parse.y"
+  case 103:
+#line 1540 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " const", NULL);
                        g_free((yyvsp[(1) - (2)].id));
                                                        }
     break;
 
-  case 103:
-#line 1525 "parse.y"
+  case 104:
+#line 1544 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " ", (yyvsp[(2) - (2)].id), NULL);
                        g_free((yyvsp[(2) - (2)].id));
                                                        }
     break;
 
-  case 104:
-#line 1529 "parse.y"
+  case 105:
+#line 1548 "parse.y"
     {
                        (yyval.id) = g_strconcat("const ", (yyvsp[(2) - (3)].id), " ",
                                             (yyvsp[(3) - (3)].id), NULL);
@@ -3672,8 +3702,8 @@ yyreduce:
                                                        }
     break;
 
-  case 105:
-#line 1534 "parse.y"
+  case 106:
+#line 1553 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (3)].id), " ",
                                             (yyvsp[(2) - (3)].id), " const", NULL);
@@ -3681,16 +3711,16 @@ yyreduce:
                                                        }
     break;
 
-  case 106:
-#line 1542 "parse.y"
+  case 107:
+#line 1561 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " ", (yyvsp[(2) - (2)].id), NULL);
                        g_free((yyvsp[(2) - (2)].id));
                                                        }
     break;
 
-  case 107:
-#line 1546 "parse.y"
+  case 108:
+#line 1565 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " ", (yyvsp[(2) - (2)].id), NULL);
                        g_free((yyvsp[(1) - (2)].id));
@@ -3698,131 +3728,131 @@ yyreduce:
                                                        }
     break;
 
-  case 108:
-#line 1551 "parse.y"
+  case 109:
+#line 1570 "parse.y"
     {
                        (yyval.id) = g_strconcat("const ", (yyvsp[(2) - (2)].id), NULL);
                        g_free((yyvsp[(2) - (2)].id));
                                                        }
     break;
 
-  case 109:
-#line 1555 "parse.y"
+  case 110:
+#line 1574 "parse.y"
     {
                        (yyval.id) = (yyvsp[(1) - (1)].id);
                                                        }
     break;
 
-  case 110:
-#line 1558 "parse.y"
+  case 111:
+#line 1577 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " const", NULL);
                        g_free((yyvsp[(1) - (2)].id));
                                                        }
     break;
 
-  case 111:
-#line 1562 "parse.y"
+  case 112:
+#line 1581 "parse.y"
     {
                        (yyval.id) = g_strdup((yyvsp[(1) - (1)].id));
                                                        }
     break;
 
-  case 112:
-#line 1565 "parse.y"
+  case 113:
+#line 1584 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " const", NULL);
                                                        }
     break;
 
-  case 113:
-#line 1570 "parse.y"
+  case 114:
+#line 1589 "parse.y"
     { (yyval.id) = "void"; }
     break;
 
-  case 114:
-#line 1571 "parse.y"
+  case 115:
+#line 1590 "parse.y"
     { (yyval.id) = "char"; }
     break;
 
-  case 115:
-#line 1572 "parse.y"
+  case 116:
+#line 1591 "parse.y"
     { (yyval.id) = "short"; }
     break;
 
-  case 116:
-#line 1573 "parse.y"
+  case 117:
+#line 1592 "parse.y"
     { (yyval.id) = "int"; }
     break;
 
-  case 117:
-#line 1574 "parse.y"
+  case 118:
+#line 1593 "parse.y"
     { (yyval.id) = "long"; }
     break;
 
-  case 118:
-#line 1575 "parse.y"
+  case 119:
+#line 1594 "parse.y"
     { (yyval.id) = "float"; }
     break;
 
-  case 119:
-#line 1576 "parse.y"
+  case 120:
+#line 1595 "parse.y"
     { (yyval.id) = "double"; }
     break;
 
-  case 120:
-#line 1577 "parse.y"
+  case 121:
+#line 1596 "parse.y"
     { (yyval.id) = "signed"; }
     break;
 
-  case 121:
-#line 1578 "parse.y"
+  case 122:
+#line 1597 "parse.y"
     { (yyval.id) = "unsigned"; }
     break;
 
-  case 122:
-#line 1581 "parse.y"
+  case 123:
+#line 1600 "parse.y"
     { (yyval.id) = "struct"; }
     break;
 
-  case 123:
-#line 1582 "parse.y"
+  case 124:
+#line 1601 "parse.y"
     { (yyval.id) = "union"; }
     break;
 
-  case 124:
-#line 1583 "parse.y"
+  case 125:
+#line 1602 "parse.y"
     { (yyval.id) = "enum"; }
     break;
 
-  case 125:
-#line 1586 "parse.y"
+  case 126:
+#line 1605 "parse.y"
     { (yyval.id) = g_strdup("*"); }
     break;
 
-  case 126:
-#line 1587 "parse.y"
+  case 127:
+#line 1606 "parse.y"
     { (yyval.id) = g_strdup("* const"); }
     break;
 
-  case 127:
-#line 1588 "parse.y"
+  case 128:
+#line 1607 "parse.y"
     {
                                (yyval.id) = g_strconcat("*", (yyvsp[(2) - (2)].id), NULL);
                                g_free((yyvsp[(2) - (2)].id));
                                        }
     break;
 
-  case 128:
-#line 1592 "parse.y"
+  case 129:
+#line 1611 "parse.y"
     {
                                (yyval.id) = g_strconcat("* const", (yyvsp[(3) - (3)].id), NULL);
                                g_free((yyvsp[(3) - (3)].id));
                                        }
     break;
 
-  case 129:
-#line 1599 "parse.y"
+  case 130:
+#line 1618 "parse.y"
     {
                        if(strcmp((yyvsp[(1) - (2)].id), "first")==0)
                                (yyval.sigtype) = SIGNAL_FIRST_METHOD;
@@ -3837,15 +3867,15 @@ yyreduce:
                                        }
     break;
 
-  case 130:
-#line 1611 "parse.y"
+  case 131:
+#line 1630 "parse.y"
     {
                        (yyval.sigtype) = SIGNAL_LAST_METHOD;
                                        }
     break;
 
-  case 131:
-#line 1617 "parse.y"
+  case 132:
+#line 1636 "parse.y"
     {
                        if(strcmp((yyvsp[(2) - (3)].id),"first")==0)
                                (yyval.sigtype) = SIGNAL_FIRST_METHOD;
@@ -3860,8 +3890,8 @@ yyreduce:
                                        }
     break;
 
-  case 132:
-#line 1629 "parse.y"
+  case 133:
+#line 1648 "parse.y"
     {
                        if(strcmp((yyvsp[(1) - (3)].id),"first")==0)
                                (yyval.sigtype) = SIGNAL_FIRST_METHOD;
@@ -3876,54 +3906,54 @@ yyreduce:
                                        }
     break;
 
-  case 133:
-#line 1641 "parse.y"
+  case 134:
+#line 1660 "parse.y"
     {
                        (yyval.sigtype) = SIGNAL_LAST_METHOD;
                                        }
     break;
 
-  case 134:
-#line 1644 "parse.y"
+  case 135:
+#line 1663 "parse.y"
     {
                        /* the_scope was default thus public */
                        the_scope = PUBLIC_SCOPE;
                                        }
     break;
 
-  case 135:
-#line 1650 "parse.y"
+  case 136:
+#line 1669 "parse.y"
     {
                        gtktypes = g_list_prepend(gtktypes, debool ((yyvsp[(1) - (4)].id)));
                                                }
     break;
 
-  case 136:
-#line 1655 "parse.y"
+  case 137:
+#line 1674 "parse.y"
     {
                        gtktypes = g_list_append(gtktypes, debool ((yyvsp[(3) - (3)].id)));
                                                }
     break;
 
-  case 137:
-#line 1658 "parse.y"
+  case 138:
+#line 1677 "parse.y"
     { 
                        gtktypes = g_list_append(gtktypes, debool ((yyvsp[(1) - (1)].id)));
                                                        }
     break;
 
-  case 138:
-#line 1663 "parse.y"
+  case 139:
+#line 1682 "parse.y"
     { (yyval.cbuf) = (yyvsp[(2) - (2)].cbuf); }
     break;
 
-  case 139:
-#line 1664 "parse.y"
+  case 140:
+#line 1683 "parse.y"
     { (yyval.cbuf) = NULL; }
     break;
 
-  case 140:
-#line 1668 "parse.y"
+  case 141:
+#line 1687 "parse.y"
     {
                        if(!has_self) {
                                yyerror(_("signal without 'self' as "
@@ -3936,14 +3966,21 @@ yyreduce:
                                free_all_global_state();
                                YYERROR;
                        }
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with signal methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(the_scope, (yyvsp[(3) - (10)].sigtype),NULL,
                                      (yyvsp[(5) - (10)].id), (yyvsp[(10) - (10)].cbuf),(yyvsp[(1) - (10)].line),
                                      ccode_line, vararg, (yyvsp[(2) - (10)].list));
                                                                        }
     break;
 
-  case 141:
-#line 1684 "parse.y"
+  case 142:
+#line 1710 "parse.y"
     {
                        if(!has_self) {
                                yyerror(_("signal without 'self' as "
@@ -3956,14 +3993,21 @@ yyreduce:
                                free_all_global_state();
                                YYERROR;
                        }
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with signal methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(the_scope, (yyvsp[(4) - (11)].sigtype), NULL,
                                      (yyvsp[(6) - (11)].id), (yyvsp[(11) - (11)].cbuf), (yyvsp[(2) - (11)].line),
                                      ccode_line, vararg, (yyvsp[(3) - (11)].list));
                                                                        }
     break;
 
-  case 142:
-#line 1700 "parse.y"
+  case 143:
+#line 1733 "parse.y"
     {
                        if(!has_self) {
                                yyerror(_("virtual method without 'self' as "
@@ -3976,14 +4020,21 @@ yyreduce:
                                free_all_global_state();
                                YYERROR;
                        }
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with virtual methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(the_scope, VIRTUAL_METHOD, NULL, (yyvsp[(4) - (9)].id),
                                      (yyvsp[(9) - (9)].cbuf), (yyvsp[(1) - (9)].line),
                                      ccode_line, vararg, NULL);
                                                                        }
     break;
 
-  case 143:
-#line 1716 "parse.y"
+  case 144:
+#line 1756 "parse.y"
     {
                        if(!has_self) {
                                yyerror(_("virtual method without 'self' as "
@@ -3996,30 +4047,51 @@ yyreduce:
                                free_all_global_state();
                                YYERROR;
                        }
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with virtual methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(the_scope, VIRTUAL_METHOD, NULL, (yyvsp[(4) - (9)].id),
                                      (yyvsp[(9) - (9)].cbuf), (yyvsp[(2) - (9)].line),
                                      ccode_line, vararg, NULL);
                                                                        }
     break;
 
-  case 144:
-#line 1732 "parse.y"
+  case 145:
+#line 1779 "parse.y"
     {
                        if(!has_self) {
-                               yyerror(_("virtual method without 'self' as "
+                               yyerror(_("virtual method without 'szelf' as "
                                          "first parameter"));
                                free_all_global_state();
                                YYERROR;
                        }
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with virtual methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(PUBLIC_SCOPE, VIRTUAL_METHOD, NULL,
                                      (yyvsp[(3) - (8)].id), (yyvsp[(8) - (8)].cbuf), (yyvsp[(1) - (8)].line),
                                      ccode_line, vararg, NULL);
                                                                        }
     break;
 
-  case 145:
-#line 1743 "parse.y"
-    {
+  case 146:
+#line 1797 "parse.y"
+    {
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with override methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(NO_SCOPE, OVERRIDE_METHOD, (yyvsp[(3) - (11)].id),
                                      (yyvsp[(6) - (11)].id), (yyvsp[(11) - (11)].cbuf),
                                      (yyvsp[(1) - (11)].line), ccode_line,
@@ -4027,8 +4099,8 @@ yyreduce:
                                                                        }
     break;
 
-  case 146:
-#line 1749 "parse.y"
+  case 147:
+#line 1810 "parse.y"
     {
                        if(the_scope == CLASS_SCOPE) {
                                yyerror(_("a method cannot be of class scope"));
@@ -4041,8 +4113,8 @@ yyreduce:
                                                                }
     break;
 
-  case 147:
-#line 1759 "parse.y"
+  case 148:
+#line 1820 "parse.y"
     {
                        if(strcmp((yyvsp[(1) - (5)].id), "init")==0) {
                                push_init_arg((yyvsp[(3) - (5)].id),FALSE);
@@ -4054,24 +4126,42 @@ yyreduce:
                                push_function(NO_SCOPE, CLASS_INIT_METHOD, NULL,
                                              (yyvsp[(1) - (5)].id), (yyvsp[(5) - (5)].cbuf), (yyvsp[(2) - (5)].line),
                                              ccode_line, FALSE, NULL);
+                       } else if(strcmp((yyvsp[(1) - (5)].id), "constructor")==0) {
+                               push_init_arg((yyvsp[(3) - (5)].id), FALSE);
+                               push_function(NO_SCOPE, CONSTRUCTOR_METHOD, NULL,
+                                             (yyvsp[(1) - (5)].id), (yyvsp[(5) - (5)].cbuf), (yyvsp[(2) - (5)].line),
+                                             ccode_line, FALSE, NULL);
+                       } else if(strcmp((yyvsp[(1) - (5)].id), "dispose")==0) {
+                               push_init_arg((yyvsp[(3) - (5)].id), FALSE);
+                               push_function(NO_SCOPE, DISPOSE_METHOD, NULL,
+                                             (yyvsp[(1) - (5)].id), (yyvsp[(5) - (5)].cbuf), (yyvsp[(2) - (5)].line),
+                                             ccode_line, FALSE, NULL);
+                       } else if(strcmp((yyvsp[(1) - (5)].id), "finalize")==0) {
+                               push_init_arg((yyvsp[(3) - (5)].id), FALSE);
+                               push_function(NO_SCOPE, FINALIZE_METHOD, NULL,
+                                             (yyvsp[(1) - (5)].id), (yyvsp[(5) - (5)].cbuf), (yyvsp[(2) - (5)].line),
+                                             ccode_line, FALSE, NULL);
+
                        } else {
                                g_free((yyvsp[(1) - (5)].id));
                                g_free((yyvsp[(3) - (5)].id));
                                g_string_free((yyvsp[(5) - (5)].cbuf),TRUE);
                                yyerror(_("parse error "
-                                         "(untyped blocks must be init or "
-                                         "class_init)"));
+                                         "(untyped blocks must be init, "
+                                         "class_init, constructor, dispose "
+                                         "or finalize)"));
                                YYERROR;
                        }
                                                }
     break;
 
-  case 148:
-#line 1782 "parse.y"
+  case 149:
+#line 1860 "parse.y"
     {
+                       g_free(funcattrs); funcattrs = NULL;
                        g_free(onerror); onerror = NULL;
                        g_free(defreturn); defreturn = NULL;
-                       if(!set_return_value((yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].id))) {
+                       if(!set_attr_value((yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].id))) {
                                g_free((yyvsp[(1) - (2)].id));
                                g_free((yyvsp[(2) - (2)].id));
                                yyerror(_("parse error"));
@@ -4081,19 +4171,20 @@ yyreduce:
                                        }
     break;
 
-  case 149:
-#line 1793 "parse.y"
+  case 150:
+#line 1872 "parse.y"
     {
+                       g_free(funcattrs); funcattrs = NULL;
                        g_free(onerror); onerror = NULL;
                        g_free(defreturn); defreturn = NULL;
-                       if(!set_return_value((yyvsp[(1) - (4)].id), (yyvsp[(2) - (4)].id))) {
+                       if(!set_attr_value((yyvsp[(1) - (4)].id), (yyvsp[(2) - (4)].id))) {
                                g_free((yyvsp[(1) - (4)].id)); g_free((yyvsp[(2) - (4)].id));
                                g_free((yyvsp[(3) - (4)].id)); g_free((yyvsp[(4) - (4)].id));
                                yyerror(_("parse error"));
                                YYERROR;
                        }
-                       if(!set_return_value((yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].id))) {
-                               onerror = defreturn = NULL;
+                       if(!set_attr_value((yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].id))) {
+                               funcattrs = onerror = defreturn = NULL;
                                g_free((yyvsp[(1) - (4)].id)); g_free((yyvsp[(2) - (4)].id));
                                g_free((yyvsp[(3) - (4)].id)); g_free((yyvsp[(4) - (4)].id));
                                yyerror(_("parse error"));
@@ -4104,34 +4195,70 @@ yyreduce:
                                                }
     break;
 
-  case 150:
-#line 1812 "parse.y"
+  case 151:
+#line 1892 "parse.y"
+    {
+                       g_free(funcattrs); funcattrs = NULL;
+                       g_free(onerror); onerror = NULL;
+                       g_free(defreturn); defreturn = NULL;
+                       if(!set_attr_value((yyvsp[(1) - (6)].id), (yyvsp[(2) - (6)].id))) {
+                               g_free((yyvsp[(1) - (6)].id)); g_free((yyvsp[(2) - (6)].id));
+                               g_free((yyvsp[(3) - (6)].id)); g_free((yyvsp[(4) - (6)].id));
+                               g_free((yyvsp[(5) - (6)].id)); g_free((yyvsp[(6) - (6)].id));
+                               yyerror(_("parse error"));
+                               YYERROR;
+                       }
+                       if(!set_attr_value((yyvsp[(3) - (6)].id), (yyvsp[(4) - (6)].id))) {
+                               funcattrs = onerror = defreturn = NULL;
+                               g_free((yyvsp[(1) - (6)].id)); g_free((yyvsp[(2) - (6)].id));
+                               g_free((yyvsp[(3) - (6)].id)); g_free((yyvsp[(4) - (6)].id));
+                               g_free((yyvsp[(5) - (6)].id)); g_free((yyvsp[(6) - (6)].id));
+                               yyerror(_("parse error"));
+                               YYERROR;
+                       }
+                       if(!set_attr_value((yyvsp[(5) - (6)].id), (yyvsp[(6) - (6)].id))) {
+                               funcattrs = onerror = defreturn = NULL;
+                               g_free((yyvsp[(1) - (6)].id)); g_free((yyvsp[(2) - (6)].id));
+                               g_free((yyvsp[(3) - (6)].id)); g_free((yyvsp[(4) - (6)].id));
+                               g_free((yyvsp[(5) - (6)].id)); g_free((yyvsp[(6) - (6)].id));
+                               yyerror(_("parse error"));
+                               YYERROR;
+                       }
+                       g_free((yyvsp[(1) - (6)].id));
+                       g_free((yyvsp[(3) - (6)].id));
+                       g_free((yyvsp[(5) - (6)].id));
+                                               }
+    break;
+
+  case 152:
+#line 1923 "parse.y"
     {
+                       g_free(funcattrs); funcattrs = NULL;
                        g_free(onerror); onerror = NULL;
                        g_free(defreturn); defreturn = NULL;
                                        }
     break;
 
-  case 151:
-#line 1818 "parse.y"
+  case 153:
+#line 1930 "parse.y"
     { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
-  case 152:
-#line 1819 "parse.y"
+  case 154:
+#line 1931 "parse.y"
     {
                        (yyval.id) = ((yyvsp[(2) - (2)].cbuf))->str;
                        g_string_free((yyvsp[(2) - (2)].cbuf), FALSE);
                                        }
     break;
 
-  case 153:
-#line 1825 "parse.y"
+  case 155:
+#line 1937 "parse.y"
     { vararg = FALSE; has_self = FALSE; }
     break;
 
-  case 154:
-#line 1826 "parse.y"
+  case 156:
+#line 1938 "parse.y"
     {
                        vararg = FALSE;
                        has_self = TRUE;
@@ -4145,8 +4272,8 @@ yyreduce:
                                                }
     break;
 
-  case 155:
-#line 1837 "parse.y"
+  case 157:
+#line 1949 "parse.y"
     {
                        vararg = FALSE;
                        has_self = TRUE;
@@ -4160,8 +4287,8 @@ yyreduce:
                                                }
     break;
 
-  case 156:
-#line 1848 "parse.y"
+  case 158:
+#line 1960 "parse.y"
     {
                        vararg = FALSE;
                        has_self = TRUE;
@@ -4175,8 +4302,8 @@ yyreduce:
                                                }
     break;
 
-  case 157:
-#line 1859 "parse.y"
+  case 159:
+#line 1971 "parse.y"
     {
                        has_self = TRUE;
                        if(strcmp((yyvsp[(1) - (3)].id),"self")==0)
@@ -4189,8 +4316,8 @@ yyreduce:
                                        }
     break;
 
-  case 158:
-#line 1869 "parse.y"
+  case 160:
+#line 1981 "parse.y"
     {
                        has_self = TRUE;
                        if(strcmp((yyvsp[(1) - (4)].id),"self")==0)
@@ -4203,8 +4330,8 @@ yyreduce:
                                        }
     break;
 
-  case 159:
-#line 1879 "parse.y"
+  case 161:
+#line 1991 "parse.y"
     {
                        has_self = TRUE;
                        if(strcmp((yyvsp[(2) - (4)].id),"self")==0)
@@ -4217,47 +4344,47 @@ yyreduce:
                                        }
     break;
 
-  case 160:
-#line 1889 "parse.y"
+  case 162:
+#line 2001 "parse.y"
     { has_self = FALSE; }
     break;
 
-  case 161:
-#line 1892 "parse.y"
+  case 163:
+#line 2004 "parse.y"
     { vararg = TRUE; }
     break;
 
-  case 162:
-#line 1893 "parse.y"
+  case 164:
+#line 2005 "parse.y"
     { vararg = FALSE; }
     break;
 
-  case 163:
-#line 1896 "parse.y"
+  case 165:
+#line 2008 "parse.y"
     { ; }
     break;
 
-  case 164:
-#line 1897 "parse.y"
+  case 166:
+#line 2009 "parse.y"
     { ; }
     break;
 
-  case 165:
-#line 1900 "parse.y"
+  case 167:
+#line 2012 "parse.y"
     {
                        push_funcarg((yyvsp[(2) - (2)].id),NULL);
                                                                }
     break;
 
-  case 166:
-#line 1903 "parse.y"
+  case 168:
+#line 2015 "parse.y"
     {
                        push_funcarg((yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].id));
                                                                }
     break;
 
-  case 167:
-#line 1906 "parse.y"
+  case 169:
+#line 2018 "parse.y"
     {
                        if(strcmp((yyvsp[(4) - (6)].id),"check")!=0) {
                                yyerror(_("parse error"));
@@ -4268,8 +4395,8 @@ yyreduce:
                                                                }
     break;
 
-  case 168:
-#line 1914 "parse.y"
+  case 170:
+#line 2026 "parse.y"
     {
                        if(strcmp((yyvsp[(5) - (7)].id),"check")!=0) {
                                yyerror(_("parse error"));
@@ -4280,18 +4407,18 @@ yyreduce:
                                                                }
     break;
 
-  case 169:
-#line 1924 "parse.y"
+  case 171:
+#line 2036 "parse.y"
     { ; }
     break;
 
-  case 170:
-#line 1925 "parse.y"
+  case 172:
+#line 2037 "parse.y"
     { ; }
     break;
 
-  case 171:
-#line 1928 "parse.y"
+  case 173:
+#line 2040 "parse.y"
     {
                        if(strcmp((yyvsp[(1) - (1)].id),"type")==0) {
                                Node *node = node_new (CHECK_NODE,
@@ -4311,8 +4438,8 @@ yyreduce:
                                        }
     break;
 
-  case 172:
-#line 1945 "parse.y"
+  case 174:
+#line 2057 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", GT_CHECK,
@@ -4322,8 +4449,8 @@ yyreduce:
                                        }
     break;
 
-  case 173:
-#line 1952 "parse.y"
+  case 175:
+#line 2064 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", LT_CHECK,
@@ -4333,8 +4460,8 @@ yyreduce:
                                        }
     break;
 
-  case 174:
-#line 1959 "parse.y"
+  case 176:
+#line 2071 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", GE_CHECK,
@@ -4344,8 +4471,8 @@ yyreduce:
                                        }
     break;
 
-  case 175:
-#line 1966 "parse.y"
+  case 177:
+#line 2078 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", LE_CHECK,
@@ -4355,8 +4482,8 @@ yyreduce:
                                        }
     break;
 
-  case 176:
-#line 1973 "parse.y"
+  case 178:
+#line 2085 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", EQ_CHECK,
@@ -4366,8 +4493,8 @@ yyreduce:
                                        }
     break;
 
-  case 177:
-#line 1980 "parse.y"
+  case 179:
+#line 2092 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", NE_CHECK,
@@ -4377,8 +4504,8 @@ yyreduce:
                                        }
     break;
 
-  case 178:
-#line 1989 "parse.y"
+  case 180:
+#line 2101 "parse.y"
     {
                        Node *node = node_new (ENUMDEF_NODE,
                                               "etype:steal", (yyvsp[(6) - (7)].id),
@@ -4390,8 +4517,8 @@ yyreduce:
                        }
     break;
 
-  case 179:
-#line 1998 "parse.y"
+  case 181:
+#line 2110 "parse.y"
     {
                        Node *node = node_new (ENUMDEF_NODE,
                                               "etype:steal", (yyvsp[(7) - (8)].id),
@@ -4403,18 +4530,18 @@ yyreduce:
                        }
     break;
 
-  case 180:
-#line 2009 "parse.y"
+  case 182:
+#line 2121 "parse.y"
     {;}
     break;
 
-  case 181:
-#line 2010 "parse.y"
+  case 183:
+#line 2122 "parse.y"
     {;}
     break;
 
-  case 182:
-#line 2013 "parse.y"
+  case 184:
+#line 2125 "parse.y"
     {
                        Node *node;
                        char *num = (yyvsp[(3) - (3)].id);
@@ -4437,8 +4564,8 @@ yyreduce:
                        }
     break;
 
-  case 183:
-#line 2033 "parse.y"
+  case 185:
+#line 2145 "parse.y"
     {
                        Node *node;
 
@@ -4449,8 +4576,8 @@ yyreduce:
        }
     break;
 
-  case 184:
-#line 2043 "parse.y"
+  case 186:
+#line 2155 "parse.y"
     {
                        Node *node = node_new (FLAGS_NODE,
                                               "ftype:steal", (yyvsp[(6) - (7)].id),
@@ -4462,8 +4589,8 @@ yyreduce:
                        }
     break;
 
-  case 185:
-#line 2052 "parse.y"
+  case 187:
+#line 2164 "parse.y"
     {
                        Node *node = node_new (FLAGS_NODE,
                                               "ftype:steal", (yyvsp[(7) - (8)].id),
@@ -4475,22 +4602,22 @@ yyreduce:
                        }
     break;
 
-  case 186:
-#line 2063 "parse.y"
+  case 188:
+#line 2175 "parse.y"
     {
                        flag_vals = g_list_append (flag_vals, (yyvsp[(3) - (3)].id));
                }
     break;
 
-  case 187:
-#line 2066 "parse.y"
+  case 189:
+#line 2178 "parse.y"
     {
                        flag_vals = g_list_append (flag_vals, (yyvsp[(1) - (1)].id));
                }
     break;
 
-  case 188:
-#line 2071 "parse.y"
+  case 190:
+#line 2183 "parse.y"
     {
                        Node *node = node_new (ERROR_NODE,
                                               "etype:steal", (yyvsp[(6) - (7)].id),
@@ -4502,8 +4629,8 @@ yyreduce:
                        }
     break;
 
-  case 189:
-#line 2080 "parse.y"
+  case 191:
+#line 2192 "parse.y"
     {
                        Node *node = node_new (ERROR_NODE,
                                               "etype:steal", (yyvsp[(7) - (8)].id),
@@ -4515,46 +4642,46 @@ yyreduce:
                        }
     break;
 
-  case 190:
-#line 2091 "parse.y"
+  case 192:
+#line 2203 "parse.y"
     {
                        error_vals = g_list_append (error_vals, (yyvsp[(3) - (3)].id));
                }
     break;
 
-  case 191:
-#line 2094 "parse.y"
+  case 193:
+#line 2206 "parse.y"
     {
                        error_vals = g_list_append (error_vals, (yyvsp[(1) - (1)].id));
                }
     break;
 
-  case 192:
-#line 2100 "parse.y"
+  case 194:
+#line 2212 "parse.y"
     { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
-  case 193:
-#line 2101 "parse.y"
+  case 195:
+#line 2213 "parse.y"
     {
                        (yyval.id) = g_strconcat("-",(yyvsp[(2) - (2)].id),NULL);
                        g_free((yyvsp[(2) - (2)].id));
                                        }
     break;
 
-  case 194:
-#line 2105 "parse.y"
+  case 196:
+#line 2217 "parse.y"
     { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
-  case 195:
-#line 2106 "parse.y"
+  case 197:
+#line 2218 "parse.y"
     { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
 
 /* Line 1267 of yacc.c.  */
-#line 4558 "parse.c"
+#line 4685 "parse.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4768,6 +4895,6 @@ yyreturn:
 }
 
 
-#line 2109 "parse.y"
+#line 2221 "parse.y"
 
 
index 1568dc6afc95c2baba2955bc31cf29eba8018ea3..5bbb8d52d09d6560194b893cb1bc2183d5cf50ab 100644 (file)
      ARRAY_DIM = 277,
      SINGLE_CHAR = 278,
      CCODE = 279,
-     HTCODE = 280,
-     PHCODE = 281,
-     HCODE = 282,
-     ACODE = 283,
-     ATCODE = 284,
-     STRING = 285,
-     PUBLIC = 286,
-     PRIVATE = 287,
-     PROTECTED = 288,
-     CLASSWIDE = 289,
-     PROPERTY = 290,
-     ARGUMENT = 291,
-     VIRTUAL = 292,
-     SIGNAL = 293,
-     OVERRIDE = 294,
-     NICK = 295,
-     BLURB = 296,
-     MAXIMUM = 297,
-     MINIMUM = 298,
-     DEFAULT_VALUE = 299,
-     ERROR = 300,
-     FLAGS = 301,
-     TYPE = 302,
-     FLAGS_TYPE = 303,
-     ENUM_TYPE = 304,
-     PARAM_TYPE = 305,
-     BOXED_TYPE = 306,
-     OBJECT_TYPE = 307
+     ADCODE = 280,
+     HTCODE = 281,
+     PHCODE = 282,
+     HCODE = 283,
+     ACODE = 284,
+     ATCODE = 285,
+     STRING = 286,
+     PUBLIC = 287,
+     PRIVATE = 288,
+     PROTECTED = 289,
+     CLASSWIDE = 290,
+     PROPERTY = 291,
+     ARGUMENT = 292,
+     VIRTUAL = 293,
+     SIGNAL = 294,
+     OVERRIDE = 295,
+     NICK = 296,
+     BLURB = 297,
+     MAXIMUM = 298,
+     MINIMUM = 299,
+     DEFAULT_VALUE = 300,
+     ERROR = 301,
+     FLAGS = 302,
+     TYPE = 303,
+     FLAGS_TYPE = 304,
+     ENUM_TYPE = 305,
+     PARAM_TYPE = 306,
+     BOXED_TYPE = 307,
+     OBJECT_TYPE = 308
    };
 #endif
 /* Tokens.  */
 #define ARRAY_DIM 277
 #define SINGLE_CHAR 278
 #define CCODE 279
-#define HTCODE 280
-#define PHCODE 281
-#define HCODE 282
-#define ACODE 283
-#define ATCODE 284
-#define STRING 285
-#define PUBLIC 286
-#define PRIVATE 287
-#define PROTECTED 288
-#define CLASSWIDE 289
-#define PROPERTY 290
-#define ARGUMENT 291
-#define VIRTUAL 292
-#define SIGNAL 293
-#define OVERRIDE 294
-#define NICK 295
-#define BLURB 296
-#define MAXIMUM 297
-#define MINIMUM 298
-#define DEFAULT_VALUE 299
-#define ERROR 300
-#define FLAGS 301
-#define TYPE 302
-#define FLAGS_TYPE 303
-#define ENUM_TYPE 304
-#define PARAM_TYPE 305
-#define BOXED_TYPE 306
-#define OBJECT_TYPE 307
+#define ADCODE 280
+#define HTCODE 281
+#define PHCODE 282
+#define HCODE 283
+#define ACODE 284
+#define ATCODE 285
+#define STRING 286
+#define PUBLIC 287
+#define PRIVATE 288
+#define PROTECTED 289
+#define CLASSWIDE 290
+#define PROPERTY 291
+#define ARGUMENT 292
+#define VIRTUAL 293
+#define SIGNAL 294
+#define OVERRIDE 295
+#define NICK 296
+#define BLURB 297
+#define MAXIMUM 298
+#define MINIMUM 299
+#define DEFAULT_VALUE 300
+#define ERROR 301
+#define FLAGS 302
+#define TYPE 303
+#define FLAGS_TYPE 304
+#define ENUM_TYPE 305
+#define PARAM_TYPE 306
+#define BOXED_TYPE 307
+#define OBJECT_TYPE 308
 
 
 
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 668 "parse.y"
+#line 678 "parse.y"
 {
        char *id;
        GString *cbuf;
@@ -157,7 +159,7 @@ typedef union YYSTYPE
        int sigtype;
 }
 /* Line 1489 of yacc.c.  */
-#line 161 "parse.h"
+#line 163 "parse.h"
        YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
index 53d32eb3d055fd0f82314be3b71b8adbeccedaaa..b8792bbfa387600d088de35dde8d15d22a0c72b9 100644 (file)
@@ -1,7 +1,7 @@
 /* GOB C Preprocessor
  * Copyright (C) 1999-2000 the Free Software Foundation.
  * Copyright (C) 2000 Eazel, Inc.
- * Copyright (C) 2001-2004 George (Jiri) Lebl
+ * Copyright (C) 2001-2009 George (Jiri) Lebl
  *
  * Author: George Lebl
  *
@@ -65,6 +65,7 @@ static char *initializer = NULL;
 static int initializer_line = 0;
 static int glade_widget = FALSE;
 
+static char *funcattrs = NULL;
 static char *onerror = NULL;
 static char *defreturn = NULL;
 
@@ -205,6 +206,7 @@ push_function (int scope, int method, char *oid, char *id,
                         "flags:steal", flags,
                         "id:steal", id,
                         "args:steal", funcargs,
+                        "funcattrs:steal", funcattrs,
                         "onerror:steal", onerror,
                         "defreturn:steal", defreturn,
                         "cbuf:steal", c_cbuf,
@@ -224,6 +226,7 @@ push_function (int scope, int method, char *oid, char *id,
        gtktypes = NULL;
        funcargs = NULL;
 
+       funcattrs = NULL;
        onerror = NULL;
        defreturn = NULL;
 
@@ -233,6 +236,8 @@ push_function (int scope, int method, char *oid, char *id,
 static void
 free_all_global_state(void)
 {
+       g_free(funcattrs);
+       funcattrs = NULL;
        g_free(onerror);
        onerror = NULL;
        g_free(defreturn);
@@ -336,9 +341,15 @@ find_var_or_die(const char *id, int line)
 }
 
 static gboolean
-set_return_value(char *type, char *val)
+set_attr_value(char *type, char *val)
 {
-       if(strcmp(type, "onerror")==0) {
+       if(strcmp(type, "attr")==0) {
+               if(!funcattrs) {
+                       funcattrs = val;
+                       return TRUE;
+               } else
+                       return FALSE;
+       } else if(strcmp(type, "onerror")==0) {
                if(!onerror) {
                        onerror = val;
                        return TRUE;
@@ -473,7 +484,6 @@ add_construct_glade (char * file, char * root, char * domain)
 {
        Node *var;
        Type * type;
-       GList * flags = NULL;
        
        type = (Type *)node_new (TYPE_NODE,
                                 "name", "GladeXML",
@@ -678,7 +688,7 @@ ensure_property (void)
 %token SIGNED UNSIGNED LONG SHORT INT FLOAT DOUBLE CHAR
 
 %token <id> TOKEN NUMBER TYPETOKEN ARRAY_DIM SINGLE_CHAR
-%token <cbuf> CCODE HTCODE PHCODE HCODE ACODE ATCODE STRING
+%token <cbuf> CCODE ADCODE HTCODE PHCODE HCODE ACODE ATCODE STRING
 %token <line> PUBLIC PRIVATE PROTECTED CLASSWIDE PROPERTY ARGUMENT
 %token <line> VIRTUAL SIGNAL OVERRIDE
 %token <line> NICK BLURB MAXIMUM MINIMUM DEFAULT_VALUE ERROR FLAGS TYPE
@@ -701,6 +711,15 @@ ccode:             CCODE                   {
                        nodes = g_list_append(nodes,node);
                        g_string_free($<cbuf>1,FALSE);
                                        }
+       |       ADCODE                  {
+                       Node *node = node_new (CCODE_NODE,
+                                              "cctype", AD_CCODE,
+                                              "cbuf:steal", ($<cbuf>1)->str,
+                                              "line_no", ccode_line,
+                                              NULL);
+                       nodes = g_list_append(nodes,node);
+                       g_string_free($<cbuf>1,FALSE);
+                                       }
        |       HCODE                   {
                        Node *node = node_new (CCODE_NODE,
                                               "cctype", H_CCODE,
@@ -1665,7 +1684,7 @@ codenocode:       '{' CCODE                       { $<cbuf>$ = $<cbuf>2; }
        ;
 
 /*here CCODE will include the ending '}' */
-method:                SIGNAL flags fullsigtype type TOKEN '(' funcargs ')' returnvals codenocode {
+method:                SIGNAL flags fullsigtype type TOKEN '(' funcargs ')' methodmods codenocode {
                        if(!has_self) {
                                yyerror(_("signal without 'self' as "
                                          "first parameter"));
@@ -1677,11 +1696,18 @@ method:         SIGNAL flags fullsigtype type TOKEN '(' funcargs ')' returnvals codenoc
                                free_all_global_state();
                                YYERROR;
                        }
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with signal methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(the_scope, $<sigtype>3,NULL,
                                      $<id>5, $<cbuf>10,$<line>1,
                                      ccode_line, vararg, $<list>2);
                                                                        }
-       |       scope SIGNAL flags simplesigtype type TOKEN '(' funcargs ')' returnvals codenocode {
+       |       scope SIGNAL flags simplesigtype type TOKEN '(' funcargs ')' methodmods codenocode {
                        if(!has_self) {
                                yyerror(_("signal without 'self' as "
                                          "first parameter"));
@@ -1693,11 +1719,18 @@ method:         SIGNAL flags fullsigtype type TOKEN '(' funcargs ')' returnvals codenoc
                                free_all_global_state();
                                YYERROR;
                        }
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with signal methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(the_scope, $<sigtype>4, NULL,
                                      $<id>6, $<cbuf>11, $<line>2,
                                      ccode_line, vararg, $<list>3);
                                                                        }
-       |       VIRTUAL scope type TOKEN '(' funcargs ')' returnvals codenocode {
+       |       VIRTUAL scope type TOKEN '(' funcargs ')' methodmods codenocode {
                        if(!has_self) {
                                yyerror(_("virtual method without 'self' as "
                                          "first parameter"));
@@ -1709,11 +1742,18 @@ method:         SIGNAL flags fullsigtype type TOKEN '(' funcargs ')' returnvals codenoc
                                free_all_global_state();
                                YYERROR;
                        }
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with virtual methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(the_scope, VIRTUAL_METHOD, NULL, $<id>4,
                                      $<cbuf>9, $<line>1,
                                      ccode_line, vararg, NULL);
                                                                        }
-       |       scope VIRTUAL type TOKEN '(' funcargs ')' returnvals codenocode {
+       |       scope VIRTUAL type TOKEN '(' funcargs ')' methodmods codenocode {
                        if(!has_self) {
                                yyerror(_("virtual method without 'self' as "
                                          "first parameter"));
@@ -1725,28 +1765,49 @@ method:         SIGNAL flags fullsigtype type TOKEN '(' funcargs ')' returnvals codenoc
                                free_all_global_state();
                                YYERROR;
                        }
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with virtual methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(the_scope, VIRTUAL_METHOD, NULL, $<id>4,
                                      $<cbuf>9, $<line>2,
                                      ccode_line, vararg, NULL);
                                                                        }
-       |       VIRTUAL type TOKEN '(' funcargs ')' returnvals codenocode       {
+       |       VIRTUAL type TOKEN '(' funcargs ')' methodmods codenocode       {
                        if(!has_self) {
-                               yyerror(_("virtual method without 'self' as "
+                               yyerror(_("virtual method without 'szelf' as "
                                          "first parameter"));
                                free_all_global_state();
                                YYERROR;
                        }
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with virtual methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(PUBLIC_SCOPE, VIRTUAL_METHOD, NULL,
                                      $<id>3, $<cbuf>8, $<line>1,
                                      ccode_line, vararg, NULL);
                                                                        }
-       |       OVERRIDE '(' TYPETOKEN ')' type TOKEN '(' funcargs ')' returnvals codenocode    {
+       |       OVERRIDE '(' TYPETOKEN ')' type TOKEN '(' funcargs ')' methodmods codenocode    {
+                       if (funcattrs != NULL) {
+                               char *error = g_strdup_printf
+                                       (_("function attribute macros ('%s' in this case) may not be used with override methods"),
+                                        funcattrs);
+                               yyerror (error);
+                               YYERROR;
+                       }
                        push_function(NO_SCOPE, OVERRIDE_METHOD, $<id>3,
                                      $<id>6, $<cbuf>11,
                                      $<line>1, ccode_line,
                                      vararg, NULL);
                                                                        }
-       |       scope type TOKEN '(' funcargs ')' returnvals codenocode {
+       |       scope type TOKEN '(' funcargs ')' methodmods codenocode {
                        if(the_scope == CLASS_SCOPE) {
                                yyerror(_("a method cannot be of class scope"));
                                free_all_global_state();
@@ -1767,22 +1828,40 @@ method:         SIGNAL flags fullsigtype type TOKEN '(' funcargs ')' returnvals codenoc
                                push_function(NO_SCOPE, CLASS_INIT_METHOD, NULL,
                                              $<id>1, $<cbuf>5, $<line>2,
                                              ccode_line, FALSE, NULL);
+                       } else if(strcmp($<id>1, "constructor")==0) {
+                               push_init_arg($<id>3, FALSE);
+                               push_function(NO_SCOPE, CONSTRUCTOR_METHOD, NULL,
+                                             $<id>1, $<cbuf>5, $<line>2,
+                                             ccode_line, FALSE, NULL);
+                       } else if(strcmp($<id>1, "dispose")==0) {
+                               push_init_arg($<id>3, FALSE);
+                               push_function(NO_SCOPE, DISPOSE_METHOD, NULL,
+                                             $<id>1, $<cbuf>5, $<line>2,
+                                             ccode_line, FALSE, NULL);
+                       } else if(strcmp($<id>1, "finalize")==0) {
+                               push_init_arg($<id>3, FALSE);
+                               push_function(NO_SCOPE, FINALIZE_METHOD, NULL,
+                                             $<id>1, $<cbuf>5, $<line>2,
+                                             ccode_line, FALSE, NULL);
+
                        } else {
                                g_free($<id>1);
                                g_free($<id>3);
                                g_string_free($<cbuf>5,TRUE);
                                yyerror(_("parse error "
-                                         "(untyped blocks must be init or "
-                                         "class_init)"));
+                                         "(untyped blocks must be init, "
+                                         "class_init, constructor, dispose "
+                                         "or finalize)"));
                                YYERROR;
                        }
                                                }
        ;
 
-returnvals:    TOKEN retcode           {
+methodmods:    TOKEN retcode           {
+                       g_free(funcattrs); funcattrs = NULL;
                        g_free(onerror); onerror = NULL;
                        g_free(defreturn); defreturn = NULL;
-                       if(!set_return_value($<id>1, $<id>2)) {
+                       if(!set_attr_value($<id>1, $<id>2)) {
                                g_free($<id>1);
                                g_free($<id>2);
                                yyerror(_("parse error"));
@@ -1791,16 +1870,17 @@ returnvals:     TOKEN retcode           {
                        g_free($<id>1);
                                        }
        |       TOKEN retcode TOKEN retcode     {
+                       g_free(funcattrs); funcattrs = NULL;
                        g_free(onerror); onerror = NULL;
                        g_free(defreturn); defreturn = NULL;
-                       if(!set_return_value($<id>1, $<id>2)) {
+                       if(!set_attr_value($<id>1, $<id>2)) {
                                g_free($<id>1); g_free($<id>2);
                                g_free($<id>3); g_free($<id>4);
                                yyerror(_("parse error"));
                                YYERROR;
                        }
-                       if(!set_return_value($<id>3, $<id>4)) {
-                               onerror = defreturn = NULL;
+                       if(!set_attr_value($<id>3, $<id>4)) {
+                               funcattrs = onerror = defreturn = NULL;
                                g_free($<id>1); g_free($<id>2);
                                g_free($<id>3); g_free($<id>4);
                                yyerror(_("parse error"));
@@ -1809,7 +1889,39 @@ returnvals:      TOKEN retcode           {
                        g_free($<id>1);
                        g_free($<id>3);
                                                }
+       |       TOKEN retcode TOKEN retcode TOKEN retcode       {
+                       g_free(funcattrs); funcattrs = NULL;
+                       g_free(onerror); onerror = NULL;
+                       g_free(defreturn); defreturn = NULL;
+                       if(!set_attr_value($<id>1, $<id>2)) {
+                               g_free($<id>1); g_free($<id>2);
+                               g_free($<id>3); g_free($<id>4);
+                               g_free($<id>5); g_free($<id>6);
+                               yyerror(_("parse error"));
+                               YYERROR;
+                       }
+                       if(!set_attr_value($<id>3, $<id>4)) {
+                               funcattrs = onerror = defreturn = NULL;
+                               g_free($<id>1); g_free($<id>2);
+                               g_free($<id>3); g_free($<id>4);
+                               g_free($<id>5); g_free($<id>6);
+                               yyerror(_("parse error"));
+                               YYERROR;
+                       }
+                       if(!set_attr_value($<id>5, $<id>6)) {
+                               funcattrs = onerror = defreturn = NULL;
+                               g_free($<id>1); g_free($<id>2);
+                               g_free($<id>3); g_free($<id>4);
+                               g_free($<id>5); g_free($<id>6);
+                               yyerror(_("parse error"));
+                               YYERROR;
+                       }
+                       g_free($<id>1);
+                       g_free($<id>3);
+                       g_free($<id>5);
+                                               }
        |                               {
+                       g_free(funcattrs); funcattrs = NULL;
                        g_free(onerror); onerror = NULL;
                        g_free(defreturn); defreturn = NULL;
                                        }
diff --git a/src/str.gob b/src/str.gob
new file mode 100644 (file)
index 0000000..4936879
--- /dev/null
@@ -0,0 +1,73 @@
+// A simple string class, a lot like GString but with full GObject
+// machinery and really short method names for the lazy :)
+
+%{
+#include <stdio.h>
+%}
+
+class :Str from G:Object {
+  private GString *contents;
+
+  public
+  void
+  print (self)
+  {
+    g_print ("%s", self->_priv->contents->str);
+  }
+
+   public
+   GObject *
+   new (const char *format (check null), ...) attr {G_GNUC_PRINTF (1, 2)}
+     onerror NULL defreturn NULL
+   {
+     va_list ap;
+     va_start (ap, format);
+     gchar *tmp = g_strdup_vprintf (format, ap);
+     va_end (ap);
+     
+     Self *self = (Self *) GET_NEW;
+     
+     self->_priv->contents = g_string_new (tmp);
+     
+     g_free (tmp);
+     
+     return G_OBJECT (self);
+   }
+
+   // It seems gob accepts defreturn on non-virtual non-signal types
+   // without complaint, though from the man page I'm not sure the
+   // resulting behavior is well defined.
+   public
+   char *
+   nonvirt_test (self, const char *format (check null), ...)
+     attr {G_GNUC_PRINTF (2,3)}
+     defreturn NULL
+   {
+     return NULL;
+   }
+
+   private
+   char *
+   private_test_method (self, const char *format (check null), ...)   
+     attr {G_GNUC_PRINTF (2, 3)}
+     defreturn NULL
+   {
+     return NULL;
+   }
+
+   public
+   char *
+   private_method_caller (self)
+   {
+     int much_too_general = 42;
+
+     // This should trigger a warning.
+     self_private_test_method (self, "want a string: %s", much_too_general);
+
+     // So should this.
+     str_private_test_method (self, "want a string: %s", much_too_general);
+
+     return NULL;
+   }
+}
diff --git a/src/str_test.c b/src/str_test.c
new file mode 100644 (file)
index 0000000..12a1be9
--- /dev/null
@@ -0,0 +1,20 @@
+#include "str.h"
+
+int
+main (void)
+{
+  g_type_init ();
+
+  int the_answer = 42;
+  char *stupid_pointer = "ug";
+
+  // This works fine.
+  Str *test_good = (Str *) (str_new ("%d", the_answer));
+  test_good = test_good;
+
+  // This gets a warning thanks to our function attribute.
+  Str *test_bad = (Str *) (str_new ("%d", stupid_pointer));
+  test_bad = test_bad;
+
+  return 0;
+}
index 3de497cae63000b5e98849cfa2608e75fe332a78..be742ef5da31601444ee54b1a1c92e71114f27cf 100644 (file)
@@ -3,7 +3,7 @@
    look in here to see a whole array of different syntax options, but
    don't expect this to be an easy to read file */
 
-requires 1.99.0
+requires 2.0.16
 
 %at{
 /* ALL TOP */
@@ -23,6 +23,11 @@ requires 1.99.0
 /* this should go into the private header as well*/
 %}
 
+%afterdecls{
+       /* between the declarations and the method implementations */
+%}
+
+
 
 %{
 #include <stdio.h>
@@ -241,7 +246,7 @@ class Test:Object from /*G:Object*/ Gtk:Container
        public int wagawaga_should_be_after_this_in_the_header;
 
        init(object) {
-               object->i=0;
+               object->i=0;
        }
        class_init(klass);
 
@@ -284,6 +289,18 @@ class Test:Object from /*G:Object*/ Gtk:Container
                return self_blah(self,wid,h) > 0 ? g_strdup ("foo") : g_strdup ("bar");
        }
 
+       constructor(self) {
+               /* constructor stuff */
+       }
+
+       dispose(self) {
+               /* dispose stuff */
+       }
+
+       finalize(self) {
+               /* finalize stuff */
+       }
+
        private
        char *
        test_handler (self, GObject *w, int h, gpointer data)
@@ -418,6 +435,58 @@ class Test:Object from /*G:Object*/ Gtk:Container
                i = 0;
                return 25;
        }
+       public gchar *funcattrtest(self, const char *format (check null), ...)
+               attr {G_GNUC_PRINTF (2, 3)}
+       {
+               gchar *result;
+
+               va_list ap;
+               va_start(ap, format);
+               result = g_strdup_vprintf (format, ap);
+               va_end(ap);
+               return result;
+       }
+       private gchar *funcattrtest2(self, const char *format, ...)
+               attr {G_GNUC_SCANF(2,3)}
+       {
+               gchar *nonsense = NULL;
+               format = format;
+                return nonsense;
+       }
+        protected gchar *funcattrtest3(self, const char *format)
+               attr {G_GNUC_FORMAT (2)}
+        {
+               gchar *nonsense = NULL;
+               format = format;
+                return nonsense;               
+       }
+       private char *funcattrtest4(self, const char *format, ...)
+               attr {G_GNUC_PRINTF(2,3)}
+                onerror NULL
+       {
+               gchar *nonsense = NULL;
+               format = format;
+                return nonsense;               
+       }
+       protected char * funcattrtest5(self, const char *format, ...)
+               onerror NULL
+               attr {G_GNUC_PRINTF(2,3)}
+       {
+               gchar *nonsense = NULL;
+               format = format;
+                return nonsense;               
+       }
+       public char * funcattrtest6(self, const char *format, ...)
+               attr {G_GNUC_PRINTF(2,3)}
+                onerror NULL 
+        {
+               gchar *nonsense = NULL;
+               format = format;
+                return nonsense;               
+       }
+       // Note that the parser should accept defreturn with function
+       // attributes as well, but this may not be a good thing since
+       // it probably doesn't make sense, so we don't test it.
        signal private first NONE (NONE)
        void googlegoogle(self)
        {
index c385bc83141ed5b6fa575ad7fa7ecca7e205b880..ac2fd0127c1223c906f17d236075f5e346064e38 100644 (file)
@@ -158,6 +158,8 @@ enum {
        QUARK_id_STEAL,
        QUARK_args,
        QUARK_args_STEAL,
+       QUARK_funcattrs,
+       QUARK_funcattrs_STEAL,
        QUARK_onerror,
        QUARK_onerror_STEAL,
        QUARK_defreturn,
@@ -266,6 +268,8 @@ ensure_quarks (void)
        g_hash_table_insert (quark_ht, "id:steal", GINT_TO_POINTER (QUARK_id_STEAL));
        g_hash_table_insert (quark_ht, "args", GINT_TO_POINTER (QUARK_args));
        g_hash_table_insert (quark_ht, "args:steal", GINT_TO_POINTER (QUARK_args_STEAL));
+       g_hash_table_insert (quark_ht, "funcattrs", GINT_TO_POINTER (QUARK_funcattrs));
+       g_hash_table_insert (quark_ht, "funcattrs:steal", GINT_TO_POINTER (QUARK_funcattrs_STEAL));
        g_hash_table_insert (quark_ht, "onerror", GINT_TO_POINTER (QUARK_onerror));
        g_hash_table_insert (quark_ht, "onerror:steal", GINT_TO_POINTER (QUARK_onerror_STEAL));
        g_hash_table_insert (quark_ht, "defreturn", GINT_TO_POINTER (QUARK_defreturn));
@@ -451,6 +455,7 @@ copy_method (Method * self)
        new->flags = g_list_copy (self->flags); COPY_LIST_VALS(new->flags, g_strdup);
        new->id = g_strdup (self->id);
        new->args = node_list_copy (self->args);
+       new->funcattrs = g_strdup (self->funcattrs);
        new->onerror = g_strdup (self->onerror);
        new->defreturn = g_strdup (self->defreturn);
        new->cbuf = g_strdup (self->cbuf);
@@ -640,6 +645,7 @@ free_method (Method * self)
        g_list_foreach (self->flags, (GFunc)g_free, NULL); g_list_free (self->flags);
        g_free (self->id);
        node_list_free (self->args);
+       g_free (self->funcattrs);
        g_free (self->onerror);
        g_free (self->defreturn);
        g_free (self->cbuf);
@@ -1301,6 +1307,18 @@ setv_method (Method * self, va_list __ap)
                        self->args = args;
                        break;
                }
+               case QUARK_funcattrs: {
+                       char * funcattrs = va_arg (__ap, char *);
+                       char * __old_value = self->funcattrs;
+                       self->funcattrs = g_strdup (funcattrs);
+                       g_free (__old_value);
+                       break;
+               }
+               case QUARK_funcattrs_STEAL: {
+                       char * funcattrs = va_arg (__ap, char *);
+                       self->funcattrs = funcattrs;
+                       break;
+               }
                case QUARK_onerror: {
                        char * onerror = va_arg (__ap, char *);
                        char * __old_value = self->onerror;
index 0c092c1e48491b742f352455ed1141ddacb05f7b..d0ad4b3b59b2f198c84d279463c712277b10f57a 100644 (file)
@@ -9,6 +9,7 @@ enum {
        A_CCODE,
        AT_CCODE,
        C_CCODE,
+       AD_CCODE,
        H_CCODE,
        HT_CCODE,
        PH_CCODE
@@ -40,6 +41,9 @@ enum {
        REGULAR_METHOD,
        INIT_METHOD,
        CLASS_INIT_METHOD,
+       CONSTRUCTOR_METHOD,
+       DISPOSE_METHOD,
+       FINALIZE_METHOD,
        VIRTUAL_METHOD,
        SIGNAL_LAST_METHOD,
        SIGNAL_FIRST_METHOD,
@@ -124,6 +128,7 @@ CLASS Method
   STRINGLIST   flags           # G_SIGNAL_* flags for a signal
   STRING       id
   NODELIST     args
+  STRING        funcattrs       # GLib function attribute macros
   STRING       onerror
   STRING       defreturn
   STRING       cbuf
index b21c24186c3c6ccce7eceeddcbae3b3533c58205..a97ada3dac43703fbb260184be94bbe556f137ee 100644 (file)
@@ -10,6 +10,7 @@ enum {
        A_CCODE,
        AT_CCODE,
        C_CCODE,
+       AD_CCODE,
        H_CCODE,
        HT_CCODE,
        PH_CCODE
@@ -41,6 +42,9 @@ enum {
        REGULAR_METHOD,
        INIT_METHOD,
        CLASS_INIT_METHOD,
+       CONSTRUCTOR_METHOD,
+       DISPOSE_METHOD,
+       FINALIZE_METHOD,
        VIRTUAL_METHOD,
        SIGNAL_LAST_METHOD,
        SIGNAL_FIRST_METHOD,
@@ -165,6 +169,7 @@ struct _Method {
        GList * flags;
        char * id;
        GList * args;
+       char * funcattrs;
        char * onerror;
        char * defreturn;
        char * cbuf;
diff --git a/ylwrap b/ylwrap
deleted file mode 100755 (executable)
index 102bd89..0000000
--- a/ylwrap
+++ /dev/null
@@ -1,223 +0,0 @@
-#! /bin/sh
-# ylwrap - wrapper for lex/yacc invocations.
-
-scriptversion=2005-05-14.22
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005
-#   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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# 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>.
-
-case "$1" in
-  '')
-    echo "$0: No files given.  Try \`$0 --help' for more information." 1>&2
-    exit 1
-    ;;
-  --basedir)
-    basedir=$2
-    shift 2
-    ;;
-  -h|--h*)
-    cat <<\EOF
-Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]...
-
-Wrapper for lex/yacc invocations, renaming files as desired.
-
-  INPUT is the input file
-  OUTPUT is one file PROG generates
-  DESIRED is the file we actually want instead of OUTPUT
-  PROGRAM is program to run
-  ARGS are passed to PROG
-
-Any number of OUTPUT,DESIRED pairs may be used.
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v|--v*)
-    echo "ylwrap $scriptversion"
-    exit $?
-    ;;
-esac
-
-
-# The input.
-input="$1"
-shift
-case "$input" in
-  [\\/]* | ?:[\\/]*)
-    # Absolute path; do nothing.
-    ;;
-  *)
-    # Relative path.  Make it absolute.
-    input="`pwd`/$input"
-    ;;
-esac
-
-pairlist=
-while test "$#" -ne 0; do
-  if test "$1" = "--"; then
-    shift
-    break
-  fi
-  pairlist="$pairlist $1"
-  shift
-done
-
-# The program to run.
-prog="$1"
-shift
-# Make any relative path in $prog absolute.
-case "$prog" in
-  [\\/]* | ?:[\\/]*) ;;
-  *[\\/]*) prog="`pwd`/$prog" ;;
-esac
-
-# FIXME: add hostname here for parallel makes that run commands on
-# other machines.  But that might take us over the 14-char limit.
-dirname=ylwrap$$
-trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15
-mkdir $dirname || exit 1
-
-cd $dirname
-
-case $# in
-  0) $prog "$input" ;;
-  *) $prog "$@" "$input" ;;
-esac
-ret=$?
-
-if test $ret -eq 0; then
-  set X $pairlist
-  shift
-  first=yes
-  # Since DOS filename conventions don't allow two dots,
-  # the DOS version of Bison writes out y_tab.c instead of y.tab.c
-  # and y_tab.h instead of y.tab.h. Test to see if this is the case.
-  y_tab_nodot="no"
-  if test -f y_tab.c || test -f y_tab.h; then
-    y_tab_nodot="yes"
-  fi
-
-  # The directory holding the input.
-  input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'`
-  # Quote $INPUT_DIR so we can use it in a regexp.
-  # FIXME: really we should care about more than `.' and `\'.
-  input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'`
-
-  while test "$#" -ne 0; do
-    from="$1"
-    # Handle y_tab.c and y_tab.h output by DOS
-    if test $y_tab_nodot = "yes"; then
-      if test $from = "y.tab.c"; then
-       from="y_tab.c"
-      else
-       if test $from = "y.tab.h"; then
-         from="y_tab.h"
-       fi
-      fi
-    fi
-    if test -f "$from"; then
-      # If $2 is an absolute path name, then just use that,
-      # otherwise prepend `../'.
-      case "$2" in
-       [\\/]* | ?:[\\/]*) target="$2";;
-       *) target="../$2";;
-      esac
-
-      # We do not want to overwrite a header file if it hasn't
-      # changed.  This avoid useless recompilations.  However the
-      # parser itself (the first file) should always be updated,
-      # because it is the destination of the .y.c rule in the
-      # Makefile.  Divert the output of all other files to a temporary
-      # file so we can compare them to existing versions.
-      if test $first = no; then
-       realtarget="$target"
-       target="tmp-`echo $target | sed s/.*[\\/]//g`"
-      fi
-      # Edit out `#line' or `#' directives.
-      #
-      # We don't want the resulting debug information to point at
-      # an absolute srcdir; it is better for it to just mention the
-      # .y file with no path.
-      #
-      # We want to use the real output file name, not yy.lex.c for
-      # instance.
-      #
-      # We want the include guards to be adjusted too.
-      FROM=`echo "$from" | sed \
-            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
-            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
-      TARGET=`echo "$2" | sed \
-            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
-            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
-
-      sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \
-          -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$?
-
-      # Check whether header files must be updated.
-      if test $first = no; then
-       if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then
-         echo "$2" is unchanged
-         rm -f "$target"
-       else
-          echo updating "$2"
-          mv -f "$target" "$realtarget"
-        fi
-      fi
-    else
-      # A missing file is only an error for the first file.  This
-      # is a blatant hack to let us support using "yacc -d".  If -d
-      # is not specified, we don't want an error when the header
-      # file is "missing".
-      if test $first = yes; then
-        ret=1
-      fi
-    fi
-    shift
-    shift
-    first=no
-  done
-else
-  ret=$?
-fi
-
-# Remove the directory.
-cd ..
-rm -rf $dirname
-
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End: