From: George Lebl Date: Wed, 22 Jul 2009 01:31:00 +0000 (-0800) Subject: Release 2.0.16 X-Git-Tag: v2.0.16 X-Git-Url: https://git.draconx.ca/gitweb/gob-dx.git/commitdiff_plain/3e833eea9cb9822f04c639e143212c4b6f7940d4 Release 2.0.16 --- diff --git a/ChangeLog b/ChangeLog index 44d4eba..c4dc9f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,58 @@ +Tue Jul 21 10:20:58 2009 Jiri (George) Lebl + + * Release 2.0.16 + +Fri Jul 10 14:34:38 2009 Jiri (George) Lebl + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 * Release 2.0.15 diff --git a/INSTALL b/INSTALL index 5458714..23e5f25 100644 --- 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 ====================== diff --git a/Makefile.in b/Makefile.in index 61c0b4a..6be458d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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. @@ -14,11 +14,15 @@ @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 3ffd557..6a629a1 100644 --- 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 93f7b12..82ae003 100644 --- 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 + +[ + 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. +] + diff --git a/aclocal.m4 b/aclocal.m4 index 7417e0e..e5c2fa7 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -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. @@ -11,11 +11,6 @@ # 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 . @@ -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. diff --git a/configure b/configure index b809561..d2da4c3 100755 --- 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 . 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 . 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 ." _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=' ' +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /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 >$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 +' >$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 = "" -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 >$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 +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\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 diff --git a/configure.in b/configure.in index c8821fb..da4b965 100644 --- a/configure.in +++ b/configure.in @@ -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 ca5ea4e..04701da 100755 --- 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 diff --git a/doc/Makefile.in b/doc/Makefile.in index df48946..d3fb485 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -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. @@ -13,11 +13,15 @@ # 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 diff --git a/doc/gob2.1.in b/doc/gob2.1.in index 9a53cff..904691e 100644 --- a/doc/gob2.1.in +++ b/doc/gob2.1.in @@ -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, diff --git a/examples/Makefile.in b/examples/Makefile.in index 7c96732..a9b244e 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -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. @@ -13,11 +13,15 @@ # 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. diff --git a/gob2.spec b/gob2.spec index 927cffc..d556fd8 100644 --- 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 diff --git a/install-sh b/install-sh index 4fbbae7..4d4a951 100755 --- a/install-sh +++ b/install-sh @@ -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 1c8ff70..894e786 100755 --- 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 , 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 diff --git a/src/Makefile.am b/src/Makefile.am index 51e76ad..585fe09 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -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) $< diff --git a/src/Makefile.in b/src/Makefile.in index b2aee83..6abf612 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -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. @@ -14,11 +14,15 @@ @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 index 0000000..f5ac688 --- /dev/null +++ b/src/Makefile.str @@ -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 diff --git a/src/checks.c b/src/checks.c index cccdedb..c651e9a 100644 --- a/src/checks.c +++ b/src/checks.c @@ -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) { diff --git a/src/checks.h b/src/checks.h index 88dd8d1..870ce05 100644 --- a/src/checks.h +++ b/src/checks.h @@ -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); diff --git a/src/lexer.c b/src/lexer.c index 0a7c011..d2e3d33 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -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 . 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 @@ -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" diff --git a/src/lexer.l b/src/lexer.l index b3b2d59..0c8ef11 100644 --- a/src/lexer.l +++ b/src/lexer.l @@ -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; + } ^\%\} { BEGIN(INITIAL); yylval.cbuf = cbuf; diff --git a/src/main.c b/src/main.c index e1cfe4b..f3142ad 100644 --- a/src/main.c +++ b/src/main.c @@ -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; diff --git a/src/parse.c b/src/parse.c index 05fbfbf..aee046d 100644 --- a/src/parse.c +++ b/src/parse.c @@ -88,34 +88,35 @@ 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. */ @@ -141,34 +142,35 @@ #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" diff --git a/src/parse.h b/src/parse.h index 1568dc6..5bbb8d5 100644 --- a/src/parse.h +++ b/src/parse.h @@ -61,34 +61,35 @@ 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. */ @@ -114,41 +115,42 @@ #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 diff --git a/src/parse.y b/src/parse.y index 53d32eb..b8792bb 100644 --- a/src/parse.y +++ b/src/parse.y @@ -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 TOKEN NUMBER TYPETOKEN ARRAY_DIM SINGLE_CHAR -%token CCODE HTCODE PHCODE HCODE ACODE ATCODE STRING +%token CCODE ADCODE HTCODE PHCODE HCODE ACODE ATCODE STRING %token PUBLIC PRIVATE PROTECTED CLASSWIDE PROPERTY ARGUMENT %token VIRTUAL SIGNAL OVERRIDE %token NICK BLURB MAXIMUM MINIMUM DEFAULT_VALUE ERROR FLAGS TYPE @@ -701,6 +711,15 @@ ccode: CCODE { nodes = g_list_append(nodes,node); g_string_free($1,FALSE); } + | ADCODE { + Node *node = node_new (CCODE_NODE, + "cctype", AD_CCODE, + "cbuf:steal", ($1)->str, + "line_no", ccode_line, + NULL); + nodes = g_list_append(nodes,node); + g_string_free($1,FALSE); + } | HCODE { Node *node = node_new (CCODE_NODE, "cctype", H_CCODE, @@ -1665,7 +1684,7 @@ codenocode: '{' CCODE { $$ = $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, $3,NULL, $5, $10,$1, ccode_line, vararg, $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, $4, NULL, $6, $11, $2, ccode_line, vararg, $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, $4, $9, $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, $4, $9, $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, $3, $8, $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, $3, $6, $11, $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, $1, $5, $2, ccode_line, FALSE, NULL); + } else if(strcmp($1, "constructor")==0) { + push_init_arg($3, FALSE); + push_function(NO_SCOPE, CONSTRUCTOR_METHOD, NULL, + $1, $5, $2, + ccode_line, FALSE, NULL); + } else if(strcmp($1, "dispose")==0) { + push_init_arg($3, FALSE); + push_function(NO_SCOPE, DISPOSE_METHOD, NULL, + $1, $5, $2, + ccode_line, FALSE, NULL); + } else if(strcmp($1, "finalize")==0) { + push_init_arg($3, FALSE); + push_function(NO_SCOPE, FINALIZE_METHOD, NULL, + $1, $5, $2, + ccode_line, FALSE, NULL); + } else { g_free($1); g_free($3); g_string_free($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($1, $2)) { + if(!set_attr_value($1, $2)) { g_free($1); g_free($2); yyerror(_("parse error")); @@ -1791,16 +1870,17 @@ returnvals: TOKEN retcode { g_free($1); } | TOKEN retcode TOKEN retcode { + g_free(funcattrs); funcattrs = NULL; g_free(onerror); onerror = NULL; g_free(defreturn); defreturn = NULL; - if(!set_return_value($1, $2)) { + if(!set_attr_value($1, $2)) { g_free($1); g_free($2); g_free($3); g_free($4); yyerror(_("parse error")); YYERROR; } - if(!set_return_value($3, $4)) { - onerror = defreturn = NULL; + if(!set_attr_value($3, $4)) { + funcattrs = onerror = defreturn = NULL; g_free($1); g_free($2); g_free($3); g_free($4); yyerror(_("parse error")); @@ -1809,7 +1889,39 @@ returnvals: TOKEN retcode { g_free($1); g_free($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($1, $2)) { + g_free($1); g_free($2); + g_free($3); g_free($4); + g_free($5); g_free($6); + yyerror(_("parse error")); + YYERROR; + } + if(!set_attr_value($3, $4)) { + funcattrs = onerror = defreturn = NULL; + g_free($1); g_free($2); + g_free($3); g_free($4); + g_free($5); g_free($6); + yyerror(_("parse error")); + YYERROR; + } + if(!set_attr_value($5, $6)) { + funcattrs = onerror = defreturn = NULL; + g_free($1); g_free($2); + g_free($3); g_free($4); + g_free($5); g_free($6); + yyerror(_("parse error")); + YYERROR; + } + g_free($1); + g_free($3); + g_free($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 index 0000000..4936879 --- /dev/null +++ b/src/str.gob @@ -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 +%} + +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 index 0000000..12a1be9 --- /dev/null +++ b/src/str_test.c @@ -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; +} diff --git a/src/test.gob b/src/test.gob index 3de497c..be742ef 100644 --- a/src/test.gob +++ b/src/test.gob @@ -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 @@ -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) { diff --git a/src/treefuncs.c b/src/treefuncs.c index c385bc8..ac2fd01 100644 --- a/src/treefuncs.c +++ b/src/treefuncs.c @@ -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; diff --git a/src/treefuncs.def b/src/treefuncs.def index 0c092c1..d0ad4b3 100644 --- a/src/treefuncs.def +++ b/src/treefuncs.def @@ -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 diff --git a/src/treefuncs.h b/src/treefuncs.h index b21c241..a97ada3 100644 --- a/src/treefuncs.h +++ b/src/treefuncs.h @@ -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 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 . -# -# 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 or send patches to -# . - -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 . -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: